@m3e/web 2.0.4 → 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.
Files changed (226) hide show
  1. package/dist/all.js +115 -109
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +5 -5
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/app-bar.js +2 -2
  6. package/dist/app-bar.js.map +1 -1
  7. package/dist/app-bar.min.js +1 -1
  8. package/dist/app-bar.min.js.map +1 -1
  9. package/dist/autocomplete.js +2 -2
  10. package/dist/autocomplete.js.map +1 -1
  11. package/dist/autocomplete.min.js +1 -1
  12. package/dist/autocomplete.min.js.map +1 -1
  13. package/dist/avatar.js +2 -2
  14. package/dist/avatar.js.map +1 -1
  15. package/dist/avatar.min.js +1 -1
  16. package/dist/avatar.min.js.map +1 -1
  17. package/dist/badge.js +2 -2
  18. package/dist/badge.js.map +1 -1
  19. package/dist/badge.min.js +1 -1
  20. package/dist/badge.min.js.map +1 -1
  21. package/dist/bottom-sheet.js +4 -4
  22. package/dist/bottom-sheet.js.map +1 -1
  23. package/dist/bottom-sheet.min.js +1 -1
  24. package/dist/bottom-sheet.min.js.map +1 -1
  25. package/dist/button-group.js +2 -2
  26. package/dist/button-group.js.map +1 -1
  27. package/dist/button-group.min.js +1 -1
  28. package/dist/button-group.min.js.map +1 -1
  29. package/dist/button.js +2 -2
  30. package/dist/button.js.map +1 -1
  31. package/dist/button.min.js +1 -1
  32. package/dist/button.min.js.map +1 -1
  33. package/dist/card.js +2 -2
  34. package/dist/card.js.map +1 -1
  35. package/dist/card.min.js +1 -1
  36. package/dist/card.min.js.map +1 -1
  37. package/dist/checkbox.js +2 -2
  38. package/dist/checkbox.js.map +1 -1
  39. package/dist/checkbox.min.js +1 -1
  40. package/dist/checkbox.min.js.map +1 -1
  41. package/dist/chips.js +9 -9
  42. package/dist/chips.js.map +1 -1
  43. package/dist/chips.min.js +1 -1
  44. package/dist/chips.min.js.map +1 -1
  45. package/dist/core-a11y.js +3 -3
  46. package/dist/core-a11y.js.map +1 -1
  47. package/dist/core-a11y.min.js.map +1 -1
  48. package/dist/core.js +14 -14
  49. package/dist/core.js.map +1 -1
  50. package/dist/core.min.js +1 -1
  51. package/dist/core.min.js.map +1 -1
  52. package/dist/css-custom-data.json +615 -380
  53. package/dist/custom-elements.json +12398 -10626
  54. package/dist/dialog.js +5 -4
  55. package/dist/dialog.js.map +1 -1
  56. package/dist/dialog.min.js +1 -1
  57. package/dist/dialog.min.js.map +1 -1
  58. package/dist/divider.js +2 -2
  59. package/dist/divider.js.map +1 -1
  60. package/dist/divider.min.js +1 -1
  61. package/dist/divider.min.js.map +1 -1
  62. package/dist/drawer-container.js +3 -3
  63. package/dist/drawer-container.js.map +1 -1
  64. package/dist/drawer-container.min.js +1 -1
  65. package/dist/drawer-container.min.js.map +1 -1
  66. package/dist/expansion-panel.js +4 -4
  67. package/dist/expansion-panel.js.map +1 -1
  68. package/dist/expansion-panel.min.js +1 -1
  69. package/dist/expansion-panel.min.js.map +1 -1
  70. package/dist/fab-menu.js +4 -4
  71. package/dist/fab-menu.js.map +1 -1
  72. package/dist/fab-menu.min.js +1 -1
  73. package/dist/fab-menu.min.js.map +1 -1
  74. package/dist/fab.js +2 -2
  75. package/dist/fab.js.map +1 -1
  76. package/dist/fab.min.js +1 -1
  77. package/dist/fab.min.js.map +1 -1
  78. package/dist/form-field.js +2 -2
  79. package/dist/form-field.js.map +1 -1
  80. package/dist/form-field.min.js +1 -1
  81. package/dist/form-field.min.js.map +1 -1
  82. package/dist/heading.js +2 -2
  83. package/dist/heading.js.map +1 -1
  84. package/dist/heading.min.js +1 -1
  85. package/dist/heading.min.js.map +1 -1
  86. package/dist/html-custom-data.json +173 -141
  87. package/dist/icon-button.js +2 -2
  88. package/dist/icon-button.js.map +1 -1
  89. package/dist/icon-button.min.js +1 -1
  90. package/dist/icon-button.min.js.map +1 -1
  91. package/dist/icon.js +2 -2
  92. package/dist/icon.js.map +1 -1
  93. package/dist/icon.min.js +1 -1
  94. package/dist/icon.min.js.map +1 -1
  95. package/dist/list.js +9 -9
  96. package/dist/list.js.map +1 -1
  97. package/dist/list.min.js +1 -1
  98. package/dist/list.min.js.map +1 -1
  99. package/dist/loading-indicator.js +2 -2
  100. package/dist/loading-indicator.js.map +1 -1
  101. package/dist/loading-indicator.min.js +1 -1
  102. package/dist/loading-indicator.min.js.map +1 -1
  103. package/dist/menu.js +7 -7
  104. package/dist/menu.js.map +1 -1
  105. package/dist/menu.min.js +1 -1
  106. package/dist/menu.min.js.map +1 -1
  107. package/dist/nav-bar.js +3 -3
  108. package/dist/nav-bar.js.map +1 -1
  109. package/dist/nav-bar.min.js +1 -1
  110. package/dist/nav-bar.min.js.map +1 -1
  111. package/dist/nav-menu.js +4 -4
  112. package/dist/nav-menu.js.map +1 -1
  113. package/dist/nav-menu.min.js +1 -1
  114. package/dist/nav-menu.min.js.map +1 -1
  115. package/dist/nav-rail.js +3 -3
  116. package/dist/nav-rail.js.map +1 -1
  117. package/dist/nav-rail.min.js +1 -1
  118. package/dist/nav-rail.min.js.map +1 -1
  119. package/dist/option.js +4 -4
  120. package/dist/option.js.map +1 -1
  121. package/dist/option.min.js +1 -1
  122. package/dist/option.min.js.map +1 -1
  123. package/dist/paginator.js +7 -2
  124. package/dist/paginator.js.map +1 -1
  125. package/dist/paginator.min.js +2 -2
  126. package/dist/paginator.min.js.map +1 -1
  127. package/dist/progress-indicator.js +3 -3
  128. package/dist/progress-indicator.js.map +1 -1
  129. package/dist/progress-indicator.min.js +1 -1
  130. package/dist/progress-indicator.min.js.map +1 -1
  131. package/dist/radio-group.js +3 -3
  132. package/dist/radio-group.js.map +1 -1
  133. package/dist/radio-group.min.js +1 -1
  134. package/dist/radio-group.min.js.map +1 -1
  135. package/dist/segmented-button.js +3 -3
  136. package/dist/segmented-button.js.map +1 -1
  137. package/dist/segmented-button.min.js +1 -1
  138. package/dist/segmented-button.min.js.map +1 -1
  139. package/dist/select.js +2 -2
  140. package/dist/select.js.map +1 -1
  141. package/dist/select.min.js +1 -1
  142. package/dist/select.min.js.map +1 -1
  143. package/dist/shape.js +2 -2
  144. package/dist/shape.js.map +1 -1
  145. package/dist/shape.min.js +1 -1
  146. package/dist/shape.min.js.map +1 -1
  147. package/dist/slide-group.js +3 -2
  148. package/dist/slide-group.js.map +1 -1
  149. package/dist/slide-group.min.js +1 -1
  150. package/dist/slide-group.min.js.map +1 -1
  151. package/dist/slider.js +3 -3
  152. package/dist/slider.js.map +1 -1
  153. package/dist/slider.min.js +1 -1
  154. package/dist/slider.min.js.map +1 -1
  155. package/dist/snackbar.js +4 -2
  156. package/dist/snackbar.js.map +1 -1
  157. package/dist/snackbar.min.js +1 -1
  158. package/dist/snackbar.min.js.map +1 -1
  159. package/dist/split-button.js +3 -2
  160. package/dist/split-button.js.map +1 -1
  161. package/dist/split-button.min.js +1 -1
  162. package/dist/split-button.min.js.map +1 -1
  163. package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts.map +1 -1
  164. package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts.map +1 -1
  165. package/dist/src/core/shared/decorators/customElement.d.ts +19 -0
  166. package/dist/src/core/shared/decorators/customElement.d.ts.map +1 -0
  167. package/dist/src/core/shared/decorators/element.d.ts +2 -2
  168. package/dist/src/core/shared/decorators/element.d.ts.map +1 -1
  169. package/dist/src/core/shared/decorators/index.d.ts +1 -1
  170. package/dist/src/core/shared/decorators/index.d.ts.map +1 -1
  171. package/dist/src/dialog/DialogActionElement.d.ts.map +1 -1
  172. package/dist/src/dialog/DialogElement.d.ts +1 -0
  173. package/dist/src/dialog/DialogElement.d.ts.map +1 -1
  174. package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -1
  175. package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
  176. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
  177. package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -1
  178. package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -1
  179. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
  180. package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -1
  181. package/dist/src/paginator/PaginatorElement.d.ts +5 -0
  182. package/dist/src/paginator/PaginatorElement.d.ts.map +1 -1
  183. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
  184. package/dist/src/slide-group/SlideGroupElement.d.ts +1 -0
  185. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  186. package/dist/src/snackbar/SnackbarElement.d.ts +2 -0
  187. package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -1
  188. package/dist/src/split-button/SplitButtonElement.d.ts +1 -0
  189. package/dist/src/split-button/SplitButtonElement.d.ts.map +1 -1
  190. package/dist/src/tabs/TabsElement.d.ts +1 -0
  191. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  192. package/dist/src/toc/TocItemElement.d.ts.map +1 -1
  193. package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -1
  194. package/dist/stepper.js +7 -7
  195. package/dist/stepper.js.map +1 -1
  196. package/dist/stepper.min.js +1 -1
  197. package/dist/stepper.min.js.map +1 -1
  198. package/dist/switch.js +2 -2
  199. package/dist/switch.js.map +1 -1
  200. package/dist/switch.min.js +1 -1
  201. package/dist/switch.min.js.map +1 -1
  202. package/dist/tabs.js +5 -4
  203. package/dist/tabs.js.map +1 -1
  204. package/dist/tabs.min.js +1 -1
  205. package/dist/tabs.min.js.map +1 -1
  206. package/dist/textarea-autosize.js +2 -2
  207. package/dist/textarea-autosize.js.map +1 -1
  208. package/dist/textarea-autosize.min.js +1 -1
  209. package/dist/textarea-autosize.min.js.map +1 -1
  210. package/dist/theme.js +2 -2
  211. package/dist/theme.js.map +1 -1
  212. package/dist/theme.min.js +1 -1
  213. package/dist/theme.min.js.map +1 -1
  214. package/dist/toc.js +3 -3
  215. package/dist/toc.js.map +1 -1
  216. package/dist/toc.min.js +1 -1
  217. package/dist/toc.min.js.map +1 -1
  218. package/dist/toolbar.js +2 -2
  219. package/dist/toolbar.js.map +1 -1
  220. package/dist/toolbar.min.js +1 -1
  221. package/dist/toolbar.min.js.map +1 -1
  222. package/dist/tooltip.js +4 -4
  223. package/dist/tooltip.js.map +1 -1
  224. package/dist/tooltip.min.js +1 -1
  225. package/dist/tooltip.min.js.map +1 -1
  226. 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 { 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, element, 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@element(\"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 { element, 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@element(\"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","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]}
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2025 matraic
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
- import{LitElement as t,css as e,html as i,nothing as r,svg as a}from"lit";import{property as s}from"lit/decorators.js";import{classMap as o}from"lit/directives/class-map.js";import{ifDefined as n}from"lit/directives/if-defined.js";import{AttachInternals as h,Role as l,DesignToken as d,element as c,ResizeController as m,AnimationLoopController as f,resolveFragmentUrl as p,safeStyleMap as v}from"@m3e/web/core";function u(t,e,i,r){var a,s=arguments.length,o=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,r);else for(var n=t.length-1;n>=0;n--)(a=t[n])&&(o=(s<3?a(o):s>3?a(e,i,o):a(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o}function g(t,e,i,r){if("a"===i&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(t):r?r.value:e.get(t)}function w(t,e,i,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(t,i):a?a.value=i:e.set(t,i),i}"function"==typeof SuppressedError&&SuppressedError;class y extends(h(l(t,"progressbar"),!0)){constructor(){super(...arguments),this.value=0,this.max=100,this.variant="flat"}connectedCallback(){super.connectedCallback(),this.ariaValueMin="0"}update(t){super.update(t),t.has("value")&&(this.ariaValueNow=`${this.value}`),t.has("max")&&(this.ariaValueMax=`${this.max}`)}}var k,$,b,x,M,q,C,_,A,W,B,S,R,j,P,I,X,V,T,U,E,N,O,H,z;y.styles=e`@media (forced-colors: active) { :host { --m3e-progress-indicator-color: CanvasText; --m3e-progress-indicator-track-color: Canvas; } }`,u([s({type:Number,reflect:!0})],y.prototype,"value",void 0),u([s({type:Number})],y.prototype,"max",void 0),u([s({reflect:!0})],y.prototype,"variant",void 0);let G=z=class extends y{constructor(){super(...arguments),k.add(this),$.set(this,"m3e-circular-progress-mask-"+z.__nextMaskId++),b.set(this,0),x.set(this,0),M.set(this,0),q.set(this,0),C.set(this,void 0),_.set(this,void 0),A.set(this,new m(this,{skipInitial:!0,target:null,callback:()=>{g(this,k,"m",P).call(this),g(this,k,"m",I).call(this)}})),W.set(this,new f(this,(t,e)=>g(this,k,"m",X).call(this,e))),this.indeterminate=!1}update(t){super.update(t),t.has("indeterminate")&&(this.ariaValueNow=this.indeterminate?null:`${this.value}`)}firstUpdated(t){super.firstUpdated(t);const e=this.shadowRoot?.querySelector(".diameter-and-stroke");e&&(g(this,k,"m",P).call(this),g(this,A,"f").observe(e));const i=this.shadowRoot?.querySelector(".amplitude-and-wavelength");i&&(g(this,k,"m",P).call(this),g(this,A,"f").observe(i))}updated(t){super.updated(t),t.has("indeterminate")&&(w(this,C,this.shadowRoot?.querySelector(".spinner.active-track"),"f"),w(this,_,this.shadowRoot?.querySelector(".spinner.track"),"f"),this.indeterminate?g(this,W,"f").start():g(this,W,"f").stop())}render(){return"wavy"===this.variant?g(this,k,"m",S).call(this):g(this,k,"m",B).call(this)}};var D,L,Q,F,J,K,Y,Z,tt,et,it,rt;$=new WeakMap,b=new WeakMap,x=new WeakMap,M=new WeakMap,q=new WeakMap,C=new WeakMap,_=new WeakMap,A=new WeakMap,W=new WeakMap,k=new WeakSet,B=function(){if(this.indeterminate){const t=g(this,k,"m",O).call(this,{startAngle:-45,endAngle:90+g(this,x,"f")}),e=g(this,k,"m",O).call(this,{startAngle:-g(this,x,"f"),endAngle:135});return i`<div class="progress" aria-hidden="true"><div class="spinner"><div class="left"><svg width="${g(this,b,"f")}" height="${g(this,b,"f")}" viewBox="${t.viewBox}" class="circle"><path class="active-track" d="${t.path}" stroke="currentColor" stroke-width="${g(this,x,"f")}" fill="none" stroke-linecap="round"/></svg></div><div class="right"><svg width="${g(this,b,"f")}" height="${g(this,b,"f")}" viewBox="${e.viewBox}" class="circle"><path class="active-track" d="${e.path}" stroke="currentColor" stroke-width="${g(this,x,"f")}" fill="none" stroke-linecap="round"/></svg></div></div></div>${g(this,k,"m",R).call(this)}`}const t=g(this,k,"m",T).call(this,2*g(this,x,"f"),g(this,b,"f"));let e=this.value/this.max*360;e>0&&(e=Math.max(0,t,e));const s=g(this,k,"m",O).call(this,{gap:e<360?g(this,x,"f"):0,endAngle:e}),o=g(this,k,"m",O).call(this,{gap:e>0?g(this,x,"f"):0,startAngle:e,endAngle:360});return i`<div class="progress" aria-hidden="true"><svg width="${g(this,b,"f")}" height="${g(this,b,"f")}" viewBox="${s.viewBox}">${e>0?a`<path
6
+ import{LitElement as t,css as e,html as i,nothing as r,svg as a}from"lit";import{property as s}from"lit/decorators.js";import{classMap as o}from"lit/directives/class-map.js";import{ifDefined as n}from"lit/directives/if-defined.js";import{AttachInternals as h,Role as l,DesignToken as d,customElement as c,ResizeController as m,AnimationLoopController as f,resolveFragmentUrl as p,safeStyleMap as v}from"@m3e/web/core";function u(t,e,i,r){var a,s=arguments.length,o=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,r);else for(var n=t.length-1;n>=0;n--)(a=t[n])&&(o=(s<3?a(o):s>3?a(e,i,o):a(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o}function g(t,e,i,r){if("a"===i&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(t):r?r.value:e.get(t)}function w(t,e,i,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(t,i):a?a.value=i:e.set(t,i),i}"function"==typeof SuppressedError&&SuppressedError;class y extends(h(l(t,"progressbar"),!0)){constructor(){super(...arguments),this.value=0,this.max=100,this.variant="flat"}connectedCallback(){super.connectedCallback(),this.ariaValueMin="0"}update(t){super.update(t),t.has("value")&&(this.ariaValueNow=`${this.value}`),t.has("max")&&(this.ariaValueMax=`${this.max}`)}}var k,$,b,x,M,q,C,_,A,W,B,S,R,j,P,I,X,V,T,U,E,N,O,H,z;y.styles=e`@media (forced-colors: active) { :host { --m3e-progress-indicator-color: CanvasText; --m3e-progress-indicator-track-color: Canvas; } }`,u([s({type:Number,reflect:!0})],y.prototype,"value",void 0),u([s({type:Number})],y.prototype,"max",void 0),u([s({reflect:!0})],y.prototype,"variant",void 0);let G=z=class extends y{constructor(){super(...arguments),k.add(this),$.set(this,"m3e-circular-progress-mask-"+z.__nextMaskId++),b.set(this,0),x.set(this,0),M.set(this,0),q.set(this,0),C.set(this,void 0),_.set(this,void 0),A.set(this,new m(this,{skipInitial:!0,target:null,callback:()=>{g(this,k,"m",P).call(this),g(this,k,"m",I).call(this)}})),W.set(this,new f(this,(t,e)=>g(this,k,"m",X).call(this,e))),this.indeterminate=!1}update(t){super.update(t),t.has("indeterminate")&&(this.ariaValueNow=this.indeterminate?null:`${this.value}`)}firstUpdated(t){super.firstUpdated(t);const e=this.shadowRoot?.querySelector(".diameter-and-stroke");e&&(g(this,k,"m",P).call(this),g(this,A,"f").observe(e));const i=this.shadowRoot?.querySelector(".amplitude-and-wavelength");i&&(g(this,k,"m",P).call(this),g(this,A,"f").observe(i))}updated(t){super.updated(t),t.has("indeterminate")&&(w(this,C,this.shadowRoot?.querySelector(".spinner.active-track"),"f"),w(this,_,this.shadowRoot?.querySelector(".spinner.track"),"f"),this.indeterminate?g(this,W,"f").start():g(this,W,"f").stop())}render(){return"wavy"===this.variant?g(this,k,"m",S).call(this):g(this,k,"m",B).call(this)}};var D,L,Q,F,J,K,Y,Z,tt,et,it,rt;$=new WeakMap,b=new WeakMap,x=new WeakMap,M=new WeakMap,q=new WeakMap,C=new WeakMap,_=new WeakMap,A=new WeakMap,W=new WeakMap,k=new WeakSet,B=function(){if(this.indeterminate){const t=g(this,k,"m",O).call(this,{startAngle:-45,endAngle:90+g(this,x,"f")}),e=g(this,k,"m",O).call(this,{startAngle:-g(this,x,"f"),endAngle:135});return i`<div class="progress" aria-hidden="true"><div class="spinner"><div class="left"><svg width="${g(this,b,"f")}" height="${g(this,b,"f")}" viewBox="${t.viewBox}" class="circle"><path class="active-track" d="${t.path}" stroke="currentColor" stroke-width="${g(this,x,"f")}" fill="none" stroke-linecap="round"/></svg></div><div class="right"><svg width="${g(this,b,"f")}" height="${g(this,b,"f")}" viewBox="${e.viewBox}" class="circle"><path class="active-track" d="${e.path}" stroke="currentColor" stroke-width="${g(this,x,"f")}" fill="none" stroke-linecap="round"/></svg></div></div></div>${g(this,k,"m",R).call(this)}`}const t=g(this,k,"m",T).call(this,2*g(this,x,"f"),g(this,b,"f"));let e=this.value/this.max*360;e>0&&(e=Math.max(0,t,e));const s=g(this,k,"m",O).call(this,{gap:e<360?g(this,x,"f"):0,endAngle:e}),o=g(this,k,"m",O).call(this,{gap:e>0?g(this,x,"f"):0,startAngle:e,endAngle:360});return i`<div class="progress" aria-hidden="true"><svg width="${g(this,b,"f")}" height="${g(this,b,"f")}" viewBox="${s.viewBox}">${e>0?a`<path
7
7
  class="active-track"
8
8
  d="${s.path}"
9
9
  stroke="currentColor"