@limetech/lime-elements 37.4.2 → 37.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-chip_2.cjs.entry.js +22 -3
  4. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/limel-circular-progress.cjs.entry.js +41 -0
  6. package/dist/cjs/limel-circular-progress.cjs.entry.js.map +1 -0
  7. package/dist/cjs/{limel-circular-progress_2.cjs.entry.js → limel-linear-progress.cjs.entry.js} +1 -34
  8. package/dist/cjs/limel-linear-progress.cjs.entry.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/collection/components/chip/chip.css +89 -0
  11. package/dist/collection/components/chip/chip.js +76 -2
  12. package/dist/collection/components/chip/chip.js.map +1 -1
  13. package/dist/collection/style/color-palette-extended.css +5 -0
  14. package/dist/esm/lime-elements.js +1 -1
  15. package/dist/esm/limel-chip_2.entry.js +22 -3
  16. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  17. package/dist/esm/limel-circular-progress.entry.js +37 -0
  18. package/dist/esm/limel-circular-progress.entry.js.map +1 -0
  19. package/dist/esm/{limel-circular-progress_2.entry.js → limel-linear-progress.entry.js} +2 -34
  20. package/dist/esm/limel-linear-progress.entry.js.map +1 -0
  21. package/dist/esm/loader.js +1 -1
  22. package/dist/lime-elements/lime-elements.esm.js +1 -1
  23. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  24. package/dist/lime-elements/{p-f6288a1d.entry.js → p-67426b7b.entry.js} +5 -5
  25. package/dist/lime-elements/p-67426b7b.entry.js.map +1 -0
  26. package/dist/lime-elements/p-8f4d4900.entry.js +2 -0
  27. package/dist/lime-elements/p-8f4d4900.entry.js.map +1 -0
  28. package/dist/lime-elements/p-953ce801.entry.js +2 -0
  29. package/dist/lime-elements/p-953ce801.entry.js.map +1 -0
  30. package/dist/lime-elements/style/color-palette-extended.css +5 -0
  31. package/dist/types/components/chip/chip.d.ts +20 -0
  32. package/dist/types/components.d.ts +32 -0
  33. package/package.json +8 -8
  34. package/dist/cjs/limel-circular-progress_2.cjs.entry.js.map +0 -1
  35. package/dist/esm/limel-circular-progress_2.entry.js.map +0 -1
  36. package/dist/lime-elements/p-50c8bb77.entry.js +0 -2
  37. package/dist/lime-elements/p-50c8bb77.entry.js.map +0 -1
  38. package/dist/lime-elements/p-f6288a1d.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["circularProgressCss","PERCENT","CircularProgress","this","renderPrefix","prefix","h","class","render","classList","displayPercentageColors","currentPercentage","value","maxValue","Math","round","role","style","abbreviate","suffix","cssClasses","CLOSED_CLASS","CLOSED_ANIMATION_OFF_CLASS","INDETERMINATE_CLASS","REVERSED_CLASS","ANIMATION_READY_CLASS","strings","ARIA_HIDDEN","ARIA_VALUEMAX","ARIA_VALUEMIN","ARIA_VALUENOW","BUFFER_BAR_SELECTOR","FLEX_BASIS","PRIMARY_BAR_SELECTOR","animationDimensionPercentages","PRIMARY_HALF","PRIMARY_FULL","SECONDARY_QUARTER","SECONDARY_HALF","SECONDARY_FULL","MDCLinearProgressFoundation","_super","__extends","adapter","_this","call","__assign","defaultAdapter","observer","Object","defineProperty","get","enumerable","configurable","addClass","undefined","attachResizeObserver","forceLayout","getWidth","hasClass","setBufferBarStyle","setPrimaryBarStyle","setStyle","removeAttribute","removeClass","setAttribute","prototype","init","determinate","progress","buffer","entries","e_1","_a","entries_1","__values","entries_1_1","next","done","entry","contentRect","calculateAndSetDimensions","width","e_1_1","error","return","setDeterminate","isDeterminate","toString","setPrimaryBarProgress","setBufferBarProgress","setProgress","getProgress","setBuffer","getBuffer","open","close","isClosed","handleTransitionEnd","destroy","disconnect","restartAnimation","progressValue","transformProp","window","getCorrectPropertyName","primaryHalf","percents","primaryFull","secondaryQuarter","secondaryHalf","secondaryFull","MDCFoundation","MDCLinearProgress","apply","arguments","attachTo","root","set","foundation","initialSyncWithDOM","addEventListener","getDefaultFoundation","className","add","getBoundingClientRect","styleProperty","bufferBar","querySelector","setProperty","primaryBar","contains","attributeName","remove","name","callback","RO","ResizeObserver","ro","observe","offsetWidth","MDCComponent","linearProgressCss","LinearProgress","connectedCallback","initialize","componentDidLoad","element","host","shadowRoot","mdcLinearProgress","disconnectedCallback","isFinite","indeterminate","watchValue","newValue","Number"],"sources":["./src/components/circular-progress/circular-progress.scss?tag=limel-circular-progress&encapsulation=shadow","./src/components/circular-progress/circular-progress.tsx","./node_modules/@material/linear-progress/constants.js","./node_modules/@material/linear-progress/foundation.js","./node_modules/@material/linear-progress/component.js","./src/components/linear-progress/linear-progress.scss?tag=limel-linear-progress&encapsulation=shadow","./src/components/linear-progress/linear-progress.tsx"],"sourcesContent":["@use '../../style/functions';\n@use '../../style/mixins';\n@use '../../style/internal/lime-theme';\n\n/**\n * @prop --circular-progress-size: Determines the visual size of the visualization. This does not override the `size` property if it is specified.\n * @prop --circular-progress-track-color: Determines the color of the circular track. Defaults to `--contrast-400`.\n * @prop --circular-progress-suffix-color: Determines the color of the prefix. Defaults to `--contrast-1000`.\n * @prop --circular-progress-text-color: Determines the color of the value. Defaults to `--contrast-1200`.\n * @prop --circular-progress-prefix-color: Determines the color of the suffix. Defaults to `--contrast-1000`.\n * @prop --circular-progress-fill-color: Determines the color of the progressed section. Defaults to `--lime-primary-color`.\n * @prop --circular-progress-background-color: Determines the background color of the central section. Defaults to `--contrast-100`.\n */\n\n:host {\n display: block;\n box-sizing: border-box;\n isolation: isolate;\n}\n\n:host([size='x-small']) {\n --circular-progress-size: 1.5rem;\n font-weight: bold;\n\n .value {\n letter-spacing: functions.pxToRem(-1);\n }\n}\n\n:host([size='small']) {\n --circular-progress-size: 2rem;\n font-weight: bold;\n\n .value {\n letter-spacing: functions.pxToRem(-0.5);\n }\n}\n\n:host([size='medium']) {\n --circular-progress-size: 3rem;\n}\n\n:host([size='large']) {\n --circular-progress-size: 4rem;\n}\n\n:host([size='x-large']) {\n --circular-progress-size: 5rem;\n}\n\n.lime-circular-progress {\n --size: var(--circular-progress-size, 3rem);\n --fill-color: var(--circular-progress-fill-color, var(--mdc-theme-primary));\n --track-color: var(\n --circular-progress-track-color,\n rgb(var(--contrast-400))\n );\n position: relative;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: var(--size);\n height: var(--size);\n border-radius: 50%;\n\n line-height: normal;\n\n box-shadow: 0 0 0 0.125rem rgb(var(--contrast-100), 0.7);\n background: conic-gradient(\n var(--fill-color) 0% var(--percentage),\n var(--track-color) var(--percentage) 100%\n );\n\n &:before {\n $size-of-middle-circle: calc(\n var(--size) * 0.75 + 0.25rem\n ); // this calculation ensures that the middle circle is responsive and always perfectly centered\n\n content: '';\n position: absolute;\n width: $size-of-middle-circle;\n height: $size-of-middle-circle;\n border-radius: 50%;\n background-color: var(\n --circular-progress-background-color,\n rgb(var(--contrast-100))\n );\n box-shadow: var(--button-shadow-pressed);\n }\n}\n\n.prefix {\n font-size: clamp(0.5rem, calc(var(--size) * 0.16), 2.25rem);\n @include mixins.truncate-text();\n text-align: center;\n color: var(--circular-progress-prefix-color, rgb(var(--contrast-1000)));\n\n width: 45%;\n top: 20%;\n position: absolute;\n}\n\n.value {\n display: flex;\n font-size: clamp(0.5rem, calc(var(--size) * 0.25), 4rem);\n color: var(--circular-progress-text-color, rgb(var(--contrast-1200)));\n z-index: 1;\n cursor: default;\n}\n\n.suffix {\n font-size: clamp(0.5rem, calc(var(--size) * 0.18), 2.5rem);\n color: var(--circular-progress-suffix-color, rgb(var(--contrast-1000)));\n padding-top: 4%;\n}\n\n@import './partial-styles/_percentage-colors';\n","import { Component, h, Prop } from '@stencil/core';\nimport { CircularProgressSize } from '../circular-progress/circular-progress.types';\nimport { abbreviate } from '../badge/format';\n\nconst PERCENT = 100;\n\n/**\n * The circular progress component can be used to visualize the curent state of\n * a progress in a scale; for example percentage of completion of a task.\n *\n * Its compact UI makes the component suitable when there is not enough screen\n * space available to visualise such information.\n *\n * This component allows you to define your scale, from `0` to a desired\n * `maxValue`; and also lets you chose a proper `suffix` for your scale.\n *\n * :::note\n * The component will round up the value when it is displayed, and only shows\n * one decimal digit.\n * It also abbreviates large numbers. For example 1234 will be displayed as 1.2k.\n * Of course such numbers, if bigger than `maxValue` will be visualized as a\n * full progress.\n * :::\n *\n * @exampleComponent limel-example-circular-progress\n * @exampleComponent limel-example-circular-progress-sizes\n * @exampleComponent limel-example-circular-progress-props\n * @exampleComponent limel-example-circular-progress-css-variables\n * @exampleComponent limel-example-circular-progress-percentage-colors\n */\n@Component({\n tag: 'limel-circular-progress',\n shadow: true,\n styleUrl: 'circular-progress.scss',\n})\nexport class CircularProgress {\n /**\n * The value of the progress bar.\n */\n @Prop()\n public value: number = 0;\n\n /**\n * The maximum value within the scale that the progress bar should visualize. Defaults to `100`.\n */\n @Prop()\n public maxValue: number = PERCENT;\n\n /**\n * The prefix which is displayed before the `value`, must be a few characters characters long.\n */\n @Prop({ reflect: true })\n public prefix?: string = null;\n\n /**\n * The suffix which is displayed after the `value`, must be one or two characters long. Defaults to `%`\n */\n @Prop()\n public suffix: string = '%';\n\n /**\n * When set to `true`, makes the filled section showing the percentage colorful. Colors change with intervals of 10%.\n */\n @Prop()\n public displayPercentageColors: boolean = false;\n\n /**\n * Determines the visual size of the visualization from a preset size. This property can override the `--circular-progress-size` variable if it is specified.\n */\n @Prop({ reflect: true })\n public size: CircularProgressSize;\n\n public render() {\n const classList = {\n 'lime-circular-progress': true,\n 'displays-percentage-colors': this.displayPercentageColors,\n };\n\n const currentPercentage = (this.value * PERCENT) / this.maxValue + '%';\n const value = Math.round(this.value * 10) / 10; // eslint-disable-line no-magic-numbers\n\n return (\n <div\n role=\"progressbar\"\n class={classList}\n aria-label=\"%\"\n aria-valuemin=\"0\"\n aria-valuemax={this.maxValue}\n aria-valuenow={this.value}\n style={{ '--percentage': currentPercentage }}\n >\n {this.renderPrefix()}\n <span class=\"value\">\n {abbreviate(value)}\n <span class=\"suffix\">{this.suffix}</span>\n </span>\n </div>\n );\n }\n private renderPrefix = () => {\n if (this.prefix) {\n return <span class=\"prefix\">{this.prefix}</span>;\n }\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 */\nexport var 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};\nexport var 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// these are percentages pulled from keyframes.scss\nexport var 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//# sourceMappingURL=constants.js.map","/**\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 */\nimport { __assign, __extends, __values } from \"tslib\";\nimport { getCorrectPropertyName } from '@material/animation/util';\nimport { MDCFoundation } from '@material/base/foundation';\nimport { animationDimensionPercentages as percents, cssClasses, strings } from './constants';\nvar MDCLinearProgressFoundation = /** @class */ (function (_super) {\n __extends(MDCLinearProgressFoundation, _super);\n function MDCLinearProgressFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCLinearProgressFoundation.defaultAdapter), adapter)) || this;\n _this.observer = null;\n return _this;\n }\n Object.defineProperty(MDCLinearProgressFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCLinearProgressFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCLinearProgressFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n attachResizeObserver: function () { return null; },\n forceLayout: function () { return undefined; },\n getWidth: function () { return 0; },\n hasClass: function () { return false; },\n setBufferBarStyle: function () { return null; },\n setPrimaryBarStyle: function () { return null; },\n setStyle: function () { return undefined; },\n removeAttribute: function () { return undefined; },\n removeClass: function () { return undefined; },\n setAttribute: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCLinearProgressFoundation.prototype.init = function () {\n var _this = this;\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 this.observer = this.adapter.attachResizeObserver(function (entries) {\n var e_1, _a;\n if (_this.determinate) {\n return;\n }\n try {\n for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {\n var entry = entries_1_1.value;\n if (entry.contentRect) {\n _this.calculateAndSetDimensions(entry.contentRect.width);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n });\n if (!this.determinate && this.observer) {\n this.calculateAndSetDimensions(this.adapter.getWidth());\n }\n };\n MDCLinearProgressFoundation.prototype.setDeterminate = function (isDeterminate) {\n this.determinate = isDeterminate;\n if (this.determinate) {\n this.adapter.removeClass(cssClasses.INDETERMINATE_CLASS);\n this.adapter.setAttribute(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 return;\n }\n if (this.observer) {\n this.calculateAndSetDimensions(this.adapter.getWidth());\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 MDCLinearProgressFoundation.prototype.isDeterminate = function () {\n return this.determinate;\n };\n MDCLinearProgressFoundation.prototype.setProgress = function (value) {\n this.progress = value;\n if (this.determinate) {\n this.setPrimaryBarProgress(value);\n this.adapter.setAttribute(strings.ARIA_VALUENOW, value.toString());\n }\n };\n MDCLinearProgressFoundation.prototype.getProgress = function () {\n return this.progress;\n };\n MDCLinearProgressFoundation.prototype.setBuffer = function (value) {\n this.buffer = value;\n if (this.determinate) {\n this.setBufferBarProgress(value);\n }\n };\n MDCLinearProgressFoundation.prototype.getBuffer = function () {\n return this.buffer;\n };\n MDCLinearProgressFoundation.prototype.open = function () {\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 MDCLinearProgressFoundation.prototype.close = function () {\n this.adapter.addClass(cssClasses.CLOSED_CLASS);\n this.adapter.setAttribute(strings.ARIA_HIDDEN, 'true');\n };\n MDCLinearProgressFoundation.prototype.isClosed = function () {\n return this.adapter.hasClass(cssClasses.CLOSED_CLASS);\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 MDCLinearProgressFoundation.prototype.handleTransitionEnd = function () {\n if (this.adapter.hasClass(cssClasses.CLOSED_CLASS)) {\n this.adapter.addClass(cssClasses.CLOSED_ANIMATION_OFF_CLASS);\n }\n };\n MDCLinearProgressFoundation.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n if (this.observer) {\n this.observer.disconnect();\n }\n };\n MDCLinearProgressFoundation.prototype.restartAnimation = function () {\n this.adapter.removeClass(cssClasses.ANIMATION_READY_CLASS);\n this.adapter.forceLayout();\n this.adapter.addClass(cssClasses.ANIMATION_READY_CLASS);\n };\n MDCLinearProgressFoundation.prototype.setPrimaryBarProgress = function (progressValue) {\n var value = \"scaleX(\" + progressValue + \")\";\n // Accessing `window` without a `typeof` check will throw on Node\n // environments.\n var transformProp = typeof window !== 'undefined' ?\n getCorrectPropertyName(window, 'transform') :\n 'transform';\n this.adapter.setPrimaryBarStyle(transformProp, value);\n };\n MDCLinearProgressFoundation.prototype.setBufferBarProgress = function (progressValue) {\n var value = progressValue * 100 + \"%\";\n this.adapter.setBufferBarStyle(strings.FLEX_BASIS, value);\n };\n MDCLinearProgressFoundation.prototype.calculateAndSetDimensions = function (width) {\n var primaryHalf = width * percents.PRIMARY_HALF;\n var primaryFull = width * percents.PRIMARY_FULL;\n var secondaryQuarter = width * percents.SECONDARY_QUARTER;\n var secondaryHalf = width * percents.SECONDARY_HALF;\n var secondaryFull = width * percents.SECONDARY_FULL;\n this.adapter.setStyle('--mdc-linear-progress-primary-half', primaryHalf + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-primary-half-neg', -primaryHalf + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-primary-full', primaryFull + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-primary-full-neg', -primaryFull + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-secondary-quarter', secondaryQuarter + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-secondary-quarter-neg', -secondaryQuarter + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-secondary-half', secondaryHalf + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-secondary-half-neg', -secondaryHalf + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-secondary-full', secondaryFull + \"px\");\n this.adapter.setStyle('--mdc-linear-progress-secondary-full-neg', -secondaryFull + \"px\");\n // need to restart animation for custom props to apply to keyframes\n this.restartAnimation();\n };\n return MDCLinearProgressFoundation;\n}(MDCFoundation));\nexport { MDCLinearProgressFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCLinearProgressFoundation;\n//# sourceMappingURL=foundation.js.map","/**\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 */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCLinearProgressFoundation } from './foundation';\nvar MDCLinearProgress = /** @class */ (function (_super) {\n __extends(MDCLinearProgress, _super);\n function MDCLinearProgress() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCLinearProgress.attachTo = function (root) {\n return new MDCLinearProgress(root);\n };\n Object.defineProperty(MDCLinearProgress.prototype, \"determinate\", {\n set: function (value) {\n this.foundation.setDeterminate(value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCLinearProgress.prototype, \"progress\", {\n set: function (value) {\n this.foundation.setProgress(value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCLinearProgress.prototype, \"buffer\", {\n set: function (value) {\n this.foundation.setBuffer(value);\n },\n enumerable: false,\n configurable: true\n });\n MDCLinearProgress.prototype.open = function () {\n this.foundation.open();\n };\n MDCLinearProgress.prototype.close = function () {\n this.foundation.close();\n };\n MDCLinearProgress.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.root.addEventListener('transitionend', function () {\n _this.foundation.handleTransitionEnd();\n });\n };\n MDCLinearProgress.prototype.getDefaultFoundation = function () {\n var _this = this;\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 var adapter = {\n addClass: function (className) {\n _this.root.classList.add(className);\n },\n forceLayout: function () {\n _this.root.getBoundingClientRect();\n },\n setBufferBarStyle: function (styleProperty, value) {\n var bufferBar = _this.root.querySelector(MDCLinearProgressFoundation.strings.BUFFER_BAR_SELECTOR);\n if (bufferBar) {\n bufferBar.style.setProperty(styleProperty, value);\n }\n },\n setPrimaryBarStyle: function (styleProperty, value) {\n var primaryBar = _this.root.querySelector(MDCLinearProgressFoundation.strings.PRIMARY_BAR_SELECTOR);\n if (primaryBar) {\n primaryBar.style.setProperty(styleProperty, value);\n }\n },\n hasClass: function (className) { return _this.root.classList.contains(className); },\n removeAttribute: function (attributeName) {\n _this.root.removeAttribute(attributeName);\n },\n removeClass: function (className) {\n _this.root.classList.remove(className);\n },\n setAttribute: function (attributeName, value) {\n _this.root.setAttribute(attributeName, value);\n },\n setStyle: function (name, value) {\n _this.root.style.setProperty(name, value);\n },\n attachResizeObserver: function (callback) {\n var RO = window.ResizeObserver;\n if (RO) {\n var ro = new RO(callback);\n ro.observe(_this.root);\n return ro;\n }\n return null;\n },\n getWidth: function () { return _this.root.offsetWidth; },\n };\n return new MDCLinearProgressFoundation(adapter);\n };\n return MDCLinearProgress;\n}(MDCComponent));\nexport { MDCLinearProgress };\n//# sourceMappingURL=component.js.map","@use '../../style/internal/lime-theme';\n@use '@material/linear-progress';\n\n/**\n * @prop --background-color: Color to use for progress-bar track.\n */\n\n@include linear-progress.core-styles;\n\n.mdc-linear-progress {\n text-align: left;\n}\n\n@include linear-progress.buffer-color(\n var(--background-color, rgba(var(--contrast-800), 0.5))\n);\n","import { MDCLinearProgress } from '@material/linear-progress';\nimport { Component, Element, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @exampleComponent limel-example-linear-progress\n * @exampleComponent limel-example-linear-progress-color\n * @exampleComponent limel-example-linear-progress-indeterminate\n */\n@Component({\n tag: 'limel-linear-progress',\n shadow: true,\n styleUrl: 'linear-progress.scss',\n})\nexport class LinearProgress {\n /**\n * The value of the progress bar. Should be between `0` and `1`.\n */\n @Prop({ reflect: true })\n public value: number = 0;\n\n /**\n * Puts the progress bar in an indeterminate state\n */\n @Prop({ reflect: true })\n public indeterminate: boolean = false;\n\n @Element()\n private host: HTMLLimelLinearProgressElement;\n\n private mdcLinearProgress: MDCLinearProgress;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector(\n '.mdc-linear-progress',\n );\n if (!element) {\n return;\n }\n\n this.mdcLinearProgress = new MDCLinearProgress(element);\n this.mdcLinearProgress.progress = this.value;\n }\n\n public disconnectedCallback() {\n if (this.mdcLinearProgress) {\n this.mdcLinearProgress.destroy();\n }\n }\n\n public render() {\n if (!this.isFinite(this.value)) {\n return;\n }\n\n const classList = {\n 'mdc-linear-progress': true,\n 'mdc-linear-progress--indeterminate': this.indeterminate,\n };\n\n return (\n <div\n role=\"progressbar\"\n class={classList}\n aria-label=\"Progress Bar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"1\"\n aria-valuenow={this.value}\n >\n <div class=\"mdc-linear-progress__buffer\">\n <div class=\"mdc-linear-progress__buffer-bar\"></div>\n </div>\n <div class=\"mdc-linear-progress__bar mdc-linear-progress__primary-bar\">\n <span class=\"mdc-linear-progress__bar-inner\" />\n </div>\n <div class=\"mdc-linear-progress__bar mdc-linear-progress__secondary-bar\">\n <span class=\"mdc-linear-progress__bar-inner\" />\n </div>\n </div>\n );\n }\n\n @Watch('value')\n protected watchValue(newValue) {\n if (!this.mdcLinearProgress || !this.isFinite(newValue)) {\n return;\n }\n\n this.mdcLinearProgress.progress = newValue;\n }\n\n private isFinite(value: unknown) {\n return Number.isFinite(value);\n }\n}\n"],"mappings":"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"}