@m3e/web 2.1.1 → 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 (262) hide show
  1. package/dist/all.js +605 -1296
  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 +53 -40
  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 +517 -512
  62. package/dist/custom-elements.json +5201 -4336
  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 +192 -171
  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/ReconnectedCallback.d.ts +15 -0
  190. package/dist/src/core/shared/mixins/ReconnectedCallback.d.ts.map +1 -0
  191. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts +11 -0
  192. package/dist/src/core/shared/mixins/SuppressInitialAnimation.d.ts.map +1 -0
  193. package/dist/src/core/shared/mixins/index.d.ts +2 -0
  194. package/dist/src/core/shared/mixins/index.d.ts.map +1 -1
  195. package/dist/src/drawer-container/DrawerContainerElement.d.ts +4 -2
  196. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  197. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts +3 -1
  198. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
  199. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -3
  200. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  201. package/dist/src/form-field/FormFieldElement.d.ts +4 -2
  202. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  203. package/dist/src/list/ActionListElement.d.ts.map +1 -1
  204. package/dist/src/list/ListItemElement.d.ts +3 -1
  205. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  206. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts +3 -1
  207. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts.map +1 -1
  208. package/dist/src/menu/MenuElement.d.ts +1 -3
  209. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  210. package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
  211. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  212. package/dist/src/option/OptionPanelElement.d.ts +0 -4
  213. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  214. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts +2 -0
  215. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
  216. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts +2 -0
  217. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts.map +1 -1
  218. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts +1 -1
  219. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts.map +1 -1
  220. package/dist/src/select/SelectElement.d.ts +6 -0
  221. package/dist/src/select/SelectElement.d.ts.map +1 -1
  222. package/dist/src/slide-group/SlideGroupElement.d.ts +5 -1
  223. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  224. package/dist/src/stepper/StepperElement.d.ts +1 -1
  225. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  226. package/dist/src/toc/TocElement.d.ts +1 -1
  227. package/dist/src/toc/TocElement.d.ts.map +1 -1
  228. package/dist/src/tooltip/TooltipElementBase.d.ts +3 -1
  229. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
  230. package/dist/stepper.js +3 -41
  231. package/dist/stepper.js.map +1 -1
  232. package/dist/stepper.min.js +1 -1
  233. package/dist/stepper.min.js.map +1 -1
  234. package/dist/switch.js +1 -33
  235. package/dist/switch.js.map +1 -1
  236. package/dist/switch.min.js +1 -1
  237. package/dist/switch.min.js.map +1 -1
  238. package/dist/tabs.js +1 -39
  239. package/dist/tabs.js.map +1 -1
  240. package/dist/tabs.min.js +1 -1
  241. package/dist/tabs.min.js.map +1 -1
  242. package/dist/textarea-autosize.js +1 -39
  243. package/dist/textarea-autosize.js.map +1 -1
  244. package/dist/textarea-autosize.min.js +2 -3
  245. package/dist/textarea-autosize.min.js.map +1 -1
  246. package/dist/theme.js +1 -39
  247. package/dist/theme.js.map +1 -1
  248. package/dist/theme.min.js +19 -19
  249. package/dist/theme.min.js.map +1 -1
  250. package/dist/toc.js +4 -42
  251. package/dist/toc.js.map +1 -1
  252. package/dist/toc.min.js +1 -1
  253. package/dist/toc.min.js.map +1 -1
  254. package/dist/toolbar.js +1 -39
  255. package/dist/toolbar.js.map +1 -1
  256. package/dist/toolbar.min.js +1 -1
  257. package/dist/toolbar.min.js.map +1 -1
  258. package/dist/tooltip.js +15 -46
  259. package/dist/tooltip.js.map +1 -1
  260. package/dist/tooltip.min.js +1 -1
  261. package/dist/tooltip.min.js.map +1 -1
  262. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"card.min.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/card/styles/CardToken.ts","../../src/card/styles/CardVariantToken.ts","../../src/card/styles/CardStyle.ts","../../src/card/styles/CardVariantStyle.ts","../../src/card/CardElement.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 for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardToken = {\r\n padding: unsafeCSS(\"var(--m3e-card-padding, 1rem)\"),\r\n shape: unsafeCSS(`var(--m3e-card-shape, ${DesignToken.shape.corner.medium});`),\r\n} as const;\r\n","import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\n/** @private */\r\ntype _CardVariantToken = {\r\n textColor: CSSResult;\r\n containerColor?: CSSResult;\r\n containerElevation: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineThickness?: CSSResult;\r\n disabled: {\r\n textColor: CSSResult;\r\n textOpacity: CSSResult;\r\n imageOpacity: CSSResult;\r\n containerColor?: CSSResult;\r\n containerOpacity?: CSSResult;\r\n containerElevation: CSSResult;\r\n containerElevationColor: CSSResult;\r\n containerElevationOpacity: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineOpacity?: CSSResult;\r\n };\r\n hover: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n focus: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n pressed: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n};\r\n\r\n/**\r\n * Component design tokens that control the appearance variants of `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantToken: Record<CardVariant, _CardVariantToken> = {\r\n filled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerHighest}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surfaceVariant}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n },\r\n elevated: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level2}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n },\r\n outlined: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-outline-color, var(--m3e-card-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n outlineThickness: unsafeCSS(\"var(--m3e-outlined-card-outline-thickness, var(--m3e-card-outline-thickness, 1px))\"),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-color, var(--m3e-card-disabled-outline-color, ${DesignToken.color.outline}))`,\r\n ),\r\n outlineOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-opacity, var(--m3e-card-disabled-outline-opacity, 12%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-outline-color, var(--m3e-card-hover-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-outline-color, var(--m3e-card-focus-outline-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-outline-color, var(--m3e-card-pressed-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n },\r\n} as const;\r\n","import { css, CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardToken } from \"./CardToken\";\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/**\r\n * Baseline styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardStyle: CSSResult = css`\r\n :host {\r\n outline: none;\r\n }\r\n :host(:not([inline])) {\r\n display: block;\r\n }\r\n :host(:not([inline])) .base {\r\n display: flex;\r\n }\r\n :host([inline]) {\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n :host([inline]) .base {\r\n display: inline-flex;\r\n }\r\n .base {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-radius: ${CardToken.shape};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n border-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host([actionable]) {\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host([actionable]:not(:disabled):not([disabled-interactive])) {\r\n cursor: pointer;\r\n }\r\n :host([actionable][disabled-interactive]) {\r\n cursor: not-allowed;\r\n }\r\n :host(:not([actionable])) .focus-ring,\r\n :host(:not([actionable])) .state-layer,\r\n :host(:not([actionable])) .ripple {\r\n display: none;\r\n }\r\n :host([variant=\"outlined\"]) .base {\r\n border-style: solid;\r\n }\r\n ::slotted([slot=\"content\"]) {\r\n flex: 1 1 auto;\r\n }\r\n ::slotted(img),\r\n ::slotted(video) {\r\n inset: 0;\r\n object-fit: cover;\r\n }\r\n ::slotted(img[slot=\"header\"]),\r\n ::slotted(video[slot=\"header\"]) {\r\n border-radius: ${CardToken.shape};\r\n }\r\n ::slotted([slot=\"actions\"][end]) {\r\n justify-content: flex-end;\r\n }\r\n ::slotted([slot=\"header\"]),\r\n ::slotted([slot=\"actions\"]),\r\n ::slotted([slot=\"footer\"]) {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n }\r\n :host([orientation=\"vertical\"]) .base,\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: column;\r\n }\r\n :host([orientation=\"horizontal\"]) .base,\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: row;\r\n }\r\n :host([orientation=\"horizontal\"]) ::slotted(img),\r\n :host([orientation=\"horizontal\"]) ::slotted(video) {\r\n aspect-ratio: 16 / 9;\r\n }\r\n .has-content:not(.has-default) slot[name=\"content\"],\r\n .has-content.has-default slot:not([name]) {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: 1 1 auto;\r\n }\r\n .has-header slot[name=\"header\"],\r\n .has-actions slot[name=\"actions\"],\r\n .has-footer slot[name=\"footer\"] {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: none;\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-inline: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n .has-actions slot[name=\"actions\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-footer slot[name=\"footer\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-footer slot[name=\"footer\"] {\r\n margin-block: ${CardToken.padding};\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n a {\r\n all: unset;\r\n display: block;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n z-index: 1;\r\n }\r\n @media (forced-colors: active) {\r\n .base {\r\n transition: none;\r\n }\r\n :host([variant]) .base {\r\n border-style: solid;\r\n border-color: CanvasText;\r\n border-width: ${CardVariantToken.outlined.outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant]:disabled) .base,\r\n :host([actionable][variant][disabled-interactive]) .base {\r\n color: GrayText;\r\n border-color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .base {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/** @private */\r\nfunction cardVariantStyle(variant: CardVariant): CSSResult {\r\n return css`\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n background-color: ${CardVariantToken[variant].containerColor ?? unsafeCSS(\"unset\")};\r\n box-shadow: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n border-width: ${CardVariantToken[variant].outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base {\r\n --m3e-state-layer-hover-color: ${CardVariantToken[variant].hover.stateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${CardVariantToken[variant].hover.stateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${CardVariantToken[variant].focus.stateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${CardVariantToken[variant].focus.stateLayerOpacity};\r\n --m3e-ripple-color: ${CardVariantToken[variant].pressed.stateLayerColor};\r\n --m3e-ripple-opacity: ${CardVariantToken[variant].pressed.stateLayerOpacity};\r\n --m3e-elevation-level: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-hover-level: ${CardVariantToken[variant].hover.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-focus-level: ${CardVariantToken[variant].focus.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-pressed-level: ${CardVariantToken[variant].pressed.containerElevation ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n border-color: ${CardVariantToken[variant].outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus .base) {\r\n border-color: ${CardVariantToken[variant].focus.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover .base) {\r\n border-color: ${CardVariantToken[variant].hover.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n border-color: ${CardVariantToken[variant].pressed.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n color: ${CardVariantToken[variant].textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus) .base {\r\n color: ${CardVariantToken[variant].focus.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover) .base {\r\n color: ${CardVariantToken[variant].hover.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n color: ${CardVariantToken[variant].pressed.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) .base,\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .base {\r\n --m3e-elevation-level: ${CardVariantToken[variant].disabled.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerElevationColor}\r\n ${CardVariantToken[variant].disabled.containerElevationOpacity},\r\n transparent\r\n );\r\n color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.textColor} ${CardVariantToken[variant].disabled.textOpacity},\r\n transparent\r\n );\r\n background-color: ${CardVariantToken[variant].disabled.containerColor &&\r\n CardVariantToken[variant].disabled.containerOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerColor} ${CardVariantToken[variant].disabled.containerOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n border-color: ${CardVariantToken[variant].disabled.outlineColor &&\r\n CardVariantToken[variant].disabled.outlineOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.outlineColor} ${CardVariantToken[variant].disabled.outlineOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(video),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(video) {\r\n opacity: ${CardVariantToken[variant].disabled.imageOpacity};\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Appearance variant styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantStyle: CSSResultGroup = [\r\n cardVariantStyle(\"filled\"),\r\n cardVariantStyle(\"elevated\"),\r\n cardVariantStyle(\"outlined\"),\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 renderPseudoLink,\r\n AttachInternals,\r\n Disabled,\r\n DisabledInteractive,\r\n Focusable,\r\n FormSubmitter,\r\n LinkButton,\r\n M3eElevationElement,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n KeyboardClick,\r\n hasAssignedNodes,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"./CardVariant\";\r\n\r\nimport { CardStyle, CardVariantStyle } from \"./styles\";\r\nimport { CardOrientation } from \"./CardOrientation\";\r\n\r\n/**\r\n * A content container for text, images (or other media), and actions in the context of a single subject.\r\n *\r\n * @description\r\n * The `m3e-card` component is a flexible, expressive container for presenting a unified subject—text,\r\n * media, and actions—on a visually distinct surface. It supports multiple appearance variants via the\r\n * `variant` attribute: `filled` (default, for solid emphasis), `outlined` (for subtle framing with a border),\r\n * and `elevated` (for depth and motion with shadow elevation).\r\n *\r\n * Cards can be made actionable, responding to user interaction when the `actionable` attribute is set, and can be\r\n * presented inline with surrounding content using the `inline` attribute.\r\n *\r\n * It supports both vertical and horizontal layouts through the `orientation` attribute. Content organization is\r\n * enabled via dedicated slots for `header`, `content`, `actions`, and `footer`, or developers can use the default\r\n * slot for custom layouts.\r\n *\r\n * The component provides dynamic elevation, adaptive shape, and expressive color theming, and responds to interaction states\r\n * (hover, focus, press, disabled) with smooth motion and visual feedback, ensuring clarity, accessibility,\r\n * and a cohesive user experience in accordance with Material Design 3 guidelines.\r\n *\r\n * @example\r\n * The following example illustrates each of the dedicated slots of a card.\r\n * ```html\r\n * <m3e-card>\r\n * <div slot=\"header\">Header section</div>\r\n * <div slot=\"content\">Content section</div>\r\n * <div slot=\"actions\">Actions section</div>\r\n * <div slot=\"footer\">Footer section</div>\r\n * </m3e-card>\r\n * ```\r\n *\r\n * @tag m3e-card\r\n *\r\n * @slot - Renders the content of the card without padding.\r\n * @slot header - Renders the header of the card.\r\n * @slot content - Renders the content of the card with padding.\r\n * @slot actions - Renders the actions of the card.\r\n * @slot footer - Renders the footer of the card.\r\n *\r\n * @attr actionable - Whether the card is \"actionable\" and will respond to use interaction.\r\n * @attr inline - Whether to present the card inline with surrounding content.\r\n * @attr orientation - The orientation of the card.\r\n * @attr variant - The appearance variant of the card.\r\n *\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-card-padding - Internal spacing for all slotted regions\r\n * @cssprop --m3e-card-shape - Corner radius of the card container.\r\n * @cssprop --m3e-filled-card-text-color - Foreground color for text content in filled cards.\r\n * @cssprop --m3e-filled-card-container-color - Background color of the filled card container.\r\n * @cssprop --m3e-filled-card-container-elevation - Elevation level for filled card container.\r\n * @cssprop --m3e-filled-card-disabled-text-color - Text color when filled card is disabled.\r\n * @cssprop --m3e-filled-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-filled-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-filled-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-filled-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-filled-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-filled-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-filled-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-elevated-card-text-color - Foreground color for text content in elevated cards.\r\n * @cssprop --m3e-elevated-card-container-color - Background color of the elevated card container.\r\n * @cssprop --m3e-elevated-card-container-elevation - Elevation level for elevated card container.\r\n * @cssprop --m3e-elevated-card-disabled-text-color - Text color when elevated card is disabled.\r\n * @cssprop --m3e-elevated-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-elevated-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-elevated-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-elevated-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-elevated-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-elevated-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-elevated-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-text-color - Foreground color for text content in outlined cards.\r\n * @cssprop --m3e-outlined-card-container-elevation - Elevation level for outlined card container.\r\n * @cssprop --m3e-outlined-card-outline-color - Border color for outlined cards.\r\n * @cssprop --m3e-outlined-card-outline-thickness - Border thickness for outlined cards.\r\n * @cssprop --m3e-outlined-card-disabled-text-color - Text color when outlined card is disabled.\r\n * @cssprop --m3e-outlined-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-color - Border color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-opacity - Border opacity when disabled.\r\n * @cssprop --m3e-outlined-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-outlined-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-outlined-card-hover-outline-color - Border color on hover.\r\n * @cssprop --m3e-outlined-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-outlined-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-outlined-card-focus-outline-color - Border color on focus.\r\n * @cssprop --m3e-outlined-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-outlined-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-pressed-outline-color - Border color on press.\r\n */\r\n@customElement(\"m3e-card\")\r\nexport class M3eCardElement extends KeyboardClick(\r\n LinkButton(FormSubmitter(Focusable(DisabledInteractive(Disabled(AttachInternals(LitElement), true))))),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [CardVariantStyle, CardStyle];\r\n\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n /** @private */ @query(\".elevation\") private readonly _elevation?: M3eElevationElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n callback: (pressed) => {\r\n if (this.actionable && !this.disabled && !this.disabledInteractive) {\r\n this._base?.classList.toggle(\"pressed\", pressed);\r\n }\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Whether to present the card inline with surrounding content.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) inline = false;\r\n\r\n /**\r\n * Whether the card is \"actionable\" and will respond to use interaction.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) actionable = false;\r\n\r\n /**\r\n * The appearance variant of the card.\r\n * @default \"filled\"\r\n */\r\n @property({ reflect: true }) variant: CardVariant = \"filled\";\r\n\r\n /**\r\n * The orientation of the card.\r\n * @default \"vertical\"\r\n */\r\n @property({ reflect: true }) orientation: CardOrientation = \"vertical\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n if (this.hasAttribute(\"actionable\")) {\r\n // If href is specified, the LinkButton mixin changes this to \"link\" if role is \"button\".\r\n this.role = \"button\";\r\n }\r\n\r\n super.connectedCallback();\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this._base?.classList.toggle(\"pressed\", false);\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-elevation\r\n class=\"elevation\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-elevation>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${!this.actionable || this.disabled}\"></m3e-focus-ring>\r\n <m3e-state-layer\r\n class=\"state-layer\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-state-layer>\r\n <m3e-ripple\r\n class=\"ripple\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-ripple>\r\n ${this[renderPseudoLink]()}\r\n <slot name=\"header\" @slotchange=\"${this.#handleHeaderSlotChange}\"></slot>\r\n <slot name=\"content\" @slotchange=\"${this.#handleContentSlotChange}\">\r\n <slot @slotchange=\"${this.#handleDefaultSlotChange}\"></slot>\r\n </slot>\r\n <slot name=\"actions\" @slotchange=\"${this.#handleActionsSlotChange}\"></slot>\r\n <slot name=\"footer\" @slotchange=\"${this.#handleFooterSlotChange}\"></slot>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderSlotChange(e: Event): void {\r\n const assignedNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true });\r\n const base = this.shadowRoot?.querySelector(\".base\");\r\n base?.classList.toggle(\"has-header\", assignedNodes.length > 0);\r\n base?.classList.toggle(\r\n \"has-header-media\",\r\n assignedNodes.some((x) => x instanceof HTMLElement && (x.tagName === \"IMG\" || x.tagName === \"VIDEO\")),\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleContentSlotChange(): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-content\", this.querySelector(\"[slot='content']\") !== null);\r\n }\r\n\r\n /** @private */\r\n #handleDefaultSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\r\n \"has-default\",\r\n hasAssignedNodes(e.target as HTMLSlotElement) && this.querySelector(\"[slot='content']\") === null,\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleActionsSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-actions\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @private */\r\n #handleFooterSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-footer\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n [this._elevation, this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (this.disabled || this.disabledInteractive) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-card\": M3eCardElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","SuppressedError","CardToken","unsafeCSS","DesignToken","shape","corner","medium","CardVariantToken","filled","textColor","color","onSurface","containerColor","surfaceContainerHighest","containerElevation","elevation","level0","disabled","textOpacity","imageOpacity","surfaceVariant","containerElevationColor","containerElevationOpacity","containerOpacity","hover","stateLayerColor","stateLayerOpacity","hoverStateLayerOpacity","level1","focus","focusStateLayerOpacity","pressed","pressedStateLayerOpacity","elevated","surfaceContainerLow","surface","level2","outlined","outlineColor","outlineVariant","outlineThickness","outline","outlineOpacity","CardStyle","css","motion","duration","short4","easing","standard","cardVariantStyle","variant","CardVariantStyle","M3eCardElement","KeyboardClick","LinkButton","FormSubmitter","Focusable","DisabledInteractive","Disabled","AttachInternals","LitElement","constructor","super","_M3eCardElement_clickHandler","set","this","e","inline","actionable","orientation","PressedController","isPressedKey","callback","disabledInteractive","_base","classList","toggle","connectedCallback","hasAttribute","role","addEventListener","disconnectedCallback","removeEventListener","render","html","renderPseudoLink","_M3eCardElement_instances","_M3eCardElement_handleHeaderSlotChange","_M3eCardElement_handleContentSlotChange","_M3eCardElement_handleDefaultSlotChange","_M3eCardElement_handleActionsSlotChange","_M3eCardElement_handleFooterSlotChange","firstUpdated","_changedProperties","_elevation","_focusRing","_stateLayer","_ripple","forEach","x","attach","removeAttribute","update","changedProperties","assignedNodes","flatten","base","shadowRoot","querySelector","some","HTMLElement","tagName","hasAssignedNodes","preventDefault","stopImmediatePropagation","styles","query","prototype","property","type","Boolean","reflect","customElement"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"card.min.js","sources":["../../src/card/styles/CardToken.ts","../../src/card/styles/CardVariantToken.ts","../../src/card/styles/CardStyle.ts","../../src/card/styles/CardVariantStyle.ts","../../src/card/CardElement.ts"],"sourcesContent":["import { unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Component design tokens for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardToken = {\r\n padding: unsafeCSS(\"var(--m3e-card-padding, 1rem)\"),\r\n shape: unsafeCSS(`var(--m3e-card-shape, ${DesignToken.shape.corner.medium});`),\r\n} as const;\r\n","import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\n/** @private */\r\ntype _CardVariantToken = {\r\n textColor: CSSResult;\r\n containerColor: CSSResult;\r\n containerElevation: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineThickness?: CSSResult;\r\n disabled: {\r\n textColor: CSSResult;\r\n textOpacity: CSSResult;\r\n imageOpacity: CSSResult;\r\n containerColor?: CSSResult;\r\n containerOpacity?: CSSResult;\r\n containerElevation: CSSResult;\r\n containerElevationColor: CSSResult;\r\n containerElevationOpacity: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineOpacity?: CSSResult;\r\n };\r\n hover: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n focus: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n pressed: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n};\r\n\r\n/**\r\n * Component design tokens that control the appearance variants of `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantToken: Record<CardVariant, _CardVariantToken> = {\r\n filled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerHighest}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surfaceVariant}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n },\r\n elevated: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level2}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n },\r\n outlined: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-outline-color, var(--m3e-card-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n outlineThickness: unsafeCSS(\"var(--m3e-outlined-card-outline-thickness, var(--m3e-card-outline-thickness, 1px))\"),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-color, var(--m3e-card-disabled-outline-color, ${DesignToken.color.outline}))`,\r\n ),\r\n outlineOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-opacity, var(--m3e-card-disabled-outline-opacity, 12%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-outline-color, var(--m3e-card-hover-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-outline-color, var(--m3e-card-focus-outline-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-outline-color, var(--m3e-card-pressed-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n },\r\n} as const;\r\n","import { css, CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardToken } from \"./CardToken\";\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/**\r\n * Baseline styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardStyle: CSSResult = css`\r\n :host {\r\n outline: none;\r\n }\r\n :host(:not([inline])) {\r\n display: block;\r\n }\r\n :host(:not([inline])) .base {\r\n display: flex;\r\n }\r\n :host([inline]) {\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n :host([inline]) .base {\r\n display: inline-flex;\r\n }\r\n .base {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-radius: ${CardToken.shape};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n border-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host([actionable]) {\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host([actionable]:not(:disabled):not([disabled-interactive])) {\r\n cursor: pointer;\r\n }\r\n :host([actionable][disabled-interactive]) {\r\n cursor: not-allowed;\r\n }\r\n :host(:not([actionable])) .focus-ring,\r\n :host(:not([actionable])) .state-layer,\r\n :host(:not([actionable])) .ripple {\r\n display: none;\r\n }\r\n :host([variant=\"outlined\"]) .base {\r\n border-style: solid;\r\n }\r\n ::slotted([slot=\"content\"]) {\r\n flex: 1 1 auto;\r\n }\r\n ::slotted(img),\r\n ::slotted(video) {\r\n inset: 0;\r\n object-fit: cover;\r\n }\r\n ::slotted(img[slot=\"header\"]),\r\n ::slotted(video[slot=\"header\"]) {\r\n border-radius: ${CardToken.shape};\r\n }\r\n ::slotted([slot=\"actions\"][end]) {\r\n justify-content: flex-end;\r\n }\r\n ::slotted([slot=\"header\"]),\r\n ::slotted([slot=\"actions\"]),\r\n ::slotted([slot=\"footer\"]) {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n }\r\n :host([orientation=\"vertical\"]) .base,\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: column;\r\n }\r\n :host([orientation=\"horizontal\"]) .base,\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: row;\r\n }\r\n :host([orientation=\"horizontal\"]) ::slotted(img),\r\n :host([orientation=\"horizontal\"]) ::slotted(video) {\r\n aspect-ratio: 16 / 9;\r\n }\r\n .has-content:not(.has-default) slot[name=\"content\"],\r\n .has-content.has-default slot:not([name]) {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: 1 1 auto;\r\n }\r\n .has-header slot[name=\"header\"],\r\n .has-actions slot[name=\"actions\"],\r\n .has-footer slot[name=\"footer\"] {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: none;\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-inline: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n .has-actions slot[name=\"actions\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-footer slot[name=\"footer\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-footer slot[name=\"footer\"] {\r\n margin-block: ${CardToken.padding};\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n a {\r\n all: unset;\r\n display: block;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n z-index: 1;\r\n }\r\n @media (forced-colors: active) {\r\n .base {\r\n transition: none;\r\n }\r\n :host([variant]) .base {\r\n border-style: solid;\r\n border-color: CanvasText;\r\n border-width: ${CardVariantToken.outlined.outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant]:disabled) .base,\r\n :host([actionable][variant][disabled-interactive]) .base {\r\n color: GrayText;\r\n border-color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .base {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/** @private */\r\nfunction cardVariantStyle(variant: CardVariant): CSSResult {\r\n return css`\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n background-color: ${CardVariantToken[variant].containerColor ?? unsafeCSS(\"unset\")};\r\n box-shadow: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n border-width: ${CardVariantToken[variant].outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base {\r\n --m3e-state-layer-hover-color: ${CardVariantToken[variant].hover.stateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${CardVariantToken[variant].hover.stateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${CardVariantToken[variant].focus.stateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${CardVariantToken[variant].focus.stateLayerOpacity};\r\n --m3e-ripple-color: ${CardVariantToken[variant].pressed.stateLayerColor};\r\n --m3e-ripple-opacity: ${CardVariantToken[variant].pressed.stateLayerOpacity};\r\n --m3e-elevation-level: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-hover-level: ${CardVariantToken[variant].hover.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-focus-level: ${CardVariantToken[variant].focus.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-pressed-level: ${CardVariantToken[variant].pressed.containerElevation ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n border-color: ${CardVariantToken[variant].outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus .base) {\r\n border-color: ${CardVariantToken[variant].focus.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover .base) {\r\n border-color: ${CardVariantToken[variant].hover.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n border-color: ${CardVariantToken[variant].pressed.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n color: ${CardVariantToken[variant].textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus) .base {\r\n color: ${CardVariantToken[variant].focus.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover) .base {\r\n color: ${CardVariantToken[variant].hover.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n color: ${CardVariantToken[variant].pressed.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) .base,\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .base {\r\n --m3e-elevation-level: ${CardVariantToken[variant].disabled.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerElevationColor}\r\n ${CardVariantToken[variant].disabled.containerElevationOpacity},\r\n transparent\r\n );\r\n color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.textColor} ${CardVariantToken[variant].disabled.textOpacity},\r\n transparent\r\n );\r\n background-color: ${CardVariantToken[variant].disabled.containerColor &&\r\n CardVariantToken[variant].disabled.containerOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerColor} ${CardVariantToken[variant].disabled.containerOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n border-color: ${CardVariantToken[variant].disabled.outlineColor &&\r\n CardVariantToken[variant].disabled.outlineOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.outlineColor} ${CardVariantToken[variant].disabled.outlineOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(video),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(video) {\r\n opacity: ${CardVariantToken[variant].disabled.imageOpacity};\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Appearance variant styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantStyle: CSSResultGroup = [\r\n cardVariantStyle(\"filled\"),\r\n cardVariantStyle(\"elevated\"),\r\n cardVariantStyle(\"outlined\"),\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 renderPseudoLink,\r\n AttachInternals,\r\n Disabled,\r\n DisabledInteractive,\r\n Focusable,\r\n FormSubmitter,\r\n LinkButton,\r\n M3eElevationElement,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n KeyboardClick,\r\n hasAssignedNodes,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"./CardVariant\";\r\n\r\nimport { CardStyle, CardVariantStyle } from \"./styles\";\r\nimport { CardOrientation } from \"./CardOrientation\";\r\n\r\n/**\r\n * A content container for text, images (or other media), and actions in the context of a single subject.\r\n *\r\n * @description\r\n * The `m3e-card` component is a flexible, expressive container for presenting a unified subject—text,\r\n * media, and actions—on a visually distinct surface. It supports multiple appearance variants via the\r\n * `variant` attribute: `filled` (default, for solid emphasis), `outlined` (for subtle framing with a border),\r\n * and `elevated` (for depth and motion with shadow elevation).\r\n *\r\n * Cards can be made actionable, responding to user interaction when the `actionable` attribute is set, and can be\r\n * presented inline with surrounding content using the `inline` attribute.\r\n *\r\n * It supports both vertical and horizontal layouts through the `orientation` attribute. Content organization is\r\n * enabled via dedicated slots for `header`, `content`, `actions`, and `footer`, or developers can use the default\r\n * slot for custom layouts.\r\n *\r\n * The component provides dynamic elevation, adaptive shape, and expressive color theming, and responds to interaction states\r\n * (hover, focus, press, disabled) with smooth motion and visual feedback, ensuring clarity, accessibility,\r\n * and a cohesive user experience in accordance with Material Design 3 guidelines.\r\n *\r\n * @example\r\n * The following example illustrates each of the dedicated slots of a card.\r\n * ```html\r\n * <m3e-card>\r\n * <div slot=\"header\">Header section</div>\r\n * <div slot=\"content\">Content section</div>\r\n * <div slot=\"actions\">Actions section</div>\r\n * <div slot=\"footer\">Footer section</div>\r\n * </m3e-card>\r\n * ```\r\n *\r\n * @tag m3e-card\r\n *\r\n * @slot - Renders the content of the card without padding.\r\n * @slot header - Renders the header of the card.\r\n * @slot content - Renders the content of the card with padding.\r\n * @slot actions - Renders the actions of the card.\r\n * @slot footer - Renders the footer of the card.\r\n *\r\n * @attr actionable - Whether the card is \"actionable\" and will respond to use interaction.\r\n * @attr inline - Whether to present the card inline with surrounding content.\r\n * @attr orientation - The orientation of the card.\r\n * @attr variant - The appearance variant of the card.\r\n *\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-card-padding - Internal spacing for all slotted regions\r\n * @cssprop --m3e-card-shape - Corner radius of the card container.\r\n * @cssprop --m3e-filled-card-text-color - Foreground color for text content in filled cards.\r\n * @cssprop --m3e-filled-card-container-color - Background color of the filled card container.\r\n * @cssprop --m3e-filled-card-container-elevation - Elevation level for filled card container.\r\n * @cssprop --m3e-filled-card-disabled-text-color - Text color when filled card is disabled.\r\n * @cssprop --m3e-filled-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-filled-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-filled-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-filled-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-filled-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-filled-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-filled-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-elevated-card-text-color - Foreground color for text content in elevated cards.\r\n * @cssprop --m3e-elevated-card-container-color - Background color of the elevated card container.\r\n * @cssprop --m3e-elevated-card-container-elevation - Elevation level for elevated card container.\r\n * @cssprop --m3e-elevated-card-disabled-text-color - Text color when elevated card is disabled.\r\n * @cssprop --m3e-elevated-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-elevated-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-elevated-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-elevated-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-elevated-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-elevated-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-elevated-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-text-color - Foreground color for text content in outlined cards.\r\n * @cssprop --m3e-outlined-card-container-color - Background color of the outlined card container.\r\n * @cssprop --m3e-outlined-card-container-elevation - Elevation level for outlined card container.\r\n * @cssprop --m3e-outlined-card-outline-color - Border color for outlined cards.\r\n * @cssprop --m3e-outlined-card-outline-thickness - Border thickness for outlined cards.\r\n * @cssprop --m3e-outlined-card-disabled-text-color - Text color when outlined card is disabled.\r\n * @cssprop --m3e-outlined-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-color - Border color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-opacity - Border opacity when disabled.\r\n * @cssprop --m3e-outlined-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-outlined-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-outlined-card-hover-outline-color - Border color on hover.\r\n * @cssprop --m3e-outlined-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-outlined-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-outlined-card-focus-outline-color - Border color on focus.\r\n * @cssprop --m3e-outlined-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-outlined-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-pressed-outline-color - Border color on press.\r\n */\r\n@customElement(\"m3e-card\")\r\nexport class M3eCardElement extends KeyboardClick(\r\n LinkButton(FormSubmitter(Focusable(DisabledInteractive(Disabled(AttachInternals(LitElement), true))))),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [CardVariantStyle, CardStyle];\r\n\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n /** @private */ @query(\".elevation\") private readonly _elevation?: M3eElevationElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n callback: (pressed) => {\r\n if (this.actionable && !this.disabled && !this.disabledInteractive) {\r\n this._base?.classList.toggle(\"pressed\", pressed);\r\n }\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Whether to present the card inline with surrounding content.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) inline = false;\r\n\r\n /**\r\n * Whether the card is \"actionable\" and will respond to use interaction.\r\n * @default false\r\n */\r\n @property({ type: Boolean }) actionable = false;\r\n\r\n /**\r\n * The appearance variant of the card.\r\n * @default \"filled\"\r\n */\r\n @property({ reflect: true }) variant: CardVariant = \"filled\";\r\n\r\n /**\r\n * The orientation of the card.\r\n * @default \"vertical\"\r\n */\r\n @property({ reflect: true }) orientation: CardOrientation = \"vertical\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n if (this.hasAttribute(\"actionable\")) {\r\n // If href is specified, the LinkButton mixin changes this to \"link\" if role is \"button\".\r\n this.role = \"button\";\r\n }\r\n\r\n super.connectedCallback();\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this._base?.classList.toggle(\"pressed\", false);\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-elevation\r\n class=\"elevation\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-elevation>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${!this.actionable || this.disabled}\"></m3e-focus-ring>\r\n <m3e-state-layer\r\n class=\"state-layer\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-state-layer>\r\n <m3e-ripple\r\n class=\"ripple\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-ripple>\r\n ${this[renderPseudoLink]()}\r\n <slot name=\"header\" @slotchange=\"${this.#handleHeaderSlotChange}\"></slot>\r\n <slot name=\"content\" @slotchange=\"${this.#handleContentSlotChange}\">\r\n <slot @slotchange=\"${this.#handleDefaultSlotChange}\"></slot>\r\n </slot>\r\n <slot name=\"actions\" @slotchange=\"${this.#handleActionsSlotChange}\"></slot>\r\n <slot name=\"footer\" @slotchange=\"${this.#handleFooterSlotChange}\"></slot>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderSlotChange(e: Event): void {\r\n const assignedNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true });\r\n const base = this.shadowRoot?.querySelector(\".base\");\r\n base?.classList.toggle(\"has-header\", assignedNodes.length > 0);\r\n base?.classList.toggle(\r\n \"has-header-media\",\r\n assignedNodes.some((x) => x instanceof HTMLElement && (x.tagName === \"IMG\" || x.tagName === \"VIDEO\")),\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleContentSlotChange(): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-content\", this.querySelector(\"[slot='content']\") !== null);\r\n }\r\n\r\n /** @private */\r\n #handleDefaultSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\r\n \"has-default\",\r\n hasAssignedNodes(e.target as HTMLSlotElement) && this.querySelector(\"[slot='content']\") === null,\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleActionsSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-actions\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @private */\r\n #handleFooterSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-footer\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n [this._elevation, this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (this.disabled || this.disabledInteractive) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-card\": M3eCardElement;\r\n }\r\n}\r\n"],"names":["CardToken","unsafeCSS","DesignToken","shape","corner","medium","CardVariantToken","filled","textColor","color","onSurface","containerColor","surfaceContainerHighest","containerElevation","elevation","level0","disabled","textOpacity","imageOpacity","surfaceVariant","containerElevationColor","containerElevationOpacity","containerOpacity","hover","stateLayerColor","stateLayerOpacity","state","hoverStateLayerOpacity","level1","focus","focusStateLayerOpacity","pressed","pressedStateLayerOpacity","elevated","surfaceContainerLow","surface","level2","outlined","outlineColor","outlineVariant","outlineThickness","outline","outlineOpacity","CardStyle","css","motion","duration","short4","easing","standard","cardVariantStyle","variant","CardVariantStyle","M3eCardElement","KeyboardClick","LinkButton","FormSubmitter","Focusable","DisabledInteractive","Disabled","AttachInternals","LitElement","constructor","super","_M3eCardElement_clickHandler","set","this","e","__classPrivateFieldGet","call","inline","actionable","orientation","PressedController","isPressedKey","key","callback","disabledInteractive","_base","classList","toggle","connectedCallback","hasAttribute","role","addEventListener","disconnectedCallback","removeEventListener","render","html","renderPseudoLink","_M3eCardElement_instances","_M3eCardElement_handleHeaderSlotChange","_M3eCardElement_handleContentSlotChange","_M3eCardElement_handleDefaultSlotChange","_M3eCardElement_handleActionsSlotChange","_M3eCardElement_handleFooterSlotChange","firstUpdated","_changedProperties","_elevation","_focusRing","_stateLayer","_ripple","forEach","x","attach","removeAttribute","update","changedProperties","assignedNodes","target","flatten","base","shadowRoot","querySelector","length","some","HTMLElement","tagName","hasAssignedNodes","preventDefault","stopImmediatePropagation","styles","__decorate","query","prototype","property","type","Boolean","reflect","customElement"],"mappings":"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"}
package/dist/checkbox.js CHANGED
@@ -3,43 +3,11 @@
3
3
  * Copyright (c) 2025 matraic
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
- import { LitElement, html, css, nothing } from 'lit';
6
+ import { __classPrivateFieldGet, __decorate } from 'tslib';
7
+ import { LitElement, html, nothing, css } from 'lit';
7
8
  import { query, property } from 'lit/decorators.js';
8
9
  import { Labelled, RequiredConstraintValidation, Dirty, Touched, Required, ConstraintValidation, CheckedIndeterminate, FormAssociated, KeyboardClick, Focusable, Disabled, AttachInternals, Role, HoverController, PressedController, formValue, DesignToken, customElement } from '@m3e/web/core';
9
10
 
10
- /******************************************************************************
11
- Copyright (c) Microsoft Corporation.
12
-
13
- Permission to use, copy, modify, and/or distribute this software for any
14
- purpose with or without fee is hereby granted.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
17
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
19
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
20
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
21
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22
- PERFORMANCE OF THIS SOFTWARE.
23
- ***************************************************************************** */
24
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
25
-
26
- function __decorate(decorators, target, key, desc) {
27
- var c = arguments.length,
28
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
29
- d;
30
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);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;
31
- return c > 3 && r && Object.defineProperty(target, key, r), r;
32
- }
33
- function __classPrivateFieldGet(receiver, state, kind, f) {
34
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
35
- 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");
36
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
37
- }
38
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
39
- var e = new Error(message);
40
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
41
- };
42
-
43
11
  var _M3eCheckboxElement_instances, _M3eCheckboxElement_clickHandler, _M3eCheckboxElement_hoverController, _M3eCheckboxElement_pressedController, _M3eCheckboxElement_renderIcon, _M3eCheckboxElement_handleClick;
44
12
  /**
45
13
  * A checkbox that allows a user to select one or more options from a limited number of choices.
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/checkbox/CheckboxElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { css, CSSResultGroup, html, LitElement, nothing, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n Labelled,\r\n CheckedIndeterminate,\r\n ConstraintValidation,\r\n DesignToken,\r\n Dirty,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n Required,\r\n RequiredConstraintValidation,\r\n Touched,\r\n AttachInternals,\r\n Role,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n KeyboardClick,\r\n Focusable,\r\n HoverController,\r\n PressedController,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\n/**\r\n * A checkbox that allows a user to select one or more options from a limited number of choices.\r\n *\r\n * @description\r\n * The `m3e-checkbox` component enables users to select one or more options from a set. It supports selected,\r\n * unselected, and indeterminate states, and communicates selection through visual cues and accessible semantics.\r\n * This component reflects user intent, form participation, and validation feedback, adapting to disabled and\r\n * required contexts. It emits `input` and `change` events to signal state transitions and integrates with form\r\n * submission via `name` and `value`.\r\n *\r\n * @example\r\n * The following example illustrates wrapping a `m3e-checkbox` within a `label`.\r\n * ```html\r\n * <label>\r\n * <m3e-checkbox></m3e-checkbox>\r\n * Checkbox label\r\n * </label>\r\n * ```\r\n * @example\r\n * The next example illustrates use of the `for` attribute to label a checkbox.\r\n * ```html\r\n * <m3e-checkbox id=\"chk\"></m3e-checkbox>\r\n * <label for=\"chk\">Checkbox label </label>\r\n * ```\r\n *\r\n * @tag m3e-checkbox\r\n *\r\n * @attr checked - Whether the element is checked.\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr indeterminate - Whether the element's checked state is indeterminate.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr required - Whether the element is required.\r\n * @attr value - A string representing the value of the checkbox.\r\n *\r\n * @fires input - Emitted when the checked state changes.\r\n * @fires invalid - Emitted when a form is submitted and the element fails constraint validation.\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-checkbox-icon-size - Size of the checkbox icon inside the container.\r\n * @cssprop --m3e-checkbox-container-size - Base size of the checkbox container.\r\n * @cssprop --m3e-checkbox-container-shape - Border radius of the icon container.\r\n * @cssprop --m3e-checkbox-unselected-outline-thickness - Border thickness for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-outline-color - Border color for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-hover-outline-color - Border color on hover when unselected.\r\n * @cssprop --m3e-checkbox-unselected-disabled-outline-color - Base color for disabled unselected outline.\r\n * @cssprop --m3e-checkbox-unselected-disabled-outline-opacity - Opacity for disabled unselected outline.\r\n * @cssprop --m3e-checkbox-unselected-error-outline-color - Border color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-selected-container-color - Background color for selected container.\r\n * @cssprop --m3e-checkbox-selected-icon-color - Icon color for selected state.\r\n * @cssprop --m3e-checkbox-selected-disabled-container-color - Base color for disabled selected container.\r\n * @cssprop --m3e-checkbox-selected-disabled-container-opacity - Opacity for disabled selected container.\r\n * @cssprop --m3e-checkbox-selected-disabled-icon-color - Base color for disabled selected icon.\r\n * @cssprop --m3e-checkbox-selected-disabled-icon-opacity - Opacity for disabled selected icon.\r\n * @cssprop --m3e-checkbox-unselected-hover-color - Ripple hover color for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-focus-color - Ripple focus color for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-ripple-color - Ripple base color for unselected state.\r\n * @cssprop --m3e-checkbox-selected-hover-color - Ripple hover color for selected state.\r\n * @cssprop --m3e-checkbox-selected-focus-color - Ripple focus color for selected state.\r\n * @cssprop --m3e-checkbox-selected-ripple-color - Ripple base color for selected state.\r\n * @cssprop --m3e-checkbox-unselected-error-hover-color - Ripple hover color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-unselected-error-focus-color - Ripple focus color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-unselected-error-ripple-color - Ripple base color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-selected-error-hover-color - Ripple hover color for invalid selected state.\r\n * @cssprop --m3e-checkbox-selected-error-focus-color - Ripple focus color for invalid selected state.\r\n * @cssprop --m3e-checkbox-selected-error-ripple-color - Ripple base color for invalid selected state.\r\n */\r\n@customElement(\"m3e-checkbox\")\r\nexport class M3eCheckboxElement extends Labelled(\r\n RequiredConstraintValidation(\r\n Dirty(\r\n Touched(\r\n Required(\r\n ConstraintValidation(\r\n CheckedIndeterminate(\r\n FormAssociated(KeyboardClick(Focusable(Disabled(AttachInternals(Role(LitElement, \"checkbox\")))), false)),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n outline: none;\r\n width: fit-content;\r\n height: fit-content;\r\n vertical-align: middle;\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 .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n border-radius: 50%;\r\n width: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken.density.calc(-3)});\r\n height: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken.density.calc(-3)});\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n width: 3rem;\r\n margin: auto;\r\n }\r\n .wrapper {\r\n box-sizing: border-box;\r\n pointer-events: none;\r\n width: var(--m3e-checkbox-icon-size, 1.125rem);\r\n height: var(--m3e-checkbox-icon-size, 1.125rem);\r\n border-radius: var(--m3e-checkbox-container-shape, 0.125rem);\r\n }\r\n :host(:not([checked]):not([indeterminate])) .wrapper {\r\n border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px);\r\n border-style: solid;\r\n }\r\n :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-ripple-color: var(--m3e-checkbox-unselected-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n :host(:not(:state(-touched):state(-invalid))[checked]) .base,\r\n :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-hover-color, ${DesignToken.color.primary});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-focus-color, ${DesignToken.color.primary});\r\n --m3e-ripple-color: var(--m3e-checkbox-selected-ripple-color, ${DesignToken.color.primary});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[checked]) .wrapper,\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper {\r\n background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken.color.primary});\r\n color: var(--m3e-checkbox-selected-icon-color, ${DesignToken.color.onPrimary});\r\n }\r\n :host(\r\n :not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not(\r\n :hover\r\n )\r\n )\r\n .wrapper {\r\n border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover)\r\n .wrapper {\r\n border-color: var(--m3e-checkbox-unselected-hover-outline-color, ${DesignToken.color.onSurface});\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked]):not([indeterminate])) .wrapper {\r\n border-color: color-mix(\r\n in srgb,\r\n var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken.color.onSurface})\r\n var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .wrapper,\r\n :host([aria-disabled=\"true\"][indeterminate]) .wrapper {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken.color.onSurface})\r\n var(--m3e-checkbox-selected-disabled-container-opacity, 38%),\r\n transparent\r\n );\r\n color: color-mix(\r\n in srgb,\r\n var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken.color.surface})\r\n var(--m3e-checkbox-selected-disabled-icon-opacity, 100%),\r\n transparent\r\n );\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-error-hover-color, ${DesignToken.color.error});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-error-focus-color, ${DesignToken.color.error});\r\n --m3e-ripple-color: var(--m3e-checkbox-unselected-error-ripple-color, ${DesignToken.color.error});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[checked]) .base,\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-error-hover-color, ${DesignToken.color.onError});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-error-focus-color, ${DesignToken.color.onError});\r\n --m3e-ripple-color: var(--m3e-checkbox-selected-error-ripple-color, ${DesignToken.color.onError});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper {\r\n border-color: var(--m3e-checkbox-unselected-error-outline-color, ${DesignToken.color.error});\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base,\r\n :host(:not(:state(-touched):state(-invalid))[checked]) .base,\r\n :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: CanvasText;\r\n --m3e-state-layer-focus-color: CanvasText;\r\n --m3e-ripple-color: CanvasText;\r\n }\r\n :host(\r\n :not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not(\r\n :hover\r\n )\r\n )\r\n .wrapper,\r\n :host(\r\n :not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover\r\n )\r\n .wrapper {\r\n border-color: CanvasText;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[checked]) .wrapper,\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper {\r\n background-color: CanvasText;\r\n color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked]):not([indeterminate])) .wrapper {\r\n border-color: GrayText;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .wrapper,\r\n :host([aria-disabled=\"true\"][indeterminate]) .wrapper {\r\n background-color: GrayText;\r\n color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper {\r\n border-color: Highlight;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base,\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[checked]) .base,\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: Highlight;\r\n --m3e-state-layer-focus-color: Highlight;\r\n --m3e-ripple-color: Highlight;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\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 minPressedDuration: 150,\r\n callback: (pressed) => {\r\n if (this.disabled) return;\r\n if (pressed) {\r\n this._ripple?.show(0, 0, true);\r\n } else {\r\n this._ripple?.hide();\r\n }\r\n },\r\n });\r\n\r\n /**\r\n * A string representing the value of the checkbox.\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.indeterminate ? 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<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" centered ?disabled=\"${this.disabled}\"></m3e-ripple>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"wrapper\" aria-hidden=\"true\">${this.#renderIcon()}</div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n if (this.indeterminate) {\r\n return html`<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path Required d=\"M240-440v-80h480v80H240Z\" />\r\n </svg>`;\r\n }\r\n\r\n if (this.checked) {\r\n return html`<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\r\n </svg>`;\r\n }\r\n\r\n return nothing;\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (e.defaultPrevented) return;\r\n\r\n this.checked = !this.checked;\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.indeterminate = false;\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-checkbox\": M3eCheckboxElement;\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","M3eCheckboxElement","Labelled","RequiredConstraintValidation","Dirty","Touched","Required","ConstraintValidation","CheckedIndeterminate","FormAssociated","KeyboardClick","Focusable","Disabled","AttachInternals","Role","LitElement","constructor","_M3eCheckboxElement_clickHandler","set","_M3eCheckboxElement_hoverController","HoverController","callback","hovering","disabled","_stateLayer","show","hide","_M3eCheckboxElement_pressedController","PressedController","minPressedDuration","pressed","_ripple","WeakMap","_M3eCheckboxElement_instances","WeakSet","formValue","checked","indeterminate","connectedCallback","addEventListener","label","labels","observe","disconnectedCallback","removeEventListener","unobserve","firstUpdated","_changedProperties","_focusRing","forEach","x","attach","render","html","_M3eCheckboxElement_renderIcon","nothing","defaultPrevented","dispatchEvent","Event","bubbles","composed","cancelable","closest","preventDefault","styles","css","DesignToken","density","calc","color","onSurface","primary","onPrimary","onSurfaceVariant","surface","onError","query","prototype","property","customElement"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"checkbox.js","sources":["../../src/checkbox/CheckboxElement.ts"],"sourcesContent":["import { css, CSSResultGroup, html, LitElement, nothing, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n Labelled,\r\n CheckedIndeterminate,\r\n ConstraintValidation,\r\n DesignToken,\r\n Dirty,\r\n Disabled,\r\n FormAssociated,\r\n formValue,\r\n Required,\r\n RequiredConstraintValidation,\r\n Touched,\r\n AttachInternals,\r\n Role,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n KeyboardClick,\r\n Focusable,\r\n HoverController,\r\n PressedController,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\n/**\r\n * A checkbox that allows a user to select one or more options from a limited number of choices.\r\n *\r\n * @description\r\n * The `m3e-checkbox` component enables users to select one or more options from a set. It supports selected,\r\n * unselected, and indeterminate states, and communicates selection through visual cues and accessible semantics.\r\n * This component reflects user intent, form participation, and validation feedback, adapting to disabled and\r\n * required contexts. It emits `input` and `change` events to signal state transitions and integrates with form\r\n * submission via `name` and `value`.\r\n *\r\n * @example\r\n * The following example illustrates wrapping a `m3e-checkbox` within a `label`.\r\n * ```html\r\n * <label>\r\n * <m3e-checkbox></m3e-checkbox>\r\n * Checkbox label\r\n * </label>\r\n * ```\r\n * @example\r\n * The next example illustrates use of the `for` attribute to label a checkbox.\r\n * ```html\r\n * <m3e-checkbox id=\"chk\"></m3e-checkbox>\r\n * <label for=\"chk\">Checkbox label </label>\r\n * ```\r\n *\r\n * @tag m3e-checkbox\r\n *\r\n * @attr checked - Whether the element is checked.\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr indeterminate - Whether the element's checked state is indeterminate.\r\n * @attr name - The name that identifies the element when submitting the associated form.\r\n * @attr required - Whether the element is required.\r\n * @attr value - A string representing the value of the checkbox.\r\n *\r\n * @fires input - Emitted when the checked state changes.\r\n * @fires invalid - Emitted when a form is submitted and the element fails constraint validation.\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-checkbox-icon-size - Size of the checkbox icon inside the container.\r\n * @cssprop --m3e-checkbox-container-size - Base size of the checkbox container.\r\n * @cssprop --m3e-checkbox-container-shape - Border radius of the icon container.\r\n * @cssprop --m3e-checkbox-unselected-outline-thickness - Border thickness for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-outline-color - Border color for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-hover-outline-color - Border color on hover when unselected.\r\n * @cssprop --m3e-checkbox-unselected-disabled-outline-color - Base color for disabled unselected outline.\r\n * @cssprop --m3e-checkbox-unselected-disabled-outline-opacity - Opacity for disabled unselected outline.\r\n * @cssprop --m3e-checkbox-unselected-error-outline-color - Border color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-selected-container-color - Background color for selected container.\r\n * @cssprop --m3e-checkbox-selected-icon-color - Icon color for selected state.\r\n * @cssprop --m3e-checkbox-selected-disabled-container-color - Base color for disabled selected container.\r\n * @cssprop --m3e-checkbox-selected-disabled-container-opacity - Opacity for disabled selected container.\r\n * @cssprop --m3e-checkbox-selected-disabled-icon-color - Base color for disabled selected icon.\r\n * @cssprop --m3e-checkbox-selected-disabled-icon-opacity - Opacity for disabled selected icon.\r\n * @cssprop --m3e-checkbox-unselected-hover-color - Ripple hover color for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-focus-color - Ripple focus color for unselected state.\r\n * @cssprop --m3e-checkbox-unselected-ripple-color - Ripple base color for unselected state.\r\n * @cssprop --m3e-checkbox-selected-hover-color - Ripple hover color for selected state.\r\n * @cssprop --m3e-checkbox-selected-focus-color - Ripple focus color for selected state.\r\n * @cssprop --m3e-checkbox-selected-ripple-color - Ripple base color for selected state.\r\n * @cssprop --m3e-checkbox-unselected-error-hover-color - Ripple hover color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-unselected-error-focus-color - Ripple focus color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-unselected-error-ripple-color - Ripple base color for invalid unselected state.\r\n * @cssprop --m3e-checkbox-selected-error-hover-color - Ripple hover color for invalid selected state.\r\n * @cssprop --m3e-checkbox-selected-error-focus-color - Ripple focus color for invalid selected state.\r\n * @cssprop --m3e-checkbox-selected-error-ripple-color - Ripple base color for invalid selected state.\r\n */\r\n@customElement(\"m3e-checkbox\")\r\nexport class M3eCheckboxElement extends Labelled(\r\n RequiredConstraintValidation(\r\n Dirty(\r\n Touched(\r\n Required(\r\n ConstraintValidation(\r\n CheckedIndeterminate(\r\n FormAssociated(KeyboardClick(Focusable(Disabled(AttachInternals(Role(LitElement, \"checkbox\")))), false)),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n outline: none;\r\n width: fit-content;\r\n height: fit-content;\r\n vertical-align: middle;\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 .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n border-radius: 50%;\r\n width: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken.density.calc(-3)});\r\n height: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken.density.calc(-3)});\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n width: 3rem;\r\n margin: auto;\r\n }\r\n .wrapper {\r\n box-sizing: border-box;\r\n pointer-events: none;\r\n width: var(--m3e-checkbox-icon-size, 1.125rem);\r\n height: var(--m3e-checkbox-icon-size, 1.125rem);\r\n border-radius: var(--m3e-checkbox-container-shape, 0.125rem);\r\n }\r\n :host(:not([checked]):not([indeterminate])) .wrapper {\r\n border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px);\r\n border-style: solid;\r\n }\r\n :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-ripple-color: var(--m3e-checkbox-unselected-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n :host(:not(:state(-touched):state(-invalid))[checked]) .base,\r\n :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-hover-color, ${DesignToken.color.primary});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-focus-color, ${DesignToken.color.primary});\r\n --m3e-ripple-color: var(--m3e-checkbox-selected-ripple-color, ${DesignToken.color.primary});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[checked]) .wrapper,\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper {\r\n background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken.color.primary});\r\n color: var(--m3e-checkbox-selected-icon-color, ${DesignToken.color.onPrimary});\r\n }\r\n :host(\r\n :not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not(\r\n :hover\r\n )\r\n )\r\n .wrapper {\r\n border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover)\r\n .wrapper {\r\n border-color: var(--m3e-checkbox-unselected-hover-outline-color, ${DesignToken.color.onSurface});\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked]):not([indeterminate])) .wrapper {\r\n border-color: color-mix(\r\n in srgb,\r\n var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken.color.onSurface})\r\n var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .wrapper,\r\n :host([aria-disabled=\"true\"][indeterminate]) .wrapper {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken.color.onSurface})\r\n var(--m3e-checkbox-selected-disabled-container-opacity, 38%),\r\n transparent\r\n );\r\n color: color-mix(\r\n in srgb,\r\n var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken.color.surface})\r\n var(--m3e-checkbox-selected-disabled-icon-opacity, 100%),\r\n transparent\r\n );\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-error-hover-color, ${DesignToken.color.error});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-error-focus-color, ${DesignToken.color.error});\r\n --m3e-ripple-color: var(--m3e-checkbox-unselected-error-ripple-color, ${DesignToken.color.error});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[checked]) .base,\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-error-hover-color, ${DesignToken.color.onError});\r\n --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-error-focus-color, ${DesignToken.color.onError});\r\n --m3e-ripple-color: var(--m3e-checkbox-selected-error-ripple-color, ${DesignToken.color.onError});\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper {\r\n border-color: var(--m3e-checkbox-unselected-error-outline-color, ${DesignToken.color.error});\r\n }\r\n @media (forced-colors: active) {\r\n :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base,\r\n :host(:not(:state(-touched):state(-invalid))[checked]) .base,\r\n :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: CanvasText;\r\n --m3e-state-layer-focus-color: CanvasText;\r\n --m3e-ripple-color: CanvasText;\r\n }\r\n :host(\r\n :not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not(\r\n :hover\r\n )\r\n )\r\n .wrapper,\r\n :host(\r\n :not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover\r\n )\r\n .wrapper {\r\n border-color: CanvasText;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[checked]) .wrapper,\r\n :host(:not([aria-disabled=\"true\"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper {\r\n background-color: CanvasText;\r\n color: Canvas;\r\n }\r\n :host([aria-disabled=\"true\"]:not([checked]):not([indeterminate])) .wrapper {\r\n border-color: GrayText;\r\n }\r\n :host([aria-disabled=\"true\"][checked]) .wrapper,\r\n :host([aria-disabled=\"true\"][indeterminate]) .wrapper {\r\n background-color: GrayText;\r\n color: Canvas;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper {\r\n border-color: Highlight;\r\n }\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base,\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[checked]) .base,\r\n :host(:not([aria-disabled=\"true\"]):state(-touched):state(-invalid)[indeterminate]) .base {\r\n --m3e-state-layer-hover-color: Highlight;\r\n --m3e-state-layer-focus-color: Highlight;\r\n --m3e-ripple-color: Highlight;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\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 minPressedDuration: 150,\r\n callback: (pressed) => {\r\n if (this.disabled) return;\r\n if (pressed) {\r\n this._ripple?.show(0, 0, true);\r\n } else {\r\n this._ripple?.hide();\r\n }\r\n },\r\n });\r\n\r\n /**\r\n * A string representing the value of the checkbox.\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.indeterminate ? 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<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" centered ?disabled=\"${this.disabled}\"></m3e-ripple>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n <div class=\"wrapper\" aria-hidden=\"true\">${this.#renderIcon()}</div>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n if (this.indeterminate) {\r\n return html`<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path Required d=\"M240-440v-80h480v80H240Z\" />\r\n </svg>`;\r\n }\r\n\r\n if (this.checked) {\r\n return html`<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\r\n </svg>`;\r\n }\r\n\r\n return nothing;\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (e.defaultPrevented) return;\r\n\r\n this.checked = !this.checked;\r\n if (this.dispatchEvent(new Event(\"input\", { bubbles: true, composed: true, cancelable: true }))) {\r\n this.indeterminate = false;\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-checkbox\": M3eCheckboxElement;\r\n }\r\n}\r\n"],"names":["M3eCheckboxElement","Labelled","RequiredConstraintValidation","Dirty","Touched","Required","ConstraintValidation","CheckedIndeterminate","FormAssociated","KeyboardClick","Focusable","Disabled","AttachInternals","Role","LitElement","constructor","_M3eCheckboxElement_clickHandler","set","e","__classPrivateFieldGet","call","_M3eCheckboxElement_hoverController","HoverController","target","callback","hovering","disabled","_stateLayer","show","hide","_M3eCheckboxElement_pressedController","PressedController","minPressedDuration","pressed","_ripple","value","WeakMap","_M3eCheckboxElement_instances","WeakSet","formValue","checked","indeterminate","connectedCallback","addEventListener","label","labels","observe","disconnectedCallback","removeEventListener","unobserve","firstUpdated","_changedProperties","_focusRing","forEach","x","attach","render","html","_M3eCheckboxElement_renderIcon","nothing","defaultPrevented","dispatchEvent","Event","bubbles","composed","cancelable","closest","preventDefault","styles","css","DesignToken","density","calc","color","onSurface","primary","onPrimary","onSurfaceVariant","surface","error","onError","__decorate","query","prototype","property","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{LitElement as e,html as t,css as o,nothing as r}from"lit";import{query as a,property as i}from"lit/decorators.js";import{Labelled as c,RequiredConstraintValidation as s,Dirty as n,Touched as l,Required as d,ConstraintValidation as h,CheckedIndeterminate as u,FormAssociated as b,KeyboardClick as p,Focusable as v,Disabled as m,AttachInternals as k,Role as f,HoverController as x,PressedController as y,formValue as g,DesignToken as w,customElement as $}from"@m3e/web/core";function C(e,t,o,r){var a,i=arguments.length,c=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,o,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(c=(i<3?a(c):i>3?a(t,o,c):a(t,o))||c);return i>3&&c&&Object.defineProperty(t,o,c),c}function E(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)}var S,_,T,j,z,L;"function"==typeof SuppressedError&&SuppressedError;let P=class extends(c(s(n(l(d(h(u(b(p(v(m(k(f(e,"checkbox")))),!1)))))))))){constructor(){super(...arguments),S.add(this),_.set(this,e=>E(this,S,"m",L).call(this,e)),T.set(this,new x(this,{target:null,callback:e=>{this.disabled||(e?this._stateLayer?.show("hover"):this._stateLayer?.hide("hover"))}})),j.set(this,new y(this,{target:null,minPressedDuration:150,callback:e=>{this.disabled||(e?this._ripple?.show(0,0,!0):this._ripple?.hide())}})),this.value="on"}get[(_=new WeakMap,T=new WeakMap,j=new WeakMap,S=new WeakSet,g)](){return!this.checked||this.disabled||this.indeterminate?null:this.value}connectedCallback(){super.connectedCallback(),this.addEventListener("click",E(this,_,"f"));for(const e of this.labels)E(this,T,"f").observe(e),E(this,j,"f").observe(e)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",E(this,_,"f"));for(const e of this.labels)E(this,T,"f").unobserve(e),E(this,j,"f").unobserve(e)}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}render(){return t`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" centered ?disabled="${this.disabled}"></m3e-ripple><div class="touch" aria-hidden="true"></div><div class="wrapper" aria-hidden="true">${E(this,S,"m",z).call(this)}</div></div>`}};z=function(){return this.indeterminate?t`<svg viewBox="0 -960 960 960" fill="currentColor"><path Required d="M240-440v-80h480v80H240Z"/></svg>`:this.checked?t`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg>`:r},L=function(e){e.defaultPrevented||(this.checked=!this.checked,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?(this.indeterminate=!1,this.dispatchEvent(new Event("change",{bubbles:!0}))):this.checked=!this.checked,this.closest("label")&&e.preventDefault())},P.styles=o`:host { display: inline-block; outline: none; width: fit-content; height: fit-content; vertical-align: middle; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; border-radius: 50%; width: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${w.density.calc(-3)}); height: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${w.density.calc(-3)}); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } .wrapper { box-sizing: border-box; pointer-events: none; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 0.125rem); } :host(:not([checked]):not([indeterminate])) .wrapper { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-hover-color, ${w.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-focus-color, ${w.color.onSurface}); --m3e-ripple-color: var(--m3e-checkbox-unselected-ripple-color, ${w.color.onSurface}); } :host(:not(:state(-touched):state(-invalid))[checked]) .base, :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-hover-color, ${w.color.primary}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-focus-color, ${w.color.primary}); --m3e-ripple-color: var(--m3e-checkbox-selected-ripple-color, ${w.color.primary}); } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper { background-color: var(--m3e-checkbox-selected-container-color, ${w.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${w.color.onPrimary}); } :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not( :hover ) ) .wrapper { border-color: var(--m3e-checkbox-unselected-outline-color, ${w.color.onSurfaceVariant}); } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover) .wrapper { border-color: var(--m3e-checkbox-unselected-hover-outline-color, ${w.color.onSurface}); } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${w.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${w.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${w.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-error-hover-color, ${w.color.error}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-error-focus-color, ${w.color.error}); --m3e-ripple-color: var(--m3e-checkbox-unselected-error-ripple-color, ${w.color.error}); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[checked]) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-error-hover-color, ${w.color.onError}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-error-focus-color, ${w.color.onError}); --m3e-ripple-color: var(--m3e-checkbox-selected-error-ripple-color, ${w.color.onError}); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper { border-color: var(--m3e-checkbox-unselected-error-outline-color, ${w.color.error}); } @media (forced-colors: active) { :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base, :host(:not(:state(-touched):state(-invalid))[checked]) .base, :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base { --m3e-state-layer-hover-color: CanvasText; --m3e-state-layer-focus-color: CanvasText; --m3e-ripple-color: CanvasText; } :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not( :hover ) ) .wrapper, :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover ) .wrapper { border-color: CanvasText; } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper { background-color: CanvasText; color: Canvas; } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: GrayText; } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: GrayText; color: Canvas; } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper { border-color: Highlight; } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[checked]) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: Highlight; --m3e-state-layer-focus-color: Highlight; --m3e-ripple-color: Highlight; } }`,C([a(".focus-ring")],P.prototype,"_focusRing",void 0),C([a(".state-layer")],P.prototype,"_stateLayer",void 0),C([a(".ripple")],P.prototype,"_ripple",void 0),C([i()],P.prototype,"value",void 0),P=C([$("m3e-checkbox")],P);export{P as M3eCheckboxElement};
6
+ import{__classPrivateFieldGet as e,__decorate as t}from"tslib";import{LitElement as o,html as r,nothing as a,css as i}from"lit";import{query as c,property as s}from"lit/decorators.js";import{Labelled as l,RequiredConstraintValidation as n,Dirty as d,Touched as h,Required as b,ConstraintValidation as u,CheckedIndeterminate as p,FormAssociated as v,KeyboardClick as m,Focusable as k,Disabled as f,AttachInternals as x,Role as g,HoverController as y,PressedController as w,formValue as $,DesignToken as C,customElement as E}from"@m3e/web/core";var _,S,T,z,L,H;let M=class extends(l(n(d(h(b(u(p(v(m(k(f(x(g(o,"checkbox")))),!1)))))))))){constructor(){super(...arguments),_.add(this),S.set(this,t=>e(this,_,"m",H).call(this,t)),T.set(this,new y(this,{target:null,callback:e=>{this.disabled||(e?this._stateLayer?.show("hover"):this._stateLayer?.hide("hover"))}})),z.set(this,new w(this,{target:null,minPressedDuration:150,callback:e=>{this.disabled||(e?this._ripple?.show(0,0,!0):this._ripple?.hide())}})),this.value="on"}get[(S=new WeakMap,T=new WeakMap,z=new WeakMap,_=new WeakSet,$)](){return!this.checked||this.disabled||this.indeterminate?null:this.value}connectedCallback(){super.connectedCallback(),this.addEventListener("click",e(this,S,"f"));for(const t of this.labels)e(this,T,"f").observe(t),e(this,z,"f").observe(t)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",e(this,S,"f"));for(const t of this.labels)e(this,T,"f").unobserve(t),e(this,z,"f").unobserve(t)}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}render(){return r`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" centered ?disabled="${this.disabled}"></m3e-ripple><div class="touch" aria-hidden="true"></div><div class="wrapper" aria-hidden="true">${e(this,_,"m",L).call(this)}</div></div>`}};L=function(){return this.indeterminate?r`<svg viewBox="0 -960 960 960" fill="currentColor"><path Required d="M240-440v-80h480v80H240Z"/></svg>`:this.checked?r`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg>`:a},H=function(e){e.defaultPrevented||(this.checked=!this.checked,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))?(this.indeterminate=!1,this.dispatchEvent(new Event("change",{bubbles:!0}))):this.checked=!this.checked,this.closest("label")&&e.preventDefault())},M.styles=i`:host { display: inline-block; outline: none; width: fit-content; height: fit-content; vertical-align: middle; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; border-radius: 50%; width: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${C.density.calc(-3)}); height: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${C.density.calc(-3)}); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } .wrapper { box-sizing: border-box; pointer-events: none; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 0.125rem); } :host(:not([checked]):not([indeterminate])) .wrapper { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-hover-color, ${C.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-focus-color, ${C.color.onSurface}); --m3e-ripple-color: var(--m3e-checkbox-unselected-ripple-color, ${C.color.onSurface}); } :host(:not(:state(-touched):state(-invalid))[checked]) .base, :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-hover-color, ${C.color.primary}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-focus-color, ${C.color.primary}); --m3e-ripple-color: var(--m3e-checkbox-selected-ripple-color, ${C.color.primary}); } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper { background-color: var(--m3e-checkbox-selected-container-color, ${C.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${C.color.onPrimary}); } :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not( :hover ) ) .wrapper { border-color: var(--m3e-checkbox-unselected-outline-color, ${C.color.onSurfaceVariant}); } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover) .wrapper { border-color: var(--m3e-checkbox-unselected-hover-outline-color, ${C.color.onSurface}); } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${C.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${C.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${C.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-error-hover-color, ${C.color.error}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-error-focus-color, ${C.color.error}); --m3e-ripple-color: var(--m3e-checkbox-unselected-error-ripple-color, ${C.color.error}); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[checked]) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-error-hover-color, ${C.color.onError}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-error-focus-color, ${C.color.onError}); --m3e-ripple-color: var(--m3e-checkbox-selected-error-ripple-color, ${C.color.onError}); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper { border-color: var(--m3e-checkbox-unselected-error-outline-color, ${C.color.error}); } @media (forced-colors: active) { :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base, :host(:not(:state(-touched):state(-invalid))[checked]) .base, :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base { --m3e-state-layer-hover-color: CanvasText; --m3e-state-layer-focus-color: CanvasText; --m3e-ripple-color: CanvasText; } :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not( :hover ) ) .wrapper, :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover ) .wrapper { border-color: CanvasText; } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper { background-color: CanvasText; color: Canvas; } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: GrayText; } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: GrayText; color: Canvas; } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper { border-color: Highlight; } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[checked]) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: Highlight; --m3e-state-layer-focus-color: Highlight; --m3e-ripple-color: Highlight; } }`,t([c(".focus-ring")],M.prototype,"_focusRing",void 0),t([c(".state-layer")],M.prototype,"_stateLayer",void 0),t([c(".ripple")],M.prototype,"_ripple",void 0),t([s()],M.prototype,"value",void 0),M=t([E("m3e-checkbox")],M);export{M as M3eCheckboxElement};
7
7
  //# sourceMappingURL=checkbox.min.js.map