@m3e/web 2.0.3 → 2.0.5
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.
- package/dist/all.js +571 -463
- package/dist/all.js.map +1 -1
- package/dist/all.min.js +54 -59
- package/dist/all.min.js.map +1 -1
- package/dist/app-bar.js +10 -10
- package/dist/app-bar.js.map +1 -1
- package/dist/app-bar.min.js +1 -1
- package/dist/app-bar.min.js.map +1 -1
- package/dist/autocomplete.js +31 -18
- package/dist/autocomplete.js.map +1 -1
- package/dist/autocomplete.min.js +1 -1
- package/dist/autocomplete.min.js.map +1 -1
- package/dist/avatar.js +1 -2
- package/dist/avatar.js.map +1 -1
- package/dist/avatar.min.js +1 -1
- package/dist/avatar.min.js.map +1 -1
- package/dist/badge.js +2 -2
- package/dist/badge.js.map +1 -1
- package/dist/badge.min.js +1 -1
- package/dist/badge.min.js.map +1 -1
- package/dist/bottom-sheet.js +14 -15
- package/dist/bottom-sheet.js.map +1 -1
- package/dist/bottom-sheet.min.js +1 -1
- package/dist/bottom-sheet.min.js.map +1 -1
- package/dist/button-group.js +7 -7
- package/dist/button-group.js.map +1 -1
- package/dist/button-group.min.js +1 -1
- package/dist/button-group.min.js.map +1 -1
- package/dist/button.js +17 -17
- package/dist/button.js.map +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.min.js.map +1 -1
- package/dist/card.js +2 -2
- package/dist/card.js.map +1 -1
- package/dist/card.min.js +1 -1
- package/dist/card.min.js.map +1 -1
- package/dist/checkbox.js +3 -3
- package/dist/checkbox.js.map +1 -1
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.min.js.map +1 -1
- package/dist/chips.js +50 -37
- package/dist/chips.js.map +1 -1
- package/dist/chips.min.js +1 -1
- package/dist/chips.min.js.map +1 -1
- package/dist/core-a11y.js +27 -1
- package/dist/core-a11y.js.map +1 -1
- package/dist/core-a11y.min.js +4 -13
- package/dist/core-a11y.min.js.map +1 -1
- package/dist/core-bidi.js +3 -5
- package/dist/core-bidi.js.map +1 -1
- package/dist/core-bidi.min.js +2 -2
- package/dist/core-bidi.min.js.map +1 -1
- package/dist/core.js +128 -49
- package/dist/core.js.map +1 -1
- package/dist/core.min.js +1 -1
- package/dist/core.min.js.map +1 -1
- package/dist/css-custom-data.json +140 -115
- package/dist/custom-elements.json +2310 -1497
- package/dist/dialog.js +10 -9
- package/dist/dialog.js.map +1 -1
- package/dist/dialog.min.js +1 -1
- package/dist/dialog.min.js.map +1 -1
- package/dist/divider.js +2 -2
- package/dist/divider.js.map +1 -1
- package/dist/divider.min.js +1 -1
- package/dist/divider.min.js.map +1 -1
- package/dist/drawer-container.js +18 -18
- package/dist/drawer-container.js.map +1 -1
- package/dist/drawer-container.min.js +1 -1
- package/dist/drawer-container.min.js.map +1 -1
- package/dist/expansion-panel.js +4 -4
- package/dist/expansion-panel.js.map +1 -1
- package/dist/expansion-panel.min.js +1 -1
- package/dist/expansion-panel.min.js.map +1 -1
- package/dist/fab-menu.js +9 -9
- package/dist/fab-menu.js.map +1 -1
- package/dist/fab-menu.min.js +1 -1
- package/dist/fab-menu.min.js.map +1 -1
- package/dist/fab.js +4 -4
- package/dist/fab.js.map +1 -1
- package/dist/fab.min.js +1 -1
- package/dist/fab.min.js.map +1 -1
- package/dist/form-field.js +22 -22
- package/dist/form-field.js.map +1 -1
- package/dist/form-field.min.js +3 -3
- package/dist/form-field.min.js.map +1 -1
- package/dist/heading.js +2 -2
- package/dist/heading.js.map +1 -1
- package/dist/heading.min.js +1 -1
- package/dist/heading.min.js.map +1 -1
- package/dist/html-custom-data.json +57 -57
- package/dist/icon-button.js +17 -17
- package/dist/icon-button.js.map +1 -1
- package/dist/icon-button.min.js +1 -1
- package/dist/icon-button.min.js.map +1 -1
- package/dist/icon.js +2 -2
- package/dist/icon.js.map +1 -1
- package/dist/icon.min.js +1 -1
- package/dist/icon.min.js.map +1 -1
- package/dist/list.js +26 -20
- package/dist/list.js.map +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.min.js.map +1 -1
- package/dist/loading-indicator.js +2 -2
- package/dist/loading-indicator.js.map +1 -1
- package/dist/loading-indicator.min.js +1 -1
- package/dist/loading-indicator.min.js.map +1 -1
- package/dist/menu.js +28 -26
- package/dist/menu.js.map +1 -1
- package/dist/menu.min.js +1 -1
- package/dist/menu.min.js.map +1 -1
- package/dist/nav-bar.js +4 -4
- package/dist/nav-bar.js.map +1 -1
- package/dist/nav-bar.min.js +1 -1
- package/dist/nav-bar.min.js.map +1 -1
- package/dist/nav-menu.js +25 -21
- package/dist/nav-menu.js.map +1 -1
- package/dist/nav-menu.min.js +1 -1
- package/dist/nav-menu.min.js.map +1 -1
- package/dist/nav-rail.js +4 -5
- package/dist/nav-rail.js.map +1 -1
- package/dist/nav-rail.min.js +1 -1
- package/dist/nav-rail.min.js.map +1 -1
- package/dist/option.js +26 -28
- package/dist/option.js.map +1 -1
- package/dist/option.min.js +1 -1
- package/dist/option.min.js.map +1 -1
- package/dist/paginator.js +7 -3
- package/dist/paginator.js.map +1 -1
- package/dist/paginator.min.js +2 -2
- package/dist/paginator.min.js.map +1 -1
- package/dist/progress-indicator.js +2 -2
- package/dist/progress-indicator.js.map +1 -1
- package/dist/progress-indicator.min.js +7 -7
- package/dist/progress-indicator.min.js.map +1 -1
- package/dist/radio-group.js +4 -4
- package/dist/radio-group.js.map +1 -1
- package/dist/radio-group.min.js +1 -1
- package/dist/radio-group.min.js.map +1 -1
- package/dist/segmented-button.js +9 -9
- package/dist/segmented-button.js.map +1 -1
- package/dist/segmented-button.min.js +1 -1
- package/dist/segmented-button.min.js.map +1 -1
- package/dist/select.js +10 -354
- package/dist/select.js.map +1 -1
- package/dist/select.min.js +1 -18
- package/dist/select.min.js.map +1 -1
- package/dist/shape.js +2 -2
- package/dist/shape.js.map +1 -1
- package/dist/shape.min.js +1 -1
- package/dist/shape.min.js.map +1 -1
- package/dist/slide-group.js +3 -2
- package/dist/slide-group.js.map +1 -1
- package/dist/slide-group.min.js +1 -1
- package/dist/slide-group.min.js.map +1 -1
- package/dist/slider.js +8 -8
- package/dist/slider.js.map +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.min.js.map +1 -1
- package/dist/snackbar.js +5 -3
- package/dist/snackbar.js.map +1 -1
- package/dist/snackbar.min.js +1 -1
- package/dist/snackbar.min.js.map +1 -1
- package/dist/split-button.js +3 -2
- package/dist/split-button.js.map +1 -1
- package/dist/split-button.min.js +1 -1
- package/dist/split-button.min.js.map +1 -1
- package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
- package/dist/src/avatar/AvatarElement.d.ts.map +1 -1
- package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts.map +1 -1
- package/dist/src/bottom-sheet/BottomSheetElement.d.ts +1 -1
- package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
- package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts.map +1 -1
- package/dist/src/button/ButtonElement.d.ts +2 -1
- package/dist/src/button/ButtonElement.d.ts.map +1 -1
- package/dist/src/button/styles/ButtonSizeStyle.d.ts.map +1 -1
- package/dist/src/button/styles/ButtonVariantStyle.d.ts.map +1 -1
- package/dist/src/button-group/ButtonGroupElement.d.ts.map +1 -1
- package/dist/src/card/CardElement.d.ts.map +1 -1
- package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
- package/dist/src/chips/AssistChipElement.d.ts +3 -1
- package/dist/src/chips/AssistChipElement.d.ts.map +1 -1
- package/dist/src/chips/ChipElement.d.ts +3 -1
- package/dist/src/chips/ChipElement.d.ts.map +1 -1
- package/dist/src/chips/ChipSetElement.d.ts.map +1 -1
- package/dist/src/chips/FilterChipElement.d.ts +3 -1
- package/dist/src/chips/FilterChipElement.d.ts.map +1 -1
- package/dist/src/chips/FilterChipSetElement.d.ts.map +1 -1
- package/dist/src/chips/InputChipElement.d.ts +8 -1
- package/dist/src/chips/InputChipElement.d.ts.map +1 -1
- package/dist/src/chips/InputChipSetElement.d.ts.map +1 -1
- package/dist/src/chips/SuggestionChipElement.d.ts +3 -1
- package/dist/src/chips/SuggestionChipElement.d.ts.map +1 -1
- package/dist/src/core/bidi/Directionality.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/HoverController.d.ts.map +1 -1
- package/dist/src/core/shared/controllers/IntersectionController.d.ts.map +1 -1
- package/dist/src/core/shared/decorators/component.d.ts +19 -0
- package/dist/src/core/shared/decorators/component.d.ts.map +1 -0
- package/dist/src/core/shared/decorators/customElement.d.ts +19 -0
- package/dist/src/core/shared/decorators/customElement.d.ts.map +1 -0
- package/dist/src/core/shared/decorators/element.d.ts +19 -0
- package/dist/src/core/shared/decorators/element.d.ts.map +1 -0
- package/dist/src/core/shared/decorators/index.d.ts +1 -0
- package/dist/src/core/shared/decorators/index.d.ts.map +1 -1
- package/dist/src/core/shared/mixins/AttachInternals.d.ts +27 -0
- package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
- package/dist/src/core/shared/mixins/Dirty.d.ts +2 -1
- package/dist/src/core/shared/mixins/Dirty.d.ts.map +1 -1
- package/dist/src/core/shared/mixins/HtmlFor.d.ts.map +1 -1
- package/dist/src/core/shared/mixins/Labelled.d.ts.map +1 -1
- package/dist/src/core/shared/mixins/Touched.d.ts +2 -1
- package/dist/src/core/shared/mixins/Touched.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +1 -1
- package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/ElevationElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/RippleElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts +3 -1
- package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/SlideElement.d.ts +3 -1
- package/dist/src/core/shared/primitives/SlideElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/StateLayerElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/TextHighlightElement.d.ts.map +1 -1
- package/dist/src/core/shared/primitives/TextOverflowElement.d.ts.map +1 -1
- package/dist/src/core/shared/utils/getState.d.ts +15 -0
- package/dist/src/core/shared/utils/getState.d.ts.map +1 -0
- package/dist/src/dialog/DialogActionElement.d.ts.map +1 -1
- package/dist/src/dialog/DialogElement.d.ts +3 -2
- package/dist/src/dialog/DialogElement.d.ts.map +1 -1
- package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -1
- package/dist/src/drawer-container/DrawerContainerElement.d.ts +3 -1
- package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
- package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
- package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
- package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts.map +1 -1
- package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
- package/dist/src/fab/FabElement.d.ts.map +1 -1
- package/dist/src/fab-menu/FabMenuElement.d.ts +1 -1
- package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
- package/dist/src/fab-menu/FabMenuItemElement.d.ts.map +1 -1
- package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -1
- package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
- package/dist/src/icon-button/IconButtonElement.d.ts +2 -1
- package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -1
- package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -1
- package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -1
- package/dist/src/list/ActionListElement.d.ts.map +1 -1
- package/dist/src/list/ListElement.d.ts +1 -1
- package/dist/src/list/ListElement.d.ts.map +1 -1
- package/dist/src/list/ListItemButtonElement.d.ts.map +1 -1
- package/dist/src/list/ListItemElement.d.ts +1 -1
- package/dist/src/list/ListItemElement.d.ts.map +1 -1
- package/dist/src/list/ListOptionElement.d.ts.map +1 -1
- package/dist/src/list/SelectionListElement.d.ts.map +1 -1
- package/dist/src/menu/MenuElement.d.ts +1 -1
- package/dist/src/menu/MenuElement.d.ts.map +1 -1
- package/dist/src/menu/MenuItemCheckboxElement.d.ts.map +1 -1
- package/dist/src/menu/MenuItemGroupElement.d.ts.map +1 -1
- package/dist/src/menu/MenuItemRadioElement.d.ts.map +1 -1
- package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -1
- package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
- package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
- package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
- package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts +1 -1
- package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts.map +1 -1
- package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
- package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -1
- package/dist/src/option/OptGroupElement.d.ts.map +1 -1
- package/dist/src/option/OptionElement.d.ts +1 -2
- package/dist/src/option/OptionElement.d.ts.map +1 -1
- package/dist/src/option/OptionPanelElement.d.ts +12 -13
- package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
- package/dist/src/paginator/PaginatorElement.d.ts +5 -1
- package/dist/src/paginator/PaginatorElement.d.ts.map +1 -1
- package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
- package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
- package/dist/src/radio-group/RadioGroupElement.d.ts.map +1 -1
- package/dist/src/segmented-button/ButtonSegmentElement.d.ts.map +1 -1
- package/dist/src/segmented-button/SegmentedButtonElement.d.ts.map +1 -1
- package/dist/src/select/SelectElement.d.ts.map +1 -1
- package/dist/src/shape/ShapeElement.d.ts.map +1 -1
- package/dist/src/slide-group/SlideGroupElement.d.ts +1 -0
- package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
- package/dist/src/slider/SliderElement.d.ts +3 -1
- package/dist/src/slider/SliderElement.d.ts.map +1 -1
- package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
- package/dist/src/snackbar/SnackbarElement.d.ts +2 -0
- package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -1
- package/dist/src/split-button/SplitButtonElement.d.ts +1 -0
- package/dist/src/split-button/SplitButtonElement.d.ts.map +1 -1
- package/dist/src/stepper/StepElement.d.ts.map +1 -1
- package/dist/src/stepper/StepperElement.d.ts.map +1 -1
- package/dist/src/switch/SwitchElement.d.ts.map +1 -1
- package/dist/src/tabs/TabElement.d.ts.map +1 -1
- package/dist/src/tabs/TabPanelElement.d.ts.map +1 -1
- package/dist/src/tabs/TabsElement.d.ts +1 -0
- package/dist/src/tabs/TabsElement.d.ts.map +1 -1
- package/dist/src/toc/TocElement.d.ts.map +1 -1
- package/dist/src/toc/TocItemElement.d.ts.map +1 -1
- package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -1
- package/dist/src/tooltip/TooltipElementBase.d.ts +1 -1
- package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
- package/dist/stepper.js +9 -9
- package/dist/stepper.js.map +1 -1
- package/dist/stepper.min.js +1 -1
- package/dist/stepper.min.js.map +1 -1
- package/dist/switch.js +2 -2
- package/dist/switch.js.map +1 -1
- package/dist/switch.min.js +1 -1
- package/dist/switch.min.js.map +1 -1
- package/dist/tabs.js +8 -7
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.min.js +1 -1
- package/dist/tabs.min.js.map +1 -1
- package/dist/textarea-autosize.js +2 -2
- package/dist/textarea-autosize.js.map +1 -1
- package/dist/textarea-autosize.min.js +2 -2
- package/dist/textarea-autosize.min.js.map +1 -1
- package/dist/theme.js +2 -2
- package/dist/theme.js.map +1 -1
- package/dist/theme.min.js +2 -2
- package/dist/theme.min.js.map +1 -1
- package/dist/toc.js +9 -9
- package/dist/toc.js.map +1 -1
- package/dist/toc.min.js +1 -1
- package/dist/toc.min.js.map +1 -1
- package/dist/toolbar.js +2 -2
- package/dist/toolbar.js.map +1 -1
- package/dist/toolbar.min.js +1 -1
- package/dist/toolbar.min.js.map +1 -1
- package/dist/tooltip.js +5 -5
- package/dist/tooltip.js.map +1 -1
- package/dist/tooltip.min.js +1 -1
- package/dist/tooltip.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-indicator.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/progress-indicator/ProgressElementIndicatorBase.ts","../../src/progress-indicator/CircularProgressIndicatorElement.ts","../../src/progress-indicator/LinearProgressIndicatorElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { css, CSSResultGroup, LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { AttachInternals, Role } from \"@m3e/web/core\";\r\n\r\nimport { ProgressIndicatorVariant } from \"./ProgressIndicatorVariant\";\r\n\r\n/** A base implementation for an element used to convey progress. This class must be inherited. */\r\nexport abstract class ProgressElementIndicatorBase extends AttachInternals(Role(LitElement, \"progressbar\"), true) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n @media (forced-colors: active) {\r\n :host {\r\n --m3e-progress-indicator-color: CanvasText;\r\n --m3e-progress-indicator-track-color: Canvas;\r\n }\r\n }\r\n `;\r\n\r\n /**\r\n * A fractional value, between 0 and `max`, indicating progress.\r\n * @default 0\r\n */\r\n @property({ type: Number, reflect: true }) value = 0;\r\n\r\n /**\r\n * The maximum progress value.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * The appearance of the indicator.\r\n * @default \"flat\"\r\n */\r\n @property({ reflect: true }) variant: ProgressIndicatorVariant = \"flat\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n this.ariaValueMin = \"0\";\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"value\")) {\r\n this.ariaValueNow = `${this.value}`;\r\n }\r\n if (changedProperties.has(\"max\")) {\r\n this.ariaValueMax = `${this.max}`;\r\n }\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, nothing, PropertyValues, svg } from \"lit\";\r\nimport { customElement, property } from \"lit/decorators.js\";\r\nimport { classMap } from \"lit/directives/class-map.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport { AnimationLoopController, DesignToken, ResizeController, resolveFragmentUrl } from \"@m3e/web/core\";\r\n\r\nimport { ProgressElementIndicatorBase } from \"./ProgressElementIndicatorBase\";\r\n\r\nconst WAVY_INDETERMINATE_DURATION = 1.575;\r\n\r\n/**\r\n * A circular indicator of progress and activity.\r\n *\r\n * @description\r\n * The `m3e-circular-progress-indicator` component displays a circular progress spinner for\r\n * tracking the completion of a task or process. It supports determinate and indeterminate\r\n * modes, and can be customized with CSS custom properties for diameter, stroke width, and\r\n * color. The component is accessible, animates smoothly, and adapts to various use cases including\r\n * loading and activity indication.\r\n *\r\n * @example\r\n * The following example illustrates a determinate circular progress indicator.\r\n * ```html\r\n * <m3e-circular-progress-indicator value=\"30\"></m3e-circular-progress-indicator>\r\n * ```\r\n * @example\r\n * The next example illustrates an indeterminate circular progress indicator using the `indeterminate` attribute.\r\n * ```html\r\n * <m3e-circular-progress-indicator indeterminate></m3e-circular-progress-indicator>\r\n * ```\r\n *\r\n * @tag m3e-circular-progress-indicator\r\n *\r\n * @slot - Renders the content inside the progress indicator.\r\n *\r\n * @attr indeterminate - Whether to show something is happening without conveying progress.\r\n * @attr max - The maximum progress value.\r\n * @attr value - A fractional value, between 0 and `max`, indicating progress.\r\n * @attr variant - The appearance of the indicator.\r\n *\r\n * @cssprop --m3e-circular-flat-progress-indicator-diameter - Diameter of the `flat` variant.\r\n * @cssprop --m3e-circular-wavy-progress-indicator-diameter - Diameter of the `wavy` variant.\r\n * @cssprop --m3e-circular-wavy-progress-indicator-amplitude - Amplitude of the `wavy` variant.\r\n * @cssprop --m3e-circular-wavy-progress-indicator-wavelength - Wavelength of the `wavy` variant.\r\n * @cssprop --m3e-circular-progress-indicator-thickness - Thickness of the progress indicator.\r\n * @cssprop --m3e-progress-indicator-track-color - Track color of the progress indicator (background).\r\n * @cssprop --m3e-progress-indicator-color - Color of the progress indicator (foreground).\r\n */\r\n@customElement(\"m3e-circular-progress-indicator\")\r\nexport class M3eCircularProgressIndicatorElement extends ProgressElementIndicatorBase {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n ProgressElementIndicatorBase.styles,\r\n css`\r\n :host {\r\n display: inline-flex;\r\n vertical-align: middle;\r\n aspect-ratio: 1;\r\n position: relative;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .progress {\r\n --_arc-duration: 1333ms;\r\n --_cycle-duration: calc(4 * var(--_arc-duration));\r\n --_linear-rotate-duration: calc(var(--_arc-duration) * 360 / 306);\r\n --_indeterminate-easing: cubic-bezier(0.4, 0, 0.2, 1);\r\n }\r\n .active-track {\r\n transition: stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);\r\n }\r\n :host([variant=\"flat\"]) .progress {\r\n flex: 1;\r\n align-self: stretch;\r\n pointer-events: none;\r\n }\r\n .progress,\r\n .spinner,\r\n .left,\r\n .right,\r\n .content,\r\n .circle {\r\n position: absolute;\r\n inset: 0;\r\n }\r\n .content {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .diameter-and-stroke,\r\n .amplitude-and-wavelength {\r\n visibility: hidden;\r\n position: absolute;\r\n }\r\n .diameter-and-stroke {\r\n width: inherit;\r\n height: var(--m3e-circular-progress-indicator-thickness, 0.25rem);\r\n }\r\n .amplitude-and-wavelength {\r\n width: var(--m3e-circular-wavy-progress-indicator-amplitude, 0.1rem);\r\n height: var(--m3e-circular-wavy-progress-indicator-wavelength, 0.9375rem);\r\n }\r\n :host([variant=\"flat\"]) {\r\n width: var(--m3e-circular-flat-progress-indicator-diameter, 2.5rem);\r\n }\r\n :host([variant=\"wavy\"]) {\r\n width: var(--m3e-circular-wavy-progress-indicator-diameter, 3rem);\r\n }\r\n :host([variant=\"flat\"][indeterminate]) .progress {\r\n animation: linear infinite linear-rotate;\r\n animation-duration: var(--_linear-rotate-duration);\r\n }\r\n :host([variant=\"flat\"][indeterminate]) .spinner {\r\n animation: infinite both rotate-arc;\r\n animation-duration: var(--_cycle-duration);\r\n animation-timing-function: var(--_indeterminate-easing);\r\n }\r\n :host([variant=\"wavy\"][indeterminate]) .spinner {\r\n transform-origin: 50% 50%;\r\n animation: wavy-spin ${WAVY_INDETERMINATE_DURATION}s linear infinite;\r\n }\r\n .left {\r\n clip-path: inset(0);\r\n inset: 0 50% 0 0;\r\n }\r\n .right {\r\n clip-path: inset(0);\r\n inset: 0 0 0 50%;\r\n }\r\n .circle {\r\n animation: expand-arc;\r\n animation-iteration-count: infinite;\r\n animation-fill-mode: both;\r\n animation-duration: var(--_arc-duration), var(--_cycle-duration);\r\n animation-timing-function: var(--_indeterminate-easing);\r\n }\r\n .left .circle {\r\n rotate: 135deg;\r\n inset: 0 -100% 0 0;\r\n }\r\n .right .circle {\r\n rotate: 100deg;\r\n inset: 0 0 0 -100%;\r\n animation-delay: calc(-0.5 * var(--_arc-duration)), 0ms;\r\n }\r\n .track {\r\n color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n .active-track {\r\n color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary});\r\n }\r\n .wave {\r\n animation: spin-reverse 8s linear infinite;\r\n transform-origin: 50% 50%;\r\n }\r\n @keyframes expand-arc {\r\n 0% {\r\n transform: rotate(265deg);\r\n }\r\n 50% {\r\n transform: rotate(130deg);\r\n }\r\n 100% {\r\n transform: rotate(265deg);\r\n }\r\n }\r\n @keyframes rotate-arc {\r\n 12.5% {\r\n transform: rotate(135deg);\r\n }\r\n 25% {\r\n transform: rotate(270deg);\r\n }\r\n 37.5% {\r\n transform: rotate(405deg);\r\n }\r\n 50% {\r\n transform: rotate(540deg);\r\n }\r\n 62.5% {\r\n transform: rotate(675deg);\r\n }\r\n 75% {\r\n transform: rotate(810deg);\r\n }\r\n 87.5% {\r\n transform: rotate(945deg);\r\n }\r\n 100% {\r\n transform: rotate(1080deg);\r\n }\r\n }\r\n @keyframes linear-rotate {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n @keyframes spin-reverse {\r\n from {\r\n transform: rotate(360deg);\r\n }\r\n to {\r\n transform: rotate(0deg);\r\n }\r\n }\r\n @keyframes spin {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n @keyframes wavy-spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 10% {\r\n transform: rotate(90deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host([variant=\"flat\"]) circle {\r\n fill: Canvas;\r\n }\r\n :host([variant=\"flat\"]) .circle {\r\n border-color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary})\r\n var(--m3e-progress-indicator-color, ${DesignToken.color.primary}) Canvas Canvas;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .progress {\r\n --m3e-progress-indicator-track-color: GrayText;\r\n --m3e-progress-indicator-color: CanvasText;\r\n }\r\n }\r\n `,\r\n ];\r\n\r\n /** @private */ private static __nextMaskId = 0;\r\n /** @private */ #maskId = `m3e-circular-progress-mask-${M3eCircularProgressIndicatorElement.__nextMaskId++}`;\r\n\r\n /** @private */ #diameter = 0;\r\n /** @private */ #strokeWidth = 0;\r\n /** @private */ #amplitude = 0;\r\n /** @private */ #wavelength = 0;\r\n\r\n /** @private */ #spinnerActiveTrack?: SVGPathElement | null;\r\n /** @private */ #spinnerTrack?: SVGPathElement | null;\r\n\r\n /** @private */ readonly #resizeController = new ResizeController(this, {\r\n skipInitial: true,\r\n target: null,\r\n callback: () => {\r\n this.#updateDiameterAndStroke();\r\n this.#updateAmplitudeAndWavelength();\r\n },\r\n });\r\n\r\n /** @private */ readonly #indeterminateWavyAnimationLoop = new AnimationLoopController(this, (_, t) =>\r\n this.#updateWavyIndeterminateSpinner(t),\r\n );\r\n\r\n /**\r\n * Whether to show something is happening without conveying progress.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) indeterminate = false;\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"indeterminate\")) {\r\n this.ariaValueNow = this.indeterminate ? null : `${this.value}`;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n const diameterAndStroke = this.shadowRoot?.querySelector<HTMLElement>(\".diameter-and-stroke\");\r\n if (diameterAndStroke) {\r\n this.#updateDiameterAndStroke();\r\n this.#resizeController.observe(diameterAndStroke);\r\n }\r\n\r\n const amplitudeAndWavelength = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (amplitudeAndWavelength) {\r\n this.#updateDiameterAndStroke();\r\n this.#resizeController.observe(amplitudeAndWavelength);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"indeterminate\")) {\r\n this.#spinnerActiveTrack = this.shadowRoot?.querySelector<SVGPathElement>(\".spinner.active-track\");\r\n this.#spinnerTrack = this.shadowRoot?.querySelector<SVGPathElement>(\".spinner.track\");\r\n\r\n if (this.indeterminate) {\r\n this.#indeterminateWavyAnimationLoop.start();\r\n } else {\r\n this.#indeterminateWavyAnimationLoop.stop();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return this.variant === \"wavy\" ? this.#renderWavyIndicator() : this.#renderFlatIndicator();\r\n }\r\n\r\n /** @private */\r\n #renderFlatIndicator(): unknown {\r\n if (this.indeterminate) {\r\n const left = this.#drawArc({ startAngle: -45, endAngle: 90 + this.#strokeWidth });\r\n const right = this.#drawArc({ startAngle: -this.#strokeWidth, endAngle: 135 });\r\n\r\n return html`<div class=\"progress\" aria-hidden=\"true\">\r\n <div class=\"spinner\">\r\n <div class=\"left\">\r\n <svg width=\"${this.#diameter}\" height=\"${this.#diameter}\" viewBox=\"${left.viewBox}\" class=\"circle\">\r\n <path\r\n class=\"active-track\"\r\n d=\"${left.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <svg width=\"${this.#diameter}\" height=\"${this.#diameter}\" viewBox=\"${right.viewBox}\" class=\"circle\">\r\n <path\r\n class=\"active-track\"\r\n d=\"${right.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n ${this.#renderResizeObservedElements()}`;\r\n }\r\n\r\n const minDegrees = this.#sizeToDegrees(this.#strokeWidth * 2, this.#diameter);\r\n let degrees = (this.value / this.max) * 360;\r\n if (degrees > 0) {\r\n degrees = Math.max(0, minDegrees, degrees);\r\n }\r\n\r\n const active = this.#drawArc({ gap: degrees < 360 ? this.#strokeWidth : 0, endAngle: degrees });\r\n const inactive = this.#drawArc({ gap: degrees > 0 ? this.#strokeWidth : 0, startAngle: degrees, endAngle: 360 });\r\n\r\n return html`<div class=\"progress\" aria-hidden=\"true\">\r\n <svg width=\"${this.#diameter}\" height=\"${this.#diameter}\" viewBox=\"${active.viewBox}\">\r\n ${degrees > 0\r\n ? svg`<path\r\n class=\"active-track\"\r\n d=\"${active.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />`\r\n : nothing}\r\n ${360 - degrees >= minDegrees\r\n ? svg`<path\r\n class=\"track\"\r\n d=\"${inactive.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />`\r\n : nothing}\r\n </svg>\r\n </div>\r\n ${this.#renderResizeObservedElements()}${this.#renderContent()}`;\r\n }\r\n\r\n /** @private */\r\n #renderWavyIndicator(): unknown {\r\n if (this.indeterminate) {\r\n return html`<div class=\"progress\" aria-hidden=\"true\">\r\n <svg\r\n width=\"${this.#diameter}\"\r\n height=\"${this.#diameter}\"\r\n viewBox=\"${this.#drawWavyArc({ endAngle: 20 }).viewBox}\"\r\n >\r\n <path\r\n class=\"spinner active-track\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"spinner track\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n ${this.#renderResizeObservedElements()}`;\r\n }\r\n\r\n const minDegrees = this.#sizeToDegrees(this.#strokeWidth * 2, this.#diameter);\r\n let degrees = (this.value / this.max) * 360;\r\n if (degrees > 0) {\r\n degrees = Math.max(0, minDegrees, degrees);\r\n }\r\n\r\n const amplitude = degrees <= minDegrees + minDegrees / 2 || degrees == 360 ? 0 : this.#amplitude;\r\n const activeArc = this.#drawArc({ gap: degrees < 360 ? this.#strokeWidth : 0, endAngle: degrees });\r\n const active = amplitude == 0 ? activeArc : this.#drawWavyArc({ endAngle: 360, amplitude });\r\n const inactive = this.#drawArc({ gap: degrees > 0 ? this.#strokeWidth : 0, startAngle: degrees, endAngle: 360 });\r\n const padding = amplitude > 0 ? amplitude + this.#strokeWidth / 2 : this.#strokeWidth;\r\n\r\n return html`\r\n <svg class=\"progress\" viewBox=\"${inactive.viewBox}\" aria-hidden=\"true\">\r\n ${degrees > 0\r\n ? svg`${\r\n amplitude > 0\r\n ? svg`<defs>\r\n <mask id=\"${this.#maskId}\">\r\n <path\r\n d=\"${activeArc.path}\"\r\n stroke=\"white\"\r\n stroke-width=\"${this.#strokeWidth + padding}\"\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </mask>\r\n </defs>`\r\n : nothing\r\n }\r\n <g class=\"active-track\" mask=\"${ifDefined(amplitude > 0 ? resolveFragmentUrl(this.#maskId) : undefined)}\">\r\n <path\r\n class=\"${classMap({ wave: amplitude > 0 })}\"\r\n d=\"${active.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n fill=\"none\"\r\n />\r\n </g>`\r\n : nothing}\r\n ${360 - degrees >= minDegrees\r\n ? svg`<path\r\n class=\"track\"\r\n d=\"${inactive.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />`\r\n : nothing}\r\n </svg>\r\n ${this.#renderResizeObservedElements()}${this.#renderContent()}\r\n `;\r\n }\r\n\r\n /** @private */\r\n #renderResizeObservedElements(): unknown {\r\n return html`<div class=\"diameter-and-stroke\" aria-hidden=\"true\"></div>\r\n <div class=\"amplitude-and-wavelength\" aria-hidden=\"true\"></div>`;\r\n }\r\n\r\n /** @private */\r\n #renderContent(): unknown {\r\n return html`<div class=\"content\" aria-hidden=\"true\"><slot></slot></div>`;\r\n }\r\n\r\n /** @private */\r\n #updateDiameterAndStroke(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".diameter-and-stroke\");\r\n if (element) {\r\n this.#diameter = element.clientWidth;\r\n this.#strokeWidth = element.clientHeight;\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateAmplitudeAndWavelength(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (element) {\r\n this.#amplitude = element.clientWidth;\r\n this.#wavelength = element.clientHeight;\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateWavyIndeterminateSpinner(t: number): void {\r\n if (this.#amplitude === 0 || this.#wavelength === 0) return;\r\n\r\n const sweep = this.#computeWavyIndeterminateSweep(t);\r\n this.#spinnerActiveTrack?.setAttribute(\"d\", this.#drawWavyArc({ endAngle: sweep }).path);\r\n this.#spinnerTrack?.setAttribute(\r\n \"d\",\r\n this.#drawArc({\r\n gap: this.#sizeToDegrees(this.#strokeWidth, this.#diameter),\r\n startAngle: sweep,\r\n }).path,\r\n );\r\n }\r\n\r\n /** @private */\r\n #computeWavyIndeterminateSweep(t: number): number {\r\n const sweepPadding = this.#sizeToDegrees(this.#strokeWidth) * 2;\r\n const minSweep = 18 + sweepPadding;\r\n const maxSweep = 280 - sweepPadding;\r\n\r\n const duration = WAVY_INDETERMINATE_DURATION;\r\n const holdMin = duration;\r\n const growTime = duration;\r\n const holdMax = duration;\r\n const shrinkTime = duration;\r\n\r\n const cycle = holdMin + growTime + holdMax + shrinkTime;\r\n const u = t % cycle;\r\n\r\n if (u < holdMin) {\r\n return minSweep;\r\n }\r\n\r\n if (u < holdMin + growTime) {\r\n const p = (u - holdMin) / growTime;\r\n return minSweep + (maxSweep - minSweep) * (p * p * (3 - 2 * p));\r\n }\r\n\r\n if (u < holdMin + growTime + holdMax) {\r\n return maxSweep;\r\n }\r\n\r\n const p = (u - (holdMin + growTime + holdMax)) / shrinkTime;\r\n return maxSweep - (maxSweep - minSweep) * (p * p * (3 - 2 * p));\r\n }\r\n\r\n /** @private */\r\n #sizeToDegrees(size: number, padding = this.#amplitude): number {\r\n return size * (360 / (2 * Math.PI * this.#computeCircle(padding).r));\r\n }\r\n\r\n /** @private */\r\n #degreesToRadians(degrees: number) {\r\n return (degrees - 90) * (Math.PI / 180);\r\n }\r\n\r\n /** @private */\r\n #polarToCartesian(circle: { cx: number; cy: number; r: number }, degrees: number) {\r\n const rad = this.#degreesToRadians(degrees);\r\n return {\r\n x: circle.cx + circle.r * Math.cos(rad),\r\n y: circle.cy + circle.r * Math.sin(rad),\r\n };\r\n }\r\n\r\n /** @private */\r\n #computeCircle(padding: number) {\r\n padding = padding + this.#strokeWidth / 2;\r\n const r = this.#diameter / 2;\r\n const cx = r + padding;\r\n const cy = r + padding;\r\n return { cx, cy, r, padding };\r\n }\r\n\r\n /** @private */\r\n #drawArc({\r\n startAngle = 0,\r\n endAngle = 360,\r\n gap = 0,\r\n padding = this.#amplitude,\r\n }: {\r\n startAngle?: number;\r\n endAngle?: number;\r\n gap?: number;\r\n padding?: number;\r\n }) {\r\n if (this.#diameter === 0 || this.#strokeWidth === 0) return { path: \"\", viewBox: \"0 0 0 0\" };\r\n\r\n const circle = this.#computeCircle(padding);\r\n if (gap > 0) {\r\n startAngle += this.#sizeToDegrees(gap, padding);\r\n endAngle -= this.#sizeToDegrees(gap, padding);\r\n }\r\n if (endAngle - startAngle >= 360) {\r\n endAngle = startAngle + 359.999;\r\n }\r\n const start = this.#polarToCartesian(circle, endAngle);\r\n const end = this.#polarToCartesian(circle, startAngle);\r\n\r\n const path = `M ${start.x} ${start.y} A ${circle.r} ${circle.r} 0 ${endAngle - startAngle <= 180 ? \"0\" : \"1\"} 0 ${end.x} ${end.y}`;\r\n const viewBox = `0 0 ${this.#diameter + circle.padding * 2} ${this.#diameter + circle.padding * 2}`;\r\n return { path, viewBox };\r\n }\r\n\r\n /** @private */\r\n #drawWavyArc({\r\n startAngle = 0,\r\n endAngle = 360,\r\n gap = 0,\r\n padding = this.#amplitude,\r\n amplitude = this.#amplitude,\r\n steps = 200,\r\n }: {\r\n startAngle?: number;\r\n endAngle?: number;\r\n gap?: number;\r\n padding?: number;\r\n amplitude?: number;\r\n steps?: number;\r\n }) {\r\n if (this.#diameter === 0 || this.#strokeWidth === 0) return { path: \"\", viewBox: \"0 0 0 0\" };\r\n\r\n const circle = this.#computeCircle(padding);\r\n\r\n if (gap > 0) {\r\n startAngle += this.#sizeToDegrees(gap, padding);\r\n endAngle -= this.#sizeToDegrees(gap, padding);\r\n }\r\n\r\n const startRad = this.#degreesToRadians(startAngle);\r\n let endRad = this.#degreesToRadians(endAngle);\r\n\r\n if (startAngle === endAngle) {\r\n endRad = startRad;\r\n } else if (endRad < startRad) {\r\n endRad += Math.PI * 2;\r\n }\r\n\r\n const totalAngle = endRad - startRad;\r\n const waveCount = (2 * Math.PI * circle.r) / this.#wavelength;\r\n const phase = (Math.PI / 2) * (waveCount - 1);\r\n\r\n const points: [number, number][] = [];\r\n\r\n for (let i = 0; i <= steps; i++) {\r\n const t = steps === 0 ? 0 : i / steps;\r\n const angle = startRad + t * totalAngle;\r\n const wave = Math.sin(angle * waveCount + phase);\r\n const radius = circle.r - amplitude * wave;\r\n const x = radius * Math.cos(angle) + circle.cx;\r\n const y = radius * Math.sin(angle) + circle.cy;\r\n points.push([x, y]);\r\n }\r\n\r\n const path =\r\n points.length === 1\r\n ? `M ${points[0][0]},${points[0][1]}`\r\n : `M ${points[0][0]},${points[0][1]} ` +\r\n points\r\n .slice(1)\r\n .map(([x, y]) => `L ${x},${y}`)\r\n .join(\" \");\r\n\r\n const viewBox = `0 0 ${this.#diameter + circle.padding * 2} ${this.#diameter + circle.padding * 2}`;\r\n return { path, viewBox };\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-circular-progress-indicator\": M3eCircularProgressIndicatorElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, nothing, PropertyValues, svg } from \"lit\";\r\nimport { customElement, property } from \"lit/decorators.js\";\r\n\r\nimport { DesignToken, ResizeController, resolveFragmentUrl, safeStyleMap } from \"@m3e/web/core\";\r\n\r\nimport { LinearProgressMode } from \"./LinearProgressMode\";\r\nimport { ProgressElementIndicatorBase } from \"./ProgressElementIndicatorBase\";\r\n\r\n/**\r\n * A horizontal bar for indicating progress and activity.\r\n *\r\n * @description\r\n * The `m3e-linear-progress-indicator` component displays a horizontal progress bar for tracking\r\n * the completion of a task or process. It supports `determinate`, `indeterminate`, `buffer`,\r\n * and `query` modes, and can be customized with CSS custom properties for thickness, shape, and color.\r\n * The component is accessible, animates smoothly, and adapts to various use cases including loading,\r\n * buffering, and activity indication.\r\n *\r\n * @example\r\n * The following example illustrates a determinate linear progress indicator.\r\n * ```html\r\n * <m3e-linear-progress-indicator value=\"30\"></m3e-linear-progress-indicator>\r\n * ```\r\n * @example\r\n * The next example illustrates an indeterminate linear progress indicator using the `mode` attribute.\r\n * ```html\r\n * <m3e-linear-progress-indicator mode=\"indeterminate\"></m3e-linear-progress-indicator>\r\n * ```\r\n *\r\n * @tag m3e-linear-progress-indicator\r\n *\r\n * @attr buffer-value - A fractional value, between 0 and `max`, indicating buffer progress.\r\n * @attr max - The maximum progress value.\r\n * @attr mode - The mode of the progress bar.\r\n * @attr value - A fractional value, between 0 and `max`, indicating progress.\r\n * @attr variant - The appearance of the indicator.\r\n *\r\n * @cssprop --m3e-linear-progress-indicator-thickness - Thickness (height) of the progress bar.\r\n * @cssprop --m3e-linear-progress-indicator-shape - Border radius of the progress bar.\r\n * @cssprop --m3e-progress-indicator-track-color - Track color of the progress bar (background/buffer).\r\n * @cssprop --m3e-progress-indicator-color - Color of the progress indicator (foreground).\r\n * @cssprop --m3e-linear-wavy-progress-indicator-amplitude - Amplitude of the `wavy` variant.\r\n * @cssprop --m3e-linear-wavy-progress-indicator-wavelength - Wavelength of the `wavy` variant.\r\n * @cssprop --m3e-linear-wavy-indeterminate-progress-indicator-wavelength - Wavelength of the indeterminate/query `wavy` variant.\r\n */\r\n@customElement(\"m3e-linear-progress-indicator\")\r\nexport class M3eLinearProgressIndicatorElement extends ProgressElementIndicatorBase {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n ProgressElementIndicatorBase.styles,\r\n css`\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n .progress {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n align-items: center;\r\n border-radius: var(--m3e-linear-progress-indicator-shape, ${DesignToken.shape.corner.extraSmall});\r\n }\r\n .stroke,\r\n .amplitude-and-wavelength {\r\n visibility: hidden;\r\n position: absolute;\r\n }\r\n .stroke {\r\n width: 100%;\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n }\r\n .amplitude-and-wavelength {\r\n height: var(--m3e-linear-wavy-progress-indicator-amplitude, 0.1875rem);\r\n width: var(--m3e-linear-wavy-progress-indicator-wavelength, 2.5rem);\r\n }\r\n :host([mode=\"indeterminate\"]) .amplitude-and-wavelength,\r\n :host([mode=\"query\"]) .amplitude-and-wavelength {\r\n width: var(--m3e-linear-wavy-indeterminate-progress-indicator-wavelength, 1.5rem);\r\n }\r\n .primary,\r\n .secondary,\r\n .stop {\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n border-radius: inherit;\r\n }\r\n .stop {\r\n aspect-ratio: 1;\r\n flex: none;\r\n }\r\n :host([variant=\"flat\"]) {\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n }\r\n :host([variant=\"wavy\"]) {\r\n height: calc(\r\n var(--m3e-linear-progress-indicator-thickness, 0.25rem) +\r\n calc(var(--m3e-linear-wavy-progress-indicator-amplitude, 0.1875rem) * 2)\r\n );\r\n }\r\n :host([variant=\"wavy\"]) .primary,\r\n :host([variant=\"wavy\"]) .secondary {\r\n position: relative;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n :host([variant=\"wavy\"]) .complete {\r\n position: absolute;\r\n margin: auto;\r\n top: calc(50% - calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2));\r\n left: 0;\r\n right: 0;\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n border-radius: inherit;\r\n }\r\n :host([variant=\"wavy\"]) .secondary {\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n }\r\n .wave {\r\n position: absolute;\r\n display: block;\r\n }\r\n .primary .wave,\r\n .secondary .wave {\r\n margin-inline-start: calc(0px - var(--m3e-linear-wavy-progress-indicator-wavelength, 2.5rem));\r\n }\r\n :host([variant=\"wavy\"][mode=\"determinate\"]) .primary path,\r\n :host([variant=\"wavy\"][mode=\"buffer\"]) .primary path {\r\n animation: wave-slide 1.5s linear infinite;\r\n }\r\n @keyframes wave-slide {\r\n from {\r\n transform: translateX(0);\r\n }\r\n to {\r\n transform: translateX(calc(0px - var(--m3e-linear-wavy-progress-indicator-wavelength, 2.5rem)));\r\n }\r\n }\r\n :host([mode=\"determinate\"]) .progress,\r\n :host([mode=\"buffer\"]) .progress {\r\n display: flex;\r\n overflow: hidden;\r\n }\r\n :host([mode=\"determinate\"]) .primary,\r\n :host([mode=\"buffer\"]) .primary {\r\n width: var(--_value, 0px);\r\n flex: none;\r\n }\r\n :host([mode=\"determinate\"]) .gap,\r\n :host([mode=\"buffer\"]) .gap {\r\n flex-basis: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n flex-shrink: 1;\r\n }\r\n :host([mode=\"determinate\"]) .secondary,\r\n :host([mode=\"buffer\"]) .buffer {\r\n flex: 1 1 auto;\r\n }\r\n :host([mode=\"buffer\"]) .buffer {\r\n flex-shrink: 5;\r\n height: 100%;\r\n width: 100%;\r\n background-color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n mask-image: radial-gradient(\r\n circle,\r\n black 0,\r\n black calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2),\r\n transparent calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2)\r\n );\r\n mask-size: calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) * 2) 100%;\r\n mask-repeat: repeat;\r\n animation: buffer 250ms linear infinite;\r\n }\r\n :host(:dir(rtl)[mode=\"buffer\"]) .buffer {\r\n transform: scaleX(-1);\r\n }\r\n @keyframes buffer {\r\n from {\r\n mask-position: 0 0;\r\n }\r\n to {\r\n mask-position: calc(-1 * calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) * 2)) 0;\r\n }\r\n }\r\n :host([mode=\"buffer\"]) .secondary {\r\n width: var(--_buffer-value, 0px);\r\n flex: none;\r\n }\r\n :host([mode=\"indeterminate\"]) .primary,\r\n :host([mode=\"query\"]) .primary {\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n border-radius: inherit;\r\n animation: indeterminate-primary 2.1s infinite linear;\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .primary,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .primary {\r\n animation-name: wavy-indeterminate-primary;\r\n }\r\n :host([mode=\"indeterminate\"]) .secondary,\r\n :host([mode=\"query\"]) .secondary {\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n border-radius: inherit;\r\n animation: indeterminate-secondary 2.1s infinite linear;\r\n animation-delay: 1.15s;\r\n animation-fill-mode: backwards;\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .secondary,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .secondary {\r\n animation-name: wavy-indeterminate-secondary;\r\n }\r\n :host([mode=\"indeterminate\"]) .progress,\r\n :host([mode=\"query\"]) .progress {\r\n overflow: hidden;\r\n position: relative;\r\n }\r\n :host(:not(:dir(rtl))[mode=\"query\"]) .progress,\r\n :host(:dir(rtl)[mode=\"indeterminate\"]) .progress {\r\n transform: scaleX(-1);\r\n }\r\n :host([variant=\"flat\"]) .primary,\r\n :host([variant=\"flat\"][mode=\"indeterminate\"]) .secondary,\r\n :host([variant=\"flat\"][mode=\"query\"]) .secondary,\r\n :host([variant=\"wavy\"]) .complete,\r\n .stop {\r\n background-color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary});\r\n }\r\n :host([variant=\"wavy\"]) .progress {\r\n color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary});\r\n }\r\n :host([mode=\"determinate\"]) .secondary,\r\n :host([mode=\"buffer\"]) .secondary,\r\n :host([variant=\"flat\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"flat\"][mode=\"query\"]) .track {\r\n background-color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .track {\r\n color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .track {\r\n y: calc(50% - calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2));\r\n border-radius: inherit;\r\n }\r\n :host([variant=\"flat\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"flat\"][mode=\"query\"]) .track {\r\n position: absolute;\r\n margin: auto;\r\n top: calc(50% - calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2));\r\n left: 0;\r\n right: 0;\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n border-radius: inherit;\r\n }\r\n @keyframes indeterminate-primary {\r\n 0% {\r\n left: -145.167%;\r\n width: 8%;\r\n }\r\n 20% {\r\n left: -113.333%;\r\n width: 48%;\r\n }\r\n 60% {\r\n left: 56.333%;\r\n width: 78%;\r\n }\r\n 100% {\r\n left: 100%;\r\n width: 8%;\r\n }\r\n }\r\n @keyframes indeterminate-secondary {\r\n 0% {\r\n left: -54.888%;\r\n width: 8%;\r\n }\r\n 20% {\r\n left: -20%;\r\n width: 48%;\r\n }\r\n 60% {\r\n left: 60%;\r\n width: 78%;\r\n }\r\n 100% {\r\n left: 160%;\r\n width: 8%;\r\n }\r\n }\r\n @keyframes wavy-indeterminate-primary {\r\n 0% {\r\n transform: translateX(-145.167%);\r\n width: 8%;\r\n }\r\n 20% {\r\n transform: translateX(-113.333%);\r\n width: 48%;\r\n }\r\n 60% {\r\n transform: translateX(56.333%);\r\n width: 78%;\r\n }\r\n 100% {\r\n transform: translateX(100%);\r\n width: 8%;\r\n }\r\n }\r\n @keyframes wavy-indeterminate-secondary {\r\n 0% {\r\n transform: translateX(-54.888%);\r\n width: 8%;\r\n }\r\n 20% {\r\n transform: translateX(-20%);\r\n width: 48%;\r\n }\r\n 60% {\r\n transform: translateX(60%);\r\n width: 78%;\r\n }\r\n 100% {\r\n transform: translateX(160%);\r\n width: 8%;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .progress {\r\n --m3e-progress-indicator-track-color: GrayText;\r\n --m3e-progress-indicator-color: CanvasText;\r\n }\r\n }\r\n `,\r\n ];\r\n\r\n /** @private */ private static __nextMaskId = 0;\r\n /** @private */ #maskId = `m3e-linear-progress-mask-${M3eLinearProgressIndicatorElement.__nextMaskId++}`;\r\n\r\n /** @private */ #strokeWidth = 0;\r\n /** @private */ #amplitude = 0;\r\n /** @private */ #wavelength = 0;\r\n\r\n /** @private */ readonly #resizeController = new ResizeController(this, {\r\n skipInitial: true,\r\n target: null,\r\n callback: () => {\r\n this.#updateStroke();\r\n this.#updateAmplitudeAndWavelength();\r\n },\r\n });\r\n\r\n /**\r\n * The mode of the progress bar.\r\n * @default \"determinate\"\r\n */\r\n @property({ reflect: true }) mode: LinearProgressMode = \"determinate\";\r\n\r\n /**\r\n * A fractional value, between 0 and `max`, indicating buffer progress.\r\n * @default 0\r\n */\r\n @property({ attribute: \"buffer-value\", type: Number, reflect: true }) bufferValue = 0;\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n this.#updateStroke();\r\n this.#updateAmplitudeAndWavelength();\r\n\r\n const stroke = this.shadowRoot?.querySelector<HTMLElement>(\".stroke\");\r\n if (stroke) {\r\n this.#resizeController.observe(stroke);\r\n }\r\n\r\n const amplitudeAndWavelength = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (amplitudeAndWavelength) {\r\n this.#resizeController.observe(amplitudeAndWavelength);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"mode\")) {\r\n this.ariaValueNow = this.mode === \"indeterminate\" || this.mode === \"query\" ? null : `${this.value}`;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"value\") || _changedProperties.has(\"bufferValue\") || _changedProperties.has(\"max\")) {\r\n const progress = this.shadowRoot?.querySelector<HTMLElement>(\".progress\");\r\n progress?.style.setProperty(\"--_value\", `${(this.value / this.max) * 100}%`);\r\n progress?.style.setProperty(\"--_buffer-value\", `${(this.bufferValue / this.max) * 100}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n const clampedValue = Math.max(0, Math.min(this.value, this.max));\r\n const activeWidth = (clampedValue / this.max) * this.clientWidth;\r\n const waveWidth =\r\n this.mode === \"indeterminate\" || this.mode === \"query\" ? this.clientWidth : activeWidth + this.#wavelength * 3;\r\n\r\n const wave =\r\n this.variant === \"wavy\" && this.#strokeWidth > 0 && this.#amplitude > 0 && this.#wavelength > 0\r\n ? this.#drawWavyPath(waveWidth)\r\n : undefined;\r\n\r\n return html`<div\r\n class=\"progress\"\r\n aria-hidden=\"true\"\r\n style=\"${safeStyleMap({\r\n \"--_translate-x\": `-${activeWidth}px`,\r\n })}\"\r\n >\r\n ${!wave ? html`<div class=\"track\"></div>` : nothing}\r\n ${(this.mode === \"determinate\" || this.mode === \"buffer\") && this.value <= 0\r\n ? nothing\r\n : html`<div class=\"primary\">\r\n ${wave && (this.mode === \"determinate\" || this.mode === \"buffer\")\r\n ? this.#renderWave(waveWidth, wave.height, wave.viewBox, wave.path)\r\n : nothing}\r\n </div>\r\n ${this.mode === \"determinate\" || this.mode === \"buffer\" ? html`<div class=\"gap\"></div>` : nothing}`}\r\n ${this.mode !== \"buffer\" || this.bufferValue > 0 ? html`<div class=\"secondary\"></div>` : nothing}\r\n ${this.mode === \"buffer\" && this.bufferValue > 0 ? html`<div class=\"gap\"></div>` : nothing}\r\n ${this.mode === \"buffer\" ? html`<div class=\"buffer\"></div>` : nothing}\r\n ${(this.mode === \"determinate\" || this.mode === \"buffer\") && this.value > 0\r\n ? html`<div class=\"gap\"></div>\r\n <div class=\"stop\"></div>`\r\n : nothing}\r\n ${wave && !(this.mode === \"determinate\" || this.mode === \"buffer\")\r\n ? this.#renderWave(waveWidth, wave.height, wave.viewBox, wave.path)\r\n : nothing}\r\n </div>\r\n ${this.#renderResizeObservedElements()}`;\r\n }\r\n\r\n /** @private */\r\n #renderWave(width: number, height: number, viewBox: string, path: string): unknown {\r\n const masked = this.mode === \"indeterminate\" || this.mode === \"query\";\r\n if (!masked && this.value / this.max === 1) {\r\n return html`<div class=\"complete\"></div>`;\r\n }\r\n return html`<svg class=\"wave\" width=\"${width}\" height=\"${height}\" viewBox=\"${viewBox}\" preserveAspectRatio=\"none\">\r\n ${masked\r\n ? svg`\r\n <mask id=\"${this.#maskId}\" maskUnits=\"userSpaceOnUse\">\r\n <rect width=\"${width}\" height=\"${height}\" fill=\"black\" />\r\n <rect class=\"primary\" height=\"${height}\" fill=\"white\" />\r\n <rect class=\"secondary\" height=\"${height}\" fill=\"white\" />\r\n </mask>\r\n <mask id=\"${`${this.#maskId}-inverse`}\" maskUnits=\"userSpaceOnUse\">\r\n <rect width=\"${width}\" height=\"${height}\" fill=\"white\" />\r\n <rect class=\"primary\" height=\"${height}\" fill=\"black\" />\r\n <rect class=\"secondary\" height=\"${height}\" fill=\"black\" />\r\n </mask>\r\n <g mask=\"${resolveFragmentUrl(this.#maskId)}\">\r\n <path d=\"${path}\" stroke=\"currentColor\" stroke-width=${this.#strokeWidth} fill=\"none\" stroke-linecap=\"round\" />\r\n </g>\r\n <g mask=\"${resolveFragmentUrl(`${this.#maskId}-inverse`)}\">\r\n <rect class=\"track\" width=\"100%\" height=\"${this.#strokeWidth}\" fill=\"currentColor\" />\r\n </g>`\r\n : svg`<path d=\"${path}\" stroke=\"currentColor\" stroke-width=${this.#strokeWidth} fill=\"none\" stroke-linecap=\"round\" />`}\r\n </svg>`;\r\n }\r\n\r\n /** @private */\r\n #renderResizeObservedElements(): unknown {\r\n return html`<div class=\"stroke\" aria-hidden=\"true\"></div>\r\n <div class=\"amplitude-and-wavelength\" aria-hidden=\"true\"></div>`;\r\n }\r\n\r\n /** @private */\r\n #updateStroke(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".stroke\");\r\n if (element) {\r\n this.#strokeWidth = element.clientHeight;\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateAmplitudeAndWavelength(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (element) {\r\n this.#amplitude = element.clientHeight;\r\n this.#wavelength = element.clientWidth;\r\n }\r\n }\r\n\r\n /** @private */\r\n #drawWavyPath(width: number, phase: number = 0) {\r\n const amplitude = this.#amplitude + this.#strokeWidth / 2;\r\n const y = amplitude;\r\n\r\n const path: string[] = [];\r\n const step = this.#wavelength / 2;\r\n let x = 0;\r\n\r\n path.push(`M ${x},${y}`);\r\n\r\n while (x <= width) {\r\n const endX = x + step;\r\n const endY = y + amplitude * Math.sin((2 * Math.PI * endX) / this.#wavelength + phase);\r\n const cpX = x + step / 2;\r\n const cpY = y + amplitude * Math.sin((2 * Math.PI * (x + step / 2)) / this.#wavelength + phase);\r\n\r\n path.push(`Q ${cpX},${cpY} ${endX},${endY}`);\r\n x += step;\r\n }\r\n\r\n const padding = 1;\r\n const viewBox = `0 ${-padding} ${width} ${amplitude * 2 + padding * 2}`;\r\n\r\n return { path: path.join(\" \"), viewBox, height: this.#strokeWidth + this.#amplitude * 2, padding };\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-linear-progress-indicator\": M3eLinearProgressIndicatorElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","error","suppressed","message","e","Error","name","ProgressElementIndicatorBase","AttachInternals","Role","LitElement","constructor","max","variant","connectedCallback","ariaValueMin","update","changedProperties","ariaValueNow","ariaValueMax","styles","css","property","type","Number","reflect","prototype","WAVY_INDETERMINATE_DURATION","M3eCircularProgressIndicatorElement","M3eCircularProgressIndicatorElement_1","_M3eCircularProgressIndicatorElement_maskId","__nextMaskId","_M3eCircularProgressIndicatorElement_diameter","_M3eCircularProgressIndicatorElement_strokeWidth","_M3eCircularProgressIndicatorElement_amplitude","_M3eCircularProgressIndicatorElement_wavelength","_M3eCircularProgressIndicatorElement_spinnerActiveTrack","_M3eCircularProgressIndicatorElement_spinnerTrack","_M3eCircularProgressIndicatorElement_resizeController","ResizeController","skipInitial","callback","_M3eCircularProgressIndicatorElement_instances","_M3eCircularProgressIndicatorElement_updateDiameterAndStroke","_M3eCircularProgressIndicatorElement_updateAmplitudeAndWavelength","_M3eCircularProgressIndicatorElement_indeterminateWavyAnimationLoop","AnimationLoopController","_","t","_M3eCircularProgressIndicatorElement_updateWavyIndeterminateSpinner","indeterminate","firstUpdated","_changedProperties","diameterAndStroke","shadowRoot","querySelector","observe","amplitudeAndWavelength","updated","start","stop","render","_M3eCircularProgressIndicatorElement_renderWavyIndicator","_M3eCircularProgressIndicatorElement_renderFlatIndicator","left","startAngle","endAngle","right","html","viewBox","path","_M3eCircularProgressIndicatorElement_renderResizeObservedElements","minDegrees","_M3eCircularProgressIndicatorElement_sizeToDegrees","degrees","Math","active","_M3eCircularProgressIndicatorElement_drawArc","gap","inactive","svg","nothing","_M3eCircularProgressIndicatorElement_renderContent","_M3eCircularProgressIndicatorElement_drawWavyArc","amplitude","activeArc","padding","ifDefined","resolveFragmentUrl","undefined","classMap","wave","element","clientWidth","clientHeight","sweep","_M3eCircularProgressIndicatorElement_computeWavyIndeterminateSweep","setAttribute","sweepPadding","minSweep","maxSweep","duration","holdMin","growTime","holdMax","shrinkTime","cycle","u","p","size","PI","_M3eCircularProgressIndicatorElement_computeCircle","_M3eCircularProgressIndicatorElement_polarToCartesian","circle","rad","_M3eCircularProgressIndicatorElement_degreesToRadians","x","cx","cos","y","cy","sin","end","steps","startRad","endRad","totalAngle","waveCount","phase","points","angle","radius","push","slice","map","join","DesignToken","color","secondaryContainer","primary","Boolean","customElement","M3eLinearProgressIndicatorElement","M3eLinearProgressIndicatorElement_1","_M3eLinearProgressIndicatorElement_maskId","_M3eLinearProgressIndicatorElement_strokeWidth","_M3eLinearProgressIndicatorElement_amplitude","_M3eLinearProgressIndicatorElement_wavelength","_M3eLinearProgressIndicatorElement_resizeController","_M3eLinearProgressIndicatorElement_instances","_M3eLinearProgressIndicatorElement_updateStroke","_M3eLinearProgressIndicatorElement_updateAmplitudeAndWavelength","mode","bufferValue","stroke","progress","style","setProperty","clampedValue","min","activeWidth","waveWidth","_M3eLinearProgressIndicatorElement_drawWavyPath","safeStyleMap","_M3eLinearProgressIndicatorElement_renderWave","height","_M3eLinearProgressIndicatorElement_renderResizeObservedElements","width","masked","step","endX","endY","cpX","cpY","shape","corner","extraSmall","attribute"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"progress-indicator.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/progress-indicator/ProgressElementIndicatorBase.ts","../../src/progress-indicator/CircularProgressIndicatorElement.ts","../../src/progress-indicator/LinearProgressIndicatorElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { css, CSSResultGroup, LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { AttachInternals, Role } from \"@m3e/web/core\";\r\n\r\nimport { ProgressIndicatorVariant } from \"./ProgressIndicatorVariant\";\r\n\r\n/** A base implementation for an element used to convey progress. This class must be inherited. */\r\nexport abstract class ProgressElementIndicatorBase extends AttachInternals(Role(LitElement, \"progressbar\"), true) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n @media (forced-colors: active) {\r\n :host {\r\n --m3e-progress-indicator-color: CanvasText;\r\n --m3e-progress-indicator-track-color: Canvas;\r\n }\r\n }\r\n `;\r\n\r\n /**\r\n * A fractional value, between 0 and `max`, indicating progress.\r\n * @default 0\r\n */\r\n @property({ type: Number, reflect: true }) value = 0;\r\n\r\n /**\r\n * The maximum progress value.\r\n * @default 100\r\n */\r\n @property({ type: Number }) max = 100;\r\n\r\n /**\r\n * The appearance of the indicator.\r\n * @default \"flat\"\r\n */\r\n @property({ reflect: true }) variant: ProgressIndicatorVariant = \"flat\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n this.ariaValueMin = \"0\";\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"value\")) {\r\n this.ariaValueNow = `${this.value}`;\r\n }\r\n if (changedProperties.has(\"max\")) {\r\n this.ariaValueMax = `${this.max}`;\r\n }\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, nothing, PropertyValues, svg } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\nimport { classMap } from \"lit/directives/class-map.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n AnimationLoopController,\r\n customElement,\r\n DesignToken,\r\n ResizeController,\r\n resolveFragmentUrl,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { ProgressElementIndicatorBase } from \"./ProgressElementIndicatorBase\";\r\n\r\nconst WAVY_INDETERMINATE_DURATION = 1.575;\r\n\r\n/**\r\n * A circular indicator of progress and activity.\r\n *\r\n * @description\r\n * The `m3e-circular-progress-indicator` component displays a circular progress spinner for\r\n * tracking the completion of a task or process. It supports determinate and indeterminate\r\n * modes, and can be customized with CSS custom properties for diameter, stroke width, and\r\n * color. The component is accessible, animates smoothly, and adapts to various use cases including\r\n * loading and activity indication.\r\n *\r\n * @example\r\n * The following example illustrates a determinate circular progress indicator.\r\n * ```html\r\n * <m3e-circular-progress-indicator value=\"30\"></m3e-circular-progress-indicator>\r\n * ```\r\n * @example\r\n * The next example illustrates an indeterminate circular progress indicator using the `indeterminate` attribute.\r\n * ```html\r\n * <m3e-circular-progress-indicator indeterminate></m3e-circular-progress-indicator>\r\n * ```\r\n *\r\n * @tag m3e-circular-progress-indicator\r\n *\r\n * @slot - Renders the content inside the progress indicator.\r\n *\r\n * @attr indeterminate - Whether to show something is happening without conveying progress.\r\n * @attr max - The maximum progress value.\r\n * @attr value - A fractional value, between 0 and `max`, indicating progress.\r\n * @attr variant - The appearance of the indicator.\r\n *\r\n * @cssprop --m3e-circular-flat-progress-indicator-diameter - Diameter of the `flat` variant.\r\n * @cssprop --m3e-circular-wavy-progress-indicator-diameter - Diameter of the `wavy` variant.\r\n * @cssprop --m3e-circular-wavy-progress-indicator-amplitude - Amplitude of the `wavy` variant.\r\n * @cssprop --m3e-circular-wavy-progress-indicator-wavelength - Wavelength of the `wavy` variant.\r\n * @cssprop --m3e-circular-progress-indicator-thickness - Thickness of the progress indicator.\r\n * @cssprop --m3e-progress-indicator-track-color - Track color of the progress indicator (background).\r\n * @cssprop --m3e-progress-indicator-color - Color of the progress indicator (foreground).\r\n */\r\n@customElement(\"m3e-circular-progress-indicator\")\r\nexport class M3eCircularProgressIndicatorElement extends ProgressElementIndicatorBase {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n ProgressElementIndicatorBase.styles,\r\n css`\r\n :host {\r\n display: inline-flex;\r\n vertical-align: middle;\r\n aspect-ratio: 1;\r\n position: relative;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .progress {\r\n --_arc-duration: 1333ms;\r\n --_cycle-duration: calc(4 * var(--_arc-duration));\r\n --_linear-rotate-duration: calc(var(--_arc-duration) * 360 / 306);\r\n --_indeterminate-easing: cubic-bezier(0.4, 0, 0.2, 1);\r\n }\r\n .active-track {\r\n transition: stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);\r\n }\r\n :host([variant=\"flat\"]) .progress {\r\n flex: 1;\r\n align-self: stretch;\r\n pointer-events: none;\r\n }\r\n .progress,\r\n .spinner,\r\n .left,\r\n .right,\r\n .content,\r\n .circle {\r\n position: absolute;\r\n inset: 0;\r\n }\r\n .content {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .diameter-and-stroke,\r\n .amplitude-and-wavelength {\r\n visibility: hidden;\r\n position: absolute;\r\n }\r\n .diameter-and-stroke {\r\n width: inherit;\r\n height: var(--m3e-circular-progress-indicator-thickness, 0.25rem);\r\n }\r\n .amplitude-and-wavelength {\r\n width: var(--m3e-circular-wavy-progress-indicator-amplitude, 0.1rem);\r\n height: var(--m3e-circular-wavy-progress-indicator-wavelength, 0.9375rem);\r\n }\r\n :host([variant=\"flat\"]) {\r\n width: var(--m3e-circular-flat-progress-indicator-diameter, 2.5rem);\r\n }\r\n :host([variant=\"wavy\"]) {\r\n width: var(--m3e-circular-wavy-progress-indicator-diameter, 3rem);\r\n }\r\n :host([variant=\"flat\"][indeterminate]) .progress {\r\n animation: linear infinite linear-rotate;\r\n animation-duration: var(--_linear-rotate-duration);\r\n }\r\n :host([variant=\"flat\"][indeterminate]) .spinner {\r\n animation: infinite both rotate-arc;\r\n animation-duration: var(--_cycle-duration);\r\n animation-timing-function: var(--_indeterminate-easing);\r\n }\r\n :host([variant=\"wavy\"][indeterminate]) .spinner {\r\n transform-origin: 50% 50%;\r\n animation: wavy-spin ${WAVY_INDETERMINATE_DURATION}s linear infinite;\r\n }\r\n .left {\r\n clip-path: inset(0);\r\n inset: 0 50% 0 0;\r\n }\r\n .right {\r\n clip-path: inset(0);\r\n inset: 0 0 0 50%;\r\n }\r\n .circle {\r\n animation: expand-arc;\r\n animation-iteration-count: infinite;\r\n animation-fill-mode: both;\r\n animation-duration: var(--_arc-duration), var(--_cycle-duration);\r\n animation-timing-function: var(--_indeterminate-easing);\r\n }\r\n .left .circle {\r\n rotate: 135deg;\r\n inset: 0 -100% 0 0;\r\n }\r\n .right .circle {\r\n rotate: 100deg;\r\n inset: 0 0 0 -100%;\r\n animation-delay: calc(-0.5 * var(--_arc-duration)), 0ms;\r\n }\r\n .track {\r\n color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n .active-track {\r\n color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary});\r\n }\r\n .wave {\r\n animation: spin-reverse 8s linear infinite;\r\n transform-origin: 50% 50%;\r\n }\r\n @keyframes expand-arc {\r\n 0% {\r\n transform: rotate(265deg);\r\n }\r\n 50% {\r\n transform: rotate(130deg);\r\n }\r\n 100% {\r\n transform: rotate(265deg);\r\n }\r\n }\r\n @keyframes rotate-arc {\r\n 12.5% {\r\n transform: rotate(135deg);\r\n }\r\n 25% {\r\n transform: rotate(270deg);\r\n }\r\n 37.5% {\r\n transform: rotate(405deg);\r\n }\r\n 50% {\r\n transform: rotate(540deg);\r\n }\r\n 62.5% {\r\n transform: rotate(675deg);\r\n }\r\n 75% {\r\n transform: rotate(810deg);\r\n }\r\n 87.5% {\r\n transform: rotate(945deg);\r\n }\r\n 100% {\r\n transform: rotate(1080deg);\r\n }\r\n }\r\n @keyframes linear-rotate {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n @keyframes spin-reverse {\r\n from {\r\n transform: rotate(360deg);\r\n }\r\n to {\r\n transform: rotate(0deg);\r\n }\r\n }\r\n @keyframes spin {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n @keyframes wavy-spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 10% {\r\n transform: rotate(90deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host([variant=\"flat\"]) circle {\r\n fill: Canvas;\r\n }\r\n :host([variant=\"flat\"]) .circle {\r\n border-color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary})\r\n var(--m3e-progress-indicator-color, ${DesignToken.color.primary}) Canvas Canvas;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .progress {\r\n --m3e-progress-indicator-track-color: GrayText;\r\n --m3e-progress-indicator-color: CanvasText;\r\n }\r\n }\r\n `,\r\n ];\r\n\r\n /** @private */ private static __nextMaskId = 0;\r\n /** @private */ #maskId = `m3e-circular-progress-mask-${M3eCircularProgressIndicatorElement.__nextMaskId++}`;\r\n\r\n /** @private */ #diameter = 0;\r\n /** @private */ #strokeWidth = 0;\r\n /** @private */ #amplitude = 0;\r\n /** @private */ #wavelength = 0;\r\n\r\n /** @private */ #spinnerActiveTrack?: SVGPathElement | null;\r\n /** @private */ #spinnerTrack?: SVGPathElement | null;\r\n\r\n /** @private */ readonly #resizeController = new ResizeController(this, {\r\n skipInitial: true,\r\n target: null,\r\n callback: () => {\r\n this.#updateDiameterAndStroke();\r\n this.#updateAmplitudeAndWavelength();\r\n },\r\n });\r\n\r\n /** @private */ readonly #indeterminateWavyAnimationLoop = new AnimationLoopController(this, (_, t) =>\r\n this.#updateWavyIndeterminateSpinner(t),\r\n );\r\n\r\n /**\r\n * Whether to show something is happening without conveying progress.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) indeterminate = false;\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"indeterminate\")) {\r\n this.ariaValueNow = this.indeterminate ? null : `${this.value}`;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n const diameterAndStroke = this.shadowRoot?.querySelector<HTMLElement>(\".diameter-and-stroke\");\r\n if (diameterAndStroke) {\r\n this.#updateDiameterAndStroke();\r\n this.#resizeController.observe(diameterAndStroke);\r\n }\r\n\r\n const amplitudeAndWavelength = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (amplitudeAndWavelength) {\r\n this.#updateDiameterAndStroke();\r\n this.#resizeController.observe(amplitudeAndWavelength);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"indeterminate\")) {\r\n this.#spinnerActiveTrack = this.shadowRoot?.querySelector<SVGPathElement>(\".spinner.active-track\");\r\n this.#spinnerTrack = this.shadowRoot?.querySelector<SVGPathElement>(\".spinner.track\");\r\n\r\n if (this.indeterminate) {\r\n this.#indeterminateWavyAnimationLoop.start();\r\n } else {\r\n this.#indeterminateWavyAnimationLoop.stop();\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return this.variant === \"wavy\" ? this.#renderWavyIndicator() : this.#renderFlatIndicator();\r\n }\r\n\r\n /** @private */\r\n #renderFlatIndicator(): unknown {\r\n if (this.indeterminate) {\r\n const left = this.#drawArc({ startAngle: -45, endAngle: 90 + this.#strokeWidth });\r\n const right = this.#drawArc({ startAngle: -this.#strokeWidth, endAngle: 135 });\r\n\r\n return html`<div class=\"progress\" aria-hidden=\"true\">\r\n <div class=\"spinner\">\r\n <div class=\"left\">\r\n <svg width=\"${this.#diameter}\" height=\"${this.#diameter}\" viewBox=\"${left.viewBox}\" class=\"circle\">\r\n <path\r\n class=\"active-track\"\r\n d=\"${left.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <svg width=\"${this.#diameter}\" height=\"${this.#diameter}\" viewBox=\"${right.viewBox}\" class=\"circle\">\r\n <path\r\n class=\"active-track\"\r\n d=\"${right.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n ${this.#renderResizeObservedElements()}`;\r\n }\r\n\r\n const minDegrees = this.#sizeToDegrees(this.#strokeWidth * 2, this.#diameter);\r\n let degrees = (this.value / this.max) * 360;\r\n if (degrees > 0) {\r\n degrees = Math.max(0, minDegrees, degrees);\r\n }\r\n\r\n const active = this.#drawArc({ gap: degrees < 360 ? this.#strokeWidth : 0, endAngle: degrees });\r\n const inactive = this.#drawArc({ gap: degrees > 0 ? this.#strokeWidth : 0, startAngle: degrees, endAngle: 360 });\r\n\r\n return html`<div class=\"progress\" aria-hidden=\"true\">\r\n <svg width=\"${this.#diameter}\" height=\"${this.#diameter}\" viewBox=\"${active.viewBox}\">\r\n ${degrees > 0\r\n ? svg`<path\r\n class=\"active-track\"\r\n d=\"${active.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />`\r\n : nothing}\r\n ${360 - degrees >= minDegrees\r\n ? svg`<path\r\n class=\"track\"\r\n d=\"${inactive.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />`\r\n : nothing}\r\n </svg>\r\n </div>\r\n ${this.#renderResizeObservedElements()}${this.#renderContent()}`;\r\n }\r\n\r\n /** @private */\r\n #renderWavyIndicator(): unknown {\r\n if (this.indeterminate) {\r\n return html`<div class=\"progress\" aria-hidden=\"true\">\r\n <svg\r\n width=\"${this.#diameter}\"\r\n height=\"${this.#diameter}\"\r\n viewBox=\"${this.#drawWavyArc({ endAngle: 20 }).viewBox}\"\r\n >\r\n <path\r\n class=\"spinner active-track\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"spinner track\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n ${this.#renderResizeObservedElements()}`;\r\n }\r\n\r\n const minDegrees = this.#sizeToDegrees(this.#strokeWidth * 2, this.#diameter);\r\n let degrees = (this.value / this.max) * 360;\r\n if (degrees > 0) {\r\n degrees = Math.max(0, minDegrees, degrees);\r\n }\r\n\r\n const amplitude = degrees <= minDegrees + minDegrees / 2 || degrees == 360 ? 0 : this.#amplitude;\r\n const activeArc = this.#drawArc({ gap: degrees < 360 ? this.#strokeWidth : 0, endAngle: degrees });\r\n const active = amplitude == 0 ? activeArc : this.#drawWavyArc({ endAngle: 360, amplitude });\r\n const inactive = this.#drawArc({ gap: degrees > 0 ? this.#strokeWidth : 0, startAngle: degrees, endAngle: 360 });\r\n const padding = amplitude > 0 ? amplitude + this.#strokeWidth / 2 : this.#strokeWidth;\r\n\r\n return html`\r\n <svg class=\"progress\" viewBox=\"${inactive.viewBox}\" aria-hidden=\"true\">\r\n ${degrees > 0\r\n ? svg`${\r\n amplitude > 0\r\n ? svg`<defs>\r\n <mask id=\"${this.#maskId}\">\r\n <path\r\n d=\"${activeArc.path}\"\r\n stroke=\"white\"\r\n stroke-width=\"${this.#strokeWidth + padding}\"\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />\r\n </mask>\r\n </defs>`\r\n : nothing\r\n }\r\n <g class=\"active-track\" mask=\"${ifDefined(amplitude > 0 ? resolveFragmentUrl(this.#maskId) : undefined)}\">\r\n <path\r\n class=\"${classMap({ wave: amplitude > 0 })}\"\r\n d=\"${active.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n fill=\"none\"\r\n />\r\n </g>`\r\n : nothing}\r\n ${360 - degrees >= minDegrees\r\n ? svg`<path\r\n class=\"track\"\r\n d=\"${inactive.path}\"\r\n stroke=\"currentColor\"\r\n stroke-width=${this.#strokeWidth}\r\n fill=\"none\"\r\n stroke-linecap=\"round\"\r\n />`\r\n : nothing}\r\n </svg>\r\n ${this.#renderResizeObservedElements()}${this.#renderContent()}\r\n `;\r\n }\r\n\r\n /** @private */\r\n #renderResizeObservedElements(): unknown {\r\n return html`<div class=\"diameter-and-stroke\" aria-hidden=\"true\"></div>\r\n <div class=\"amplitude-and-wavelength\" aria-hidden=\"true\"></div>`;\r\n }\r\n\r\n /** @private */\r\n #renderContent(): unknown {\r\n return html`<div class=\"content\" aria-hidden=\"true\"><slot></slot></div>`;\r\n }\r\n\r\n /** @private */\r\n #updateDiameterAndStroke(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".diameter-and-stroke\");\r\n if (element) {\r\n this.#diameter = element.clientWidth;\r\n this.#strokeWidth = element.clientHeight;\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateAmplitudeAndWavelength(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (element) {\r\n this.#amplitude = element.clientWidth;\r\n this.#wavelength = element.clientHeight;\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateWavyIndeterminateSpinner(t: number): void {\r\n if (this.#amplitude === 0 || this.#wavelength === 0) return;\r\n\r\n const sweep = this.#computeWavyIndeterminateSweep(t);\r\n this.#spinnerActiveTrack?.setAttribute(\"d\", this.#drawWavyArc({ endAngle: sweep }).path);\r\n this.#spinnerTrack?.setAttribute(\r\n \"d\",\r\n this.#drawArc({\r\n gap: this.#sizeToDegrees(this.#strokeWidth, this.#diameter),\r\n startAngle: sweep,\r\n }).path,\r\n );\r\n }\r\n\r\n /** @private */\r\n #computeWavyIndeterminateSweep(t: number): number {\r\n const sweepPadding = this.#sizeToDegrees(this.#strokeWidth) * 2;\r\n const minSweep = 18 + sweepPadding;\r\n const maxSweep = 280 - sweepPadding;\r\n\r\n const duration = WAVY_INDETERMINATE_DURATION;\r\n const holdMin = duration;\r\n const growTime = duration;\r\n const holdMax = duration;\r\n const shrinkTime = duration;\r\n\r\n const cycle = holdMin + growTime + holdMax + shrinkTime;\r\n const u = t % cycle;\r\n\r\n if (u < holdMin) {\r\n return minSweep;\r\n }\r\n\r\n if (u < holdMin + growTime) {\r\n const p = (u - holdMin) / growTime;\r\n return minSweep + (maxSweep - minSweep) * (p * p * (3 - 2 * p));\r\n }\r\n\r\n if (u < holdMin + growTime + holdMax) {\r\n return maxSweep;\r\n }\r\n\r\n const p = (u - (holdMin + growTime + holdMax)) / shrinkTime;\r\n return maxSweep - (maxSweep - minSweep) * (p * p * (3 - 2 * p));\r\n }\r\n\r\n /** @private */\r\n #sizeToDegrees(size: number, padding = this.#amplitude): number {\r\n return size * (360 / (2 * Math.PI * this.#computeCircle(padding).r));\r\n }\r\n\r\n /** @private */\r\n #degreesToRadians(degrees: number) {\r\n return (degrees - 90) * (Math.PI / 180);\r\n }\r\n\r\n /** @private */\r\n #polarToCartesian(circle: { cx: number; cy: number; r: number }, degrees: number) {\r\n const rad = this.#degreesToRadians(degrees);\r\n return {\r\n x: circle.cx + circle.r * Math.cos(rad),\r\n y: circle.cy + circle.r * Math.sin(rad),\r\n };\r\n }\r\n\r\n /** @private */\r\n #computeCircle(padding: number) {\r\n padding = padding + this.#strokeWidth / 2;\r\n const r = this.#diameter / 2;\r\n const cx = r + padding;\r\n const cy = r + padding;\r\n return { cx, cy, r, padding };\r\n }\r\n\r\n /** @private */\r\n #drawArc({\r\n startAngle = 0,\r\n endAngle = 360,\r\n gap = 0,\r\n padding = this.#amplitude,\r\n }: {\r\n startAngle?: number;\r\n endAngle?: number;\r\n gap?: number;\r\n padding?: number;\r\n }) {\r\n if (this.#diameter === 0 || this.#strokeWidth === 0) return { path: \"\", viewBox: \"0 0 0 0\" };\r\n\r\n const circle = this.#computeCircle(padding);\r\n if (gap > 0) {\r\n startAngle += this.#sizeToDegrees(gap, padding);\r\n endAngle -= this.#sizeToDegrees(gap, padding);\r\n }\r\n if (endAngle - startAngle >= 360) {\r\n endAngle = startAngle + 359.999;\r\n }\r\n const start = this.#polarToCartesian(circle, endAngle);\r\n const end = this.#polarToCartesian(circle, startAngle);\r\n\r\n const path = `M ${start.x} ${start.y} A ${circle.r} ${circle.r} 0 ${endAngle - startAngle <= 180 ? \"0\" : \"1\"} 0 ${end.x} ${end.y}`;\r\n const viewBox = `0 0 ${this.#diameter + circle.padding * 2} ${this.#diameter + circle.padding * 2}`;\r\n return { path, viewBox };\r\n }\r\n\r\n /** @private */\r\n #drawWavyArc({\r\n startAngle = 0,\r\n endAngle = 360,\r\n gap = 0,\r\n padding = this.#amplitude,\r\n amplitude = this.#amplitude,\r\n steps = 200,\r\n }: {\r\n startAngle?: number;\r\n endAngle?: number;\r\n gap?: number;\r\n padding?: number;\r\n amplitude?: number;\r\n steps?: number;\r\n }) {\r\n if (this.#diameter === 0 || this.#strokeWidth === 0) return { path: \"\", viewBox: \"0 0 0 0\" };\r\n\r\n const circle = this.#computeCircle(padding);\r\n\r\n if (gap > 0) {\r\n startAngle += this.#sizeToDegrees(gap, padding);\r\n endAngle -= this.#sizeToDegrees(gap, padding);\r\n }\r\n\r\n const startRad = this.#degreesToRadians(startAngle);\r\n let endRad = this.#degreesToRadians(endAngle);\r\n\r\n if (startAngle === endAngle) {\r\n endRad = startRad;\r\n } else if (endRad < startRad) {\r\n endRad += Math.PI * 2;\r\n }\r\n\r\n const totalAngle = endRad - startRad;\r\n const waveCount = (2 * Math.PI * circle.r) / this.#wavelength;\r\n const phase = (Math.PI / 2) * (waveCount - 1);\r\n\r\n const points: [number, number][] = [];\r\n\r\n for (let i = 0; i <= steps; i++) {\r\n const t = steps === 0 ? 0 : i / steps;\r\n const angle = startRad + t * totalAngle;\r\n const wave = Math.sin(angle * waveCount + phase);\r\n const radius = circle.r - amplitude * wave;\r\n const x = radius * Math.cos(angle) + circle.cx;\r\n const y = radius * Math.sin(angle) + circle.cy;\r\n points.push([x, y]);\r\n }\r\n\r\n const path =\r\n points.length === 1\r\n ? `M ${points[0][0]},${points[0][1]}`\r\n : `M ${points[0][0]},${points[0][1]} ` +\r\n points\r\n .slice(1)\r\n .map(([x, y]) => `L ${x},${y}`)\r\n .join(\" \");\r\n\r\n const viewBox = `0 0 ${this.#diameter + circle.padding * 2} ${this.#diameter + circle.padding * 2}`;\r\n return { path, viewBox };\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-circular-progress-indicator\": M3eCircularProgressIndicatorElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, nothing, PropertyValues, svg } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { customElement, DesignToken, ResizeController, resolveFragmentUrl, safeStyleMap } from \"@m3e/web/core\";\r\n\r\nimport { LinearProgressMode } from \"./LinearProgressMode\";\r\nimport { ProgressElementIndicatorBase } from \"./ProgressElementIndicatorBase\";\r\n\r\n/**\r\n * A horizontal bar for indicating progress and activity.\r\n *\r\n * @description\r\n * The `m3e-linear-progress-indicator` component displays a horizontal progress bar for tracking\r\n * the completion of a task or process. It supports `determinate`, `indeterminate`, `buffer`,\r\n * and `query` modes, and can be customized with CSS custom properties for thickness, shape, and color.\r\n * The component is accessible, animates smoothly, and adapts to various use cases including loading,\r\n * buffering, and activity indication.\r\n *\r\n * @example\r\n * The following example illustrates a determinate linear progress indicator.\r\n * ```html\r\n * <m3e-linear-progress-indicator value=\"30\"></m3e-linear-progress-indicator>\r\n * ```\r\n * @example\r\n * The next example illustrates an indeterminate linear progress indicator using the `mode` attribute.\r\n * ```html\r\n * <m3e-linear-progress-indicator mode=\"indeterminate\"></m3e-linear-progress-indicator>\r\n * ```\r\n *\r\n * @tag m3e-linear-progress-indicator\r\n *\r\n * @attr buffer-value - A fractional value, between 0 and `max`, indicating buffer progress.\r\n * @attr max - The maximum progress value.\r\n * @attr mode - The mode of the progress bar.\r\n * @attr value - A fractional value, between 0 and `max`, indicating progress.\r\n * @attr variant - The appearance of the indicator.\r\n *\r\n * @cssprop --m3e-linear-progress-indicator-thickness - Thickness (height) of the progress bar.\r\n * @cssprop --m3e-linear-progress-indicator-shape - Border radius of the progress bar.\r\n * @cssprop --m3e-progress-indicator-track-color - Track color of the progress bar (background/buffer).\r\n * @cssprop --m3e-progress-indicator-color - Color of the progress indicator (foreground).\r\n * @cssprop --m3e-linear-wavy-progress-indicator-amplitude - Amplitude of the `wavy` variant.\r\n * @cssprop --m3e-linear-wavy-progress-indicator-wavelength - Wavelength of the `wavy` variant.\r\n * @cssprop --m3e-linear-wavy-indeterminate-progress-indicator-wavelength - Wavelength of the indeterminate/query `wavy` variant.\r\n */\r\n@customElement(\"m3e-linear-progress-indicator\")\r\nexport class M3eLinearProgressIndicatorElement extends ProgressElementIndicatorBase {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n ProgressElementIndicatorBase.styles,\r\n css`\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n .progress {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n align-items: center;\r\n border-radius: var(--m3e-linear-progress-indicator-shape, ${DesignToken.shape.corner.extraSmall});\r\n }\r\n .stroke,\r\n .amplitude-and-wavelength {\r\n visibility: hidden;\r\n position: absolute;\r\n }\r\n .stroke {\r\n width: 100%;\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n }\r\n .amplitude-and-wavelength {\r\n height: var(--m3e-linear-wavy-progress-indicator-amplitude, 0.1875rem);\r\n width: var(--m3e-linear-wavy-progress-indicator-wavelength, 2.5rem);\r\n }\r\n :host([mode=\"indeterminate\"]) .amplitude-and-wavelength,\r\n :host([mode=\"query\"]) .amplitude-and-wavelength {\r\n width: var(--m3e-linear-wavy-indeterminate-progress-indicator-wavelength, 1.5rem);\r\n }\r\n .primary,\r\n .secondary,\r\n .stop {\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n border-radius: inherit;\r\n }\r\n .stop {\r\n aspect-ratio: 1;\r\n flex: none;\r\n }\r\n :host([variant=\"flat\"]) {\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n }\r\n :host([variant=\"wavy\"]) {\r\n height: calc(\r\n var(--m3e-linear-progress-indicator-thickness, 0.25rem) +\r\n calc(var(--m3e-linear-wavy-progress-indicator-amplitude, 0.1875rem) * 2)\r\n );\r\n }\r\n :host([variant=\"wavy\"]) .primary,\r\n :host([variant=\"wavy\"]) .secondary {\r\n position: relative;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n :host([variant=\"wavy\"]) .complete {\r\n position: absolute;\r\n margin: auto;\r\n top: calc(50% - calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2));\r\n left: 0;\r\n right: 0;\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n border-radius: inherit;\r\n }\r\n :host([variant=\"wavy\"]) .secondary {\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n }\r\n .wave {\r\n position: absolute;\r\n display: block;\r\n }\r\n .primary .wave,\r\n .secondary .wave {\r\n margin-inline-start: calc(0px - var(--m3e-linear-wavy-progress-indicator-wavelength, 2.5rem));\r\n }\r\n :host([variant=\"wavy\"][mode=\"determinate\"]) .primary path,\r\n :host([variant=\"wavy\"][mode=\"buffer\"]) .primary path {\r\n animation: wave-slide 1.5s linear infinite;\r\n }\r\n @keyframes wave-slide {\r\n from {\r\n transform: translateX(0);\r\n }\r\n to {\r\n transform: translateX(calc(0px - var(--m3e-linear-wavy-progress-indicator-wavelength, 2.5rem)));\r\n }\r\n }\r\n :host([mode=\"determinate\"]) .progress,\r\n :host([mode=\"buffer\"]) .progress {\r\n display: flex;\r\n overflow: hidden;\r\n }\r\n :host([mode=\"determinate\"]) .primary,\r\n :host([mode=\"buffer\"]) .primary {\r\n width: var(--_value, 0px);\r\n flex: none;\r\n }\r\n :host([mode=\"determinate\"]) .gap,\r\n :host([mode=\"buffer\"]) .gap {\r\n flex-basis: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n flex-shrink: 1;\r\n }\r\n :host([mode=\"determinate\"]) .secondary,\r\n :host([mode=\"buffer\"]) .buffer {\r\n flex: 1 1 auto;\r\n }\r\n :host([mode=\"buffer\"]) .buffer {\r\n flex-shrink: 5;\r\n height: 100%;\r\n width: 100%;\r\n background-color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n mask-image: radial-gradient(\r\n circle,\r\n black 0,\r\n black calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2),\r\n transparent calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2)\r\n );\r\n mask-size: calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) * 2) 100%;\r\n mask-repeat: repeat;\r\n animation: buffer 250ms linear infinite;\r\n }\r\n :host(:dir(rtl)[mode=\"buffer\"]) .buffer {\r\n transform: scaleX(-1);\r\n }\r\n @keyframes buffer {\r\n from {\r\n mask-position: 0 0;\r\n }\r\n to {\r\n mask-position: calc(-1 * calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) * 2)) 0;\r\n }\r\n }\r\n :host([mode=\"buffer\"]) .secondary {\r\n width: var(--_buffer-value, 0px);\r\n flex: none;\r\n }\r\n :host([mode=\"indeterminate\"]) .primary,\r\n :host([mode=\"query\"]) .primary {\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n border-radius: inherit;\r\n animation: indeterminate-primary 2.1s infinite linear;\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .primary,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .primary {\r\n animation-name: wavy-indeterminate-primary;\r\n }\r\n :host([mode=\"indeterminate\"]) .secondary,\r\n :host([mode=\"query\"]) .secondary {\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n border-radius: inherit;\r\n animation: indeterminate-secondary 2.1s infinite linear;\r\n animation-delay: 1.15s;\r\n animation-fill-mode: backwards;\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .secondary,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .secondary {\r\n animation-name: wavy-indeterminate-secondary;\r\n }\r\n :host([mode=\"indeterminate\"]) .progress,\r\n :host([mode=\"query\"]) .progress {\r\n overflow: hidden;\r\n position: relative;\r\n }\r\n :host(:not(:dir(rtl))[mode=\"query\"]) .progress,\r\n :host(:dir(rtl)[mode=\"indeterminate\"]) .progress {\r\n transform: scaleX(-1);\r\n }\r\n :host([variant=\"flat\"]) .primary,\r\n :host([variant=\"flat\"][mode=\"indeterminate\"]) .secondary,\r\n :host([variant=\"flat\"][mode=\"query\"]) .secondary,\r\n :host([variant=\"wavy\"]) .complete,\r\n .stop {\r\n background-color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary});\r\n }\r\n :host([variant=\"wavy\"]) .progress {\r\n color: var(--m3e-progress-indicator-color, ${DesignToken.color.primary});\r\n }\r\n :host([mode=\"determinate\"]) .secondary,\r\n :host([mode=\"buffer\"]) .secondary,\r\n :host([variant=\"flat\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"flat\"][mode=\"query\"]) .track {\r\n background-color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .track {\r\n color: var(--m3e-progress-indicator-track-color, ${DesignToken.color.secondaryContainer});\r\n }\r\n :host([variant=\"wavy\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"wavy\"][mode=\"query\"]) .track {\r\n y: calc(50% - calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2));\r\n border-radius: inherit;\r\n }\r\n :host([variant=\"flat\"][mode=\"indeterminate\"]) .track,\r\n :host([variant=\"flat\"][mode=\"query\"]) .track {\r\n position: absolute;\r\n margin: auto;\r\n top: calc(50% - calc(var(--m3e-linear-progress-indicator-thickness, 0.25rem) / 2));\r\n left: 0;\r\n right: 0;\r\n height: var(--m3e-linear-progress-indicator-thickness, 0.25rem);\r\n border-radius: inherit;\r\n }\r\n @keyframes indeterminate-primary {\r\n 0% {\r\n left: -145.167%;\r\n width: 8%;\r\n }\r\n 20% {\r\n left: -113.333%;\r\n width: 48%;\r\n }\r\n 60% {\r\n left: 56.333%;\r\n width: 78%;\r\n }\r\n 100% {\r\n left: 100%;\r\n width: 8%;\r\n }\r\n }\r\n @keyframes indeterminate-secondary {\r\n 0% {\r\n left: -54.888%;\r\n width: 8%;\r\n }\r\n 20% {\r\n left: -20%;\r\n width: 48%;\r\n }\r\n 60% {\r\n left: 60%;\r\n width: 78%;\r\n }\r\n 100% {\r\n left: 160%;\r\n width: 8%;\r\n }\r\n }\r\n @keyframes wavy-indeterminate-primary {\r\n 0% {\r\n transform: translateX(-145.167%);\r\n width: 8%;\r\n }\r\n 20% {\r\n transform: translateX(-113.333%);\r\n width: 48%;\r\n }\r\n 60% {\r\n transform: translateX(56.333%);\r\n width: 78%;\r\n }\r\n 100% {\r\n transform: translateX(100%);\r\n width: 8%;\r\n }\r\n }\r\n @keyframes wavy-indeterminate-secondary {\r\n 0% {\r\n transform: translateX(-54.888%);\r\n width: 8%;\r\n }\r\n 20% {\r\n transform: translateX(-20%);\r\n width: 48%;\r\n }\r\n 60% {\r\n transform: translateX(60%);\r\n width: 78%;\r\n }\r\n 100% {\r\n transform: translateX(160%);\r\n width: 8%;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .progress {\r\n --m3e-progress-indicator-track-color: GrayText;\r\n --m3e-progress-indicator-color: CanvasText;\r\n }\r\n }\r\n `,\r\n ];\r\n\r\n /** @private */ private static __nextMaskId = 0;\r\n /** @private */ #maskId = `m3e-linear-progress-mask-${M3eLinearProgressIndicatorElement.__nextMaskId++}`;\r\n\r\n /** @private */ #strokeWidth = 0;\r\n /** @private */ #amplitude = 0;\r\n /** @private */ #wavelength = 0;\r\n\r\n /** @private */ readonly #resizeController = new ResizeController(this, {\r\n skipInitial: true,\r\n target: null,\r\n callback: () => {\r\n this.#updateStroke();\r\n this.#updateAmplitudeAndWavelength();\r\n },\r\n });\r\n\r\n /**\r\n * The mode of the progress bar.\r\n * @default \"determinate\"\r\n */\r\n @property({ reflect: true }) mode: LinearProgressMode = \"determinate\";\r\n\r\n /**\r\n * A fractional value, between 0 and `max`, indicating buffer progress.\r\n * @default 0\r\n */\r\n @property({ attribute: \"buffer-value\", type: Number, reflect: true }) bufferValue = 0;\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n this.#updateStroke();\r\n this.#updateAmplitudeAndWavelength();\r\n\r\n const stroke = this.shadowRoot?.querySelector<HTMLElement>(\".stroke\");\r\n if (stroke) {\r\n this.#resizeController.observe(stroke);\r\n }\r\n\r\n const amplitudeAndWavelength = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (amplitudeAndWavelength) {\r\n this.#resizeController.observe(amplitudeAndWavelength);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"mode\")) {\r\n this.ariaValueNow = this.mode === \"indeterminate\" || this.mode === \"query\" ? null : `${this.value}`;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override updated(_changedProperties: PropertyValues<this>): void {\r\n super.updated(_changedProperties);\r\n\r\n if (_changedProperties.has(\"value\") || _changedProperties.has(\"bufferValue\") || _changedProperties.has(\"max\")) {\r\n const progress = this.shadowRoot?.querySelector<HTMLElement>(\".progress\");\r\n progress?.style.setProperty(\"--_value\", `${(this.value / this.max) * 100}%`);\r\n progress?.style.setProperty(\"--_buffer-value\", `${(this.bufferValue / this.max) * 100}%`);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n const clampedValue = Math.max(0, Math.min(this.value, this.max));\r\n const activeWidth = (clampedValue / this.max) * this.clientWidth;\r\n const waveWidth =\r\n this.mode === \"indeterminate\" || this.mode === \"query\" ? this.clientWidth : activeWidth + this.#wavelength * 3;\r\n\r\n const wave =\r\n this.variant === \"wavy\" && this.#strokeWidth > 0 && this.#amplitude > 0 && this.#wavelength > 0\r\n ? this.#drawWavyPath(waveWidth)\r\n : undefined;\r\n\r\n return html`<div\r\n class=\"progress\"\r\n aria-hidden=\"true\"\r\n style=\"${safeStyleMap({\r\n \"--_translate-x\": `-${activeWidth}px`,\r\n })}\"\r\n >\r\n ${!wave ? html`<div class=\"track\"></div>` : nothing}\r\n ${(this.mode === \"determinate\" || this.mode === \"buffer\") && this.value <= 0\r\n ? nothing\r\n : html`<div class=\"primary\">\r\n ${wave && (this.mode === \"determinate\" || this.mode === \"buffer\")\r\n ? this.#renderWave(waveWidth, wave.height, wave.viewBox, wave.path)\r\n : nothing}\r\n </div>\r\n ${this.mode === \"determinate\" || this.mode === \"buffer\" ? html`<div class=\"gap\"></div>` : nothing}`}\r\n ${this.mode !== \"buffer\" || this.bufferValue > 0 ? html`<div class=\"secondary\"></div>` : nothing}\r\n ${this.mode === \"buffer\" && this.bufferValue > 0 ? html`<div class=\"gap\"></div>` : nothing}\r\n ${this.mode === \"buffer\" ? html`<div class=\"buffer\"></div>` : nothing}\r\n ${(this.mode === \"determinate\" || this.mode === \"buffer\") && this.value > 0\r\n ? html`<div class=\"gap\"></div>\r\n <div class=\"stop\"></div>`\r\n : nothing}\r\n ${wave && !(this.mode === \"determinate\" || this.mode === \"buffer\")\r\n ? this.#renderWave(waveWidth, wave.height, wave.viewBox, wave.path)\r\n : nothing}\r\n </div>\r\n ${this.#renderResizeObservedElements()}`;\r\n }\r\n\r\n /** @private */\r\n #renderWave(width: number, height: number, viewBox: string, path: string): unknown {\r\n const masked = this.mode === \"indeterminate\" || this.mode === \"query\";\r\n if (!masked && this.value / this.max === 1) {\r\n return html`<div class=\"complete\"></div>`;\r\n }\r\n return html`<svg class=\"wave\" width=\"${width}\" height=\"${height}\" viewBox=\"${viewBox}\" preserveAspectRatio=\"none\">\r\n ${masked\r\n ? svg`\r\n <mask id=\"${this.#maskId}\" maskUnits=\"userSpaceOnUse\">\r\n <rect width=\"${width}\" height=\"${height}\" fill=\"black\" />\r\n <rect class=\"primary\" height=\"${height}\" fill=\"white\" />\r\n <rect class=\"secondary\" height=\"${height}\" fill=\"white\" />\r\n </mask>\r\n <mask id=\"${`${this.#maskId}-inverse`}\" maskUnits=\"userSpaceOnUse\">\r\n <rect width=\"${width}\" height=\"${height}\" fill=\"white\" />\r\n <rect class=\"primary\" height=\"${height}\" fill=\"black\" />\r\n <rect class=\"secondary\" height=\"${height}\" fill=\"black\" />\r\n </mask>\r\n <g mask=\"${resolveFragmentUrl(this.#maskId)}\">\r\n <path d=\"${path}\" stroke=\"currentColor\" stroke-width=${this.#strokeWidth} fill=\"none\" stroke-linecap=\"round\" />\r\n </g>\r\n <g mask=\"${resolveFragmentUrl(`${this.#maskId}-inverse`)}\">\r\n <rect class=\"track\" width=\"100%\" height=\"${this.#strokeWidth}\" fill=\"currentColor\" />\r\n </g>`\r\n : svg`<path d=\"${path}\" stroke=\"currentColor\" stroke-width=${this.#strokeWidth} fill=\"none\" stroke-linecap=\"round\" />`}\r\n </svg>`;\r\n }\r\n\r\n /** @private */\r\n #renderResizeObservedElements(): unknown {\r\n return html`<div class=\"stroke\" aria-hidden=\"true\"></div>\r\n <div class=\"amplitude-and-wavelength\" aria-hidden=\"true\"></div>`;\r\n }\r\n\r\n /** @private */\r\n #updateStroke(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".stroke\");\r\n if (element) {\r\n this.#strokeWidth = element.clientHeight;\r\n }\r\n }\r\n\r\n /** @private */\r\n #updateAmplitudeAndWavelength(): void {\r\n const element = this.shadowRoot?.querySelector<HTMLElement>(\".amplitude-and-wavelength\");\r\n if (element) {\r\n this.#amplitude = element.clientHeight;\r\n this.#wavelength = element.clientWidth;\r\n }\r\n }\r\n\r\n /** @private */\r\n #drawWavyPath(width: number, phase: number = 0) {\r\n const amplitude = this.#amplitude + this.#strokeWidth / 2;\r\n const y = amplitude;\r\n\r\n const path: string[] = [];\r\n const step = this.#wavelength / 2;\r\n let x = 0;\r\n\r\n path.push(`M ${x},${y}`);\r\n\r\n while (x <= width) {\r\n const endX = x + step;\r\n const endY = y + amplitude * Math.sin((2 * Math.PI * endX) / this.#wavelength + phase);\r\n const cpX = x + step / 2;\r\n const cpY = y + amplitude * Math.sin((2 * Math.PI * (x + step / 2)) / this.#wavelength + phase);\r\n\r\n path.push(`Q ${cpX},${cpY} ${endX},${endY}`);\r\n x += step;\r\n }\r\n\r\n const padding = 1;\r\n const viewBox = `0 ${-padding} ${width} ${amplitude * 2 + padding * 2}`;\r\n\r\n return { path: path.join(\" \"), viewBox, height: this.#strokeWidth + this.#amplitude * 2, padding };\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-linear-progress-indicator\": M3eLinearProgressIndicatorElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","error","suppressed","message","e","Error","name","ProgressElementIndicatorBase","AttachInternals","Role","LitElement","constructor","max","variant","connectedCallback","ariaValueMin","update","changedProperties","ariaValueNow","ariaValueMax","styles","css","property","type","Number","reflect","prototype","WAVY_INDETERMINATE_DURATION","M3eCircularProgressIndicatorElement","M3eCircularProgressIndicatorElement_1","_M3eCircularProgressIndicatorElement_maskId","__nextMaskId","_M3eCircularProgressIndicatorElement_diameter","_M3eCircularProgressIndicatorElement_strokeWidth","_M3eCircularProgressIndicatorElement_amplitude","_M3eCircularProgressIndicatorElement_wavelength","_M3eCircularProgressIndicatorElement_spinnerActiveTrack","_M3eCircularProgressIndicatorElement_spinnerTrack","_M3eCircularProgressIndicatorElement_resizeController","ResizeController","skipInitial","callback","_M3eCircularProgressIndicatorElement_instances","_M3eCircularProgressIndicatorElement_updateDiameterAndStroke","_M3eCircularProgressIndicatorElement_updateAmplitudeAndWavelength","_M3eCircularProgressIndicatorElement_indeterminateWavyAnimationLoop","AnimationLoopController","_","t","_M3eCircularProgressIndicatorElement_updateWavyIndeterminateSpinner","indeterminate","firstUpdated","_changedProperties","diameterAndStroke","shadowRoot","querySelector","observe","amplitudeAndWavelength","updated","start","stop","render","_M3eCircularProgressIndicatorElement_renderWavyIndicator","_M3eCircularProgressIndicatorElement_renderFlatIndicator","left","startAngle","endAngle","right","html","viewBox","path","_M3eCircularProgressIndicatorElement_renderResizeObservedElements","minDegrees","_M3eCircularProgressIndicatorElement_sizeToDegrees","degrees","Math","active","_M3eCircularProgressIndicatorElement_drawArc","gap","inactive","svg","nothing","_M3eCircularProgressIndicatorElement_renderContent","_M3eCircularProgressIndicatorElement_drawWavyArc","amplitude","activeArc","padding","ifDefined","resolveFragmentUrl","undefined","classMap","wave","element","clientWidth","clientHeight","sweep","_M3eCircularProgressIndicatorElement_computeWavyIndeterminateSweep","setAttribute","sweepPadding","minSweep","maxSweep","duration","holdMin","growTime","holdMax","shrinkTime","cycle","u","p","size","PI","_M3eCircularProgressIndicatorElement_computeCircle","_M3eCircularProgressIndicatorElement_polarToCartesian","circle","rad","_M3eCircularProgressIndicatorElement_degreesToRadians","x","cx","cos","y","cy","sin","end","steps","startRad","endRad","totalAngle","waveCount","phase","points","angle","radius","push","slice","map","join","DesignToken","color","secondaryContainer","primary","Boolean","customElement","M3eLinearProgressIndicatorElement","M3eLinearProgressIndicatorElement_1","_M3eLinearProgressIndicatorElement_maskId","_M3eLinearProgressIndicatorElement_strokeWidth","_M3eLinearProgressIndicatorElement_amplitude","_M3eLinearProgressIndicatorElement_wavelength","_M3eLinearProgressIndicatorElement_resizeController","_M3eLinearProgressIndicatorElement_instances","_M3eLinearProgressIndicatorElement_updateStroke","_M3eLinearProgressIndicatorElement_updateAmplitudeAndWavelength","mode","bufferValue","stroke","progress","style","setProperty","clampedValue","min","activeWidth","waveWidth","_M3eLinearProgressIndicatorElement_drawWavyPath","safeStyleMap","_M3eLinearProgressIndicatorElement_renderWave","height","_M3eLinearProgressIndicatorElement_renderResizeObservedElements","width","masked","step","endX","endY","cpX","cpY","shape","corner","extraSmall","attribute"],"mappings":"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","x_google_ignoreList":[0]}
|