@m3e/core 1.0.0-rc.1

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 (357) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE.md +8 -0
  3. package/README.md +59 -0
  4. package/cem.config.mjs +16 -0
  5. package/demo/index.html +58 -0
  6. package/dist/a11y.js +1431 -0
  7. package/dist/a11y.js.map +1 -0
  8. package/dist/a11y.min.js +87 -0
  9. package/dist/a11y.min.js.map +1 -0
  10. package/dist/anchoring.js +1748 -0
  11. package/dist/anchoring.js.map +1 -0
  12. package/dist/anchoring.min.js +7 -0
  13. package/dist/anchoring.min.js.map +1 -0
  14. package/dist/bidi.js +106 -0
  15. package/dist/bidi.js.map +1 -0
  16. package/dist/bidi.min.js +16 -0
  17. package/dist/bidi.min.js.map +1 -0
  18. package/dist/css-custom-data.json +257 -0
  19. package/dist/custom-elements.json +13504 -0
  20. package/dist/html-custom-data.json +199 -0
  21. package/dist/index.js +4342 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/index.min.js +520 -0
  24. package/dist/index.min.js.map +1 -0
  25. package/dist/layout.js +64 -0
  26. package/dist/layout.js.map +1 -0
  27. package/dist/layout.min.js +15 -0
  28. package/dist/layout.min.js.map +1 -0
  29. package/dist/platform.js +56 -0
  30. package/dist/platform.js.map +1 -0
  31. package/dist/platform.min.js +15 -0
  32. package/dist/platform.min.js.map +1 -0
  33. package/dist/src/a11y/AriaDescriber.d.ts +31 -0
  34. package/dist/src/a11y/AriaDescriber.d.ts.map +1 -0
  35. package/dist/src/a11y/FocusTrapElement.d.ts +25 -0
  36. package/dist/src/a11y/FocusTrapElement.d.ts.map +1 -0
  37. package/dist/src/a11y/InteractivityChecker.d.ts +22 -0
  38. package/dist/src/a11y/InteractivityChecker.d.ts.map +1 -0
  39. package/dist/src/a11y/LiveAnnouncer.d.ts +56 -0
  40. package/dist/src/a11y/LiveAnnouncer.d.ts.map +1 -0
  41. package/dist/src/a11y/aria-reference.d.ts +30 -0
  42. package/dist/src/a11y/aria-reference.d.ts.map +1 -0
  43. package/dist/src/a11y/index.d.ts +8 -0
  44. package/dist/src/a11y/index.d.ts.map +1 -0
  45. package/dist/src/a11y/keycodes/KeyCode.d.ts +118 -0
  46. package/dist/src/a11y/keycodes/KeyCode.d.ts.map +1 -0
  47. package/dist/src/a11y/keycodes/ModifierKeys.d.ts +5 -0
  48. package/dist/src/a11y/keycodes/ModifierKeys.d.ts.map +1 -0
  49. package/dist/src/a11y/keycodes/getKeyCode.d.ts +7 -0
  50. package/dist/src/a11y/keycodes/getKeyCode.d.ts.map +1 -0
  51. package/dist/src/a11y/keycodes/hasModifierKey.d.ts +9 -0
  52. package/dist/src/a11y/keycodes/hasModifierKey.d.ts.map +1 -0
  53. package/dist/src/a11y/keycodes/index.d.ts +6 -0
  54. package/dist/src/a11y/keycodes/index.d.ts.map +1 -0
  55. package/dist/src/a11y/keycodes/isModifierAllowed.d.ts +9 -0
  56. package/dist/src/a11y/keycodes/isModifierAllowed.d.ts.map +1 -0
  57. package/dist/src/a11y/list-key/FocusKeyManager.d.ts +17 -0
  58. package/dist/src/a11y/list-key/FocusKeyManager.d.ts.map +1 -0
  59. package/dist/src/a11y/list-key/ListKeyManager.d.ts +114 -0
  60. package/dist/src/a11y/list-key/ListKeyManager.d.ts.map +1 -0
  61. package/dist/src/a11y/list-key/ListManager.d.ts +37 -0
  62. package/dist/src/a11y/list-key/ListManager.d.ts.map +1 -0
  63. package/dist/src/a11y/list-key/RadioKeyManager.d.ts +20 -0
  64. package/dist/src/a11y/list-key/RadioKeyManager.d.ts.map +1 -0
  65. package/dist/src/a11y/list-key/RovingTabIndexManager.d.ts +22 -0
  66. package/dist/src/a11y/list-key/RovingTabIndexManager.d.ts.map +1 -0
  67. package/dist/src/a11y/list-key/SelectionManager.d.ts +46 -0
  68. package/dist/src/a11y/list-key/SelectionManager.d.ts.map +1 -0
  69. package/dist/src/a11y/list-key/Typeahead.d.ts +64 -0
  70. package/dist/src/a11y/list-key/Typeahead.d.ts.map +1 -0
  71. package/dist/src/a11y/list-key/index.d.ts +8 -0
  72. package/dist/src/a11y/list-key/index.d.ts.map +1 -0
  73. package/dist/src/a11y/visuallyHide.d.ts +6 -0
  74. package/dist/src/a11y/visuallyHide.d.ts.map +1 -0
  75. package/dist/src/anchoring/AnchorOptions.d.ts +15 -0
  76. package/dist/src/anchoring/AnchorOptions.d.ts.map +1 -0
  77. package/dist/src/anchoring/AnchorPosition.d.ts +3 -0
  78. package/dist/src/anchoring/AnchorPosition.d.ts.map +1 -0
  79. package/dist/src/anchoring/index.d.ts +4 -0
  80. package/dist/src/anchoring/index.d.ts.map +1 -0
  81. package/dist/src/anchoring/positionAnchor.d.ts +12 -0
  82. package/dist/src/anchoring/positionAnchor.d.ts.map +1 -0
  83. package/dist/src/bidi/Directionality.d.ts +27 -0
  84. package/dist/src/bidi/Directionality.d.ts.map +1 -0
  85. package/dist/src/bidi/index.d.ts +2 -0
  86. package/dist/src/bidi/index.d.ts.map +1 -0
  87. package/dist/src/index.d.ts +2 -0
  88. package/dist/src/index.d.ts.map +1 -0
  89. package/dist/src/layout/Breakpoint.d.ts +26 -0
  90. package/dist/src/layout/Breakpoint.d.ts.map +1 -0
  91. package/dist/src/layout/BreakpointObserver.d.ts +18 -0
  92. package/dist/src/layout/BreakpointObserver.d.ts.map +1 -0
  93. package/dist/src/layout/index.d.ts +3 -0
  94. package/dist/src/layout/index.d.ts.map +1 -0
  95. package/dist/src/platform/Platform.d.ts +34 -0
  96. package/dist/src/platform/Platform.d.ts.map +1 -0
  97. package/dist/src/platform/index.d.ts +2 -0
  98. package/dist/src/platform/index.d.ts.map +1 -0
  99. package/dist/src/shared/controllers/FocusController.d.ts +30 -0
  100. package/dist/src/shared/controllers/FocusController.d.ts.map +1 -0
  101. package/dist/src/shared/controllers/HoverController.d.ts +40 -0
  102. package/dist/src/shared/controllers/HoverController.d.ts.map +1 -0
  103. package/dist/src/shared/controllers/IntersectionController.d.ts +40 -0
  104. package/dist/src/shared/controllers/IntersectionController.d.ts.map +1 -0
  105. package/dist/src/shared/controllers/LongPressController.d.ts +32 -0
  106. package/dist/src/shared/controllers/LongPressController.d.ts.map +1 -0
  107. package/dist/src/shared/controllers/MonitorControllerBase.d.ts +62 -0
  108. package/dist/src/shared/controllers/MonitorControllerBase.d.ts.map +1 -0
  109. package/dist/src/shared/controllers/MutationController.d.ts +37 -0
  110. package/dist/src/shared/controllers/MutationController.d.ts.map +1 -0
  111. package/dist/src/shared/controllers/PressedController.d.ts +45 -0
  112. package/dist/src/shared/controllers/PressedController.d.ts.map +1 -0
  113. package/dist/src/shared/controllers/ResizeController.d.ts +40 -0
  114. package/dist/src/shared/controllers/ResizeController.d.ts.map +1 -0
  115. package/dist/src/shared/controllers/ScrollController.d.ts +34 -0
  116. package/dist/src/shared/controllers/ScrollController.d.ts.map +1 -0
  117. package/dist/src/shared/controllers/index.d.ts +9 -0
  118. package/dist/src/shared/controllers/index.d.ts.map +1 -0
  119. package/dist/src/shared/decorators/debounce.d.ts +7 -0
  120. package/dist/src/shared/decorators/debounce.d.ts.map +1 -0
  121. package/dist/src/shared/decorators/index.d.ts +2 -0
  122. package/dist/src/shared/decorators/index.d.ts.map +1 -0
  123. package/dist/src/shared/directives/index.d.ts +2 -0
  124. package/dist/src/shared/directives/index.d.ts.map +1 -0
  125. package/dist/src/shared/directives/safeStyleMap.d.ts +44 -0
  126. package/dist/src/shared/directives/safeStyleMap.d.ts.map +1 -0
  127. package/dist/src/shared/index.d.ts +8 -0
  128. package/dist/src/shared/index.d.ts.map +1 -0
  129. package/dist/src/shared/mixins/AttachInternals.d.ts +24 -0
  130. package/dist/src/shared/mixins/AttachInternals.d.ts.map +1 -0
  131. package/dist/src/shared/mixins/Checked.d.ts +24 -0
  132. package/dist/src/shared/mixins/Checked.d.ts.map +1 -0
  133. package/dist/src/shared/mixins/CheckedIndeterminate.d.ts +25 -0
  134. package/dist/src/shared/mixins/CheckedIndeterminate.d.ts.map +1 -0
  135. package/dist/src/shared/mixins/CheckedOrSelected.d.ts +23 -0
  136. package/dist/src/shared/mixins/CheckedOrSelected.d.ts.map +1 -0
  137. package/dist/src/shared/mixins/ConstraintValidation.d.ts +48 -0
  138. package/dist/src/shared/mixins/ConstraintValidation.d.ts.map +1 -0
  139. package/dist/src/shared/mixins/Constructor.d.ts +3 -0
  140. package/dist/src/shared/mixins/Constructor.d.ts.map +1 -0
  141. package/dist/src/shared/mixins/Dirty.d.ts +27 -0
  142. package/dist/src/shared/mixins/Dirty.d.ts.map +1 -0
  143. package/dist/src/shared/mixins/Disabled.d.ts +25 -0
  144. package/dist/src/shared/mixins/Disabled.d.ts.map +1 -0
  145. package/dist/src/shared/mixins/DisabledInteractive.d.ts +25 -0
  146. package/dist/src/shared/mixins/DisabledInteractive.d.ts.map +1 -0
  147. package/dist/src/shared/mixins/EventAttribute.d.ts +11 -0
  148. package/dist/src/shared/mixins/EventAttribute.d.ts.map +1 -0
  149. package/dist/src/shared/mixins/Focusable.d.ts +11 -0
  150. package/dist/src/shared/mixins/Focusable.d.ts.map +1 -0
  151. package/dist/src/shared/mixins/FormAssociated.d.ts +34 -0
  152. package/dist/src/shared/mixins/FormAssociated.d.ts.map +1 -0
  153. package/dist/src/shared/mixins/FormSubmitter.d.ts +31 -0
  154. package/dist/src/shared/mixins/FormSubmitter.d.ts.map +1 -0
  155. package/dist/src/shared/mixins/HtmlFor.d.ts +30 -0
  156. package/dist/src/shared/mixins/HtmlFor.d.ts.map +1 -0
  157. package/dist/src/shared/mixins/KeyboardClick.d.ts +11 -0
  158. package/dist/src/shared/mixins/KeyboardClick.d.ts.map +1 -0
  159. package/dist/src/shared/mixins/Labelled.d.ts +22 -0
  160. package/dist/src/shared/mixins/Labelled.d.ts.map +1 -0
  161. package/dist/src/shared/mixins/LinkButton.d.ts +36 -0
  162. package/dist/src/shared/mixins/LinkButton.d.ts.map +1 -0
  163. package/dist/src/shared/mixins/ReadOnly.d.ts +25 -0
  164. package/dist/src/shared/mixins/ReadOnly.d.ts.map +1 -0
  165. package/dist/src/shared/mixins/Required.d.ts +26 -0
  166. package/dist/src/shared/mixins/Required.d.ts.map +1 -0
  167. package/dist/src/shared/mixins/RequiredConstraintValidation.d.ts +21 -0
  168. package/dist/src/shared/mixins/RequiredConstraintValidation.d.ts.map +1 -0
  169. package/dist/src/shared/mixins/Role.d.ts +13 -0
  170. package/dist/src/shared/mixins/Role.d.ts.map +1 -0
  171. package/dist/src/shared/mixins/Selected.d.ts +24 -0
  172. package/dist/src/shared/mixins/Selected.d.ts.map +1 -0
  173. package/dist/src/shared/mixins/Touched.d.ts +27 -0
  174. package/dist/src/shared/mixins/Touched.d.ts.map +1 -0
  175. package/dist/src/shared/mixins/Vertical.d.ts +24 -0
  176. package/dist/src/shared/mixins/Vertical.d.ts.map +1 -0
  177. package/dist/src/shared/mixins/hasKeys.d.ts +9 -0
  178. package/dist/src/shared/mixins/hasKeys.d.ts.map +1 -0
  179. package/dist/src/shared/mixins/index.d.ts +25 -0
  180. package/dist/src/shared/mixins/index.d.ts.map +1 -0
  181. package/dist/src/shared/primitives/CollapsibleElement.d.ts +58 -0
  182. package/dist/src/shared/primitives/CollapsibleElement.d.ts.map +1 -0
  183. package/dist/src/shared/primitives/ElevationElement.d.ts +88 -0
  184. package/dist/src/shared/primitives/ElevationElement.d.ts.map +1 -0
  185. package/dist/src/shared/primitives/ElevationLevel.d.ts +3 -0
  186. package/dist/src/shared/primitives/ElevationLevel.d.ts.map +1 -0
  187. package/dist/src/shared/primitives/ElevationToken.d.ts +15 -0
  188. package/dist/src/shared/primitives/ElevationToken.d.ts.map +1 -0
  189. package/dist/src/shared/primitives/FocusRingElement.d.ts +78 -0
  190. package/dist/src/shared/primitives/FocusRingElement.d.ts.map +1 -0
  191. package/dist/src/shared/primitives/FocusRingToken.d.ts +17 -0
  192. package/dist/src/shared/primitives/FocusRingToken.d.ts.map +1 -0
  193. package/dist/src/shared/primitives/PseudoCheckboxElement.d.ts +50 -0
  194. package/dist/src/shared/primitives/PseudoCheckboxElement.d.ts.map +1 -0
  195. package/dist/src/shared/primitives/PseudoRadioElement.d.ts +41 -0
  196. package/dist/src/shared/primitives/PseudoRadioElement.d.ts.map +1 -0
  197. package/dist/src/shared/primitives/RippleElement.d.ts +110 -0
  198. package/dist/src/shared/primitives/RippleElement.d.ts.map +1 -0
  199. package/dist/src/shared/primitives/RippleToken.d.ts +12 -0
  200. package/dist/src/shared/primitives/RippleToken.d.ts.map +1 -0
  201. package/dist/src/shared/primitives/ScrollContainerElement.d.ts +64 -0
  202. package/dist/src/shared/primitives/ScrollContainerElement.d.ts.map +1 -0
  203. package/dist/src/shared/primitives/ScrollDividers.d.ts +3 -0
  204. package/dist/src/shared/primitives/ScrollDividers.d.ts.map +1 -0
  205. package/dist/src/shared/primitives/SlideElement.d.ts +48 -0
  206. package/dist/src/shared/primitives/SlideElement.d.ts.map +1 -0
  207. package/dist/src/shared/primitives/StateLayerElement.d.ts +77 -0
  208. package/dist/src/shared/primitives/StateLayerElement.d.ts.map +1 -0
  209. package/dist/src/shared/primitives/StateLayerToken.d.ts +13 -0
  210. package/dist/src/shared/primitives/StateLayerToken.d.ts.map +1 -0
  211. package/dist/src/shared/primitives/TextOverflowElement.d.ts +39 -0
  212. package/dist/src/shared/primitives/TextOverflowElement.d.ts.map +1 -0
  213. package/dist/src/shared/primitives/index.d.ts +13 -0
  214. package/dist/src/shared/primitives/index.d.ts.map +1 -0
  215. package/dist/src/shared/tokens/ColorToken.d.ts +96 -0
  216. package/dist/src/shared/tokens/ColorToken.d.ts.map +1 -0
  217. package/dist/src/shared/tokens/DensityToken.d.ts +15 -0
  218. package/dist/src/shared/tokens/DensityToken.d.ts.map +1 -0
  219. package/dist/src/shared/tokens/DesignToken.d.ts +366 -0
  220. package/dist/src/shared/tokens/DesignToken.d.ts.map +1 -0
  221. package/dist/src/shared/tokens/ElevationToken.d.ts +16 -0
  222. package/dist/src/shared/tokens/ElevationToken.d.ts.map +1 -0
  223. package/dist/src/shared/tokens/MotionToken.d.ts +69 -0
  224. package/dist/src/shared/tokens/MotionToken.d.ts.map +1 -0
  225. package/dist/src/shared/tokens/ScrollbarToken.d.ts +10 -0
  226. package/dist/src/shared/tokens/ScrollbarToken.d.ts.map +1 -0
  227. package/dist/src/shared/tokens/ShapeToken.d.ts +79 -0
  228. package/dist/src/shared/tokens/ShapeToken.d.ts.map +1 -0
  229. package/dist/src/shared/tokens/StateToken.d.ts +10 -0
  230. package/dist/src/shared/tokens/StateToken.d.ts.map +1 -0
  231. package/dist/src/shared/tokens/TypescaleToken.d.ts +220 -0
  232. package/dist/src/shared/tokens/TypescaleToken.d.ts.map +1 -0
  233. package/dist/src/shared/tokens/index.d.ts +2 -0
  234. package/dist/src/shared/tokens/index.d.ts.map +1 -0
  235. package/dist/src/shared/utils/getTextContent.d.ts +8 -0
  236. package/dist/src/shared/utils/getTextContent.d.ts.map +1 -0
  237. package/dist/src/shared/utils/guid.d.ts +6 -0
  238. package/dist/src/shared/utils/guid.d.ts.map +1 -0
  239. package/dist/src/shared/utils/hasAssignedNodes.d.ts +7 -0
  240. package/dist/src/shared/utils/hasAssignedNodes.d.ts.map +1 -0
  241. package/dist/src/shared/utils/index.d.ts +6 -0
  242. package/dist/src/shared/utils/index.d.ts.map +1 -0
  243. package/dist/src/shared/utils/prefersReducedMotion.d.ts +6 -0
  244. package/dist/src/shared/utils/prefersReducedMotion.d.ts.map +1 -0
  245. package/dist/src/shared/utils/scrollIntoViewIfNeeded.d.ts +8 -0
  246. package/dist/src/shared/utils/scrollIntoViewIfNeeded.d.ts.map +1 -0
  247. package/eslint.config.mjs +21 -0
  248. package/package.json +87 -0
  249. package/rollup.config.js +132 -0
  250. package/src/a11y/AriaDescriber.ts +130 -0
  251. package/src/a11y/FocusTrapElement.ts +136 -0
  252. package/src/a11y/InteractivityChecker.ts +62 -0
  253. package/src/a11y/LiveAnnouncer.ts +143 -0
  254. package/src/a11y/aria-reference.ts +51 -0
  255. package/src/a11y/index.ts +8 -0
  256. package/src/a11y/keycodes/KeyCode.ts +128 -0
  257. package/src/a11y/keycodes/ModifierKeys.ts +5 -0
  258. package/src/a11y/keycodes/getKeyCode.ts +8 -0
  259. package/src/a11y/keycodes/hasModifierKey.ts +11 -0
  260. package/src/a11y/keycodes/index.ts +5 -0
  261. package/src/a11y/keycodes/isModifierAllowed.ts +12 -0
  262. package/src/a11y/list-key/FocusKeyManager.ts +25 -0
  263. package/src/a11y/list-key/ListKeyManager.ts +350 -0
  264. package/src/a11y/list-key/ListManager.ts +66 -0
  265. package/src/a11y/list-key/RadioKeyManager.ts +49 -0
  266. package/src/a11y/list-key/RovingTabIndexManager.ts +56 -0
  267. package/src/a11y/list-key/SelectionManager.ts +132 -0
  268. package/src/a11y/list-key/Typeahead.ts +131 -0
  269. package/src/a11y/list-key/index.ts +7 -0
  270. package/src/a11y/visuallyHide.ts +18 -0
  271. package/src/anchoring/AnchorOptions.ts +19 -0
  272. package/src/anchoring/AnchorPosition.ts +14 -0
  273. package/src/anchoring/index.ts +3 -0
  274. package/src/anchoring/positionAnchor.ts +53 -0
  275. package/src/bidi/Directionality.ts +85 -0
  276. package/src/bidi/index.ts +1 -0
  277. package/src/index.ts +1 -0
  278. package/src/layout/Breakpoint.ts +26 -0
  279. package/src/layout/BreakpointObserver.ts +44 -0
  280. package/src/layout/index.ts +2 -0
  281. package/src/platform/Platform.ts +67 -0
  282. package/src/platform/index.ts +1 -0
  283. package/src/shared/controllers/FocusController.ts +60 -0
  284. package/src/shared/controllers/HoverController.ts +140 -0
  285. package/src/shared/controllers/IntersectionController.ts +81 -0
  286. package/src/shared/controllers/LongPressController.ts +87 -0
  287. package/src/shared/controllers/MonitorControllerBase.ts +99 -0
  288. package/src/shared/controllers/MutationController.ts +89 -0
  289. package/src/shared/controllers/PressedController.ts +137 -0
  290. package/src/shared/controllers/ResizeController.ts +83 -0
  291. package/src/shared/controllers/ScrollController.ts +100 -0
  292. package/src/shared/controllers/index.ts +8 -0
  293. package/src/shared/decorators/debounce.ts +19 -0
  294. package/src/shared/decorators/index.ts +1 -0
  295. package/src/shared/directives/index.ts +1 -0
  296. package/src/shared/directives/safeStyleMap.ts +108 -0
  297. package/src/shared/index.ts +7 -0
  298. package/src/shared/mixins/AttachInternals.ts +48 -0
  299. package/src/shared/mixins/Checked.ts +50 -0
  300. package/src/shared/mixins/CheckedIndeterminate.ts +47 -0
  301. package/src/shared/mixins/CheckedOrSelected.ts +36 -0
  302. package/src/shared/mixins/ConstraintValidation.ts +213 -0
  303. package/src/shared/mixins/Constructor.ts +2 -0
  304. package/src/shared/mixins/Dirty.ts +71 -0
  305. package/src/shared/mixins/Disabled.ts +49 -0
  306. package/src/shared/mixins/DisabledInteractive.ts +78 -0
  307. package/src/shared/mixins/EventAttribute.ts +25 -0
  308. package/src/shared/mixins/Focusable.ts +52 -0
  309. package/src/shared/mixins/FormAssociated.ts +152 -0
  310. package/src/shared/mixins/FormSubmitter.ts +123 -0
  311. package/src/shared/mixins/HtmlFor.ts +89 -0
  312. package/src/shared/mixins/KeyboardClick.ts +46 -0
  313. package/src/shared/mixins/Labelled.ts +88 -0
  314. package/src/shared/mixins/LinkButton.ts +169 -0
  315. package/src/shared/mixins/ReadOnly.ts +48 -0
  316. package/src/shared/mixins/Required.ts +50 -0
  317. package/src/shared/mixins/RequiredConstraintValidation.ts +45 -0
  318. package/src/shared/mixins/Role.ts +134 -0
  319. package/src/shared/mixins/Selected.ts +50 -0
  320. package/src/shared/mixins/Touched.ts +71 -0
  321. package/src/shared/mixins/Vertical.ts +44 -0
  322. package/src/shared/mixins/hasKeys.ts +10 -0
  323. package/src/shared/mixins/index.ts +24 -0
  324. package/src/shared/primitives/CollapsibleElement.ts +227 -0
  325. package/src/shared/primitives/ElevationElement.ts +254 -0
  326. package/src/shared/primitives/ElevationLevel.ts +2 -0
  327. package/src/shared/primitives/ElevationToken.ts +18 -0
  328. package/src/shared/primitives/FocusRingElement.ts +199 -0
  329. package/src/shared/primitives/FocusRingToken.ts +24 -0
  330. package/src/shared/primitives/PseudoCheckboxElement.ts +116 -0
  331. package/src/shared/primitives/PseudoRadioElement.ts +83 -0
  332. package/src/shared/primitives/RippleElement.ts +289 -0
  333. package/src/shared/primitives/RippleToken.ts +15 -0
  334. package/src/shared/primitives/ScrollContainerElement.ts +151 -0
  335. package/src/shared/primitives/ScrollDividers.ts +2 -0
  336. package/src/shared/primitives/SlideElement.ts +128 -0
  337. package/src/shared/primitives/StateLayerElement.ts +191 -0
  338. package/src/shared/primitives/StateLayerToken.ts +16 -0
  339. package/src/shared/primitives/TextOverflowElement.ts +60 -0
  340. package/src/shared/primitives/index.ts +12 -0
  341. package/src/shared/tokens/ColorToken.ts +142 -0
  342. package/src/shared/tokens/DensityToken.ts +23 -0
  343. package/src/shared/tokens/DesignToken.ts +35 -0
  344. package/src/shared/tokens/ElevationToken.ts +115 -0
  345. package/src/shared/tokens/MotionToken.ts +107 -0
  346. package/src/shared/tokens/ScrollbarToken.ts +13 -0
  347. package/src/shared/tokens/ShapeToken.ts +138 -0
  348. package/src/shared/tokens/StateToken.ts +13 -0
  349. package/src/shared/tokens/TypescaleToken.ts +230 -0
  350. package/src/shared/tokens/index.ts +1 -0
  351. package/src/shared/utils/getTextContent.ts +31 -0
  352. package/src/shared/utils/guid.ts +11 -0
  353. package/src/shared/utils/hasAssignedNodes.ts +8 -0
  354. package/src/shared/utils/index.ts +5 -0
  355. package/src/shared/utils/prefersReducedMotion.ts +9 -0
  356. package/src/shared/utils/scrollIntoViewIfNeeded.ts +18 -0
  357. package/tsconfig.json +9 -0
@@ -0,0 +1,25 @@
1
+ export * from "./AttachInternals";
2
+ export * from "./Checked";
3
+ export * from "./CheckedIndeterminate";
4
+ export * from "./CheckedOrSelected";
5
+ export * from "./ConstraintValidation";
6
+ export * from "./Dirty";
7
+ export * from "./Disabled";
8
+ export * from "./DisabledInteractive";
9
+ export * from "./EventAttribute";
10
+ export * from "./Focusable";
11
+ export * from "./FormAssociated";
12
+ export * from "./FormSubmitter";
13
+ export * from "./hasKeys";
14
+ export * from "./HtmlFor";
15
+ export * from "./KeyboardClick";
16
+ export * from "./Labelled";
17
+ export * from "./LinkButton";
18
+ export * from "./ReadOnly";
19
+ export * from "./Required";
20
+ export * from "./RequiredConstraintValidation";
21
+ export * from "./Role";
22
+ export * from "./Selected";
23
+ export * from "./Touched";
24
+ export * from "./Vertical";
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/mixins/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ declare const M3eCollapsibleElement_base: import("../mixins/Constructor").Constructor & typeof LitElement;
3
+ /**
4
+ * A container used to expand and collapse content.
5
+ *
6
+ * @example
7
+ * ```html
8
+ * <m3e-collapsible>
9
+ * <!-- Collapsible content -->
10
+ * </m3e-collapsible>
11
+ * ```
12
+ *
13
+ * @tag m3e-collapsible
14
+ *
15
+ * @slot - Renders the collapsible content.
16
+ *
17
+ * @attr open - Whether content is visible.
18
+ *
19
+ * @fires opening - Emitted when the collapsible begins to open.
20
+ * @fires opened - Emitted when the collapsible has opened.
21
+ * @fires closing - Emitted when the collapsible begins to close.
22
+ * @fires closed - Emitted when the collapsible has closed.
23
+ *
24
+ * @cssprop --m3e-collapsible-animation-duration - The duration of the expand / collapse animation.
25
+ */
26
+ export declare class M3eCollapsibleElement extends M3eCollapsibleElement_base {
27
+ #private;
28
+ /** The styles of the element. */
29
+ static styles: CSSResultGroup;
30
+ /**
31
+ * Whether content is visible.
32
+ * @default false
33
+ */
34
+ open: boolean;
35
+ /** @inheritdoc */
36
+ protected update(changedProperties: PropertyValues): void;
37
+ /** @inheritdoc */
38
+ protected render(): unknown;
39
+ }
40
+ interface M3eCollapsibleElementEventMap extends HTMLElementEventMap {
41
+ opening: Event;
42
+ opened: Event;
43
+ closing: Event;
44
+ closed: Event;
45
+ }
46
+ export interface M3eCollapsibleElement {
47
+ addEventListener<K extends keyof M3eCollapsibleElementEventMap>(type: K, listener: (this: M3eCollapsibleElement, ev: M3eCollapsibleElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
48
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
49
+ removeEventListener<K extends keyof M3eCollapsibleElementEventMap>(type: K, listener: (this: M3eCollapsibleElement, ev: M3eCollapsibleElementEventMap[K]) => void, options?: boolean | EventListenerOptions): void;
50
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
51
+ }
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ "m3e-collapsible": M3eCollapsibleElement;
55
+ }
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=CollapsibleElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/CollapsibleElement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;;AAOvF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,qBAAsB,SAAQ,0BAM1C;;IACC,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAoCpC;IAKF;;;OAGG;IACyC,IAAI,UAAS;IAEzD,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IA0ElE,kBAAkB;cACC,MAAM,IAAI,OAAO;CAuBrC;AAED,UAAU,6BAA8B,SAAQ,mBAAmB;IACjE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IAER,mBAAmB,CAAC,CAAC,SAAS,MAAM,6BAA6B,EAC/D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,KAAK,IAAI,EACrF,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;IAER,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI,CAAC;CACT;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,qBAAqB,CAAC;KAC1C;CACF"}
@@ -0,0 +1,88 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ import { ElevationLevel } from "./ElevationLevel";
3
+ declare const M3eElevationElement_base: import("../mixins/Constructor").Constructor<import("..").HtmlForMixin> & import("../mixins/Constructor").Constructor & typeof LitElement;
4
+ /**
5
+ * @summary
6
+ * Visually depicts elevation using a shadow.
7
+ *
8
+ * @description
9
+ * The `m3e-elevation` component is an absolute positioned element used to depict elevation using a shadow.
10
+ * The parenting element must be a relative positioned element and allow for overflow. Use the `level` attribute
11
+ * to specify the elevation level.
12
+ *
13
+ * The component can also be attached to another element using the `for` attribute. When attached, elevation will
14
+ * be lifted by 1 level on hover. This can be disabled using the `disabled` attribute.
15
+ *
16
+ * Alternately, use the `attach` and `detach` methods to programmatically attach and detach this element to another.
17
+ *
18
+ * @example
19
+ * The following example illustrates basic markup. Note how the parenting element's position is `relative`. A parenting
20
+ * element's position must be `relative` and overflow must be visible.
21
+ *
22
+ * ```html
23
+ * <div style="position: relative;">
24
+ * <m3e-elevation level="1"></m3e-elevation>
25
+ * <div>
26
+ * ```
27
+ * @example
28
+ * The following example illustrates attaching elevation to an interactive element. In this example, the parenting div
29
+ * is given an `id` referenced by `m3e-elevation` using the `for` attribute. Note that `#myDiv` is not used when
30
+ * specifying the attached element's identifier. The `#` is inferred.
31
+ *
32
+ * ```html
33
+ * <div id="myDiv" style="position: relative;">
34
+ * <m3e-elevation for="myDiv" level="1"></m3e-elevation>
35
+ * <div>
36
+ * ```
37
+ *
38
+ * @tag m3e-elevation
39
+ *
40
+ * @attr disabled - Whether hover and press events will not trigger changes in elevation, when attached to an interactive element.
41
+ * @attr for - The identifier of the interactive control to which this element is attached.
42
+ * @attr level - The level at which to visually depict elevation.
43
+ *
44
+ * @cssprop --m3e-elevation-color - Color used to depict elevation.
45
+ * @cssprop --m3e-elevation-lift-duration - Duration when lifting.
46
+ * @cssprop --m3e-elevation-lift-easing - Easing curve when lifting.
47
+ * @cssprop --m3e-elevation-settle-duration - Duration when settling.
48
+ * @cssprop --m3e-elevation-settle-easing - Easing curve when settling.
49
+ * @cssprop --m3e-elevation-level - Elevation when resting (box-shadow).
50
+ * @cssprop --m3e-elevation-hover-level - Elevation on hover (box-shadow).
51
+ * @cssprop --m3e-elevation-focus-level - Elevation on focus (box-shadow).
52
+ * @cssprop --m3e-elevation-pressed-level - Elevation on pressed (box-shadow).
53
+ */
54
+ export declare class M3eElevationElement extends M3eElevationElement_base {
55
+ #private;
56
+ /** The styles of the element. */
57
+ static styles: CSSResultGroup;
58
+ private readonly _shadow?;
59
+ /**
60
+ * Whether hover and press events will not trigger changes in elevation, when attached to an interactive element.
61
+ * @default false
62
+ */
63
+ disabled: boolean;
64
+ /**
65
+ * The level at which to visually depict elevation.
66
+ * @default null
67
+ */
68
+ level: ElevationLevel | null;
69
+ /** @inheritdoc */
70
+ attach(control: HTMLElement): void;
71
+ /** @inheritdoc */
72
+ detach(): void;
73
+ /** @inheritdoc */
74
+ connectedCallback(): void;
75
+ /** @inheritdoc */
76
+ disconnectedCallback(): void;
77
+ /** @inheritdoc */
78
+ protected updated(_changedProperties: PropertyValues<this>): void;
79
+ /** @inheritdoc */
80
+ protected render(): unknown;
81
+ }
82
+ declare global {
83
+ interface HTMLElementTagNameMap {
84
+ "m3e-elevation": M3eElevationElement;
85
+ }
86
+ }
87
+ export {};
88
+ //# sourceMappingURL=ElevationElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElevationElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/ElevationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAMvF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;AAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBACa,mBAAoB,SAAQ,wBAAiC;;IACxE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA6EpC;IAoBgB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAc;IAEzD;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACwC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAQ;IAE/E,kBAAkB;IACT,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAQ3C,kBAAkB;IACT,MAAM,IAAI,IAAI;IASvB,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IASrC,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAW1E,kBAAkB;cACC,MAAM,IAAI,OAAO;CAyBrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
@@ -0,0 +1,3 @@
1
+ /** Specifies the possible levels in which to visually depict elevation. */
2
+ export type ElevationLevel = 0 | 1 | 2 | 3 | 4 | 5;
3
+ //# sourceMappingURL=ElevationLevel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElevationLevel.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/ElevationLevel.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Component design tokens that control the `M3eElevationElement`.
3
+ * @internal
4
+ */
5
+ export declare const ElevationToken: {
6
+ readonly liftDuration: import("lit").CSSResult;
7
+ readonly liftEasing: import("lit").CSSResult;
8
+ readonly settleDuration: import("lit").CSSResult;
9
+ readonly settleEasing: import("lit").CSSResult;
10
+ readonly level: import("lit").CSSResult;
11
+ readonly hoverLevel: import("lit").CSSResult;
12
+ readonly focusLevel: import("lit").CSSResult;
13
+ readonly pressedLevel: import("lit").CSSResult;
14
+ };
15
+ //# sourceMappingURL=ElevationToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElevationToken.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/ElevationToken.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ declare const M3eFocusRingElement_base: import("../mixins/Constructor").Constructor<import("..").HtmlForMixin> & import("../mixins/Constructor").Constructor & typeof LitElement;
3
+ /**
4
+ * @summary
5
+ * A focus ring used to depict a strong focus indicator.
6
+ *
7
+ * @description
8
+ * The `m3e-focus-ring` component is an absolute positioned element used to provide a strong focus indicator.
9
+ * The parenting element must be a relative positioned focusable element and allow for overflow.
10
+ *
11
+ * The component can be attached to an interactive element using the `for` attribute or programmatically using the `attach` method.
12
+ * The focus ring is displayed when the interactive element receives visible focus and hidden when focus is lost.
13
+ * This can be disabled using the `disabled` attribute.
14
+ *
15
+ * Alternately, you can use the `show` and `hide` methods to programmatically control the focus ring.
16
+ *
17
+ * @example
18
+ * The following example illustrates attaching a focus ring to an interactive element. In this example, the parenting div
19
+ * has relative positioning and is given an `id` referenced by `m3e-focus-ring` using the `for` attribute. Note that `#myDiv`
20
+ * is not used when specifying the attached element's identifier. The `#` is inferred.
21
+ *
22
+ * ```html
23
+ * <div id="myDiv" tabindex="0" style="position: relative;">
24
+ * <m3e-focus-ring for="myDiv"></m3e-focus-ring>
25
+ * <div>
26
+ * ```
27
+ *
28
+ * @tag m3e-focus-ring
29
+ *
30
+ * @attr disabled - Whether the focus events will not trigger the focus ring. Focus rings can be still controlled manually by using the `show` and `hide` methods.
31
+ * @attr inward - Whether the focus ring animates inward instead of outward.
32
+ *
33
+ * @cssprop --m3e-focus-ring-color - The color of the focus ring.
34
+ * @cssprop --m3e-focus-ring-duration - The duration of the focus ring animation.
35
+ * @cssprop --m3e-focus-ring-growth-factor - The factor by which the focus ring grows.
36
+ * @cssprop --m3e-focus-ring-thickness - The thickness of the focus ring.
37
+ * @cssprop --m3e-focus-ring-visibility - The visibility of the focus ring.
38
+ */
39
+ export declare class M3eFocusRingElement extends M3eFocusRingElement_base {
40
+ #private;
41
+ /** The styles of the element. */
42
+ static styles: CSSResultGroup;
43
+ /** @private */ private readonly _outline?;
44
+ /**
45
+ * Whether the focus ring animates inward instead of outward.
46
+ * @default false
47
+ */
48
+ inward: boolean;
49
+ /**
50
+ * Whether the focus events will not trigger the focus ring.
51
+ * Focus rings can be still controlled manually by using the `show` and `hide` methods.
52
+ * @default false
53
+ */
54
+ disabled: boolean;
55
+ /** Launches a manual focus ring. */
56
+ show(): void;
57
+ /** Hides the focus ring. */
58
+ hide(): void;
59
+ /** @inheritdoc */
60
+ attach(control: HTMLElement): void;
61
+ /** @inheritdoc */
62
+ detach(): void;
63
+ /** @inheritdoc */
64
+ connectedCallback(): void;
65
+ /** @inheritdoc */
66
+ disconnectedCallback(): void;
67
+ /** @inheritdoc */
68
+ protected render(): unknown;
69
+ /** @inheritdoc */
70
+ protected updated(_changedProperties: PropertyValues<this>): void;
71
+ }
72
+ declare global {
73
+ interface HTMLElementTagNameMap {
74
+ "m3e-focus-ring": M3eFocusRingElement;
75
+ }
76
+ }
77
+ export {};
78
+ //# sourceMappingURL=FocusRingElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusRingElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/FocusRingElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;;AAQ5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBACa,mBAAoB,SAAQ,wBAAiC;;IACxE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA8DpC;IAQF,eAAe,CAAoB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAc;IAE3E;;;OAGG;IACyC,MAAM,UAAS;IAE3D;;;;OAIG;IACyC,QAAQ,UAAS;IAE7D,oCAAoC;IACpC,IAAI,IAAI,IAAI;IAIZ,4BAA4B;IAC5B,IAAI,IAAI,IAAI;IAIZ,kBAAkB;IACT,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C,kBAAkB;IACT,MAAM,IAAI,IAAI;IAOvB,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,IAAI,OAAO;IAIpC,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAkB3E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Component design tokens that control the `M3eFocusRingElement`.
3
+ * @internal
4
+ */
5
+ export declare const FocusRingToken: {
6
+ /** The color of the focus ring. */
7
+ readonly color: import("lit").CSSResult;
8
+ /** The duration of the focus ring animation. */
9
+ readonly duration: import("lit").CSSResult;
10
+ /** The thickness of the focus ring. */
11
+ readonly thickness: import("lit").CSSResult;
12
+ /** The visibility of the focus ring. */
13
+ readonly visibility: import("lit").CSSResult;
14
+ /** The factor by which the focus ring grows. */
15
+ readonly growthFactor: import("lit").CSSResult;
16
+ };
17
+ //# sourceMappingURL=FocusRingToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusRingToken.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/FocusRingToken.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,mCAAmC;;IAGnC,gDAAgD;;IAGhD,uCAAuC;;IAGvC,wCAAwC;;IAGxC,gDAAgD;;CAExC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { CSSResultGroup, LitElement } from "lit";
2
+ declare const M3ePseudoCheckboxElement_base: import("../mixins/Constructor").Constructor<import("..").CheckedIndeterminateMixin> & import("../mixins/Constructor").Constructor<import("..").DisabledMixin> & import("../mixins/Constructor").Constructor & typeof LitElement;
3
+ /**
4
+ * @summary
5
+ * An element which looks like a checkbox.
6
+ *
7
+ * @description
8
+ * The `m3e-pseudo-checkbox` component is a pseudo-checkbox supporting checked, indeterminate, and disabled
9
+ * states. It is customizable via CSS properties for expressive, accessible UI design.
10
+ *
11
+ * @example
12
+ * The following example illustrates how to render a checked pseudo-checkbox.
13
+ * ```html
14
+ * <m3e-pseudo-checkbox checked></m3e-pseudo-checkbox>
15
+ * ```
16
+ *
17
+ * @tag m3e-pseudo-checkbox
18
+ *
19
+ * @attr checked - A value indicating whether the element is checked.
20
+ * @attr disabled - A value indicating whether the element is disabled.
21
+ * @attr indeterminate - A value indicating whether the element's checked state is indeterminate.
22
+ *
23
+ * @cssprop --m3e-checkbox-icon-size - Size of the checkbox icon.
24
+ * @cssprop --m3e-checkbox-container-shape - Border radius of the checkbox container.
25
+ * @cssprop --m3e-checkbox-unselected-outline-thickness - Outline thickness for unselected state.
26
+ * @cssprop --m3e-checkbox-unselected-outline-color - Outline color for unselected state.
27
+ * @cssprop --m3e-checkbox-selected-container-color - Background color for selected state.
28
+ * @cssprop --m3e-checkbox-selected-icon-color - Icon color for selected state.
29
+ * @cssprop --m3e-checkbox-unselected-disabled-outline-color - Outline color for unselected disabled state.
30
+ * @cssprop --m3e-checkbox-unselected-disabled-outline-opacity - Outline opacity for unselected disabled state.
31
+ * @cssprop --m3e-checkbox-selected-disabled-container-color - Background color for selected disabled state.
32
+ * @cssprop --m3e-checkbox-selected-disabled-container-opacity - Background opacity for selected disabled state.
33
+ * @cssprop --m3e-checkbox-selected-disabled-icon-color - Icon color for selected disabled state.
34
+ * @cssprop --m3e-checkbox-selected-disabled-icon-opacity - Icon opacity for selected disabled state.
35
+ */
36
+ export declare class M3ePseudoCheckboxElement extends M3ePseudoCheckboxElement_base {
37
+ /** The styles of the element. */
38
+ static styles: CSSResultGroup;
39
+ /** @inheritdoc */
40
+ connectedCallback(): void;
41
+ /** @inheritdoc */
42
+ protected render(): unknown;
43
+ }
44
+ declare global {
45
+ interface HTMLElementTagNameMap {
46
+ "m3e-pseudo-checkbox": M3ePseudoCheckboxElement;
47
+ }
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=PseudoCheckboxElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PseudoCheckboxElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/PseudoCheckboxElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;;AAMrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBACa,wBAAyB,SAAQ,6BAAwD;IACpG,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CA6CpC;IAEF,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;cACC,MAAM,IAAI,OAAO;CAarC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
@@ -0,0 +1,41 @@
1
+ import { CSSResultGroup, LitElement } from "lit";
2
+ declare const M3ePseudoRadioElement_base: import("../mixins/Constructor").Constructor<import("..").CheckedMixin> & import("../mixins/Constructor").Constructor<import("..").DisabledMixin> & import("../mixins/Constructor").Constructor & typeof LitElement;
3
+ /**
4
+ * @summary
5
+ * An element which looks like a radio button.
6
+ *
7
+ * @description
8
+ * The `m3e-pseudo-radio` component is a pseudo-radio supporting checked and disabled
9
+ * states. It is customizable via CSS properties for expressive, accessible UI design.
10
+ *
11
+ * @example
12
+ * The following example illustrates how to render a checked pseudo-radio.
13
+ * ```html
14
+ * <m3e-pseudo-radio checked></m3e-pseudo-radio>
15
+ * ```
16
+ *
17
+ * @tag m3e-pseudo-radio
18
+ *
19
+ * @attr checked - A value indicating whether the element is checked.
20
+ * @attr disabled - A value indicating whether the element is disabled.
21
+ *
22
+ * @cssprop --m3e-radio-icon-size - Size of the radio icon.
23
+ * @cssprop --m3e-radio-unselected-icon-color - Color of the unselected radio icon.
24
+ * @cssprop --m3e-radio-selected-icon-color - Color of the selected radio icon.
25
+ * @cssprop --m3e-radio-disabled-icon-color - Color of the disabled radio icon.
26
+ */
27
+ export declare class M3ePseudoRadioElement extends M3ePseudoRadioElement_base {
28
+ /** The styles of the element. */
29
+ static styles: CSSResultGroup;
30
+ /** @inheritdoc */
31
+ connectedCallback(): void;
32
+ /** @inheritdoc */
33
+ protected render(): unknown;
34
+ }
35
+ declare global {
36
+ interface HTMLElementTagNameMap {
37
+ "m3e-pseudo-radio": M3ePseudoRadioElement;
38
+ }
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=PseudoRadioElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PseudoRadioElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/PseudoRadioElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAM5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,qBAAsB,SAAQ,0BAA2C;IACpF,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAwBpC;IAEF,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;cACC,MAAM,IAAI,OAAO;CAUrC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -0,0 +1,110 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ declare const M3eRippleElement_base: import("../mixins/Constructor").Constructor<import("..").HtmlForMixin> & import("../mixins/Constructor").Constructor & typeof LitElement;
3
+ /**
4
+ * @summary
5
+ * Connects user input to screen reactions using ripples.
6
+ *
7
+ * @description
8
+ * The `m3e-ripple` component is an absolute positioned element used to depict a ripple.
9
+ * The parenting element must be a relative positioned element.
10
+ *
11
+ * The component can be attached to an interactive element using the `for` attribute or programmatically using the `attach` method.
12
+ * The ripple is displayed when the interactive element is pressed and hidden when released. This can be disabled using the `disabled` attribute.
13
+ *
14
+ * The pressed state actives either using both pointer and keyboard events. For keyboard events, `SPACE` and `ENTER` activate a ripple.
15
+ * You can disabled whether the `ENTER` key actives a ripple using the `disable-enter` attribute.
16
+ *
17
+ * Alternately, you can use the `show` and `hide` methods to programmatically control the ripple.
18
+ *
19
+ * @example
20
+ * The following example illustrates attaching a ripple to an interactive element. In this example, the parenting div
21
+ * has relative positioning and is given an `id` referenced by `m3e-ripple` using the `for` attribute. Note that `#myDiv`
22
+ * is not used when specifying the attached element's identifier. The `#` is inferred.
23
+ *
24
+ * ```html
25
+ * <div id="myDiv" tabindex="0" style="position: relative;">
26
+ * <m3e-ripple for="myDiv"></m3e-ripple>
27
+ * <div>
28
+ * ```
29
+ *
30
+ * @tag m3e-ripple
31
+ *
32
+ * @attr centered - Whether the ripple always originates from the center of the element's bounds, rather than originating from the location of the click event.
33
+ * @attr disable-enter - Whether the ripple is disabled when the enter key is pressed.
34
+ * @attr disabled - Whether click events will not trigger the ripple. Ripples can be still controlled manually by using the `show` and 'hide' methods.
35
+ * @attr for - The identifier of the interactive control to which this element is attached.
36
+ * @attr radius - The radius, in pixels, of the ripple.
37
+ * @attr unbounded - Whether the ripple is visible outside the element's bounds.
38
+ *
39
+ * @cssprop --m3e-ripple-color - The color of the ripple.
40
+ * @cssprop --m3e-ripple-enter-duration - The duration for the enter animation (expansion from point of contact).
41
+ * @cssprop --m3e-ripple-exit-duration - The duration for the exit animation (fade-out).
42
+ * @cssprop --m3e-ripple-opacity - The opacity of the ripple.
43
+ * @cssprop --m3e-ripple-scale-factor - The factor by which to scale the ripple.
44
+ * @cssprop --m3e-ripple-shape - The shape of the ripple.
45
+ */
46
+ export declare class M3eRippleElement extends M3eRippleElement_base {
47
+ #private;
48
+ /** The styles of the element. */
49
+ static styles: CSSResultGroup;
50
+ /**
51
+ * Whether click events will not trigger the ripple.
52
+ * Ripples can be still controlled manually by using the `show` and 'hide' methods.
53
+ * @default false
54
+ */
55
+ disabled: boolean;
56
+ /**
57
+ * Whether the ripple is disabled when the enter key is pressed.
58
+ * @default false
59
+ */
60
+ disableEnter: boolean;
61
+ /**
62
+ * Whether the ripple always originates from the center of the element's bounds, rather
63
+ * than originating from the location of the click event.
64
+ * @default false
65
+ */
66
+ centered: boolean;
67
+ /**
68
+ * Whether the ripple is visible outside the element's bounds.
69
+ * @default false
70
+ */
71
+ unbounded: boolean;
72
+ /**
73
+ * The radius, in pixels, of the ripple.
74
+ * @default null
75
+ */
76
+ radius: number | null;
77
+ /**
78
+ * The element that triggers the ripple when click events are received.
79
+ * @default null
80
+ */
81
+ trigger: string | HTMLElement | null;
82
+ /** Whether the ripple is currently visible to the user. */
83
+ get visible(): boolean;
84
+ /**
85
+ * Launches a manual ripple.
86
+ * @param {number} x The x-coordinate, relative to the viewport, at which to present the ripple.
87
+ * @param {number} y The y-coordinate, relative to the viewport, at which to present the ripple.
88
+ * @param {boolean} [persistent=false] Whether the ripple will persist until hidden.
89
+ */
90
+ show(x: number, y: number, persistent?: boolean): void;
91
+ /** Manually hides the ripple. */
92
+ hide(): void;
93
+ /** @inheritdoc */
94
+ attach(control: HTMLElement): void;
95
+ /** @inheritdoc */
96
+ detach(): void;
97
+ /** @inheritdoc */
98
+ connectedCallback(): void;
99
+ /** @inheritdoc */
100
+ disconnectedCallback(): void;
101
+ /** @inheritdoc */
102
+ protected updated(_changedProperties: PropertyValues<this>): void;
103
+ }
104
+ declare global {
105
+ interface HTMLElementTagNameMap {
106
+ "m3e-ripple": M3eRippleElement;
107
+ }
108
+ }
109
+ export {};
110
+ //# sourceMappingURL=RippleElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RippleElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/RippleElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;;AAStE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBACa,gBAAiB,SAAQ,qBAAiC;;IACrE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAmEpC;IASF;;;;OAIG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACqE,YAAY,UAAS;IAE7F;;;;OAIG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACyC,SAAS,UAAS;IAE9D;;;OAGG;IACyB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEzD;;;OAGG;IACS,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAQ;IAExD,2DAA2D;IAC3D,IAAI,OAAO,YAEV;IAED;;;;;OAKG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,IAAI;IAqC7D,iCAAiC;IACjC,IAAI,IAAI,IAAI;IAIZ,kBAAkB;IACT,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C,kBAAkB;IACT,MAAM,IAAI,IAAI;IAOvB,kBAAkB;IACT,iBAAiB,IAAI,IAAI;IAKlC,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAiC3E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Component design tokens that control the `M3eRippleElement`.
3
+ * @internal
4
+ */
5
+ export declare const RippleToken: {
6
+ readonly color: import("lit").CSSResult;
7
+ readonly opacity: import("lit").CSSResult;
8
+ readonly enterDuration: import("lit").CSSResult;
9
+ readonly exitDuration: import("lit").CSSResult;
10
+ readonly scaleFactor: import("lit").CSSResult;
11
+ };
12
+ //# sourceMappingURL=RippleToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RippleToken.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/RippleToken.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from "lit";
2
+ import { ScrollDividers } from "./ScrollDividers";
3
+ declare const M3eScrollContainerElement_base: import("../mixins/Constructor").Constructor & typeof LitElement;
4
+ /**
5
+ * @summary
6
+ * A vertically oriented content container which presents dividers above and below content when scrolled.
7
+ *
8
+ * @description
9
+ * The `m3e-scroll-container` component provides a vertically oriented scrollable container with dynamic
10
+ * dividers above and below content. Designed according to Material 3 principles, it supports custom scrollbar
11
+ * thickness, divider styling, and focus ring theming via CSS custom properties.
12
+ *
13
+ * @example
14
+ * This example shows a scrollable container with dividers above and below the content, and thin scrollbars enabled.
15
+ * ```html
16
+ * <m3e-scroll-container dividers="above-below" thin>
17
+ * <div>Scrollable content goes here</div>
18
+ * </m3e-scroll-container>
19
+ * ```
20
+ *
21
+ * @tag m3e-scroll-container
22
+ *
23
+ * @slot - Renders the scrollable content.
24
+ *
25
+ * @attr dividers - The dividers used to separate scrollable content.
26
+ * @attr thin - Whether to present thin scrollbars.
27
+ *
28
+ * @cssprop --m3e-divider-thickness - Thickness of the divider lines above and below content.
29
+ * @cssprop --m3e-divider-color - Color of the divider lines when visible.
30
+ * @cssprop --m3e-focus-ring-color - Color of the focus ring outline.
31
+ * @cssprop --m3e-focus-ring-thickness - Thickness of the focus ring outline.
32
+ * @cssprop --m3e-focus-ring-factor - Animation factor for focus ring thickness.
33
+ * @cssprop --m3e-focus-ring-duration - Duration of the focus ring animation.
34
+ */
35
+ export declare class M3eScrollContainerElement extends M3eScrollContainerElement_base {
36
+ #private;
37
+ /** The styles of the element. */
38
+ static styles: CSSResultGroup;
39
+ /**
40
+ * The dividers used to separate scrollable content.
41
+ * @default "above-below"
42
+ */
43
+ dividers: ScrollDividers;
44
+ /**
45
+ * Whether to present thin scrollbars.
46
+ * @default false
47
+ */
48
+ thin: boolean;
49
+ /** @inheritdoc */
50
+ disconnectedCallback(): void;
51
+ /** @inheritdoc */
52
+ protected update(changedProperties: PropertyValues<this>): void;
53
+ /** @inheritdoc */
54
+ protected render(): unknown;
55
+ /** @private */
56
+ private _updateScroll;
57
+ }
58
+ declare global {
59
+ interface HTMLElementTagNameMap {
60
+ "m3e-scroll-container": M3eScrollContainerElement;
61
+ }
62
+ }
63
+ export {};
64
+ //# sourceMappingURL=ScrollContainerElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollContainerElement.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/ScrollContainerElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,yBAA0B,SAAQ,8BAAwB;;IACrE,iCAAiC;IACjC,OAAgB,MAAM,EAAE,cAAc,CAmDpC;IAIF;;;OAGG;IACS,QAAQ,EAAE,cAAc,CAAiB;IAErD;;;OAGG;IACyC,IAAI,UAAS;IAEzD,kBAAkB;IACT,oBAAoB,IAAI,IAAI;IAKrC,kBAAkB;cACC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAWxE,kBAAkB;cACC,MAAM,IAAI,OAAO;IAIpC,eAAe;IAEf,OAAO,CAAC,aAAa;CAStB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
@@ -0,0 +1,3 @@
1
+ /** Specifies the possible dividers used to separate scrollable content. */
2
+ export type ScrollDividers = "above" | "below" | "above-below" | "none";
3
+ //# sourceMappingURL=ScrollDividers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollDividers.d.ts","sourceRoot":"","sources":["../../../../src/shared/primitives/ScrollDividers.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC"}