@m3e/web 2.1.0 → 2.1.2

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 (263) hide show
  1. package/dist/all.js +636 -1299
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +54 -114
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/app-bar.js +2 -34
  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 +17 -40
  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 +1 -28
  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 +1 -39
  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 +22 -58
  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 -34
  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 -34
  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 +4 -34
  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 -34
  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 +2 -40
  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 +1 -39
  46. package/dist/core-a11y.js.map +1 -1
  47. package/dist/core-a11y.min.js +4 -4
  48. package/dist/core-a11y.min.js.map +1 -1
  49. package/dist/core-anchoring.js +164 -177
  50. package/dist/core-anchoring.js.map +1 -1
  51. package/dist/core-anchoring.min.js +1 -1
  52. package/dist/core-anchoring.min.js.map +1 -1
  53. package/dist/core-bidi.js +1 -31
  54. package/dist/core-bidi.js.map +1 -1
  55. package/dist/core-bidi.min.js +2 -3
  56. package/dist/core-bidi.min.js.map +1 -1
  57. package/dist/core.js +84 -43
  58. package/dist/core.js.map +1 -1
  59. package/dist/core.min.js +1 -1
  60. package/dist/core.min.js.map +1 -1
  61. package/dist/css-custom-data.json +492 -487
  62. package/dist/custom-elements.json +6233 -4722
  63. package/dist/dialog.js +3 -41
  64. package/dist/dialog.js.map +1 -1
  65. package/dist/dialog.min.js +1 -1
  66. package/dist/dialog.min.js.map +1 -1
  67. package/dist/divider.js +1 -28
  68. package/dist/divider.js.map +1 -1
  69. package/dist/divider.min.js +1 -1
  70. package/dist/divider.min.js.map +1 -1
  71. package/dist/drawer-container.js +18 -48
  72. package/dist/drawer-container.js.map +1 -1
  73. package/dist/drawer-container.min.js +1 -1
  74. package/dist/drawer-container.min.js.map +1 -1
  75. package/dist/expansion-panel.js +8 -41
  76. package/dist/expansion-panel.js.map +1 -1
  77. package/dist/expansion-panel.min.js +1 -1
  78. package/dist/expansion-panel.min.js.map +1 -1
  79. package/dist/fab-menu.js +3 -47
  80. package/dist/fab-menu.js.map +1 -1
  81. package/dist/fab-menu.min.js +1 -1
  82. package/dist/fab-menu.min.js.map +1 -1
  83. package/dist/fab.js +1 -33
  84. package/dist/fab.js.map +1 -1
  85. package/dist/fab.min.js +1 -1
  86. package/dist/fab.min.js.map +1 -1
  87. package/dist/form-field.js +19 -49
  88. package/dist/form-field.js.map +1 -1
  89. package/dist/form-field.min.js +3 -4
  90. package/dist/form-field.min.js.map +1 -1
  91. package/dist/heading.js +1 -28
  92. package/dist/heading.js.map +1 -1
  93. package/dist/heading.min.js +1 -1
  94. package/dist/heading.min.js.map +1 -1
  95. package/dist/html-custom-data.json +223 -202
  96. package/dist/icon-button.js +2 -34
  97. package/dist/icon-button.js.map +1 -1
  98. package/dist/icon-button.min.js +1 -1
  99. package/dist/icon-button.min.js.map +1 -1
  100. package/dist/icon.js +1 -28
  101. package/dist/icon.js.map +1 -1
  102. package/dist/icon.min.js +1 -1
  103. package/dist/icon.min.js.map +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/index.min.js +7 -0
  106. package/dist/index.min.js.map +1 -0
  107. package/dist/list.js +17 -46
  108. package/dist/list.js.map +1 -1
  109. package/dist/list.min.js +1 -1
  110. package/dist/list.min.js.map +1 -1
  111. package/dist/loading-indicator.js +8 -31
  112. package/dist/loading-indicator.js.map +1 -1
  113. package/dist/loading-indicator.min.js +1 -1
  114. package/dist/loading-indicator.min.js.map +1 -1
  115. package/dist/menu.js +3 -47
  116. package/dist/menu.js.map +1 -1
  117. package/dist/menu.min.js +1 -1
  118. package/dist/menu.min.js.map +1 -1
  119. package/dist/nav-bar.js +3 -41
  120. package/dist/nav-bar.js.map +1 -1
  121. package/dist/nav-bar.min.js +1 -1
  122. package/dist/nav-bar.min.js.map +1 -1
  123. package/dist/nav-menu.js +2 -40
  124. package/dist/nav-menu.js.map +1 -1
  125. package/dist/nav-menu.min.js +1 -1
  126. package/dist/nav-menu.min.js.map +1 -1
  127. package/dist/nav-rail.js +1 -33
  128. package/dist/nav-rail.js.map +1 -1
  129. package/dist/nav-rail.min.js +1 -1
  130. package/dist/nav-rail.min.js.map +1 -1
  131. package/dist/option.js +3 -59
  132. package/dist/option.js.map +1 -1
  133. package/dist/option.min.js +1 -1
  134. package/dist/option.min.js.map +1 -1
  135. package/dist/paginator.js +2 -34
  136. package/dist/paginator.js.map +1 -1
  137. package/dist/paginator.min.js +2 -3
  138. package/dist/paginator.min.js.map +1 -1
  139. package/dist/progress-indicator.js +41 -63
  140. package/dist/progress-indicator.js.map +1 -1
  141. package/dist/progress-indicator.min.js +32 -32
  142. package/dist/progress-indicator.min.js.map +1 -1
  143. package/dist/radio-group.js +1 -39
  144. package/dist/radio-group.js.map +1 -1
  145. package/dist/radio-group.min.js +1 -1
  146. package/dist/radio-group.min.js.map +1 -1
  147. package/dist/segmented-button.js +2 -40
  148. package/dist/segmented-button.js.map +1 -1
  149. package/dist/segmented-button.min.js +1 -1
  150. package/dist/segmented-button.min.js.map +1 -1
  151. package/dist/select.js +16 -40
  152. package/dist/select.js.map +1 -1
  153. package/dist/select.min.js +1 -1
  154. package/dist/select.min.js.map +1 -1
  155. package/dist/shape.js +1 -28
  156. package/dist/shape.js.map +1 -1
  157. package/dist/shape.min.js +1 -1
  158. package/dist/shape.min.js.map +1 -1
  159. package/dist/slide-group.js +9 -42
  160. package/dist/slide-group.js.map +1 -1
  161. package/dist/slide-group.min.js +1 -1
  162. package/dist/slide-group.min.js.map +1 -1
  163. package/dist/slider.js +1 -39
  164. package/dist/slider.js.map +1 -1
  165. package/dist/slider.min.js +1 -1
  166. package/dist/slider.min.js.map +1 -1
  167. package/dist/snackbar.js +2 -40
  168. package/dist/snackbar.js.map +1 -1
  169. package/dist/snackbar.min.js +1 -1
  170. package/dist/snackbar.min.js.map +1 -1
  171. package/dist/split-button.js +1 -39
  172. package/dist/split-button.js.map +1 -1
  173. package/dist/split-button.min.js +1 -1
  174. package/dist/split-button.min.js.map +1 -1
  175. package/dist/src/autocomplete/AutocompleteElement.d.ts +6 -0
  176. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  177. package/dist/src/bottom-sheet/BottomSheetElement.d.ts +3 -3
  178. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  179. package/dist/src/card/CardElement.d.ts +1 -0
  180. package/dist/src/card/CardElement.d.ts.map +1 -1
  181. package/dist/src/card/styles/CardVariantToken.d.ts +1 -1
  182. package/dist/src/card/styles/CardVariantToken.d.ts.map +1 -1
  183. package/dist/src/core/anchoring/FloatingPanelElement.d.ts +6 -3
  184. package/dist/src/core/anchoring/FloatingPanelElement.d.ts.map +1 -1
  185. package/dist/src/core/anchoring/FloatingPanelScrollStrategy.d.ts +3 -0
  186. package/dist/src/core/anchoring/FloatingPanelScrollStrategy.d.ts.map +1 -0
  187. package/dist/src/core/anchoring/index.d.ts +1 -0
  188. package/dist/src/core/anchoring/index.d.ts.map +1 -1
  189. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
  190. package/dist/src/core/shared/mixins/ReconnectedCallback.d.ts +15 -0
  191. package/dist/src/core/shared/mixins/ReconnectedCallback.d.ts.map +1 -0
  192. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts +11 -0
  193. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts.map +1 -0
  194. package/dist/src/core/shared/mixins/index.d.ts +2 -0
  195. package/dist/src/core/shared/mixins/index.d.ts.map +1 -1
  196. package/dist/src/drawer-container/DrawerContainerElement.d.ts +4 -2
  197. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  198. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts +3 -1
  199. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
  200. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -3
  201. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  202. package/dist/src/form-field/FormFieldElement.d.ts +4 -2
  203. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  204. package/dist/src/list/ActionListElement.d.ts.map +1 -1
  205. package/dist/src/list/ListItemElement.d.ts +3 -1
  206. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  207. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts +3 -1
  208. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts.map +1 -1
  209. package/dist/src/menu/MenuElement.d.ts +1 -3
  210. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  211. package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
  212. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  213. package/dist/src/option/OptionPanelElement.d.ts +0 -4
  214. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  215. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts +2 -0
  216. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
  217. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts +2 -0
  218. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts.map +1 -1
  219. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts +1 -1
  220. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts.map +1 -1
  221. package/dist/src/select/SelectElement.d.ts +6 -0
  222. package/dist/src/select/SelectElement.d.ts.map +1 -1
  223. package/dist/src/slide-group/SlideGroupElement.d.ts +5 -1
  224. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  225. package/dist/src/stepper/StepperElement.d.ts +1 -1
  226. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  227. package/dist/src/toc/TocElement.d.ts +1 -1
  228. package/dist/src/toc/TocElement.d.ts.map +1 -1
  229. package/dist/src/tooltip/TooltipElementBase.d.ts +3 -1
  230. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
  231. package/dist/stepper.js +3 -41
  232. package/dist/stepper.js.map +1 -1
  233. package/dist/stepper.min.js +1 -1
  234. package/dist/stepper.min.js.map +1 -1
  235. package/dist/switch.js +1 -33
  236. package/dist/switch.js.map +1 -1
  237. package/dist/switch.min.js +1 -1
  238. package/dist/switch.min.js.map +1 -1
  239. package/dist/tabs.js +1 -39
  240. package/dist/tabs.js.map +1 -1
  241. package/dist/tabs.min.js +1 -1
  242. package/dist/tabs.min.js.map +1 -1
  243. package/dist/textarea-autosize.js +1 -39
  244. package/dist/textarea-autosize.js.map +1 -1
  245. package/dist/textarea-autosize.min.js +2 -3
  246. package/dist/textarea-autosize.min.js.map +1 -1
  247. package/dist/theme.js +1 -39
  248. package/dist/theme.js.map +1 -1
  249. package/dist/theme.min.js +19 -19
  250. package/dist/theme.min.js.map +1 -1
  251. package/dist/toc.js +4 -42
  252. package/dist/toc.js.map +1 -1
  253. package/dist/toc.min.js +1 -1
  254. package/dist/toc.min.js.map +1 -1
  255. package/dist/toolbar.js +1 -39
  256. package/dist/toolbar.js.map +1 -1
  257. package/dist/toolbar.min.js +1 -1
  258. package/dist/toolbar.min.js.map +1 -1
  259. package/dist/tooltip.js +15 -46
  260. package/dist/tooltip.js.map +1 -1
  261. package/dist/tooltip.min.js +1 -1
  262. package/dist/tooltip.min.js.map +1 -1
  263. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/switch/styles/SwitchToken.ts","../../src/switch/styles/SwitchHandleStyle.ts","../../src/switch/styles/SwitchIconStyle.ts","../../src/switch/styles/SwitchStateLayerStyle.ts","../../src/switch/styles/SwitchStyle.ts","../../src/switch/styles/SwitchTrackStyle.ts","../../src/switch/SwitchElement.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 { unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Component design tokens that control `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchToken = {\r\n selectedIconColor: unsafeCSS(`var(--m3e-switch-selected-icon-color, ${DesignToken.color.onPrimaryContainer})`),\r\n selectedIconSize: unsafeCSS(\"var(--m3e-switch-selected-icon-size, 1rem)\"),\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedIconSize: unsafeCSS(\"var(--m3e-switch-unselected-icon-size, 1rem)\"),\r\n trackHeight: unsafeCSS(\"var(--m3e-switch-track-height, 2rem)\"),\r\n trackWidth: unsafeCSS(\"var(--m3e-switch-track-width, 3.25rem)\"),\r\n trackOutlineColor: unsafeCSS(`var(--m3e-switch-track-outline-color, ${DesignToken.color.outline})`),\r\n trackOutlineWidth: unsafeCSS(\"var(--m3e-switch-track-outline-width, 2px)\"),\r\n trackShape: unsafeCSS(`var(--m3e-switch-track-shape, ${DesignToken.shape.corner.full})`),\r\n selectedTrackColor: unsafeCSS(`var(--m3e-switch-selected-track-color, ${DesignToken.color.primary})`),\r\n unselectedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedHandleHeight: unsafeCSS(\"var(--m3e-switch-unselected-handle-height, 1rem)\"),\r\n unselectedHandleWidth: unsafeCSS(\"var(--m3e-switch-unselected-handle-width, 1rem)\"),\r\n withIconHandleHeight: unsafeCSS(\"var(--m3e-switch-with-icon-handle-height, 1.5rem)\"),\r\n withIconHandleWidth: unsafeCSS(\"var(--m3e-switch-with-icon-handle-width, 1.5rem)\"),\r\n selectedHandleHeight: unsafeCSS(\"var(--m3e-switch-selected-handle-height, 1.5rem)\"),\r\n selectedHandleWidth: unsafeCSS(\"var(--m3e-switch-selected-handle-width, 1.5rem)\"),\r\n pressedHandleHeight: unsafeCSS(\"var(--m3e-switch-pressed-handle-height, 1.75rem)\"),\r\n pressedHandleWidth: unsafeCSS(\"var(--m3e-switch-pressed-handle-width, 1.75rem)\"),\r\n handleShape: unsafeCSS(`var(--m3e-switch-handle-shape, ${DesignToken.shape.corner.full})`),\r\n selectedHandleColor: unsafeCSS(`var(--m3e-switch-selected-handle-color, ${DesignToken.color.onPrimary})`),\r\n unselectedHandleColor: unsafeCSS(`var(--m3e-switch-unselected-handle-color, ${DesignToken.color.outline})`),\r\n stateLayerSize: unsafeCSS(\"var(--m3e-switch-state-layer-size, 2.5rem)\"),\r\n stateLayerShape: unsafeCSS(`var(--m3e-switch-state-layer-shape, ${DesignToken.shape.corner.full})`),\r\n disabledSelectedIconColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-selected-icon-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n disabledSelectedIconOpacity: unsafeCSS(\"var(--m3e-switch-disabled-selected-icon-opacity, 38%)\"),\r\n disabledUnselectedIconColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n disabledUnselectedIconOpacity: unsafeCSS(\"var(--m3e-switch-disabled-unselected-icon-opacity, 38%)\"),\r\n disabledTrackOpacity: unsafeCSS(\"var(--m3e-switch-disabled-track-opacity, 12%)\"),\r\n disabledSelectedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-selected-track-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n disabledUnselectedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n disabledUnselectedTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-track-outline-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n disabledUnselectedHandleOpacity: unsafeCSS(\"var(--m3e-switch-disabled-unselected-handle-opacity, 38%)\"),\r\n disabledSelectedHandleOpacity: unsafeCSS(\"var(--m3e-switch-disabled-selected-handle-opacity, 100%)\"),\r\n disabledSelectedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-selected-handle-color, ${DesignToken.color.surface})`,\r\n ),\r\n disabledUnselectedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-handle-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n selectedHoverIconColor: unsafeCSS(\r\n `var(--m3e-switch-selected-hover-icon-color, ${DesignToken.color.onPrimaryContainer})`,\r\n ),\r\n unselectedHoverIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n selectedHoverTrackColor: unsafeCSS(`var(--m3e-switch-selected-hover-track-color, ${DesignToken.color.primary})`),\r\n selectedHoverStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-selected-hover-state-layer-color, ${DesignToken.color.primary})`,\r\n ),\r\n selectedHoverStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-selected-hover-state-layer-opacity, 8%)\"),\r\n unselectedHoverTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedHoverTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-track-outline-color, ${DesignToken.color.outline})`,\r\n ),\r\n unselectedHoverStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-state-layer-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n unselectedHoverStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-unselected-hover-state-layer-opacity, 8%)\"),\r\n selectedHoverHandleColor: unsafeCSS(\r\n `var(--m3e-switch-selected-hover-handle-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedHoverHandleColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-handle-color, ${DesignToken.color.onSurfaceVariant})`,\r\n ),\r\n selectedFocusIconColor: unsafeCSS(\r\n `var(--m3e-switch-selected-focus-icon-color, ${DesignToken.color.onPrimaryContainer})`,\r\n ),\r\n unselectedFocusIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n selectedFocusTrackColor: unsafeCSS(`var(--m3e-switch-selected-focus-track-color, ${DesignToken.color.primary})`),\r\n selectedFocusStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-selected-focus-state-layer-color, ${DesignToken.color.primary})`,\r\n ),\r\n selectedFocusStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-selected-focus-state-layer-opacity, 10%)\"),\r\n unselectedFocusTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedFocusTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-track-outline-color, ${DesignToken.color.outline})`,\r\n ),\r\n unselectedFocusStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-state-layer-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n unselectedFocusStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-unselected-focus-state-layer-opacity, 10%)\"),\r\n selectedFocusHandleColor: unsafeCSS(\r\n `var(--m3e-switch-selected-focus-handle-color, ${DesignToken.color.primaryContainer})`,\r\n ),\r\n unselectedFocusHandleColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-handle-color, ${DesignToken.color.onSurfaceVariant})`,\r\n ),\r\n selectedPressedIconColor: unsafeCSS(\r\n `var(--m3e-switch-selected-pressed-icon-color, ${DesignToken.color.onPrimaryContainer})`,\r\n ),\r\n unselectedPressedIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n selectedPressedTrackColor: unsafeCSS(`var(--m3e-switch-selected-pressed-track-color, ${DesignToken.color.primary})`),\r\n selectedPressedStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-selected-pressed-state-layer-color, ${DesignToken.color.primary})`,\r\n ),\r\n selectedPressedStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-selected-pressed-state-layer-opacity, 10%)\"),\r\n unselectedPressedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedPressedTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-track-outline-color, ${DesignToken.color.outline})`,\r\n ),\r\n unselectedPressedStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-state-layer-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n unselectedPressedStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-unselected-pressed-state-layer-opacity, 10%)\"),\r\n selectedPressedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-selected-pressed-handle-color, ${DesignToken.color.primaryContainer})`,\r\n ),\r\n unselectedPressedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-handle-color, ${DesignToken.color.onSurfaceVariant})`,\r\n ),\r\n} as const;\r\n","import { css, unsafeCSS } from \"lit\";\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Handle styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchHandleStyle = css`\r\n .handle {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n pointer-events: none;\r\n transform-origin: center center;\r\n border-radius: ${SwitchToken.handleShape};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n transform var(--_switch-handle-effect),\r\n width ${DesignToken.motion.spring.fastEffects},\r\n height ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n .track:not(.pressed) .handle {\r\n --_switch-handle-effect: ${DesignToken.motion.spring.fastSpatial};\r\n }\r\n .track.pressed .handle {\r\n --_switch-handle-effect: ${DesignToken.motion.spring.fastEffects};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])[icons=\"both\"]) .track:not(.pressed) .handle {\r\n width: ${SwitchToken.withIconHandleWidth};\r\n height: ${SwitchToken.withIconHandleHeight};\r\n }\r\n :host(:not([checked]):not([icons=\"both\"])) .track:not(.pressed) .handle,\r\n :host([aria-disabled=\"true\"]:not([checked])) .handle {\r\n width: ${SwitchToken.unselectedHandleWidth};\r\n height: ${SwitchToken.unselectedHandleHeight};\r\n }\r\n :host([checked]) .track:not(.pressed) .handle {\r\n width: ${SwitchToken.selectedHandleWidth};\r\n height: ${SwitchToken.selectedHandleHeight};\r\n }\r\n .track.pressed .handle {\r\n width: ${SwitchToken.pressedHandleWidth};\r\n height: ${SwitchToken.pressedHandleHeight};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.unselectedHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.unselectedHoverHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.unselectedFocusHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .handle {\r\n background-color: ${SwitchToken.unselectedPressedHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.selectedHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.selectedHoverHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.selectedFocusHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .handle {\r\n background-color: ${SwitchToken.selectedPressedHandleColor};\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .handle {\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedHandleColor} ${SwitchToken.disabledUnselectedHandleOpacity},\r\n transparent\r\n );\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .handle {\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledSelectedHandleColor} ${SwitchToken.disabledSelectedHandleOpacity},\r\n transparent\r\n );\r\n }\r\n :host(:not(:dir(rtl))[checked]) .track:not(.pressed) .handle {\r\n transform: translateX(\r\n calc(${SwitchToken.trackWidth} - ${SwitchToken.selectedHandleWidth} - calc(${SwitchToken.trackOutlineWidth} * 2))\r\n );\r\n }\r\n :host(:dir(rtl)[checked]) .track:not(.pressed) .handle {\r\n transform: translateX(\r\n calc(\r\n 0px - calc(\r\n ${SwitchToken.trackWidth} - ${SwitchToken.selectedHandleWidth} - calc(${SwitchToken.trackOutlineWidth} * 2)\r\n )\r\n )\r\n );\r\n }\r\n :host(:not(:dir(rtl))[checked]) .track.pressed .handle {\r\n transform: translateX(\r\n calc(${SwitchToken.trackWidth} - ${SwitchToken.pressedHandleWidth} - ${SwitchToken.trackOutlineWidth})\r\n );\r\n }\r\n :host(:dir(rtl)[checked]) .track.pressed .handle {\r\n transform: translateX(\r\n calc(0px - calc(${SwitchToken.trackWidth} - ${SwitchToken.pressedHandleWidth} - ${SwitchToken.trackOutlineWidth}))\r\n );\r\n }\r\n :host(:not(:dir(rtl)):not([checked]):not([icons=\"both\"])) .track:not(.pressed) .handle,\r\n :host(:not(:dir(rtl))[aria-disabled=\"true\"]:not([checked])) .handle {\r\n transform: translateX(\r\n calc(\r\n ${SwitchToken.trackOutlineWidth} + calc(${SwitchToken.pressedHandleWidth} - ${SwitchToken.withIconHandleWidth})\r\n )\r\n );\r\n }\r\n :host(:dir(rtl):not([checked]):not([icons=\"both\"])) .track:not(.pressed) .handle,\r\n :host(:dir(rtl)[aria-disabled=\"true\"]:not([checked])) .handle {\r\n transform: translateX(\r\n calc(\r\n 0px - calc(\r\n ${SwitchToken.trackOutlineWidth} +\r\n calc(${SwitchToken.pressedHandleWidth} - ${SwitchToken.withIconHandleWidth})\r\n )\r\n )\r\n );\r\n }\r\n :host(:not(:dir(rtl)):not([aria-disabled=\"true\"]):not([checked])[icons=\"both\"]) .track:not(.pressed) .handle {\r\n transform: translateX(${SwitchToken.trackOutlineWidth});\r\n }\r\n :host(:dir(rtl):not([aria-disabled=\"true\"]):not([checked])[icons=\"both\"]) .track:not(.pressed) .handle {\r\n transform: translateX(calc(0px - ${SwitchToken.trackOutlineWidth}));\r\n }\r\n @media (forced-colors: active) {\r\n .handle {\r\n transition: ${unsafeCSS(\r\n `transform var(--_switch-handle-effect),\r\n width ${DesignToken.motion.spring.fastEffects},\r\n height ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .handle {\r\n background-color: ButtonText;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .handle {\r\n background-color: GrayText;\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .handle {\r\n background-color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .handle {\r\n background-color: Canvas;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, unsafeCSS } from \"lit\";\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Icon styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchIconStyle = css`\r\n :host([icons=\"none\"]) .icon,\r\n :host([icons=\"selected\"]:not([checked])) .icon,\r\n :host([aria-disabled=\"true\"]:not([checked])) .icon {\r\n display: none;\r\n }\r\n .icon {\r\n width: 1em;\r\n transition: ${unsafeCSS(`color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)};\r\n }\r\n :host(:not([checked])) .icon {\r\n font-size: ${SwitchToken.unselectedIconSize};\r\n }\r\n :host([checked]) .icon {\r\n font-size: ${SwitchToken.selectedIconSize};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.unselectedIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.unselectedHoverIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.unselectedFocusIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .icon {\r\n color: ${SwitchToken.unselectedPressedIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.selectedIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.selectedHoverIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.selectedFocusIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .icon {\r\n color: ${SwitchToken.selectedPressedIconColor};\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .icon {\r\n color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedIconColor} ${SwitchToken.disabledUnselectedIconOpacity},\r\n transparent\r\n );\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .icon {\r\n color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledSelectedIconColor} ${SwitchToken.disabledSelectedIconOpacity},\r\n transparent\r\n );\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .icon {\r\n color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .icon {\r\n color: CanvasText;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .icon {\r\n color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .icon {\r\n color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .icon {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * State layer styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchStateLayerStyle = css`\r\n .state-layer {\r\n width: ${SwitchToken.stateLayerSize};\r\n height: ${SwitchToken.stateLayerSize};\r\n border-radius: ${SwitchToken.stateLayerShape};\r\n transition: ${unsafeCSS(\r\n `top ${DesignToken.motion.spring.fastEffects},\r\n left ${DesignToken.motion.spring.fastEffects},\r\n right ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n :host(:not([checked])[icons=\"both\"]) .track:not(.pressed) .state-layer {\r\n inset-inline-start: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.withIconHandleWidth}) / 2));\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.withIconHandleHeight}) / 2));\r\n }\r\n :host(:not([checked]):not([icons=\"both\"])) .track:not(.pressed) .state-layer {\r\n inset-inline-start: calc(\r\n 0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.unselectedHandleWidth}) / 2)\r\n );\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.unselectedHandleHeight}) / 2));\r\n }\r\n :host([checked]) .track:not(.pressed) .state-layer {\r\n inset-inline-start: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.selectedHandleWidth}) / 2));\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.selectedHandleHeight}) / 2));\r\n }\r\n .track.pressed .state-layer {\r\n inset-inline-start: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.pressedHandleWidth}) / 2));\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.pressedHandleWidth}) / 2));\r\n }\r\n :host(:not([checked])) .state-layer {\r\n --m3e-state-layer-hover-color: ${SwitchToken.unselectedHoverStateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${SwitchToken.unselectedHoverStateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${SwitchToken.unselectedFocusStateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${SwitchToken.unselectedFocusStateLayerOpacity};\r\n }\r\n :host([checked]) .state-layer {\r\n --m3e-state-layer-hover-color: ${SwitchToken.selectedHoverStateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${SwitchToken.selectedHoverStateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${SwitchToken.selectedFocusStateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${SwitchToken.selectedFocusStateLayerOpacity};\r\n }\r\n`;\r\n","import { css } from \"lit\";\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Baseline styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchStyle = css`\r\n :host {\r\n display: inline-block;\r\n position: relative;\r\n outline: none;\r\n height: fit-content;\r\n width: fit-content;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not([aria-disabled=\"true\"])) {\r\n cursor: pointer;\r\n }\r\n .focus-ring {\r\n border-radius: ${SwitchToken.trackShape};\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n left: 0;\r\n right: 0;\r\n }\r\n .base {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n`;\r\n","import { css, unsafeCSS } from \"lit\";\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Track styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchTrackStyle = css`\r\n .track {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-radius: ${SwitchToken.trackShape};\r\n width: ${SwitchToken.trackWidth};\r\n height: ${SwitchToken.trackHeight};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host(:not([checked])) .track {\r\n border-width: ${SwitchToken.trackOutlineWidth};\r\n border-style: solid;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) {\r\n border-color: ${SwitchToken.trackOutlineColor};\r\n background-color: ${SwitchToken.unselectedTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) {\r\n border-color: ${SwitchToken.unselectedHoverTrackOutlineColor};\r\n background-color: ${SwitchToken.unselectedHoverTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) {\r\n border-color: ${SwitchToken.unselectedFocusTrackOutlineColor};\r\n background-color: ${SwitchToken.unselectedFocusTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed {\r\n border-color: ${SwitchToken.unselectedPressedTrackOutlineColor};\r\n background-color: ${SwitchToken.unselectedPressedTrackColor};\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .track {\r\n border-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedTrackOutlineColor} ${SwitchToken.disabledTrackOpacity},\r\n transparent\r\n );\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedTrackColor} ${SwitchToken.disabledTrackOpacity},\r\n transparent\r\n );\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) {\r\n background-color: ${SwitchToken.selectedTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) {\r\n background-color: ${SwitchToken.selectedHoverTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) {\r\n background-color: ${SwitchToken.selectedFocusTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed {\r\n background-color: ${SwitchToken.selectedPressedTrackColor};\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .track {\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledSelectedTrackColor} ${SwitchToken.disabledTrackOpacity},\r\n transparent\r\n );\r\n }\r\n @media (forced-colors: active) {\r\n .track {\r\n transition: none;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed {\r\n border-color: ButtonText;\r\n background-color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .track {\r\n border-color: GrayText;\r\n background-color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed {\r\n background-color: ButtonText;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .track {\r\n background-color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .track {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { CSSResultGroup, html, LitElement, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n Labelled,\r\n Checked,\r\n ConstraintValidation,\r\n Dirty,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n Touched,\r\n AttachInternals,\r\n Role,\r\n M3eFocusRingElement,\r\n M3eStateLayerElement,\r\n Focusable,\r\n KeyboardClick,\r\n PressedController,\r\n HoverController,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { SwitchHandleStyle, SwitchIconStyle, SwitchStateLayerStyle, SwitchStyle, SwitchTrackStyle } from \"./styles\";\r\n\r\nimport { SwitchIcons } from \"./SwitchIcons\";\r\n\r\n/**\r\n * An on/off control that can be toggled by clicking.\r\n *\r\n * @description\r\n * The `m3e-switch` component is a semantic, accessible toggle control that reflects a binary state.\r\n * Designed according to Material Design 3 guidelines, it supports shape transitions, and adaptive color\r\n * theming across selected, unselected, and disabled states. The component responds to user interaction\r\n * with smooth motion and expressive feedback. It supports optional icons (`none`, `selected`, or `both`)\r\n * and integrates with form-associated behavior, emitting `input` and `change` events when toggled.\r\n *\r\n * @example\r\n * The following example illustrates a switch wrapped by a `label`.\r\n *\r\n * ```html\r\n * <label>Switch label&nbsp;<m3e-switch></m3e-switch></label>\r\n * ```\r\n *\r\n * @example\r\n * By default, icons are not presented. Use the `icons` attribute to control which icons to show. The next\r\n * example illustrates showing both the unselected and selected icons.\r\n *\r\n * ```html\r\n * <label>Switch label&nbsp;<m3e-switch icons=\"both\"></m3e-switch></label>\r\n * ```\r\n *\r\n * @tag m3e-switch\r\n *\r\n * @attr checked - Whether the element is checked.\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr icons - The icons to present.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr value - A string representing the value of the switch.\r\n *\r\n * @fires input - Emitted when the checked state changes.\r\n * @fires change - Emitted when the checked state changes.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-switch-selected-icon-color - Color of the icon when the switch is selected.\r\n * @cssprop --m3e-switch-selected-icon-size - Size of the icon in the selected state.\r\n * @cssprop --m3e-switch-unselected-icon-color - Color of the icon when the switch is unselected.\r\n * @cssprop --m3e-switch-unselected-icon-size - Size of the icon in the unselected state.\r\n * @cssprop --m3e-switch-track-height - Height of the switch track.\r\n * @cssprop --m3e-switch-track-width - Width of the switch track.\r\n * @cssprop --m3e-switch-track-outline-color - Color of the track’s outline.\r\n * @cssprop --m3e-switch-track-outline-width - Thickness of the track’s outline.\r\n * @cssprop --m3e-switch-track-shape - Corner shape of the track.\r\n * @cssprop --m3e-switch-selected-track-color - Track color when selected.\r\n * @cssprop --m3e-switch-unselected-track-color - Track color when unselected.\r\n * @cssprop --m3e-switch-unselected-handle-height - Height of the handle when unselected.\r\n * @cssprop --m3e-switch-unselected-handle-width - Width of the handle when unselected.\r\n * @cssprop --m3e-switch-with-icon-handle-height - Height of the handle when icons are present.\r\n * @cssprop --m3e-switch-with-icon-handle-width - Width of the handle when icons are present.\r\n * @cssprop --m3e-switch-selected-handle-height - Height of the handle when selected.\r\n * @cssprop --m3e-switch-selected-handle-width - Width of the handle when selected.\r\n * @cssprop --m3e-switch-pressed-handle-height - Height of the handle during press.\r\n * @cssprop --m3e-switch-pressed-handle-width - Width of the handle during press.\r\n * @cssprop --m3e-switch-handle-shape - Corner shape of the handle.\r\n * @cssprop --m3e-switch-selected-handle-color - Handle color when selected.\r\n * @cssprop --m3e-switch-unselected-handle-color - Handle color when unselected.\r\n * @cssprop --m3e-switch-state-layer-size - Diameter of the state layer overlay.\r\n * @cssprop --m3e-switch-state-layer-shape - Corner shape of the state layer.\r\n * @cssprop --m3e-switch-disabled-selected-icon-color - Icon color when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-selected-icon-opacity - Icon opacity when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-icon-color - Icon color when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-icon-opacity - Icon opacity when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-track-opacity - Track opacity when disabled.\r\n * @cssprop --m3e-switch-disabled-selected-track-color - Track color when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-track-color - Track color when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-track-outline-color - Outline color when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-handle-opacity - Handle opacity when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-selected-handle-opacity - Handle opacity when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-selected-handle-color - Handle color when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-handle-color - Handle color when unselected and disabled.\r\n * @cssprop --m3e-switch-selected-hover-icon-color - Icon color when selected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-icon-color - Icon color when unselected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-track-color - Track color when selected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-state-layer-color - State layer color when selected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-state-layer-opacity - State layer opacity when selected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-track-color - Track color when unselected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-track-outline-color - Outline color when unselected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-state-layer-color - State layer color when unselected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-state-layer-opacity - State layer opacity when unselected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-handle-color - Handle color when selected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-handle-color - Handle color when unselected and hovered.\r\n * @cssprop --m3e-switch-selected-focus-icon-color - Icon color when selected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-icon-color - Icon color when unselected and focused.\r\n * @cssprop --m3e-switch-selected-focus-track-color - Track color when selected and focused.\r\n * @cssprop --m3e-switch-selected-focus-state-layer-color - State layer color when selected and focused.\r\n * @cssprop --m3e-switch-selected-focus-state-layer-opacity - State layer opacity when selected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-track-color - Track color when unselected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-track-outline-color - Outline color when unselected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-state-layer-color - State layer color when unselected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-state-layer-opacity - State layer opacity when unselected and focused.\r\n * @cssprop --m3e-switch-selected-focus-handle-color - Handle color when selected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-handle-color - Handle color when unselected and focused.\r\n * @cssprop --m3e-switch-selected-pressed-icon-color - Icon color when selected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-icon-color - Icon color when unselected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-track-color - Track color when selected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-state-layer-color - State layer color when selected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-state-layer-opacity - State layer opacity when selected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-track-color - Track color when unselected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-track-outline-color - Outline color when unselected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-state-layer-color - State layer color when unselected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-state-layer-opacity - State layer opacity when unselected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-handle-color - Handle color when selected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-handle-color - Handle color when unselected and pressed.\r\n */\r\n@customElement(\"m3e-switch\")\r\nexport class M3eSwitchElement extends Labelled(\r\n Dirty(\r\n Touched(\r\n ConstraintValidation(\r\n Checked(FormAssociated(KeyboardClick(Focusable(Disabled(AttachInternals(Role(LitElement, \"switch\"))))))),\r\n ),\r\n ),\r\n ),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n SwitchStyle,\r\n SwitchStateLayerStyle,\r\n SwitchTrackStyle,\r\n SwitchHandleStyle,\r\n SwitchIconStyle,\r\n ];\r\n\r\n /** @private */ @query(\".track\") private readonly _track?: HTMLElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n /** @private */ readonly #hoverController = new HoverController(this, {\r\n target: null,\r\n callback: (hovering) => {\r\n if (this.disabled) return;\r\n if (hovering) {\r\n this._stateLayer?.show(\"hover\");\r\n } else {\r\n this._stateLayer?.hide(\"hover\");\r\n }\r\n },\r\n });\r\n\r\n /** @private */ readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n callback: (pressed) => this._track?.classList.toggle(\"pressed\", pressed && !this.disabled),\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n callback: (pressed) => this._track?.classList.toggle(\"pressed\", pressed && !this.disabled),\r\n });\r\n }\r\n\r\n /**\r\n * The icons to present.\r\n * @default \"none\"\r\n */\r\n @property({ reflect: true }) icons: SwitchIcons = \"none\";\r\n\r\n /**\r\n * A string representing the value of the switch.\r\n * @default \"on\"\r\n */\r\n @property() value = \"on\";\r\n\r\n /** @inheritdoc @private */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.checked && !this.disabled ? this.value : null;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n for (const label of this.labels) {\r\n this.#hoverController.observe(label);\r\n this.#pressedController.observe(label);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n for (const label of this.labels) {\r\n this.#hoverController.unobserve(label);\r\n this.#pressedController.unobserve(label);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._focusRing, this._stateLayer].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<m3e-focus-ring class=\"focus-ring\"></m3e-focus-ring>\r\n <div class=\"track\" aria-hidden=\"true\">\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"handle\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <div class=\"base\">${this.#renderIcon()}</div>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n return this.checked\r\n ? html`<svg class=\"icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\"></path>\r\n </svg>`\r\n : html`<svg class=\"icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\r\n </svg>`;\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (e.defaultPrevented) return;\r\n this.checked = !this.checked;\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n } else {\r\n this.checked = !this.checked;\r\n }\r\n\r\n // Prevent default avoids double-click in FireFox.\r\n if (this.closest(\"label\")) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-switch\": M3eSwitchElement;\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","SuppressedError","error","suppressed","message","e","Error","name","SwitchToken","selectedIconColor","unsafeCSS","DesignToken","color","onPrimaryContainer","selectedIconSize","unselectedIconColor","surfaceContainerHighest","unselectedIconSize","trackHeight","trackWidth","trackOutlineColor","outline","trackOutlineWidth","trackShape","shape","corner","full","selectedTrackColor","primary","unselectedTrackColor","unselectedHandleHeight","unselectedHandleWidth","withIconHandleHeight","withIconHandleWidth","selectedHandleHeight","selectedHandleWidth","pressedHandleHeight","pressedHandleWidth","handleShape","selectedHandleColor","onPrimary","unselectedHandleColor","stateLayerSize","stateLayerShape","disabledSelectedIconColor","onSurface","disabledSelectedIconOpacity","disabledUnselectedIconColor","disabledUnselectedIconOpacity","disabledTrackOpacity","disabledSelectedTrackColor","disabledUnselectedTrackColor","disabledUnselectedTrackOutlineColor","disabledUnselectedHandleOpacity","disabledSelectedHandleOpacity","disabledSelectedHandleColor","surface","disabledUnselectedHandleColor","selectedHoverIconColor","unselectedHoverIconColor","selectedHoverTrackColor","selectedHoverStateLayerColor","selectedHoverStateLayerOpacity","unselectedHoverTrackColor","unselectedHoverTrackOutlineColor","unselectedHoverStateLayerColor","unselectedHoverStateLayerOpacity","selectedHoverHandleColor","unselectedHoverHandleColor","onSurfaceVariant","selectedFocusIconColor","unselectedFocusIconColor","selectedFocusTrackColor","selectedFocusStateLayerColor","selectedFocusStateLayerOpacity","unselectedFocusTrackColor","unselectedFocusTrackOutlineColor","unselectedFocusStateLayerColor","unselectedFocusStateLayerOpacity","selectedFocusHandleColor","primaryContainer","unselectedFocusHandleColor","selectedPressedIconColor","unselectedPressedIconColor","selectedPressedTrackColor","selectedPressedStateLayerColor","selectedPressedStateLayerOpacity","unselectedPressedTrackColor","unselectedPressedTrackOutlineColor","unselectedPressedStateLayerColor","unselectedPressedStateLayerOpacity","selectedPressedHandleColor","unselectedPressedHandleColor","SwitchHandleStyle","css","motion","duration","short4","easing","standard","spring","fastEffects","fastSpatial","SwitchIconStyle","SwitchStateLayerStyle","SwitchStyle","SwitchTrackStyle","M3eSwitchElement","Labelled","Dirty","Touched","ConstraintValidation","Checked","FormAssociated","KeyboardClick","Focusable","Disabled","AttachInternals","Role","LitElement","constructor","_M3eSwitchElement_clickHandler","set","_M3eSwitchElement_hoverController","HoverController","callback","hovering","disabled","_stateLayer","show","hide","_M3eSwitchElement_pressedController","PressedController","pressed","_track","classList","toggle","icons","isPressedKey","WeakMap","_M3eSwitchElement_instances","WeakSet","formValue","checked","connectedCallback","addEventListener","label","labels","observe","disconnectedCallback","removeEventListener","unobserve","firstUpdated","_changedProperties","_focusRing","forEach","x","attach","render","html","_M3eSwitchElement_renderIcon","defaultPrevented","dispatchEvent","Event","bubbles","composed","cancelable","closest","preventDefault","styles","query","prototype","property","reflect","customElement"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"switch.js","sources":["../../src/switch/styles/SwitchToken.ts","../../src/switch/styles/SwitchHandleStyle.ts","../../src/switch/styles/SwitchIconStyle.ts","../../src/switch/styles/SwitchStateLayerStyle.ts","../../src/switch/styles/SwitchStyle.ts","../../src/switch/styles/SwitchTrackStyle.ts","../../src/switch/SwitchElement.ts"],"sourcesContent":["import { unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Component design tokens that control `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchToken = {\r\n selectedIconColor: unsafeCSS(`var(--m3e-switch-selected-icon-color, ${DesignToken.color.onPrimaryContainer})`),\r\n selectedIconSize: unsafeCSS(\"var(--m3e-switch-selected-icon-size, 1rem)\"),\r\n unselectedIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedIconSize: unsafeCSS(\"var(--m3e-switch-unselected-icon-size, 1rem)\"),\r\n trackHeight: unsafeCSS(\"var(--m3e-switch-track-height, 2rem)\"),\r\n trackWidth: unsafeCSS(\"var(--m3e-switch-track-width, 3.25rem)\"),\r\n trackOutlineColor: unsafeCSS(`var(--m3e-switch-track-outline-color, ${DesignToken.color.outline})`),\r\n trackOutlineWidth: unsafeCSS(\"var(--m3e-switch-track-outline-width, 2px)\"),\r\n trackShape: unsafeCSS(`var(--m3e-switch-track-shape, ${DesignToken.shape.corner.full})`),\r\n selectedTrackColor: unsafeCSS(`var(--m3e-switch-selected-track-color, ${DesignToken.color.primary})`),\r\n unselectedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedHandleHeight: unsafeCSS(\"var(--m3e-switch-unselected-handle-height, 1rem)\"),\r\n unselectedHandleWidth: unsafeCSS(\"var(--m3e-switch-unselected-handle-width, 1rem)\"),\r\n withIconHandleHeight: unsafeCSS(\"var(--m3e-switch-with-icon-handle-height, 1.5rem)\"),\r\n withIconHandleWidth: unsafeCSS(\"var(--m3e-switch-with-icon-handle-width, 1.5rem)\"),\r\n selectedHandleHeight: unsafeCSS(\"var(--m3e-switch-selected-handle-height, 1.5rem)\"),\r\n selectedHandleWidth: unsafeCSS(\"var(--m3e-switch-selected-handle-width, 1.5rem)\"),\r\n pressedHandleHeight: unsafeCSS(\"var(--m3e-switch-pressed-handle-height, 1.75rem)\"),\r\n pressedHandleWidth: unsafeCSS(\"var(--m3e-switch-pressed-handle-width, 1.75rem)\"),\r\n handleShape: unsafeCSS(`var(--m3e-switch-handle-shape, ${DesignToken.shape.corner.full})`),\r\n selectedHandleColor: unsafeCSS(`var(--m3e-switch-selected-handle-color, ${DesignToken.color.onPrimary})`),\r\n unselectedHandleColor: unsafeCSS(`var(--m3e-switch-unselected-handle-color, ${DesignToken.color.outline})`),\r\n stateLayerSize: unsafeCSS(\"var(--m3e-switch-state-layer-size, 2.5rem)\"),\r\n stateLayerShape: unsafeCSS(`var(--m3e-switch-state-layer-shape, ${DesignToken.shape.corner.full})`),\r\n disabledSelectedIconColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-selected-icon-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n disabledSelectedIconOpacity: unsafeCSS(\"var(--m3e-switch-disabled-selected-icon-opacity, 38%)\"),\r\n disabledUnselectedIconColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n disabledUnselectedIconOpacity: unsafeCSS(\"var(--m3e-switch-disabled-unselected-icon-opacity, 38%)\"),\r\n disabledTrackOpacity: unsafeCSS(\"var(--m3e-switch-disabled-track-opacity, 12%)\"),\r\n disabledSelectedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-selected-track-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n disabledUnselectedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n disabledUnselectedTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-track-outline-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n disabledUnselectedHandleOpacity: unsafeCSS(\"var(--m3e-switch-disabled-unselected-handle-opacity, 38%)\"),\r\n disabledSelectedHandleOpacity: unsafeCSS(\"var(--m3e-switch-disabled-selected-handle-opacity, 100%)\"),\r\n disabledSelectedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-selected-handle-color, ${DesignToken.color.surface})`,\r\n ),\r\n disabledUnselectedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-disabled-unselected-handle-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n selectedHoverIconColor: unsafeCSS(\r\n `var(--m3e-switch-selected-hover-icon-color, ${DesignToken.color.onPrimaryContainer})`,\r\n ),\r\n unselectedHoverIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n selectedHoverTrackColor: unsafeCSS(`var(--m3e-switch-selected-hover-track-color, ${DesignToken.color.primary})`),\r\n selectedHoverStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-selected-hover-state-layer-color, ${DesignToken.color.primary})`,\r\n ),\r\n selectedHoverStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-selected-hover-state-layer-opacity, 8%)\"),\r\n unselectedHoverTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedHoverTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-track-outline-color, ${DesignToken.color.outline})`,\r\n ),\r\n unselectedHoverStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-state-layer-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n unselectedHoverStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-unselected-hover-state-layer-opacity, 8%)\"),\r\n selectedHoverHandleColor: unsafeCSS(\r\n `var(--m3e-switch-selected-hover-handle-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedHoverHandleColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-hover-handle-color, ${DesignToken.color.onSurfaceVariant})`,\r\n ),\r\n selectedFocusIconColor: unsafeCSS(\r\n `var(--m3e-switch-selected-focus-icon-color, ${DesignToken.color.onPrimaryContainer})`,\r\n ),\r\n unselectedFocusIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n selectedFocusTrackColor: unsafeCSS(`var(--m3e-switch-selected-focus-track-color, ${DesignToken.color.primary})`),\r\n selectedFocusStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-selected-focus-state-layer-color, ${DesignToken.color.primary})`,\r\n ),\r\n selectedFocusStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-selected-focus-state-layer-opacity, 10%)\"),\r\n unselectedFocusTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedFocusTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-track-outline-color, ${DesignToken.color.outline})`,\r\n ),\r\n unselectedFocusStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-state-layer-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n unselectedFocusStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-unselected-focus-state-layer-opacity, 10%)\"),\r\n selectedFocusHandleColor: unsafeCSS(\r\n `var(--m3e-switch-selected-focus-handle-color, ${DesignToken.color.primaryContainer})`,\r\n ),\r\n unselectedFocusHandleColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-focus-handle-color, ${DesignToken.color.onSurfaceVariant})`,\r\n ),\r\n selectedPressedIconColor: unsafeCSS(\r\n `var(--m3e-switch-selected-pressed-icon-color, ${DesignToken.color.onPrimaryContainer})`,\r\n ),\r\n unselectedPressedIconColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-icon-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n selectedPressedTrackColor: unsafeCSS(`var(--m3e-switch-selected-pressed-track-color, ${DesignToken.color.primary})`),\r\n selectedPressedStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-selected-pressed-state-layer-color, ${DesignToken.color.primary})`,\r\n ),\r\n selectedPressedStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-selected-pressed-state-layer-opacity, 10%)\"),\r\n unselectedPressedTrackColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-track-color, ${DesignToken.color.surfaceContainerHighest})`,\r\n ),\r\n unselectedPressedTrackOutlineColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-track-outline-color, ${DesignToken.color.outline})`,\r\n ),\r\n unselectedPressedStateLayerColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-state-layer-color, ${DesignToken.color.onSurface})`,\r\n ),\r\n unselectedPressedStateLayerOpacity: unsafeCSS(\"var(--m3e-switch-unselected-pressed-state-layer-opacity, 10%)\"),\r\n selectedPressedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-selected-pressed-handle-color, ${DesignToken.color.primaryContainer})`,\r\n ),\r\n unselectedPressedHandleColor: unsafeCSS(\r\n `var(--m3e-switch-unselected-pressed-handle-color, ${DesignToken.color.onSurfaceVariant})`,\r\n ),\r\n} as const;\r\n","import { css, unsafeCSS } from \"lit\";\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Handle styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchHandleStyle = css`\r\n .handle {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n pointer-events: none;\r\n transform-origin: center center;\r\n border-radius: ${SwitchToken.handleShape};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n transform var(--_switch-handle-effect),\r\n width ${DesignToken.motion.spring.fastEffects},\r\n height ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n .track:not(.pressed) .handle {\r\n --_switch-handle-effect: ${DesignToken.motion.spring.fastSpatial};\r\n }\r\n .track.pressed .handle {\r\n --_switch-handle-effect: ${DesignToken.motion.spring.fastEffects};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])[icons=\"both\"]) .track:not(.pressed) .handle {\r\n width: ${SwitchToken.withIconHandleWidth};\r\n height: ${SwitchToken.withIconHandleHeight};\r\n }\r\n :host(:not([checked]):not([icons=\"both\"])) .track:not(.pressed) .handle,\r\n :host([aria-disabled=\"true\"]:not([checked])) .handle {\r\n width: ${SwitchToken.unselectedHandleWidth};\r\n height: ${SwitchToken.unselectedHandleHeight};\r\n }\r\n :host([checked]) .track:not(.pressed) .handle {\r\n width: ${SwitchToken.selectedHandleWidth};\r\n height: ${SwitchToken.selectedHandleHeight};\r\n }\r\n .track.pressed .handle {\r\n width: ${SwitchToken.pressedHandleWidth};\r\n height: ${SwitchToken.pressedHandleHeight};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.unselectedHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.unselectedHoverHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.unselectedFocusHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .handle {\r\n background-color: ${SwitchToken.unselectedPressedHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.selectedHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.selectedHoverHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .handle {\r\n background-color: ${SwitchToken.selectedFocusHandleColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .handle {\r\n background-color: ${SwitchToken.selectedPressedHandleColor};\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .handle {\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedHandleColor} ${SwitchToken.disabledUnselectedHandleOpacity},\r\n transparent\r\n );\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .handle {\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledSelectedHandleColor} ${SwitchToken.disabledSelectedHandleOpacity},\r\n transparent\r\n );\r\n }\r\n :host(:not(:dir(rtl))[checked]) .track:not(.pressed) .handle {\r\n transform: translateX(\r\n calc(${SwitchToken.trackWidth} - ${SwitchToken.selectedHandleWidth} - calc(${SwitchToken.trackOutlineWidth} * 2))\r\n );\r\n }\r\n :host(:dir(rtl)[checked]) .track:not(.pressed) .handle {\r\n transform: translateX(\r\n calc(\r\n 0px - calc(\r\n ${SwitchToken.trackWidth} - ${SwitchToken.selectedHandleWidth} - calc(${SwitchToken.trackOutlineWidth} * 2)\r\n )\r\n )\r\n );\r\n }\r\n :host(:not(:dir(rtl))[checked]) .track.pressed .handle {\r\n transform: translateX(\r\n calc(${SwitchToken.trackWidth} - ${SwitchToken.pressedHandleWidth} - ${SwitchToken.trackOutlineWidth})\r\n );\r\n }\r\n :host(:dir(rtl)[checked]) .track.pressed .handle {\r\n transform: translateX(\r\n calc(0px - calc(${SwitchToken.trackWidth} - ${SwitchToken.pressedHandleWidth} - ${SwitchToken.trackOutlineWidth}))\r\n );\r\n }\r\n :host(:not(:dir(rtl)):not([checked]):not([icons=\"both\"])) .track:not(.pressed) .handle,\r\n :host(:not(:dir(rtl))[aria-disabled=\"true\"]:not([checked])) .handle {\r\n transform: translateX(\r\n calc(\r\n ${SwitchToken.trackOutlineWidth} + calc(${SwitchToken.pressedHandleWidth} - ${SwitchToken.withIconHandleWidth})\r\n )\r\n );\r\n }\r\n :host(:dir(rtl):not([checked]):not([icons=\"both\"])) .track:not(.pressed) .handle,\r\n :host(:dir(rtl)[aria-disabled=\"true\"]:not([checked])) .handle {\r\n transform: translateX(\r\n calc(\r\n 0px - calc(\r\n ${SwitchToken.trackOutlineWidth} +\r\n calc(${SwitchToken.pressedHandleWidth} - ${SwitchToken.withIconHandleWidth})\r\n )\r\n )\r\n );\r\n }\r\n :host(:not(:dir(rtl)):not([aria-disabled=\"true\"]):not([checked])[icons=\"both\"]) .track:not(.pressed) .handle {\r\n transform: translateX(${SwitchToken.trackOutlineWidth});\r\n }\r\n :host(:dir(rtl):not([aria-disabled=\"true\"]):not([checked])[icons=\"both\"]) .track:not(.pressed) .handle {\r\n transform: translateX(calc(0px - ${SwitchToken.trackOutlineWidth}));\r\n }\r\n @media (forced-colors: active) {\r\n .handle {\r\n transition: ${unsafeCSS(\r\n `transform var(--_switch-handle-effect),\r\n width ${DesignToken.motion.spring.fastEffects},\r\n height ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .handle {\r\n background-color: ButtonText;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .handle {\r\n background-color: GrayText;\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .handle,\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .handle {\r\n background-color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .handle {\r\n background-color: Canvas;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .handle {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, unsafeCSS } from \"lit\";\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Icon styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchIconStyle = css`\r\n :host([icons=\"none\"]) .icon,\r\n :host([icons=\"selected\"]:not([checked])) .icon,\r\n :host([aria-disabled=\"true\"]:not([checked])) .icon {\r\n display: none;\r\n }\r\n .icon {\r\n width: 1em;\r\n transition: ${unsafeCSS(`color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)};\r\n }\r\n :host(:not([checked])) .icon {\r\n font-size: ${SwitchToken.unselectedIconSize};\r\n }\r\n :host([checked]) .icon {\r\n font-size: ${SwitchToken.selectedIconSize};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.unselectedIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.unselectedHoverIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.unselectedFocusIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .icon {\r\n color: ${SwitchToken.unselectedPressedIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.selectedIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.selectedHoverIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .icon {\r\n color: ${SwitchToken.selectedFocusIconColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .icon {\r\n color: ${SwitchToken.selectedPressedIconColor};\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .icon {\r\n color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedIconColor} ${SwitchToken.disabledUnselectedIconOpacity},\r\n transparent\r\n );\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .icon {\r\n color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledSelectedIconColor} ${SwitchToken.disabledSelectedIconOpacity},\r\n transparent\r\n );\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed .icon {\r\n color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) .icon,\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed .icon {\r\n color: CanvasText;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .icon {\r\n color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .icon {\r\n color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .icon {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * State layer styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchStateLayerStyle = css`\r\n .state-layer {\r\n width: ${SwitchToken.stateLayerSize};\r\n height: ${SwitchToken.stateLayerSize};\r\n border-radius: ${SwitchToken.stateLayerShape};\r\n transition: ${unsafeCSS(\r\n `top ${DesignToken.motion.spring.fastEffects},\r\n left ${DesignToken.motion.spring.fastEffects},\r\n right ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n :host(:not([checked])[icons=\"both\"]) .track:not(.pressed) .state-layer {\r\n inset-inline-start: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.withIconHandleWidth}) / 2));\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.withIconHandleHeight}) / 2));\r\n }\r\n :host(:not([checked]):not([icons=\"both\"])) .track:not(.pressed) .state-layer {\r\n inset-inline-start: calc(\r\n 0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.unselectedHandleWidth}) / 2)\r\n );\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.unselectedHandleHeight}) / 2));\r\n }\r\n :host([checked]) .track:not(.pressed) .state-layer {\r\n inset-inline-start: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.selectedHandleWidth}) / 2));\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.selectedHandleHeight}) / 2));\r\n }\r\n .track.pressed .state-layer {\r\n inset-inline-start: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.pressedHandleWidth}) / 2));\r\n top: calc(0px - calc(calc(${SwitchToken.stateLayerSize} - ${SwitchToken.pressedHandleWidth}) / 2));\r\n }\r\n :host(:not([checked])) .state-layer {\r\n --m3e-state-layer-hover-color: ${SwitchToken.unselectedHoverStateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${SwitchToken.unselectedHoverStateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${SwitchToken.unselectedFocusStateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${SwitchToken.unselectedFocusStateLayerOpacity};\r\n }\r\n :host([checked]) .state-layer {\r\n --m3e-state-layer-hover-color: ${SwitchToken.selectedHoverStateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${SwitchToken.selectedHoverStateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${SwitchToken.selectedFocusStateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${SwitchToken.selectedFocusStateLayerOpacity};\r\n }\r\n`;\r\n","import { css } from \"lit\";\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Baseline styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchStyle = css`\r\n :host {\r\n display: inline-block;\r\n position: relative;\r\n outline: none;\r\n height: fit-content;\r\n width: fit-content;\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not([aria-disabled=\"true\"])) {\r\n cursor: pointer;\r\n }\r\n .focus-ring {\r\n border-radius: ${SwitchToken.trackShape};\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n left: 0;\r\n right: 0;\r\n }\r\n .base {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n`;\r\n","import { css, unsafeCSS } from \"lit\";\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { SwitchToken } from \"./SwitchToken\";\r\n\r\n/**\r\n * Track styles for `M3eSwitchElement`.\r\n * @internal\r\n */\r\nexport const SwitchTrackStyle = css`\r\n .track {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-radius: ${SwitchToken.trackShape};\r\n width: ${SwitchToken.trackWidth};\r\n height: ${SwitchToken.trackHeight};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host(:not([checked])) .track {\r\n border-width: ${SwitchToken.trackOutlineWidth};\r\n border-style: solid;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) {\r\n border-color: ${SwitchToken.trackOutlineColor};\r\n background-color: ${SwitchToken.unselectedTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed) {\r\n border-color: ${SwitchToken.unselectedHoverTrackOutlineColor};\r\n background-color: ${SwitchToken.unselectedHoverTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed) {\r\n border-color: ${SwitchToken.unselectedFocusTrackOutlineColor};\r\n background-color: ${SwitchToken.unselectedFocusTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed {\r\n border-color: ${SwitchToken.unselectedPressedTrackOutlineColor};\r\n background-color: ${SwitchToken.unselectedPressedTrackColor};\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .track {\r\n border-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedTrackOutlineColor} ${SwitchToken.disabledTrackOpacity},\r\n transparent\r\n );\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledUnselectedTrackColor} ${SwitchToken.disabledTrackOpacity},\r\n transparent\r\n );\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) {\r\n background-color: ${SwitchToken.selectedTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed) {\r\n background-color: ${SwitchToken.selectedHoverTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed) {\r\n background-color: ${SwitchToken.selectedFocusTrackColor};\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed {\r\n background-color: ${SwitchToken.selectedPressedTrackColor};\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .track {\r\n background-color: color-mix(\r\n in srgb,\r\n ${SwitchToken.disabledSelectedTrackColor} ${SwitchToken.disabledTrackOpacity},\r\n transparent\r\n );\r\n }\r\n @media (forced-colors: active) {\r\n .track {\r\n transition: none;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):not(:focus):hover) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"]):not([checked]):focus) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"]):not([checked])) .track.pressed {\r\n border-color: ButtonText;\r\n background-color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked])) .track {\r\n border-color: GrayText;\r\n background-color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):not(:hover)) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"])[checked]:not(:focus):hover) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"])[checked]:focus) .track:not(.pressed),\r\n :host(:not([aria-disabled=\"true\"])[checked]) .track.pressed {\r\n background-color: ButtonText;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .track {\r\n background-color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .track {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { CSSResultGroup, html, LitElement, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n Labelled,\r\n Checked,\r\n ConstraintValidation,\r\n Dirty,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n Touched,\r\n AttachInternals,\r\n Role,\r\n M3eFocusRingElement,\r\n M3eStateLayerElement,\r\n Focusable,\r\n KeyboardClick,\r\n PressedController,\r\n HoverController,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { SwitchHandleStyle, SwitchIconStyle, SwitchStateLayerStyle, SwitchStyle, SwitchTrackStyle } from \"./styles\";\r\n\r\nimport { SwitchIcons } from \"./SwitchIcons\";\r\n\r\n/**\r\n * An on/off control that can be toggled by clicking.\r\n *\r\n * @description\r\n * The `m3e-switch` component is a semantic, accessible toggle control that reflects a binary state.\r\n * Designed according to Material Design 3 guidelines, it supports shape transitions, and adaptive color\r\n * theming across selected, unselected, and disabled states. The component responds to user interaction\r\n * with smooth motion and expressive feedback. It supports optional icons (`none`, `selected`, or `both`)\r\n * and integrates with form-associated behavior, emitting `input` and `change` events when toggled.\r\n *\r\n * @example\r\n * The following example illustrates a switch wrapped by a `label`.\r\n *\r\n * ```html\r\n * <label>Switch label&nbsp;<m3e-switch></m3e-switch></label>\r\n * ```\r\n *\r\n * @example\r\n * By default, icons are not presented. Use the `icons` attribute to control which icons to show. The next\r\n * example illustrates showing both the unselected and selected icons.\r\n *\r\n * ```html\r\n * <label>Switch label&nbsp;<m3e-switch icons=\"both\"></m3e-switch></label>\r\n * ```\r\n *\r\n * @tag m3e-switch\r\n *\r\n * @attr checked - Whether the element is checked.\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr icons - The icons to present.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr value - A string representing the value of the switch.\r\n *\r\n * @fires input - Emitted when the checked state changes.\r\n * @fires change - Emitted when the checked state changes.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-switch-selected-icon-color - Color of the icon when the switch is selected.\r\n * @cssprop --m3e-switch-selected-icon-size - Size of the icon in the selected state.\r\n * @cssprop --m3e-switch-unselected-icon-color - Color of the icon when the switch is unselected.\r\n * @cssprop --m3e-switch-unselected-icon-size - Size of the icon in the unselected state.\r\n * @cssprop --m3e-switch-track-height - Height of the switch track.\r\n * @cssprop --m3e-switch-track-width - Width of the switch track.\r\n * @cssprop --m3e-switch-track-outline-color - Color of the track’s outline.\r\n * @cssprop --m3e-switch-track-outline-width - Thickness of the track’s outline.\r\n * @cssprop --m3e-switch-track-shape - Corner shape of the track.\r\n * @cssprop --m3e-switch-selected-track-color - Track color when selected.\r\n * @cssprop --m3e-switch-unselected-track-color - Track color when unselected.\r\n * @cssprop --m3e-switch-unselected-handle-height - Height of the handle when unselected.\r\n * @cssprop --m3e-switch-unselected-handle-width - Width of the handle when unselected.\r\n * @cssprop --m3e-switch-with-icon-handle-height - Height of the handle when icons are present.\r\n * @cssprop --m3e-switch-with-icon-handle-width - Width of the handle when icons are present.\r\n * @cssprop --m3e-switch-selected-handle-height - Height of the handle when selected.\r\n * @cssprop --m3e-switch-selected-handle-width - Width of the handle when selected.\r\n * @cssprop --m3e-switch-pressed-handle-height - Height of the handle during press.\r\n * @cssprop --m3e-switch-pressed-handle-width - Width of the handle during press.\r\n * @cssprop --m3e-switch-handle-shape - Corner shape of the handle.\r\n * @cssprop --m3e-switch-selected-handle-color - Handle color when selected.\r\n * @cssprop --m3e-switch-unselected-handle-color - Handle color when unselected.\r\n * @cssprop --m3e-switch-state-layer-size - Diameter of the state layer overlay.\r\n * @cssprop --m3e-switch-state-layer-shape - Corner shape of the state layer.\r\n * @cssprop --m3e-switch-disabled-selected-icon-color - Icon color when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-selected-icon-opacity - Icon opacity when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-icon-color - Icon color when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-icon-opacity - Icon opacity when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-track-opacity - Track opacity when disabled.\r\n * @cssprop --m3e-switch-disabled-selected-track-color - Track color when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-track-color - Track color when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-track-outline-color - Outline color when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-handle-opacity - Handle opacity when unselected and disabled.\r\n * @cssprop --m3e-switch-disabled-selected-handle-opacity - Handle opacity when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-selected-handle-color - Handle color when selected and disabled.\r\n * @cssprop --m3e-switch-disabled-unselected-handle-color - Handle color when unselected and disabled.\r\n * @cssprop --m3e-switch-selected-hover-icon-color - Icon color when selected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-icon-color - Icon color when unselected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-track-color - Track color when selected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-state-layer-color - State layer color when selected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-state-layer-opacity - State layer opacity when selected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-track-color - Track color when unselected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-track-outline-color - Outline color when unselected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-state-layer-color - State layer color when unselected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-state-layer-opacity - State layer opacity when unselected and hovered.\r\n * @cssprop --m3e-switch-selected-hover-handle-color - Handle color when selected and hovered.\r\n * @cssprop --m3e-switch-unselected-hover-handle-color - Handle color when unselected and hovered.\r\n * @cssprop --m3e-switch-selected-focus-icon-color - Icon color when selected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-icon-color - Icon color when unselected and focused.\r\n * @cssprop --m3e-switch-selected-focus-track-color - Track color when selected and focused.\r\n * @cssprop --m3e-switch-selected-focus-state-layer-color - State layer color when selected and focused.\r\n * @cssprop --m3e-switch-selected-focus-state-layer-opacity - State layer opacity when selected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-track-color - Track color when unselected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-track-outline-color - Outline color when unselected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-state-layer-color - State layer color when unselected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-state-layer-opacity - State layer opacity when unselected and focused.\r\n * @cssprop --m3e-switch-selected-focus-handle-color - Handle color when selected and focused.\r\n * @cssprop --m3e-switch-unselected-focus-handle-color - Handle color when unselected and focused.\r\n * @cssprop --m3e-switch-selected-pressed-icon-color - Icon color when selected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-icon-color - Icon color when unselected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-track-color - Track color when selected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-state-layer-color - State layer color when selected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-state-layer-opacity - State layer opacity when selected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-track-color - Track color when unselected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-track-outline-color - Outline color when unselected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-state-layer-color - State layer color when unselected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-state-layer-opacity - State layer opacity when unselected and pressed.\r\n * @cssprop --m3e-switch-selected-pressed-handle-color - Handle color when selected and pressed.\r\n * @cssprop --m3e-switch-unselected-pressed-handle-color - Handle color when unselected and pressed.\r\n */\r\n@customElement(\"m3e-switch\")\r\nexport class M3eSwitchElement extends Labelled(\r\n Dirty(\r\n Touched(\r\n ConstraintValidation(\r\n Checked(FormAssociated(KeyboardClick(Focusable(Disabled(AttachInternals(Role(LitElement, \"switch\"))))))),\r\n ),\r\n ),\r\n ),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n SwitchStyle,\r\n SwitchStateLayerStyle,\r\n SwitchTrackStyle,\r\n SwitchHandleStyle,\r\n SwitchIconStyle,\r\n ];\r\n\r\n /** @private */ @query(\".track\") private readonly _track?: HTMLElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n /** @private */ readonly #hoverController = new HoverController(this, {\r\n target: null,\r\n callback: (hovering) => {\r\n if (this.disabled) return;\r\n if (hovering) {\r\n this._stateLayer?.show(\"hover\");\r\n } else {\r\n this._stateLayer?.hide(\"hover\");\r\n }\r\n },\r\n });\r\n\r\n /** @private */ readonly #pressedController = new PressedController(this, {\r\n target: null,\r\n callback: (pressed) => this._track?.classList.toggle(\"pressed\", pressed && !this.disabled),\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n callback: (pressed) => this._track?.classList.toggle(\"pressed\", pressed && !this.disabled),\r\n });\r\n }\r\n\r\n /**\r\n * The icons to present.\r\n * @default \"none\"\r\n */\r\n @property({ reflect: true }) icons: SwitchIcons = \"none\";\r\n\r\n /**\r\n * A string representing the value of the switch.\r\n * @default \"on\"\r\n */\r\n @property() value = \"on\";\r\n\r\n /** @inheritdoc @private */\r\n override get [formValue](): string | File | FormData | null {\r\n return this.checked && !this.disabled ? this.value : null;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n for (const label of this.labels) {\r\n this.#hoverController.observe(label);\r\n this.#pressedController.observe(label);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n for (const label of this.labels) {\r\n this.#hoverController.unobserve(label);\r\n this.#pressedController.unobserve(label);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._focusRing, this._stateLayer].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<m3e-focus-ring class=\"focus-ring\"></m3e-focus-ring>\r\n <div class=\"track\" aria-hidden=\"true\">\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"handle\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <div class=\"base\">${this.#renderIcon()}</div>\r\n </div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n return this.checked\r\n ? html`<svg class=\"icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\"></path>\r\n </svg>`\r\n : html`<svg class=\"icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\r\n </svg>`;\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (e.defaultPrevented) return;\r\n this.checked = !this.checked;\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n } else {\r\n this.checked = !this.checked;\r\n }\r\n\r\n // Prevent default avoids double-click in FireFox.\r\n if (this.closest(\"label\")) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-switch\": M3eSwitchElement;\r\n }\r\n}\r\n"],"names":["SwitchToken","selectedIconColor","unsafeCSS","DesignToken","color","onPrimaryContainer","selectedIconSize","unselectedIconColor","surfaceContainerHighest","unselectedIconSize","trackHeight","trackWidth","trackOutlineColor","outline","trackOutlineWidth","trackShape","shape","corner","full","selectedTrackColor","primary","unselectedTrackColor","unselectedHandleHeight","unselectedHandleWidth","withIconHandleHeight","withIconHandleWidth","selectedHandleHeight","selectedHandleWidth","pressedHandleHeight","pressedHandleWidth","handleShape","selectedHandleColor","onPrimary","unselectedHandleColor","stateLayerSize","stateLayerShape","disabledSelectedIconColor","onSurface","disabledSelectedIconOpacity","disabledUnselectedIconColor","disabledUnselectedIconOpacity","disabledTrackOpacity","disabledSelectedTrackColor","disabledUnselectedTrackColor","disabledUnselectedTrackOutlineColor","disabledUnselectedHandleOpacity","disabledSelectedHandleOpacity","disabledSelectedHandleColor","surface","disabledUnselectedHandleColor","selectedHoverIconColor","unselectedHoverIconColor","selectedHoverTrackColor","selectedHoverStateLayerColor","selectedHoverStateLayerOpacity","unselectedHoverTrackColor","unselectedHoverTrackOutlineColor","unselectedHoverStateLayerColor","unselectedHoverStateLayerOpacity","selectedHoverHandleColor","unselectedHoverHandleColor","onSurfaceVariant","selectedFocusIconColor","unselectedFocusIconColor","selectedFocusTrackColor","selectedFocusStateLayerColor","selectedFocusStateLayerOpacity","unselectedFocusTrackColor","unselectedFocusTrackOutlineColor","unselectedFocusStateLayerColor","unselectedFocusStateLayerOpacity","selectedFocusHandleColor","primaryContainer","unselectedFocusHandleColor","selectedPressedIconColor","unselectedPressedIconColor","selectedPressedTrackColor","selectedPressedStateLayerColor","selectedPressedStateLayerOpacity","unselectedPressedTrackColor","unselectedPressedTrackOutlineColor","unselectedPressedStateLayerColor","unselectedPressedStateLayerOpacity","selectedPressedHandleColor","unselectedPressedHandleColor","SwitchHandleStyle","css","motion","duration","short4","easing","standard","spring","fastEffects","fastSpatial","SwitchIconStyle","SwitchStateLayerStyle","SwitchStyle","SwitchTrackStyle","M3eSwitchElement","Labelled","Dirty","Touched","ConstraintValidation","Checked","FormAssociated","KeyboardClick","Focusable","Disabled","AttachInternals","Role","LitElement","constructor","_M3eSwitchElement_clickHandler","set","e","__classPrivateFieldGet","call","_M3eSwitchElement_hoverController","HoverController","target","callback","hovering","disabled","_stateLayer","show","hide","_M3eSwitchElement_pressedController","PressedController","pressed","_track","classList","toggle","icons","value","isPressedKey","key","WeakMap","_M3eSwitchElement_instances","WeakSet","formValue","checked","connectedCallback","addEventListener","label","labels","observe","disconnectedCallback","removeEventListener","unobserve","firstUpdated","_changedProperties","_focusRing","forEach","x","attach","render","html","_M3eSwitchElement_renderIcon","defaultPrevented","dispatchEvent","Event","bubbles","composed","cancelable","closest","preventDefault","styles","__decorate","query","prototype","property","reflect","customElement"],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * Copyright (c) 2025 matraic
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
- import{unsafeCSS as e,css as t,LitElement as o,html as r}from"lit";import{query as c,property as a}from"lit/decorators.js";import{DesignToken as s,Labelled as n,Dirty as i,Touched as d,ConstraintValidation as l,Checked as h,FormAssociated as u,KeyboardClick as k,Focusable as p,Disabled as f,AttachInternals as b,Role as m,HoverController as $,PressedController as v,formValue as w,customElement as g}from"@m3e/web/core";function y(e,t,o,r){var c,a=arguments.length,s=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var n=e.length-1;n>=0;n--)(c=e[n])&&(s=(a<3?c(s):a>3?c(t,o,s):c(t,o))||s);return a>3&&s&&Object.defineProperty(t,o,s),s}function x(e,t,o,r){if("a"===o&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===o?r:"a"===o?r.call(e):r?r.value:t.get(e)}"function"==typeof SuppressedError&&SuppressedError;const C=e(`var(--m3e-switch-selected-icon-color, ${s.color.onPrimaryContainer})`),E=e("var(--m3e-switch-selected-icon-size, 1rem)"),S=e(`var(--m3e-switch-unselected-icon-color, ${s.color.surfaceContainerHighest})`),_=e("var(--m3e-switch-unselected-icon-size, 1rem)"),L=e("var(--m3e-switch-track-height, 2rem)"),H=e("var(--m3e-switch-track-width, 3.25rem)"),P=e(`var(--m3e-switch-track-outline-color, ${s.color.outline})`),T=e("var(--m3e-switch-track-outline-width, 2px)"),X=e(`var(--m3e-switch-track-shape, ${s.shape.corner.full})`),j=e(`var(--m3e-switch-selected-track-color, ${s.color.primary})`),z=e(`var(--m3e-switch-unselected-track-color, ${s.color.surfaceContainerHighest})`),B=e("var(--m3e-switch-unselected-handle-height, 1rem)"),R=e("var(--m3e-switch-unselected-handle-width, 1rem)"),G=e("var(--m3e-switch-with-icon-handle-height, 1.5rem)"),M=e("var(--m3e-switch-with-icon-handle-width, 1.5rem)"),W=e("var(--m3e-switch-selected-handle-height, 1.5rem)"),O=e("var(--m3e-switch-selected-handle-width, 1.5rem)"),V=e("var(--m3e-switch-pressed-handle-height, 1.75rem)"),D=e("var(--m3e-switch-pressed-handle-width, 1.75rem)"),U=e(`var(--m3e-switch-handle-shape, ${s.shape.corner.full})`),K=e(`var(--m3e-switch-selected-handle-color, ${s.color.onPrimary})`),Z=e(`var(--m3e-switch-unselected-handle-color, ${s.color.outline})`),q=e("var(--m3e-switch-state-layer-size, 2.5rem)"),A=e(`var(--m3e-switch-state-layer-shape, ${s.shape.corner.full})`),F=e(`var(--m3e-switch-disabled-selected-icon-color, ${s.color.onSurface})`),I=e("var(--m3e-switch-disabled-selected-icon-opacity, 38%)"),J=e(`var(--m3e-switch-disabled-unselected-icon-color, ${s.color.surfaceContainerHighest})`),N=e("var(--m3e-switch-disabled-unselected-icon-opacity, 38%)"),Q=e("var(--m3e-switch-disabled-track-opacity, 12%)"),Y=e(`var(--m3e-switch-disabled-selected-track-color, ${s.color.onSurface})`),ee=e(`var(--m3e-switch-disabled-unselected-track-color, ${s.color.surfaceContainerHighest})`),te=e(`var(--m3e-switch-disabled-unselected-track-outline-color, ${s.color.onSurface})`),oe=e("var(--m3e-switch-disabled-unselected-handle-opacity, 38%)"),re=e("var(--m3e-switch-disabled-selected-handle-opacity, 100%)"),ce=e(`var(--m3e-switch-disabled-selected-handle-color, ${s.color.surface})`),ae=e(`var(--m3e-switch-disabled-unselected-handle-color, ${s.color.onSurface})`),se=e(`var(--m3e-switch-selected-hover-icon-color, ${s.color.onPrimaryContainer})`),ne=e(`var(--m3e-switch-unselected-hover-icon-color, ${s.color.surfaceContainerHighest})`),ie=e(`var(--m3e-switch-selected-hover-track-color, ${s.color.primary})`),de=e(`var(--m3e-switch-selected-hover-state-layer-color, ${s.color.primary})`),le=e("var(--m3e-switch-selected-hover-state-layer-opacity, 8%)"),he=e(`var(--m3e-switch-unselected-hover-track-color, ${s.color.surfaceContainerHighest})`),ue=e(`var(--m3e-switch-unselected-hover-track-outline-color, ${s.color.outline})`),ke=e(`var(--m3e-switch-unselected-hover-state-layer-color, ${s.color.onSurface})`),pe=e("var(--m3e-switch-unselected-hover-state-layer-opacity, 8%)"),fe=e(`var(--m3e-switch-selected-hover-handle-color, ${s.color.surfaceContainerHighest})`),be=e(`var(--m3e-switch-unselected-hover-handle-color, ${s.color.onSurfaceVariant})`),me=e(`var(--m3e-switch-selected-focus-icon-color, ${s.color.onPrimaryContainer})`),$e=e(`var(--m3e-switch-unselected-focus-icon-color, ${s.color.surfaceContainerHighest})`),ve=e(`var(--m3e-switch-selected-focus-track-color, ${s.color.primary})`),we=e(`var(--m3e-switch-selected-focus-state-layer-color, ${s.color.primary})`),ge=e("var(--m3e-switch-selected-focus-state-layer-opacity, 10%)"),ye=e(`var(--m3e-switch-unselected-focus-track-color, ${s.color.surfaceContainerHighest})`),xe=e(`var(--m3e-switch-unselected-focus-track-outline-color, ${s.color.outline})`),Ce=e(`var(--m3e-switch-unselected-focus-state-layer-color, ${s.color.onSurface})`),Ee=e("var(--m3e-switch-unselected-focus-state-layer-opacity, 10%)"),Se=e(`var(--m3e-switch-selected-focus-handle-color, ${s.color.primaryContainer})`),_e=e(`var(--m3e-switch-unselected-focus-handle-color, ${s.color.onSurfaceVariant})`),Le=e(`var(--m3e-switch-selected-pressed-icon-color, ${s.color.onPrimaryContainer})`),He=e(`var(--m3e-switch-unselected-pressed-icon-color, ${s.color.surfaceContainerHighest})`),Pe=e(`var(--m3e-switch-selected-pressed-track-color, ${s.color.primary})`),Te=(e(`var(--m3e-switch-selected-pressed-state-layer-color, ${s.color.primary})`),e("var(--m3e-switch-selected-pressed-state-layer-opacity, 10%)"),e(`var(--m3e-switch-unselected-pressed-track-color, ${s.color.surfaceContainerHighest})`)),Xe=e(`var(--m3e-switch-unselected-pressed-track-outline-color, ${s.color.outline})`),je=(e(`var(--m3e-switch-unselected-pressed-state-layer-color, ${s.color.onSurface})`),e("var(--m3e-switch-unselected-pressed-state-layer-opacity, 10%)"),e(`var(--m3e-switch-selected-pressed-handle-color, ${s.color.primaryContainer})`)),ze=e(`var(--m3e-switch-unselected-pressed-handle-color, ${s.color.onSurfaceVariant})`),Be=t`.handle { position: relative; display: flex; align-items: center; justify-content: center; pointer-events: none; transform-origin: center center; border-radius: ${U}; transition: ${e(`background-color ${s.motion.duration.short4} ${s.motion.easing.standard},\n transform var(--_switch-handle-effect),\n width ${s.motion.spring.fastEffects},\n height ${s.motion.spring.fastEffects}`)}; } .track:not(.pressed) .handle { --_switch-handle-effect: ${s.motion.spring.fastSpatial}; } .track.pressed .handle { --_switch-handle-effect: ${s.motion.spring.fastEffects}; } :host(:not([aria-disabled="true"]):not([checked])[icons="both"]) .track:not(.pressed) .handle { width: ${M}; height: ${G}; } :host(:not([checked]):not([icons="both"])) .track:not(.pressed) .handle, :host([aria-disabled="true"]:not([checked])) .handle { width: ${R}; height: ${B}; } :host([checked]) .track:not(.pressed) .handle { width: ${O}; height: ${W}; } .track.pressed .handle { width: ${D}; height: ${V}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle { background-color: ${Z}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle { background-color: ${be}; } :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .handle { background-color: ${_e}; } :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .handle { background-color: ${ze}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle { background-color: ${K}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .handle { background-color: ${fe}; } :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .handle { background-color: ${Se}; } :host(:not([aria-disabled="true"])[checked]) .track.pressed .handle { background-color: ${je}; } :host([aria-disabled="true"]:not([checked])) .handle { background-color: color-mix( in srgb, ${ae} ${oe}, transparent ); } :host([aria-disabled="true"][checked]) .handle { background-color: color-mix( in srgb, ${ce} ${re}, transparent ); } :host(:not(:dir(rtl))[checked]) .track:not(.pressed) .handle { transform: translateX( calc(${H} - ${O} - calc(${T} * 2)) ); } :host(:dir(rtl)[checked]) .track:not(.pressed) .handle { transform: translateX( calc( 0px - calc( ${H} - ${O} - calc(${T} * 2) ) ) ); } :host(:not(:dir(rtl))[checked]) .track.pressed .handle { transform: translateX( calc(${H} - ${D} - ${T}) ); } :host(:dir(rtl)[checked]) .track.pressed .handle { transform: translateX( calc(0px - calc(${H} - ${D} - ${T})) ); } :host(:not(:dir(rtl)):not([checked]):not([icons="both"])) .track:not(.pressed) .handle, :host(:not(:dir(rtl))[aria-disabled="true"]:not([checked])) .handle { transform: translateX( calc( ${T} + calc(${D} - ${M}) ) ); } :host(:dir(rtl):not([checked]):not([icons="both"])) .track:not(.pressed) .handle, :host(:dir(rtl)[aria-disabled="true"]:not([checked])) .handle { transform: translateX( calc( 0px - calc( ${T} + calc(${D} - ${M}) ) ) ); } :host(:not(:dir(rtl)):not([aria-disabled="true"]):not([checked])[icons="both"]) .track:not(.pressed) .handle { transform: translateX(${T}); } :host(:dir(rtl):not([aria-disabled="true"]):not([checked])[icons="both"]) .track:not(.pressed) .handle { transform: translateX(calc(0px - ${T})); } @media (forced-colors: active) { .handle { transition: ${e(`transform var(--_switch-handle-effect),\n width ${s.motion.spring.fastEffects},\n height ${s.motion.spring.fastEffects}`)}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .handle { background-color: ButtonText; } :host([aria-disabled="true"]:not([checked])) .handle { background-color: GrayText; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"])[checked]) .track.pressed .handle { background-color: Canvas; } :host([aria-disabled="true"][checked]) .handle { background-color: Canvas; } } @media (prefers-reduced-motion) { .handle { transition: none; } }`,Re=t`:host([icons="none"]) .icon, :host([icons="selected"]:not([checked])) .icon, :host([aria-disabled="true"]:not([checked])) .icon { display: none; } .icon { width: 1em; transition: ${e(`color ${s.motion.duration.short4} ${s.motion.easing.standard}`)}; } :host(:not([checked])) .icon { font-size: ${_}; } :host([checked]) .icon { font-size: ${E}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon { color: ${S}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon { color: ${ne}; } :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .icon { color: ${$e}; } :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .icon { color: ${He}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon { color: ${C}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .icon { color: ${se}; } :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .icon { color: ${me}; } :host(:not([aria-disabled="true"])[checked]) .track.pressed .icon { color: ${Le}; } :host([aria-disabled="true"]:not([checked])) .icon { color: color-mix( in srgb, ${J} ${N}, transparent ); } :host([aria-disabled="true"][checked]) .icon { color: color-mix( in srgb, ${F} ${I}, transparent ); } @media (forced-colors: active) { :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .icon { color: Canvas; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"])[checked]) .track.pressed .icon { color: CanvasText; } :host([aria-disabled="true"]:not([checked])) .icon { color: Canvas; } :host([aria-disabled="true"][checked]) .icon { color: GrayText; } } @media (prefers-reduced-motion) { .icon { transition: none; } }`,Ge=t`.state-layer { width: ${q}; height: ${q}; border-radius: ${A}; transition: ${e(`top ${s.motion.spring.fastEffects},\n left ${s.motion.spring.fastEffects},\n right ${s.motion.spring.fastEffects}`)}; } :host(:not([checked])[icons="both"]) .track:not(.pressed) .state-layer { inset-inline-start: calc(0px - calc(calc(${q} - ${M}) / 2)); top: calc(0px - calc(calc(${q} - ${G}) / 2)); } :host(:not([checked]):not([icons="both"])) .track:not(.pressed) .state-layer { inset-inline-start: calc( 0px - calc(calc(${q} - ${R}) / 2) ); top: calc(0px - calc(calc(${q} - ${B}) / 2)); } :host([checked]) .track:not(.pressed) .state-layer { inset-inline-start: calc(0px - calc(calc(${q} - ${O}) / 2)); top: calc(0px - calc(calc(${q} - ${W}) / 2)); } .track.pressed .state-layer { inset-inline-start: calc(0px - calc(calc(${q} - ${D}) / 2)); top: calc(0px - calc(calc(${q} - ${D}) / 2)); } :host(:not([checked])) .state-layer { --m3e-state-layer-hover-color: ${ke}; --m3e-state-layer-hover-opacity: ${pe}; --m3e-state-layer-focus-color: ${Ce}; --m3e-state-layer-focus-opacity: ${Ee}; } :host([checked]) .state-layer { --m3e-state-layer-hover-color: ${de}; --m3e-state-layer-hover-opacity: ${le}; --m3e-state-layer-focus-color: ${we}; --m3e-state-layer-focus-opacity: ${ge}; }`,Me=t`:host { display: inline-block; position: relative; outline: none; height: fit-content; width: fit-content; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .focus-ring { border-radius: ${X}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .base { display: flex; align-items: center; justify-content: center; }`,We=t`.track { display: flex; align-items: center; position: relative; box-sizing: border-box; border-radius: ${X}; width: ${H}; height: ${L}; transition: ${e(`background-color ${s.motion.duration.short4} ${s.motion.easing.standard}`)}; } :host(:not([checked])) .track { border-width: ${T}; border-style: solid; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) { border-color: ${P}; background-color: ${z}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) { border-color: ${ue}; background-color: ${he}; } :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) { border-color: ${xe}; background-color: ${ye}; } :host(:not([aria-disabled="true"]):not([checked])) .track.pressed { border-color: ${Xe}; background-color: ${Te}; } :host([aria-disabled="true"]:not([checked])) .track { border-color: color-mix( in srgb, ${te} ${Q}, transparent ); background-color: color-mix( in srgb, ${ee} ${Q}, transparent ); } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) { background-color: ${j}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) { background-color: ${ie}; } :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) { background-color: ${ve}; } :host(:not([aria-disabled="true"])[checked]) .track.pressed { background-color: ${Pe}; } :host([aria-disabled="true"][checked]) .track { background-color: color-mix( in srgb, ${Y} ${Q}, transparent ); } @media (forced-colors: active) { .track { transition: none; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed), :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed), :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed), :host(:not([aria-disabled="true"]):not([checked])) .track.pressed { border-color: ButtonText; background-color: Canvas; } :host([aria-disabled="true"]:not([checked])) .track { border-color: GrayText; background-color: Canvas; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed), :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed), :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed), :host(:not([aria-disabled="true"])[checked]) .track.pressed { background-color: ButtonText; } :host([aria-disabled="true"][checked]) .track { background-color: GrayText; } } @media (prefers-reduced-motion) { .track { transition: none; } }`;var Oe,Ve,De,Ue,Ke,Ze;let qe=class extends(n(i(d(l(h(u(k(p(f(b(m(o,"switch")))))))))))){constructor(){super(),Oe.add(this),Ve.set(this,e=>x(this,Oe,"m",Ze).call(this,e)),De.set(this,new $(this,{target:null,callback:e=>{this.disabled||(e?this._stateLayer?.show("hover"):this._stateLayer?.hide("hover"))}})),Ue.set(this,new v(this,{target:null,callback:e=>this._track?.classList.toggle("pressed",e&&!this.disabled)})),this.icons="none",this.value="on",new v(this,{isPressedKey:e=>" "===e,callback:e=>this._track?.classList.toggle("pressed",e&&!this.disabled)})}get[(Ve=new WeakMap,De=new WeakMap,Ue=new WeakMap,Oe=new WeakSet,w)](){return this.checked&&!this.disabled?this.value:null}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,Ve,"f"));for(const e of this.labels)x(this,De,"f").observe(e),x(this,Ue,"f").observe(e)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,Ve,"f"));for(const e of this.labels)x(this,De,"f").unobserve(e),x(this,Ue,"f").unobserve(e)}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer].forEach(e=>e?.attach(this))}render(){return r`<m3e-focus-ring class="focus-ring"></m3e-focus-ring><div class="track" aria-hidden="true"><div class="touch" aria-hidden="true"></div><div class="handle"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><div class="base">${x(this,Oe,"m",Ke).call(this)}</div></div></div>`}};Ke=function(){return this.checked?r`<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"></path></svg>`:r`<svg class="icon" viewBox="0 -960 960 960" fill="currentColor"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg>`},Ze=function(e){e.defaultPrevented||(this.checked=!this.checked,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?this.dispatchEvent(new Event("change",{bubbles:!0})):this.checked=!this.checked,this.closest("label")&&e.preventDefault())},qe.styles=[Me,Ge,We,Be,Re],y([c(".track")],qe.prototype,"_track",void 0),y([c(".focus-ring")],qe.prototype,"_focusRing",void 0),y([c(".state-layer")],qe.prototype,"_stateLayer",void 0),y([a({reflect:!0})],qe.prototype,"icons",void 0),y([a()],qe.prototype,"value",void 0),qe=y([g("m3e-switch")],qe);export{qe as M3eSwitchElement};
6
+ import{__classPrivateFieldGet as e,__decorate as t}from"tslib";import{unsafeCSS as o,css as r,LitElement as c,html as a}from"lit";import{query as s,property as n}from"lit/decorators.js";import{DesignToken as i,Labelled as d,Dirty as l,Touched as h,ConstraintValidation as u,Checked as k,FormAssociated as p,KeyboardClick as b,Focusable as $,Disabled as m,AttachInternals as f,Role as v,HoverController as w,PressedController as g,formValue as y,customElement as x}from"@m3e/web/core";const C=o(`var(--m3e-switch-selected-icon-color, ${i.color.onPrimaryContainer})`),E=o("var(--m3e-switch-selected-icon-size, 1rem)"),_=o(`var(--m3e-switch-unselected-icon-color, ${i.color.surfaceContainerHighest})`),L=o("var(--m3e-switch-unselected-icon-size, 1rem)"),S=o("var(--m3e-switch-track-height, 2rem)"),H=o("var(--m3e-switch-track-width, 3.25rem)"),T=o(`var(--m3e-switch-track-outline-color, ${i.color.outline})`),X=o("var(--m3e-switch-track-outline-width, 2px)"),z=o(`var(--m3e-switch-track-shape, ${i.shape.corner.full})`),P=o(`var(--m3e-switch-selected-track-color, ${i.color.primary})`),B=o(`var(--m3e-switch-unselected-track-color, ${i.color.surfaceContainerHighest})`),G=o("var(--m3e-switch-unselected-handle-height, 1rem)"),M=o("var(--m3e-switch-unselected-handle-width, 1rem)"),W=o("var(--m3e-switch-with-icon-handle-height, 1.5rem)"),j=o("var(--m3e-switch-with-icon-handle-width, 1.5rem)"),V=o("var(--m3e-switch-selected-handle-height, 1.5rem)"),R=o("var(--m3e-switch-selected-handle-width, 1.5rem)"),U=o("var(--m3e-switch-pressed-handle-height, 1.75rem)"),D=o("var(--m3e-switch-pressed-handle-width, 1.75rem)"),K=o(`var(--m3e-switch-handle-shape, ${i.shape.corner.full})`),Z=o(`var(--m3e-switch-selected-handle-color, ${i.color.onPrimary})`),q=o(`var(--m3e-switch-unselected-handle-color, ${i.color.outline})`),A=o("var(--m3e-switch-state-layer-size, 2.5rem)"),F=o(`var(--m3e-switch-state-layer-shape, ${i.shape.corner.full})`),I=o(`var(--m3e-switch-disabled-selected-icon-color, ${i.color.onSurface})`),J=o("var(--m3e-switch-disabled-selected-icon-opacity, 38%)"),N=o(`var(--m3e-switch-disabled-unselected-icon-color, ${i.color.surfaceContainerHighest})`),O=o("var(--m3e-switch-disabled-unselected-icon-opacity, 38%)"),Q=o("var(--m3e-switch-disabled-track-opacity, 12%)"),Y=o(`var(--m3e-switch-disabled-selected-track-color, ${i.color.onSurface})`),ee=o(`var(--m3e-switch-disabled-unselected-track-color, ${i.color.surfaceContainerHighest})`),te=o(`var(--m3e-switch-disabled-unselected-track-outline-color, ${i.color.onSurface})`),oe=o("var(--m3e-switch-disabled-unselected-handle-opacity, 38%)"),re=o("var(--m3e-switch-disabled-selected-handle-opacity, 100%)"),ce=o(`var(--m3e-switch-disabled-selected-handle-color, ${i.color.surface})`),ae=o(`var(--m3e-switch-disabled-unselected-handle-color, ${i.color.onSurface})`),se=o(`var(--m3e-switch-selected-hover-icon-color, ${i.color.onPrimaryContainer})`),ne=o(`var(--m3e-switch-unselected-hover-icon-color, ${i.color.surfaceContainerHighest})`),ie=o(`var(--m3e-switch-selected-hover-track-color, ${i.color.primary})`),de=o(`var(--m3e-switch-selected-hover-state-layer-color, ${i.color.primary})`),le=o("var(--m3e-switch-selected-hover-state-layer-opacity, 8%)"),he=o(`var(--m3e-switch-unselected-hover-track-color, ${i.color.surfaceContainerHighest})`),ue=o(`var(--m3e-switch-unselected-hover-track-outline-color, ${i.color.outline})`),ke=o(`var(--m3e-switch-unselected-hover-state-layer-color, ${i.color.onSurface})`),pe=o("var(--m3e-switch-unselected-hover-state-layer-opacity, 8%)"),be=o(`var(--m3e-switch-selected-hover-handle-color, ${i.color.surfaceContainerHighest})`),$e=o(`var(--m3e-switch-unselected-hover-handle-color, ${i.color.onSurfaceVariant})`),me=o(`var(--m3e-switch-selected-focus-icon-color, ${i.color.onPrimaryContainer})`),fe=o(`var(--m3e-switch-unselected-focus-icon-color, ${i.color.surfaceContainerHighest})`),ve=o(`var(--m3e-switch-selected-focus-track-color, ${i.color.primary})`),we=o(`var(--m3e-switch-selected-focus-state-layer-color, ${i.color.primary})`),ge=o("var(--m3e-switch-selected-focus-state-layer-opacity, 10%)"),ye=o(`var(--m3e-switch-unselected-focus-track-color, ${i.color.surfaceContainerHighest})`),xe=o(`var(--m3e-switch-unselected-focus-track-outline-color, ${i.color.outline})`),Ce=o(`var(--m3e-switch-unselected-focus-state-layer-color, ${i.color.onSurface})`),Ee=o("var(--m3e-switch-unselected-focus-state-layer-opacity, 10%)"),_e=o(`var(--m3e-switch-selected-focus-handle-color, ${i.color.primaryContainer})`),Le=o(`var(--m3e-switch-unselected-focus-handle-color, ${i.color.onSurfaceVariant})`),Se=o(`var(--m3e-switch-selected-pressed-icon-color, ${i.color.onPrimaryContainer})`),He=o(`var(--m3e-switch-unselected-pressed-icon-color, ${i.color.surfaceContainerHighest})`),Te=o(`var(--m3e-switch-selected-pressed-track-color, ${i.color.primary})`),Xe=(o(`var(--m3e-switch-selected-pressed-state-layer-color, ${i.color.primary})`),o("var(--m3e-switch-selected-pressed-state-layer-opacity, 10%)"),o(`var(--m3e-switch-unselected-pressed-track-color, ${i.color.surfaceContainerHighest})`)),ze=o(`var(--m3e-switch-unselected-pressed-track-outline-color, ${i.color.outline})`),Pe=(o(`var(--m3e-switch-unselected-pressed-state-layer-color, ${i.color.onSurface})`),o("var(--m3e-switch-unselected-pressed-state-layer-opacity, 10%)"),o(`var(--m3e-switch-selected-pressed-handle-color, ${i.color.primaryContainer})`)),Be=o(`var(--m3e-switch-unselected-pressed-handle-color, ${i.color.onSurfaceVariant})`),Ge=r`.handle { position: relative; display: flex; align-items: center; justify-content: center; pointer-events: none; transform-origin: center center; border-radius: ${K}; transition: ${o(`background-color ${i.motion.duration.short4} ${i.motion.easing.standard},\n transform var(--_switch-handle-effect),\n width ${i.motion.spring.fastEffects},\n height ${i.motion.spring.fastEffects}`)}; } .track:not(.pressed) .handle { --_switch-handle-effect: ${i.motion.spring.fastSpatial}; } .track.pressed .handle { --_switch-handle-effect: ${i.motion.spring.fastEffects}; } :host(:not([aria-disabled="true"]):not([checked])[icons="both"]) .track:not(.pressed) .handle { width: ${j}; height: ${W}; } :host(:not([checked]):not([icons="both"])) .track:not(.pressed) .handle, :host([aria-disabled="true"]:not([checked])) .handle { width: ${M}; height: ${G}; } :host([checked]) .track:not(.pressed) .handle { width: ${R}; height: ${V}; } .track.pressed .handle { width: ${D}; height: ${U}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle { background-color: ${q}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle { background-color: ${$e}; } :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .handle { background-color: ${Le}; } :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .handle { background-color: ${Be}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle { background-color: ${Z}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .handle { background-color: ${be}; } :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .handle { background-color: ${_e}; } :host(:not([aria-disabled="true"])[checked]) .track.pressed .handle { background-color: ${Pe}; } :host([aria-disabled="true"]:not([checked])) .handle { background-color: color-mix( in srgb, ${ae} ${oe}, transparent ); } :host([aria-disabled="true"][checked]) .handle { background-color: color-mix( in srgb, ${ce} ${re}, transparent ); } :host(:not(:dir(rtl))[checked]) .track:not(.pressed) .handle { transform: translateX( calc(${H} - ${R} - calc(${X} * 2)) ); } :host(:dir(rtl)[checked]) .track:not(.pressed) .handle { transform: translateX( calc( 0px - calc( ${H} - ${R} - calc(${X} * 2) ) ) ); } :host(:not(:dir(rtl))[checked]) .track.pressed .handle { transform: translateX( calc(${H} - ${D} - ${X}) ); } :host(:dir(rtl)[checked]) .track.pressed .handle { transform: translateX( calc(0px - calc(${H} - ${D} - ${X})) ); } :host(:not(:dir(rtl)):not([checked]):not([icons="both"])) .track:not(.pressed) .handle, :host(:not(:dir(rtl))[aria-disabled="true"]:not([checked])) .handle { transform: translateX( calc( ${X} + calc(${D} - ${j}) ) ); } :host(:dir(rtl):not([checked]):not([icons="both"])) .track:not(.pressed) .handle, :host(:dir(rtl)[aria-disabled="true"]:not([checked])) .handle { transform: translateX( calc( 0px - calc( ${X} + calc(${D} - ${j}) ) ) ); } :host(:not(:dir(rtl)):not([aria-disabled="true"]):not([checked])[icons="both"]) .track:not(.pressed) .handle { transform: translateX(${X}); } :host(:dir(rtl):not([aria-disabled="true"]):not([checked])[icons="both"]) .track:not(.pressed) .handle { transform: translateX(calc(0px - ${X})); } @media (forced-colors: active) { .handle { transition: ${o(`transform var(--_switch-handle-effect),\n width ${i.motion.spring.fastEffects},\n height ${i.motion.spring.fastEffects}`)}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .handle { background-color: ButtonText; } :host([aria-disabled="true"]:not([checked])) .handle { background-color: GrayText; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .handle, :host(:not([aria-disabled="true"])[checked]) .track.pressed .handle { background-color: Canvas; } :host([aria-disabled="true"][checked]) .handle { background-color: Canvas; } } @media (prefers-reduced-motion) { .handle { transition: none; } }`,Me=r`:host([icons="none"]) .icon, :host([icons="selected"]:not([checked])) .icon, :host([aria-disabled="true"]:not([checked])) .icon { display: none; } .icon { width: 1em; transition: ${o(`color ${i.motion.duration.short4} ${i.motion.easing.standard}`)}; } :host(:not([checked])) .icon { font-size: ${L}; } :host([checked]) .icon { font-size: ${E}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon { color: ${_}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon { color: ${ne}; } :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .icon { color: ${fe}; } :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .icon { color: ${He}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon { color: ${C}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .icon { color: ${se}; } :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .icon { color: ${me}; } :host(:not([aria-disabled="true"])[checked]) .track.pressed .icon { color: ${Se}; } :host([aria-disabled="true"]:not([checked])) .icon { color: color-mix( in srgb, ${N} ${O}, transparent ); } :host([aria-disabled="true"][checked]) .icon { color: color-mix( in srgb, ${I} ${J}, transparent ); } @media (forced-colors: active) { :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"]):not([checked])) .track.pressed .icon { color: Canvas; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) .icon, :host(:not([aria-disabled="true"])[checked]) .track.pressed .icon { color: CanvasText; } :host([aria-disabled="true"]:not([checked])) .icon { color: Canvas; } :host([aria-disabled="true"][checked]) .icon { color: GrayText; } } @media (prefers-reduced-motion) { .icon { transition: none; } }`,We=r`.state-layer { width: ${A}; height: ${A}; border-radius: ${F}; transition: ${o(`top ${i.motion.spring.fastEffects},\n left ${i.motion.spring.fastEffects},\n right ${i.motion.spring.fastEffects}`)}; } :host(:not([checked])[icons="both"]) .track:not(.pressed) .state-layer { inset-inline-start: calc(0px - calc(calc(${A} - ${j}) / 2)); top: calc(0px - calc(calc(${A} - ${W}) / 2)); } :host(:not([checked]):not([icons="both"])) .track:not(.pressed) .state-layer { inset-inline-start: calc( 0px - calc(calc(${A} - ${M}) / 2) ); top: calc(0px - calc(calc(${A} - ${G}) / 2)); } :host([checked]) .track:not(.pressed) .state-layer { inset-inline-start: calc(0px - calc(calc(${A} - ${R}) / 2)); top: calc(0px - calc(calc(${A} - ${V}) / 2)); } .track.pressed .state-layer { inset-inline-start: calc(0px - calc(calc(${A} - ${D}) / 2)); top: calc(0px - calc(calc(${A} - ${D}) / 2)); } :host(:not([checked])) .state-layer { --m3e-state-layer-hover-color: ${ke}; --m3e-state-layer-hover-opacity: ${pe}; --m3e-state-layer-focus-color: ${Ce}; --m3e-state-layer-focus-opacity: ${Ee}; } :host([checked]) .state-layer { --m3e-state-layer-hover-color: ${de}; --m3e-state-layer-hover-opacity: ${le}; --m3e-state-layer-focus-color: ${we}; --m3e-state-layer-focus-opacity: ${ge}; }`,je=r`:host { display: inline-block; position: relative; outline: none; height: fit-content; width: fit-content; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .focus-ring { border-radius: ${z}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .base { display: flex; align-items: center; justify-content: center; }`,Ve=r`.track { display: flex; align-items: center; position: relative; box-sizing: border-box; border-radius: ${z}; width: ${H}; height: ${S}; transition: ${o(`background-color ${i.motion.duration.short4} ${i.motion.easing.standard}`)}; } :host(:not([checked])) .track { border-width: ${X}; border-style: solid; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed) { border-color: ${T}; background-color: ${B}; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed) { border-color: ${ue}; background-color: ${he}; } :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed) { border-color: ${xe}; background-color: ${ye}; } :host(:not([aria-disabled="true"]):not([checked])) .track.pressed { border-color: ${ze}; background-color: ${Xe}; } :host([aria-disabled="true"]:not([checked])) .track { border-color: color-mix( in srgb, ${te} ${Q}, transparent ); background-color: color-mix( in srgb, ${ee} ${Q}, transparent ); } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed) { background-color: ${P}; } :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed) { background-color: ${ie}; } :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed) { background-color: ${ve}; } :host(:not([aria-disabled="true"])[checked]) .track.pressed { background-color: ${Te}; } :host([aria-disabled="true"][checked]) .track { background-color: color-mix( in srgb, ${Y} ${Q}, transparent ); } @media (forced-colors: active) { .track { transition: none; } :host(:not([aria-disabled="true"]):not([checked]):not(:focus):not(:hover)) .track:not(.pressed), :host(:not([aria-disabled="true"]):not([checked]):not(:focus):hover) .track:not(.pressed), :host(:not([aria-disabled="true"]):not([checked]):focus) .track:not(.pressed), :host(:not([aria-disabled="true"]):not([checked])) .track.pressed { border-color: ButtonText; background-color: Canvas; } :host([aria-disabled="true"]:not([checked])) .track { border-color: GrayText; background-color: Canvas; } :host(:not([aria-disabled="true"])[checked]:not(:focus):not(:hover)) .track:not(.pressed), :host(:not([aria-disabled="true"])[checked]:not(:focus):hover) .track:not(.pressed), :host(:not([aria-disabled="true"])[checked]:focus) .track:not(.pressed), :host(:not([aria-disabled="true"])[checked]) .track.pressed { background-color: ButtonText; } :host([aria-disabled="true"][checked]) .track { background-color: GrayText; } } @media (prefers-reduced-motion) { .track { transition: none; } }`;var Re,Ue,De,Ke,Ze,qe;let Ae=class extends(d(l(h(u(k(p(b($(m(f(v(c,"switch")))))))))))){constructor(){super(),Re.add(this),Ue.set(this,t=>e(this,Re,"m",qe).call(this,t)),De.set(this,new w(this,{target:null,callback:e=>{this.disabled||(e?this._stateLayer?.show("hover"):this._stateLayer?.hide("hover"))}})),Ke.set(this,new g(this,{target:null,callback:e=>this._track?.classList.toggle("pressed",e&&!this.disabled)})),this.icons="none",this.value="on",new g(this,{isPressedKey:e=>" "===e,callback:e=>this._track?.classList.toggle("pressed",e&&!this.disabled)})}get[(Ue=new WeakMap,De=new WeakMap,Ke=new WeakMap,Re=new WeakSet,y)](){return this.checked&&!this.disabled?this.value:null}connectedCallback(){super.connectedCallback(),this.addEventListener("click",e(this,Ue,"f"));for(const t of this.labels)e(this,De,"f").observe(t),e(this,Ke,"f").observe(t)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",e(this,Ue,"f"));for(const t of this.labels)e(this,De,"f").unobserve(t),e(this,Ke,"f").unobserve(t)}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer].forEach(e=>e?.attach(this))}render(){return a`<m3e-focus-ring class="focus-ring"></m3e-focus-ring><div class="track" aria-hidden="true"><div class="touch" aria-hidden="true"></div><div class="handle"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><div class="base">${e(this,Re,"m",Ze).call(this)}</div></div></div>`}};Ze=function(){return this.checked?a`<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"></path></svg>`:a`<svg class="icon" viewBox="0 -960 960 960" fill="currentColor"><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg>`},qe=function(e){e.defaultPrevented||(this.checked=!this.checked,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?this.dispatchEvent(new Event("change",{bubbles:!0})):this.checked=!this.checked,this.closest("label")&&e.preventDefault())},Ae.styles=[je,We,Ve,Ge,Me],t([s(".track")],Ae.prototype,"_track",void 0),t([s(".focus-ring")],Ae.prototype,"_focusRing",void 0),t([s(".state-layer")],Ae.prototype,"_stateLayer",void 0),t([n({reflect:!0})],Ae.prototype,"icons",void 0),t([n()],Ae.prototype,"value",void 0),Ae=t([x("m3e-switch")],Ae);export{Ae as M3eSwitchElement};
7
7
  //# sourceMappingURL=switch.min.js.map