UNPKG

45.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://mdc.[name]/webpack/universalModuleDefinition","webpack://mdc.[name]/webpack/bootstrap","webpack://mdc.[name]/./packages/mdc-animation/util.ts","webpack://mdc.[name]/./packages/mdc-base/component.ts","webpack://mdc.[name]/./packages/mdc-base/foundation.ts","webpack://mdc.[name]/./packages/mdc-linear-progress/adapter.ts","webpack://mdc.[name]/./packages/mdc-linear-progress/component.ts","webpack://mdc.[name]/./packages/mdc-linear-progress/constants.ts","webpack://mdc.[name]/./packages/mdc-linear-progress/foundation.ts","webpack://mdc.[name]/./packages/mdc-linear-progress/index.ts","webpack://mdc.[name]/./packages/mdc-linear-progress/types.ts"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;;AC7DG;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,IAAwB;AACb;AACC,kBAAqB;AACrB,kBACT;AAHU;AAIF;AACC,kBAAqB;AACrB,kBACT;AAHU;AAID;AACA,kBAAsB;AACtB,kBAEV;AAJY;AATmC;AAejD,IAAoB;AACN;AACC,qBAAa;AAChB,kBAAsB;AACtB,kBACT;AAJa;AAKI;AACL,qBAAa;AAChB,kBAA4B;AAC5B,kBACT;AAJmB;AAKN;AACD,qBAAa;AAChB,kBAAwB;AACxB,kBACT;AAJe;AAKH;AACA,qBAAc;AACjB,kBAAuB;AACvB,kBAEV;AALe;AAhB2B;AAuB5C,SAAiB,SAAkB;AACjC,WAAc,QAAU,UAAU,aAAI,OAAgB,UAAS,SAAc,kBAC/E;AAAC;AAED,SAAsC,uBAAkB,WAAsC;AAE5F,QAAY,SAAW,cAAe,eAAsB,oBAAE;AAC5D,YAAQ,KAAY,UAAS,SAAc,cAAQ;AAC7C,iBAAyC,mBAAa;YAA7C;YAAU,cAAoC;AAC7D,YAAgB,aAAW,YAAM,GAAO;AACxC,eAAmB,aAAW,WAAU;AACzC;AACD,WACF;AAAC;AATD,iCASC;AAED,SAAmC,oBAAkB,WAAgC;AAEnF,QAAY,SAAW,cAAa,aAAkB,gBAAE;AACtD,YAAQ,KAAY,UAAS,SAAc,cAAQ;AAC7C,iBAAkD,eAAW;YAApD;YAAU;YAAa,iBAA8B;AACpE,YAAgB,aAAc,eAAM,GAAO;AAC3C,eAAmB,aAAW,WAAU;AACzC;AACD,WACF;AAAC;AATD,8BASC,oB;;;;;;;;;;;;;ACtEE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA2C;AAG3C;AAWE,0BACwB,MAA6B;AAAE,mBAAkB;aAAlB,SAAkB,GAAlB,eAAkB;AAAlB,qCAAkB;;AAA9D,aAAI,OAAS;AAClB,aAAW,iBAAX,+BAAqB;AACkD;AACH;AACpD;AAChB,aAAW,aACD,eAAgB,YAAK,KAAyB,yBAAY;AACpE,aAAW,WAAQ;AACnB,aACN;AAAC;AApBM,iBAAQ,WAAf,UAA6B;AACyE;AACE;AACE;AACzE;AAC/B,eAAO,IAAgB,aAAK,MAAE,IAAI,aAAa,cACjD;AAAC;AAgB2G;AAC5G,2BAAU,aAAV;AAAW,oBAAwB;aAAxB,SAAwB,GAAxB,eAAwB;AAAxB,kCAAwB;;AACiE;AACF;AAElG;AAAC;AAED,2BAAoB,uBAApB;AACkG;AACnF;AACb,cAAM,IAAS,MAAiF,mFAElG;AAAC;AAED,2BAAkB,qBAAlB;AACuG;AACK;AACL;AAEvG;AAAC;AAED,2BAAO,UAAP;AACuG;AACR;AACzF,aAAW,WACjB;AAAC;AAUD,2BAAM,SAAN,UAAsB,SAAwB,SAA6C;AACrF,aAAK,KAAiB,iBAAQ,SAAS,SAC7C;AAAC;AAUD,2BAAQ,WAAR,UAAwB,SAAwB,SAA6C;AACvF,aAAK,KAAoB,oBAAQ,SAAS,SAChD;AAAC;AAIE;;;AACH,2BAAI,OAAJ,UAAsC,SAAY,SAAsB;AAApB;AAAA,2BAAoB;;AACtE,YAAwB;AACxB,YAAI,OAAkB,gBAAe,YAAE;AAClC,sBAAkB,YAAW;AACvB,yBAAc;AACf,wBACL;AAH+B,aAA5B;AAIP,eAAM;AACF,kBAAW,SAAY,YAAgB;AACvC,gBAAgB,gBAAQ,SAAc,cAAO,OAAW;AAC5D;AAEG,aAAK,KAAc,cACzB;AAAC;AACH,WAAC;AAAA;AA3FY,uBAAY;AA6FwF;AACjH,kBAA4B,a;;;;;;;;;;;;;ACnGzB;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;AA0BE,2BAA8D;AAAxC;AAAA,sBAAwC;;AAAxC,aAAO,UAAoC;AAAC;AAzBlE,0BAAW,eAAU;aAArB;AACyG;AACV;AAC7F,mBACF;AAAC;;sBAAA;;AAED,0BAAW,eAAO;aAAlB;AACuG;AACxC;AAC7D,mBACF;AAAC;;sBAAA;;AAED,0BAAW,eAAO;aAAlB;AACuG;AAC9B;AACvE,mBACF;AAAC;;sBAAA;;AAED,0BAAW,eAAc;aAAzB;AACyG;AACE;AAC3F;AACd,mBACF;AAAC;;sBAAA;;AAID,4BAAI,OAAJ;AAEA;AAAC;AAED,4BAAO,UAAP;AAEA;AAAC;AACH,WAAC;AAAA;AAnCY,wBAAa;AAgEuF;AACjH,kBAA6B,c;;;;;;;;;;;;;ACnE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAsD;AAGtD,uCAAyD;AAGzD;AACI,iCAAyC;AAD7C;mEAoFA;AAAC;AAlFiB,sBAAQ,WAAxB,UAAsC;AACpC,eAAO,IAAqB,kBAC9B;AAAC;AAED,0BAAI,6BAAW;aAAf,aAA8B;AACxB,iBAAW,WAAe,eAChC;AAAC;;sBAAA;;AAED,0BAAI,6BAAQ;aAAZ,aAA0B;AACpB,iBAAW,WAAY,YAC7B;AAAC;;sBAAA;;AAED,0BAAI,6BAAM;aAAV,aAAwB;AAClB,iBAAW,WAAU,UAC3B;AAAC;;sBAAA;;AAED,gCAAI,OAAJ;AACM,aAAW,WACjB;AAAC;AAED,gCAAK,QAAL;AACM,aAAW,WACjB;AAAC;AAEQ,gCAAkB,qBAA3B;AAAA,oBAIC;AAHK,aAAK,KAAiB,iBAAgB,iBAAE;AACtC,kBAAW,WACjB;AACF;AAAC;AAEQ,gCAAoB,uBAA7B;AAAA,oBAmDC;AAlD6E;AACP;AACL;AAChE,YAAa;AACH,sBAAE,kBAAkB;AACtB,sBAAK,KAAU,UAAI,IACzB;AAAC;AACU,yBAAE;AACP,sBAAK,KACX;AAAC;AACgB,+BAAE,2BAAsB,eAAe;AACtD,oBAAe,YAAO,MAAK,KAAc,cACrC,aAA2B,4BAAQ,QAAsB;AAC7D,oBAAa,WAAE;AACJ,8BAAM,MAAY,YAAc,eAAS;AAEtD;AAAC;AACiB,gCAAE,4BAAsB,eAAe;AACvD,oBAAgB,aAAO,MAAK,KAAc,cACtC,aAA2B,4BAAQ,QAAuB;AAC9D,oBAAc,YAAE;AACJ,+BAAM,MAAY,YAAc,eAAS;AAEvD;AAAC;AACO,sBAAE,kBAAkB;AAAK,uBAAI,MAAK,KAAU,UAAS,SAAW;AAAA;AACzD,6BAAE,yBAAsB;AACjC,sBAAK,KAAgB,gBAC3B;AAAC;AACU,yBAAE,qBAAkB;AACzB,sBAAK,KAAU,UAAO,OAC5B;AAAC;AACW,0BAAE,sBAAsB,eAAe;AAC7C,sBAAK,KAAa,aAAc,eACtC;AAAC;AACO,sBAAE,kBAAa,MAAe;AAC/B,sBAAqB,KAAM,MAAY,YAAK,MACnD;AAAC;AACmB,kCAAE,8BAAS;AAC7B,oBAAQ,KAA+C,OAAgB;AACvE,oBAAM,IAAE;AACN,wBAAQ,KAAG,IAAM,GAAW;AAC1B,uBAAQ,QAAK,MAAO;AACtB,2BAAU;AACX;AAED,uBACF;AAAC;AACO,sBAAE;AAAM,uBAAK,MAAqB,KAAY;AACtD;AA7CwC;AA8C1C,eAAO,IAAI,aAA2B,4BACxC;AAAC;AACH,WAAC;AAAA,EAnFG,YAmFH;AApFY,4BAAiB,kB;;;;;;;;;;;;;ACR3B;;;;;;;;;;;;;;;;;;;;;;;;;AAEU,QAAU;AACT,kBAA+B;AACjB,gCAA6C;AACpD,yBAAsC;AAC3C,oBAAiC;AAC1B,2BACrB;AANwB;AAQb,QAAO;AACP,iBAAe;AACb,mBAAiB;AACjB,mBAAiB;AACjB,mBAAiB;AACX,yBAAoC;AAC7C,gBAAc;AACJ,0BACpB;AARqB;AAU4B;AACtC,QAA6B;AAC5B,kBAAU;AACV,kBAAY;AACP,uBAAW;AACd,oBAAW;AACX,oBACd;AAN2C,E;;;;;;;;;;;;;ACrB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iCAAgE;AAChE,uCAAwD;AAIxD,sCAA2F;AAG3F;AACI,2CAAuC;AA+BzC,yCAAuD;AAAvD,oBACE,wCAAqC,4BAAe,iBAAc,aACnE;AAJO,cAAQ,WAAgC;eAIhD;AAAC;AA/BD,0BAAoB,6BAAU;aAA9B;AACE,mBAAO,YACT;AAAC;;sBAAA;;AAED,0BAAoB,6BAAO;aAA3B;AACE,mBAAO,YACT;AAAC;;sBAAA;;AAED,0BAAoB,6BAAc;aAAlC;AACE;AACU,0BAAE;AAAM,2BAAS;AAAA;AACL,sCAAE;AAAM,2BAAI;AAAA;AACrB,6BAAE;AAAM,2BAAS;AAAA;AACpB,0BAAE;AAAM,2BAAC;AAAA;AACT,0BAAE;AAAM,2BAAK;AAAA;AACJ,mCAAE;AAAM,2BAAI;AAAA;AACX,oCAAE;AAAM,2BAAI;AAAA;AACtB,0BAAE;AAAM,2BAAS;AAAA;AACV,iCAAE;AAAM,2BAAS;AAAA;AACrB,6BAAE;AAAM,2BAAS;AAAA;AAChB,8BAAE;AAAM,2BAAS;AAEjC;AAbS;AAaR;;sBAAA;;AAWQ,0CAAI,OAAb;AAAA,oBAqBC;AApBK,aAAY,cAAG,CAAK,KAAQ,QAAS,SAAC,YAAU,WAAsB;AACtE,aAAQ,QAAS,SAAC,YAAU,WAAwB;AACpD,aAAS,WAAK;AACd,aAAO,SAAK;AAEZ,aAAS,gBAAe,QAAqB,qBAAC,UAAQ;;AACxD,gBAAQ,MAAY,aAAE;AACb;AACR;;AAED,qBAAoB,yBAAO,6FAAE;AAAxB,wBAAW;AACd,wBAAS,MAAY,aAAE;AACjB,8BAA0B,0BAAM,MAAY,YAAQ;AACzD;AACF;;;;;;;;;AACH;AAAG,SAViB;AAYpB,YAAI,CAAK,KAAY,eAAQ,KAAS,UAAE;AAClC,iBAA0B,0BAAK,KAAQ,QAAa;AAE5D;AAAC;AAED,0CAAc,iBAAd,UAAqC;AAC/B,aAAY,cAAiB;AAEjC,YAAQ,KAAY,aAAE;AAChB,iBAAQ,QAAY,YAAC,YAAU,WAAsB;AACrD,iBAAQ,QAAa,aACrB,YAAO,QAAc,eAAM,KAAS,SAAa;AACjD,iBAAQ,QAAa,aAAC,YAAO,QAAc,eAAO;AAClD,iBAAQ,QAAa,aAAC,YAAO,QAAc,eAAO;AAClD,iBAAsB,sBAAK,KAAW;AACtC,iBAAqB,qBAAK,KAAS;AAEhC;AACR;AAED,YAAQ,KAAS,UAAE;AACb,iBAA0B,0BAAK,KAAQ,QAAa;AACzD;AAEG,aAAQ,QAAS,SAAC,YAAU,WAAsB;AAClD,aAAQ,QAAgB,gBAAC,YAAO,QAAgB;AAChD,aAAQ,QAAgB,gBAAC,YAAO,QAAgB;AAChD,aAAQ,QAAgB,gBAAC,YAAO,QAAgB;AAChD,aAAsB,sBAAI;AAC1B,aAAqB,qBAC3B;AAAC;AAED,0CAAa,gBAAb;AACE,eAAW,KACb;AAAC;AAED,0CAAW,cAAX,UAAyB;AACnB,aAAS,WAAS;AACtB,YAAQ,KAAY,aAAE;AAChB,iBAAsB,sBAAQ;AAC9B,iBAAQ,QAAa,aAAC,YAAO,QAAc,eAAO,MAAa;AAEvE;AAAC;AAED,0CAAW,cAAX;AACE,eAAW,KACb;AAAC;AAED,0CAAS,YAAT,UAAuB;AACjB,aAAO,SAAS;AACpB,YAAQ,KAAY,aAAE;AAChB,iBAAqB,qBAAQ;AAErC;AAAC;AAED,0CAAS,YAAT;AACE,eAAW,KACb;AAAC;AAED,0CAAI,OAAJ;AACM,aAAQ,QAAY,YAAC,YAAU,WAAe;AAC9C,aAAQ,QAAY,YAAC,YAAU,WAA6B;AAC5D,aAAQ,QAAgB,gBAAC,YAAO,QACtC;AAAC;AAED,0CAAK,QAAL;AACM,aAAQ,QAAS,SAAC,YAAU,WAAe;AAC3C,aAAQ,QAAa,aAAC,YAAO,QAAY,aAC/C;AAAC;AAED,0CAAQ,WAAR;AACE,eAAW,KAAQ,QAAS,SAAC,YAAU,WACzC;AAAC;AAME;;;;;AACH,0CAAmB,sBAAnB;AACE,YAAQ,KAAQ,QAAS,SAAC,YAAU,WAAc,eAAE;AAC9C,iBAAQ,QAAS,SAAC,YAAU,WAA6B;AAEjE;AAAC;AAEQ,0CAAO,UAAhB;AACE,yBAAa,aAAG;AAEhB,YAAQ,KAAS,UAAE;AACb,iBAAS,SAAc;AAE/B;AAAC;AAED,0CAAgB,mBAAhB;AACM,aAAQ,QAAY,YAAC,YAAU,WAAwB;AACvD,aAAQ,QAAe;AACvB,aAAQ,QAAS,SAAC,YAAU,WAClC;AAAC;AAEO,0CAAqB,wBAA7B,UAAmD;AACjD,YAAW,QAAG,YAAuB,gBAAI;AAEwB;AACjD;AAChB,YAAmB,gBAAG,OAAa,WAAkB,cACjD,OAAsB,uBAAO,QAAgB,eACjC;AACZ,aAAQ,QAAmB,mBAAc,eAC/C;AAAC;AAEO,0CAAoB,uBAA5B,UAAkD;AAChD,YAAW,QAAmB,gBAAM,MAAI;AACpC,aAAQ,QAAkB,kBAAC,YAAO,QAAW,YACnD;AAAC;AAEO,0CAAyB,4BAAjC,UAA+C;AAC7C,YAAiB,cAAQ,QAAG,YAAQ,8BAAc;AAClD,YAAiB,cAAQ,QAAG,YAAQ,8BAAc;AAClD,YAAsB,mBAAQ,QAAG,YAAQ,8BAAmB;AAC5D,YAAmB,gBAAQ,QAAG,YAAQ,8BAAgB;AACtD,YAAmB,gBAAQ,QAAG,YAAQ,8BAAgB;AAElD,aAAQ,QAAS,SACmB,sCAAgB,cAAM;AAC1D,aAAQ,QAAS,SACuB,0CAAK,CAAa,cAAM;AAChE,aAAQ,QAAS,SACmB,sCAAgB,cAAM;AAC1D,aAAQ,QAAS,SACuB,0CAAK,CAAa,cAAM;AAChE,aAAQ,QAAS,SACwB,2CAAqB,mBAAM;AACpE,aAAQ,QAAS,SAC4B,+CAC1C,CAAkB,mBAAM;AAC3B,aAAQ,QAAS,SACqB,wCAAkB,gBAAM;AAC9D,aAAQ,QAAS,SACyB,4CAAK,CAAe,gBAAM;AACpE,aAAQ,QAAS,SACqB,wCAAkB,gBAAM;AAC9D,aAAQ,QAAS,SACyB,4CAAK,CAAe,gBAAM;AAEL;AAC/D,aACN;AAAC;AACH,WAAC;AAAA,EAxMG,aAwMH;AAzMY,sCAA2B;AA2MyE;AACjH,kBAA2C,4B;;;;;;;;;;;;;ACtNxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gGAA0B;AAC1B,oGAA4B;AAC5B,oGAA4B;AAC5B,sGAA6B;AAC7B,4FAAwB,S;;;;;;;;;;;;;ACNrB","file":"mdc.linearProgress.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"@material/linear-progress\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"linear-progress\"] = factory();\n\telse\n\t\troot[\"mdc\"] = root[\"mdc\"] || {}, root[\"mdc\"][\"linear-progress\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./packages/mdc-linear-progress/index.ts\");\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {\n CssVendorPropertyMap, JsVendorPropertyMap,\n PrefixedCssPropertyName, PrefixedJsEventType,\n StandardCssPropertyName, StandardJsEventType,\n} from './types';\n\nconst cssPropertyNameMap: CssVendorPropertyMap = {\n animation: {\n prefixed: '-webkit-animation',\n standard: 'animation',\n },\n transform: {\n prefixed: '-webkit-transform',\n standard: 'transform',\n },\n transition: {\n prefixed: '-webkit-transition',\n standard: 'transition',\n },\n};\n\nconst jsEventTypeMap: JsVendorPropertyMap = {\n animationend: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationEnd',\n standard: 'animationend',\n },\n animationiteration: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationIteration',\n standard: 'animationiteration',\n },\n animationstart: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationStart',\n standard: 'animationstart',\n },\n transitionend: {\n cssProperty: 'transition',\n prefixed: 'webkitTransitionEnd',\n standard: 'transitionend',\n },\n};\n\nfunction isWindow(windowObj: Window): boolean {\n return Boolean(windowObj.document) && typeof windowObj.document.createElement === 'function';\n}\n\nexport function getCorrectPropertyName(windowObj: Window, cssProperty: StandardCssPropertyName):\n StandardCssPropertyName | PrefixedCssPropertyName {\n if (isWindow(windowObj) && cssProperty in cssPropertyNameMap) {\n const el = windowObj.document.createElement('div');\n const {standard, prefixed} = cssPropertyNameMap[cssProperty];\n const isStandard = standard in el.style;\n return isStandard ? standard : prefixed;\n }\n return cssProperty;\n}\n\nexport function getCorrectEventName(windowObj: Window, eventType: StandardJsEventType):\n StandardJsEventType | PrefixedJsEventType {\n if (isWindow(windowObj) && eventType in jsEventTypeMap) {\n const el = windowObj.document.createElement('div');\n const {standard, prefixed, cssProperty} = jsEventTypeMap[eventType];\n const isStandard = cssProperty in el.style;\n return isStandard ? standard : prefixed;\n }\n return eventType;\n}\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCFoundation} from './foundation';\nimport {CustomEventListener, EventType, SpecificEventListener} from './types';\n\nexport class MDCComponent<FoundationType extends MDCFoundation> {\n static attachTo(root: Element): MDCComponent<MDCFoundation<{}>> {\n // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\n // returns an instantiated component with its root set to that element. Also note that in the cases of\n // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\n // from getDefaultFoundation().\n return new MDCComponent(root, new MDCFoundation({}));\n }\n\n protected foundation: FoundationType;\n\n constructor(\n public root: Element, foundation?: FoundationType, ...args: unknown[]) {\n this.initialize(...args);\n // Note that we initialize foundation here and not within the constructor's\n // default param so that this.root is defined and can be used within the\n // foundation class.\n this.foundation =\n foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation.init();\n this.initialSyncWithDOM();\n }\n\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n initialize(..._args: Array<unknown>) {\n // Subclasses can override this to do any additional setup work that would be considered part of a\n // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\n // initialized. Any additional arguments besides root and foundation will be passed in here.\n }\n\n getDefaultFoundation(): FoundationType {\n // Subclasses must override this method to return a properly configured foundation class for the\n // component.\n throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' +\n 'foundation class');\n }\n\n initialSyncWithDOM() {\n // Subclasses should override this method if they need to perform work to synchronize with a host DOM\n // object. An example of this would be a form control wrapper that needs to synchronize its internal state\n // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\n // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\n }\n\n destroy() {\n // Subclasses may implement this method to release any resources / deregister any listeners they have\n // attached. An example of this might be deregistering a resize event from the window object.\n this.foundation.destroy();\n }\n\n /**\n * Wrapper method to add an event listener to the component's root element. This is most useful when\n * listening for custom events.\n */\n listen<K extends EventType>(\n evtType: K, handler: SpecificEventListener<K>, options?: AddEventListenerOptions | boolean): void;\n listen<E extends Event>(\n evtType: string, handler: CustomEventListener<E>, options?: AddEventListenerOptions | boolean): void;\n listen(evtType: string, handler: EventListener, options?: AddEventListenerOptions | boolean) {\n this.root.addEventListener(evtType, handler, options);\n }\n\n /**\n * Wrapper method to remove an event listener to the component's root element. This is most useful when\n * unlistening for custom events.\n */\n unlisten<K extends EventType>(\n evtType: K, handler: SpecificEventListener<K>, options?: AddEventListenerOptions | boolean): void;\n unlisten<E extends Event>(\n evtType: string, handler: CustomEventListener<E>, options?: AddEventListenerOptions | boolean): void;\n unlisten(evtType: string, handler: EventListener, options?: AddEventListenerOptions | boolean) {\n this.root.removeEventListener(evtType, handler, options);\n }\n\n /**\n * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\n */\n emit<T extends object>(evtType: string, evtData: T, shouldBubble = false) {\n let evt: CustomEvent<T>;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent<T>(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n } else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n\n this.root.dispatchEvent(evt);\n }\n}\n\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCComponent;\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nexport class MDCFoundation<AdapterType extends {} = {}> {\n static get cssClasses(): { [key: string]: string } {\n // Classes extending MDCFoundation should implement this method to return an object which exports every\n // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\n return {};\n }\n\n static get strings(): { [key: string]: string } {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\n return {};\n }\n\n static get numbers(): { [key: string]: number } {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\n return {};\n }\n\n static get defaultAdapter(): {} {\n // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\n // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\n // validation.\n return {};\n }\n\n constructor(protected adapter: AdapterType = {} as AdapterType) {}\n\n init() {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n }\n\n destroy() {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n }\n}\n\n/**\n * The constructor for MDCFoundation.\n */\nexport interface MDCFoundationConstructor<AdapterType extends object = any> {\n new(adapter: AdapterType): MDCFoundation<AdapterType>;\n readonly prototype: MDCFoundation<AdapterType>;\n}\n\n/**\n * The deprecated constructor for MDCFoundation.\n */\nexport interface MDCFoundationDeprecatedConstructor<AdapterType extends object = any> {\n readonly cssClasses: Record<string, string>;\n readonly strings: Record<string, string>;\n readonly numbers: Record<string, number>;\n readonly defaultAdapter: AdapterType;\n\n new(adapter?: Partial<AdapterType>): MDCFoundation<AdapterType>;\n readonly prototype: MDCFoundation<AdapterType>;\n}\n\n/**\n * Retrieves the AdapaterType from the provided MDCFoundation generic type.\n */\nexport type MDCFoundationAdapter<T> =\n T extends MDCFoundation<infer A>? A : never;\n\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFoundation;\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * Defines the shape of the adapter expected by the foundation.\n * Implement this adapter for your framework of choice to delegate updates to\n * the component in your framework of choice. See architecture documentation\n * for more details.\n * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md\n */\n\nimport {MDCResizeObserver, MDCResizeObserverCallback} from './types';\n\nexport interface MDCLinearProgressAdapter {\n addClass(className: string): void;\n /**\n * If available, creates a `ResizeObserver` object, invokes the `#observe`\n * method on the root element. This is used for an optional performance gains\n * for the indeterminate animation on modern browsers.\n *\n * @param callback The callback to apply to the constructor of the\n * `ResizeObserver`\n * @return Returns a `ResizeObserver` that has had `observe` called on the\n * root element with the given callback. `null` if `ResizeObserver` is not\n * implemented or polyfilled.\n */\n attachResizeObserver(callback: MDCResizeObserverCallback): MDCResizeObserver\n |null;\n forceLayout(): void;\n setBufferBarStyle(styleProperty: string, value: string): void;\n setPrimaryBarStyle(styleProperty: string, value: string): void;\n /**\n * Sets the inline style on the root element.\n * @param styleProperty The style property to set.\n * @param value The value the style property should be set to.\n */\n setStyle(styleProperty: string, value: string): void;\n /**\n * @return The width of the root element.\n */\n getWidth(): number;\n hasClass(className: string): boolean;\n removeClass(className: string): void;\n removeAttribute(name: string): void;\n setAttribute(name: string, value: string): void;\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCComponent} from '@material/base/component';\nimport {MDCProgressIndicator} from '@material/progress-indicator/component';\nimport {MDCLinearProgressAdapter} from './adapter';\nimport {MDCLinearProgressFoundation} from './foundation';\nimport {WithMDCResizeObserver} from './types';\n\nexport class MDCLinearProgress extends\n MDCComponent<MDCLinearProgressFoundation> implements MDCProgressIndicator {\n static override attachTo(root: Element) {\n return new MDCLinearProgress(root);\n }\n\n set determinate(value: boolean) {\n this.foundation.setDeterminate(value);\n }\n\n set progress(value: number) {\n this.foundation.setProgress(value);\n }\n\n set buffer(value: number) {\n this.foundation.setBuffer(value);\n }\n\n open() {\n this.foundation.open();\n }\n\n close() {\n this.foundation.close();\n }\n\n override initialSyncWithDOM() {\n this.root.addEventListener('transitionend', () => {\n this.foundation.handleTransitionEnd();\n });\n }\n\n override getDefaultFoundation() {\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n const adapter: MDCLinearProgressAdapter = {\n addClass: (className: string) => {\n this.root.classList.add(className);\n },\n forceLayout: () => {\n this.root.getBoundingClientRect();\n },\n setBufferBarStyle: (styleProperty: string, value: string) => {\n const bufferBar = this.root.querySelector<HTMLElement>(\n MDCLinearProgressFoundation.strings.BUFFER_BAR_SELECTOR);\n if (bufferBar) {\n bufferBar.style.setProperty(styleProperty, value);\n }\n },\n setPrimaryBarStyle: (styleProperty: string, value: string) => {\n const primaryBar = this.root.querySelector<HTMLElement>(\n MDCLinearProgressFoundation.strings.PRIMARY_BAR_SELECTOR);\n if (primaryBar) {\n primaryBar.style.setProperty(styleProperty, value);\n }\n },\n hasClass: (className: string) => this.root.classList.contains(className),\n removeAttribute: (attributeName: string) => {\n this.root.removeAttribute(attributeName);\n },\n removeClass: (className: string) => {\n this.root.classList.remove(className);\n },\n setAttribute: (attributeName: string, value: string) => {\n this.root.setAttribute(attributeName, value);\n },\n setStyle: (name: string, value: string) => {\n (this.root as HTMLElement).style.setProperty(name, value);\n },\n attachResizeObserver: (callback) => {\n const RO = (window as unknown as WithMDCResizeObserver).ResizeObserver;\n if (RO) {\n const ro = new RO(callback);\n ro.observe(this.root);\n return ro;\n }\n\n return null;\n },\n getWidth: () => (this.root as HTMLElement).offsetWidth,\n };\n return new MDCLinearProgressFoundation(adapter);\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nexport const cssClasses = {\n CLOSED_CLASS: 'mdc-linear-progress--closed',\n CLOSED_ANIMATION_OFF_CLASS: 'mdc-linear-progress--closed-animation-off',\n INDETERMINATE_CLASS: 'mdc-linear-progress--indeterminate',\n REVERSED_CLASS: 'mdc-linear-progress--reversed',\n ANIMATION_READY_CLASS: 'mdc-linear-progress--animation-ready',\n};\n\nexport const strings = {\n ARIA_HIDDEN: 'aria-hidden',\n ARIA_VALUEMAX: 'aria-valuemax',\n ARIA_VALUEMIN: 'aria-valuemin',\n ARIA_VALUENOW: 'aria-valuenow',\n BUFFER_BAR_SELECTOR: '.mdc-linear-progress__buffer-bar',\n FLEX_BASIS: 'flex-basis',\n PRIMARY_BAR_SELECTOR: '.mdc-linear-progress__primary-bar',\n};\n\n// these are percentages pulled from keyframes.scss\nexport const animationDimensionPercentages = {\n PRIMARY_HALF: .8367142,\n PRIMARY_FULL: 2.00611057,\n SECONDARY_QUARTER: .37651913,\n SECONDARY_HALF: .84386165,\n SECONDARY_FULL: 1.60277782,\n};\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {getCorrectPropertyName} from '@material/animation/util';\nimport {MDCFoundation} from '@material/base/foundation';\nimport {MDCProgressIndicatorFoundation} from '@material/progress-indicator/foundation';\n\nimport {MDCLinearProgressAdapter} from './adapter';\nimport {animationDimensionPercentages as percents, cssClasses, strings} from './constants';\nimport {MDCResizeObserver} from './types';\n\nexport class MDCLinearProgressFoundation extends\n MDCFoundation<MDCLinearProgressAdapter> implements\n MDCProgressIndicatorFoundation {\n static override get cssClasses() {\n return cssClasses;\n }\n\n static override get strings() {\n return strings;\n }\n\n static override get defaultAdapter(): MDCLinearProgressAdapter {\n return {\n addClass: () => undefined,\n attachResizeObserver: () => null,\n forceLayout: () => undefined,\n getWidth: () => 0,\n hasClass: () => false,\n setBufferBarStyle: () => null,\n setPrimaryBarStyle: () => null,\n setStyle: () => undefined,\n removeAttribute: () => undefined,\n removeClass: () => undefined,\n setAttribute: () => undefined,\n };\n }\n\n private determinate!: boolean;\n private progress!: number;\n private buffer!: number;\n private observer: MDCResizeObserver|null = null;\n\n constructor(adapter?: Partial<MDCLinearProgressAdapter>) {\n super({...MDCLinearProgressFoundation.defaultAdapter, ...adapter});\n }\n\n override init() {\n this.determinate = !this.adapter.hasClass(cssClasses.INDETERMINATE_CLASS);\n this.adapter.addClass(cssClasses.ANIMATION_READY_CLASS);\n this.progress = 0;\n this.buffer = 1;\n\n this.observer = this.adapter.attachResizeObserver((entries) => {\n if (this.determinate) {\n return;\n }\n\n for (const entry of entries) {\n if (entry.contentRect) {\n this.calculateAndSetDimensions(entry.contentRect.width);\n }\n }\n });\n\n if (!this.determinate && this.observer) {\n this.calculateAndSetDimensions(this.adapter.getWidth());\n }\n }\n\n setDeterminate(isDeterminate: boolean) {\n this.determinate = isDeterminate;\n\n if (this.determinate) {\n this.adapter.removeClass(cssClasses.INDETERMINATE_CLASS);\n this.adapter.setAttribute(\n strings.ARIA_VALUENOW, this.progress.toString());\n this.adapter.setAttribute(strings.ARIA_VALUEMAX, '1');\n this.adapter.setAttribute(strings.ARIA_VALUEMIN, '0');\n this.setPrimaryBarProgress(this.progress);\n this.setBufferBarProgress(this.buffer);\n\n return;\n }\n\n if (this.observer) {\n this.calculateAndSetDimensions(this.adapter.getWidth());\n }\n\n this.adapter.addClass(cssClasses.INDETERMINATE_CLASS);\n this.adapter.removeAttribute(strings.ARIA_VALUENOW);\n this.adapter.removeAttribute(strings.ARIA_VALUEMAX);\n this.adapter.removeAttribute(strings.ARIA_VALUEMIN);\n this.setPrimaryBarProgress(1);\n this.setBufferBarProgress(1);\n }\n\n isDeterminate() {\n return this.determinate;\n }\n\n setProgress(value: number) {\n this.progress = value;\n if (this.determinate) {\n this.setPrimaryBarProgress(value);\n this.adapter.setAttribute(strings.ARIA_VALUENOW, value.toString());\n }\n }\n\n getProgress() {\n return this.progress;\n }\n\n setBuffer(value: number) {\n this.buffer = value;\n if (this.determinate) {\n this.setBufferBarProgress(value);\n }\n }\n\n getBuffer() {\n return this.buffer;\n }\n\n open() {\n this.adapter.removeClass(cssClasses.CLOSED_CLASS);\n this.adapter.removeClass(cssClasses.CLOSED_ANIMATION_OFF_CLASS);\n this.adapter.removeAttribute(strings.ARIA_HIDDEN);\n }\n\n close() {\n this.adapter.addClass(cssClasses.CLOSED_CLASS);\n this.adapter.setAttribute(strings.ARIA_HIDDEN, 'true');\n }\n\n isClosed() {\n return this.adapter.hasClass(cssClasses.CLOSED_CLASS);\n }\n\n /**\n * Handles the transitionend event emitted after `close()` is called and the\n * opacity fades out. This is so that animations are removed only after the\n * progress indicator is completely hidden.\n */\n handleTransitionEnd() {\n if (this.adapter.hasClass(cssClasses.CLOSED_CLASS)) {\n this.adapter.addClass(cssClasses.CLOSED_ANIMATION_OFF_CLASS);\n }\n }\n\n override destroy() {\n super.destroy();\n\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n restartAnimation() {\n this.adapter.removeClass(cssClasses.ANIMATION_READY_CLASS);\n this.adapter.forceLayout();\n this.adapter.addClass(cssClasses.ANIMATION_READY_CLASS);\n }\n\n private setPrimaryBarProgress(progressValue: number) {\n const value = `scaleX(${progressValue})`;\n\n // Accessing `window` without a `typeof` check will throw on Node\n // environments.\n const transformProp = typeof window !== 'undefined' ?\n getCorrectPropertyName(window, 'transform') :\n 'transform';\n this.adapter.setPrimaryBarStyle(transformProp, value);\n }\n\n private setBufferBarProgress(progressValue: number) {\n const value = `${progressValue * 100}%`;\n this.adapter.setBufferBarStyle(strings.FLEX_BASIS, value);\n }\n\n private calculateAndSetDimensions(width: number) {\n const primaryHalf = width * percents.PRIMARY_HALF;\n const primaryFull = width * percents.PRIMARY_FULL;\n const secondaryQuarter = width * percents.SECONDARY_QUARTER;\n const secondaryHalf = width * percents.SECONDARY_HALF;\n const secondaryFull = width * percents.SECONDARY_FULL;\n\n this.adapter.setStyle(\n '--mdc-linear-progress-primary-half', `${primaryHalf}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-primary-half-neg', `${- primaryHalf}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-primary-full', `${primaryFull}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-primary-full-neg', `${- primaryFull}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-secondary-quarter', `${secondaryQuarter}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-secondary-quarter-neg',\n `${- secondaryQuarter}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-secondary-half', `${secondaryHalf}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-secondary-half-neg', `${- secondaryHalf}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-secondary-full', `${secondaryFull}px`);\n this.adapter.setStyle(\n '--mdc-linear-progress-secondary-full-neg', `${- secondaryFull}px`);\n\n // need to restart animation for custom props to apply to keyframes\n this.restartAnimation();\n }\n}\n\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCLinearProgressFoundation;\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nexport * from './adapter';\nexport * from './component';\nexport * from './constants';\nexport * from './foundation';\nexport * from './types';\n","/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n// Opt-in resize observer types\n\nexport interface MDCResizeObserverEntry {\n contentRect: DOMRectReadOnly;\n}\n\nexport interface MDCResizeObserver {\n new(callback: MDCResizeObserverCallback): MDCResizeObserver;\n disconnect(): void;\n observe(target: Element): void;\n}\n\nexport interface WithMDCResizeObserver {\n ResizeObserver: MDCResizeObserver;\n}\n\nexport type MDCResizeObserverCallback =\n (entries: MDCResizeObserverEntry[], observer: MDCResizeObserver) => void;\n"],"sourceRoot":""}
\No newline at end of file