@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,114 @@
1
+ /**
2
+ * Adapted from Angular Material CDK KeyManager
3
+ * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/key-manager/list-key-manager.ts
4
+ *
5
+ * @license MIT
6
+ * Copyright (c) 2025 Google LLC
7
+ * See LICENSE file in the project root for full license text.
8
+ */
9
+ import { ModifierKey } from "../keycodes";
10
+ import { ListManager } from "./ListManager";
11
+ import { TypeaheadItem } from "./Typeahead";
12
+ /**
13
+ * Utility for managing keyboard events for selectable lists.
14
+ * @template T The type of managed item.
15
+ */
16
+ export declare class ListKeyManager<T extends HTMLElement & TypeaheadItem> extends ListManager<T> {
17
+ #private;
18
+ /**
19
+ * Whether the active item will wrap to the other end of
20
+ * list when there are no more items in the given direction.
21
+ * @default false
22
+ */
23
+ wrap: boolean;
24
+ /**
25
+ * Whether to activate the first and last items respectively when
26
+ * the `HOME` or `END` key is pressed.
27
+ * @default false
28
+ */
29
+ homeAndEnd: boolean;
30
+ /**
31
+ * Whether to activate every 10th (or configured) first/last item
32
+ * in the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.
33
+ * @default false
34
+ */
35
+ pageUpAndDown: boolean;
36
+ /**
37
+ * The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.
38
+ * @default 10
39
+ */
40
+ pageDelta: number;
41
+ /**
42
+ * Whether to the list is oriented vertically.
43
+ * @default false
44
+ */
45
+ vertical: boolean;
46
+ /** The allowed modifier keys.
47
+ * @default []
48
+ */
49
+ allowedModifiers: ModifierKey[];
50
+ /**
51
+ * A function used to skip items.
52
+ * @param {T} item The item to test.
53
+ * @returns {boolean} Whether `item` should be skipped.
54
+ */
55
+ skipPredicate: (item: T) => boolean;
56
+ /** @inheritdoc */
57
+ setItems(items: T[]): {
58
+ added: readonly T[];
59
+ removed: readonly T[];
60
+ };
61
+ /** @inheritdoc */
62
+ updateActiveItem(item: T | null | undefined): void;
63
+ /**
64
+ * Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.
65
+ * @param {boolean} [enabled = true] Whether to activate the first and last items respectively when
66
+ * the `HOME` or `END` key is pressed.
67
+ * @returns {ListKeyManager<T>} The configured key manager.
68
+ */
69
+ withHomeAndEnd(enabled?: boolean): this;
70
+ /**
71
+ * Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.
72
+ * @param {boolean} [enabled = true] Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.
73
+ * @param {number} [pageDelta=10] The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.
74
+ * @returns {ListKeyManager<T>} The configured key manager.
75
+ */
76
+ withPageUpAndDown(enabled?: boolean, pageDelta?: number): this;
77
+ /**
78
+ * Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.
79
+ * @param {boolean} [enabled = true] Whether the active item will wrap to the other end of
80
+ * list when there are no more items in the given direction.
81
+ * @returns {ListKeyManager<T>} The configured key manager.
82
+ */
83
+ withWrap(enabled?: boolean): this;
84
+ /**
85
+ * Configures whether to move the selection vertically.
86
+ * @param {boolean} [enabled = true] Whether to move selection vertically.
87
+ * @returns {ListKeyManager<T>} The configured key manager.
88
+ */
89
+ withVerticalOrientation(enabled?: boolean): this;
90
+ /**
91
+ * Configured allowed modifier keys.
92
+ * @param {ModifierKey[]} modifiers The allowed modifier keys.
93
+ * @returns {ListKeyManager<T>} The configured key manager.
94
+ */
95
+ withAllowedModifiers(...modifiers: ModifierKey[]): this;
96
+ /**
97
+ * Configures whether typeahead is enabled.
98
+ * @param {boolean} [enabled = true] Whether typeahead is enabled.
99
+ * @returns {ListKeyManager<T>} The configured key manager.
100
+ */
101
+ withTypeahead(enabled?: boolean): this;
102
+ /**
103
+ * Configures a function used to test whether an item should be skipped.
104
+ * @param skipPredicate A function used to determine whether an item should be skipped.
105
+ * @returns {ListKeyManager<T>} The configured key manager.
106
+ */
107
+ withSkipPredicate(skipPredicate: (item: T) => boolean): this;
108
+ /**
109
+ * Sets the active item depending on the key event passed in.
110
+ * @param {KeyboardEvent} e The keyboard event to be used for determining which element should be active.
111
+ */
112
+ onKeyDown(e: KeyboardEvent): void;
113
+ }
114
+ //# sourceMappingURL=ListKeyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListKeyManager.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/ListKeyManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAqC,WAAW,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAa,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,aAAa,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;;IAGvF;;;;OAIG;IACI,IAAI,UAAS;IAEpB;;;;OAIG;IACI,UAAU,UAAS;IAE1B;;;;OAIG;IACI,aAAa,UAAS;IAE7B;;;OAGG;IACI,SAAS,SAAM;IAEtB;;;OAGG;IACI,QAAQ,UAAS;IAExB;;OAEG;IACI,gBAAgB,EAAE,WAAW,EAAE,CAAM;IAE5C;;;;OAIG;IACI,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAoD;IAE9F,kBAAkB;IACT,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG;QAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;KAAE;IAK7E,kBAAkB;IACT,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAO3D;;;;;OAKG;IACH,cAAc,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAK7C;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,GAAE,OAAc,EAAE,SAAS,GAAE,MAAW,GAAG,IAAI;IAMxE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAKvC;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAKtD;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;IAKvD;;;;OAIG;IACH,aAAa,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAS5C;;;;OAIG;IACH,iBAAiB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI;IAK5D;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;CA0LlC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Utility for managing a list of items which supports activation.
3
+ * @template T The type of managed item.
4
+ */
5
+ export declare class ListManager<T> {
6
+ #private;
7
+ /** The items being managed. */
8
+ get items(): ReadonlyArray<T>;
9
+ /** The active item. */
10
+ get activeItem(): T | null;
11
+ /**
12
+ * Sets the items to manage.
13
+ * @param {Array<T>} items The new items.
14
+ * @returns {{ added: ReadonlyArray<T>; removed: ReadonlyArray<T> }} An object specifying added and removed items.
15
+ */
16
+ setItems(items: Array<T>): {
17
+ added: ReadonlyArray<T>;
18
+ removed: ReadonlyArray<T>;
19
+ };
20
+ /**
21
+ * Sets the active item.
22
+ * @param {T | null | undefined} item The new active item.
23
+ */
24
+ setActiveItem(item: T | null | undefined): void;
25
+ /**
26
+ * Updates the active item.
27
+ * @param {T | null | undefined} item The active item.
28
+ */
29
+ updateActiveItem(item: T | null | undefined): void;
30
+ /**
31
+ * Configures the list manager with a callback invoked when an item is activated.
32
+ * @param {() => void} callback The callback invoked when an item is activated.
33
+ * @returns {ListManager<T>} The configured list manager.
34
+ */
35
+ onActiveItemChange(callback: () => void): this;
36
+ }
37
+ //# sourceMappingURL=ListManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListManager.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/ListManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAKxB,+BAA+B;IAC/B,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAE5B;IAED,uBAAuB;IACvB,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAEzB;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KAAE;IAajF;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAO/C;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAIlD;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CAI/C"}
@@ -0,0 +1,20 @@
1
+ import { LitElement } from "lit";
2
+ import { CheckedOrSelectedMixin } from "../../shared/mixins/CheckedOrSelected";
3
+ import { DisabledMixin } from "../../shared/mixins/Disabled";
4
+ import { RovingTabIndexManager } from "./RovingTabIndexManager";
5
+ /**
6
+ * Utility for managing keyboard events for selectable lists whose items behave like a radio.
7
+ * @template T The type of managed item.
8
+ */
9
+ export declare class RadioKeyManager<T extends LitElement & DisabledMixin & CheckedOrSelectedMixin> extends RovingTabIndexManager<T> {
10
+ #private;
11
+ /** A value indicating whether managed items are disabled. */
12
+ get disabled(): boolean;
13
+ set disabled(value: boolean);
14
+ /** @inheritdoc */
15
+ setItems(items: T[]): {
16
+ added: readonly T[];
17
+ removed: readonly T[];
18
+ };
19
+ }
20
+ //# sourceMappingURL=RadioKeyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioKeyManager.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/RadioKeyManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAuB,MAAM,uCAAuC,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,qBAAa,eAAe,CAC1B,CAAC,SAAS,UAAU,GAAG,aAAa,GAAG,sBAAsB,CAC7D,SAAQ,qBAAqB,CAAC,CAAC,CAAC;;IAGhC,6DAA6D;IAC7D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAG1B;IAED,kBAAkB;IACT,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG;QAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;KAAE;CAsB9E"}
@@ -0,0 +1,22 @@
1
+ import { FocusKeyManager } from "./FocusKeyManager";
2
+ /**
3
+ * Utility for managing keyboard events and a roving tab index for selectable lists whose items directly receive focus.
4
+ * @template T The type of managed item.
5
+ */
6
+ export declare class RovingTabIndexManager<T extends HTMLElement> extends FocusKeyManager<T> {
7
+ #private;
8
+ /** @inheritdoc */
9
+ updateActiveItem(item: T | null | undefined): void;
10
+ /** @inheritdoc */
11
+ setItems(items: T[]): {
12
+ added: readonly T[];
13
+ removed: readonly T[];
14
+ };
15
+ /**
16
+ * Configures whether roving tab index is disabled.
17
+ * @param {boolean} [disabled=true] Whether the roving tab index is disabled.
18
+ * @returns {RovingTabIndexManager<T>} The configured roving tab index manager.
19
+ */
20
+ disableRovingTabIndex(disabled?: boolean): this;
21
+ }
22
+ //# sourceMappingURL=RovingTabIndexManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RovingTabIndexManager.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/RovingTabIndexManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,qBAAqB,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;;IAGlF,kBAAkB;IACT,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAa3D,kBAAkB;IACT,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG;QAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;KAAE;IAc7E;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,GAAE,OAAc,GAAG,IAAI;CAYtD"}
@@ -0,0 +1,46 @@
1
+ import { LitElement } from "lit";
2
+ import { CheckedOrSelectedMixin } from "../../shared/mixins/CheckedOrSelected";
3
+ import { DisabledMixin } from "../../shared/mixins/Disabled";
4
+ import { RadioKeyManager } from "./RadioKeyManager";
5
+ /** A symbol through which to access an element's selection manager. */
6
+ export declare const selectionManager: unique symbol;
7
+ /**
8
+ * Utility for managing keyboard events for selectable lists where one or more items can be selected.
9
+ * @template T The type of managed item.
10
+ */
11
+ export declare class SelectionManager<T extends LitElement & DisabledMixin & CheckedOrSelectedMixin> extends RadioKeyManager<T> {
12
+ #private;
13
+ /** A value indicating whether multiple items can be selected. */
14
+ get multi(): boolean;
15
+ set multi(value: boolean);
16
+ /** The selected items. */
17
+ get selectedItems(): readonly T[];
18
+ /**
19
+ * Selects or deselects the item based on the item's checked or selected state.
20
+ * @param {T} item The item whose selection state has changed.
21
+ */
22
+ notifySelectionChange(item: T): void;
23
+ /**
24
+ * Deselects the specified item.
25
+ * @param {T} item The item to deselect.
26
+ */
27
+ deselect(item: T): void;
28
+ /**
29
+ * Updates the selected item.
30
+ * @param {T | null | undefined} item The selected item.
31
+ * @param {boolean} [activate=true] A value indicating whether to activate the item.
32
+ */
33
+ select(item: T | null | undefined, activate?: boolean): void;
34
+ /** @inheritdoc */
35
+ setItems(items: T[]): {
36
+ added: readonly T[];
37
+ removed: readonly T[];
38
+ };
39
+ /**
40
+ * Configures the selection manager with a callback invoked when selected items change.
41
+ * @param {() => void} callback The callback invoked when selected items change.
42
+ * @returns {SelectionManager<T>} The configured selection manager.
43
+ */
44
+ onSelectedItemsChange(callback: () => void): this;
45
+ }
46
+ //# sourceMappingURL=SelectionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionManager.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/SelectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAsC,MAAM,uCAAuC,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;GAGG;AACH,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,UAAU,GAAG,aAAa,GAAG,sBAAsB,CAC7D,SAAQ,eAAe,CAAC,CAAC,CAAC;;IAK1B,iEAAiE;IACjE,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAGvB;IAED,0BAA0B;IAC1B,IAAI,aAAa,IAAI,SAAS,CAAC,EAAE,CAEhC;IAED;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAUpC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAcvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,GAAE,OAAc,GAAG,IAAI;IA0BlE,kBAAkB;IACT,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG;QAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;KAAE;IAU7E;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CAiBlD"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Adapted from Angular Material CDK KeyManager
3
+ * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/key-manager/typeahead.ts
4
+ *
5
+ * @license MIT
6
+ * Copyright (c) 2025 Google LLC
7
+ * See LICENSE file in the project root for full license text.
8
+ */
9
+ /** A symbol through which to access an element's textual content used for typeahead search. */
10
+ export declare const typeaheadLabel: unique symbol;
11
+ /** Defines functionality required for an item that supports searching using typeahead. */
12
+ export interface TypeaheadItem {
13
+ /** Returns the textual content to search. */
14
+ [typeaheadLabel]?(): string;
15
+ }
16
+ /**
17
+ * Determines whether a value is a `TypeaheadItem`.
18
+ * @param {unknown} value The value to test.
19
+ * @returns A value indicating whether `value` is an `TypeaheadItem`.
20
+ */
21
+ export declare function isTypeaheadItem(value: unknown): value is TypeaheadItem;
22
+ /** Encapsulates options used to select items based on typeahead.
23
+ * @template T The type of `TypeaheadItem`.
24
+ */
25
+ export interface TypeaheadOptions<T extends TypeaheadItem = TypeaheadItem> {
26
+ /** The interval, in milliseconds, before searching items. */
27
+ debounceInterval?: number;
28
+ /** Function used to determine whether an item should be skipped. */
29
+ skipPredicate?: (item: T) => boolean;
30
+ /** Function invoked when an item is selected. */
31
+ callback: (item: T) => void;
32
+ }
33
+ /**
34
+ * Implements typeahead functionality which selects items based on keyboard input.
35
+ * @template T The type of `TypeaheadItem`.
36
+ */
37
+ export declare class Typeahead<T extends TypeaheadItem = TypeaheadItem> {
38
+ #private;
39
+ /**
40
+ * Initializes a new instance of this class.
41
+ * @param {TypeaheadOptions<T>} options Options that control typeahead behavior.
42
+ */
43
+ constructor(options: TypeaheadOptions<T>);
44
+ /** A value indicating whether the user is currently typing. */
45
+ get isTyping(): boolean;
46
+ /**
47
+ * Sets the items to search.
48
+ * @param {readonly T[]} items The items to search.
49
+ */
50
+ setItems(items: readonly T[]): void;
51
+ /**
52
+ * Sets the index of the selected item.
53
+ * @param {number} index The index of the selected item.
54
+ */
55
+ setSelectedIndex(index: number): void;
56
+ /** Resets the stored sequence of typed characters. */
57
+ reset(): void;
58
+ /**
59
+ * Sets the selected item depending on the key event passed in.
60
+ * @param {KeyboardEvent} e The keyboard event to be used for determining which element should be active.
61
+ */
62
+ onKeyDown(e: KeyboardEvent): void;
63
+ }
64
+ //# sourceMappingURL=Typeahead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typeahead.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/Typeahead.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,+FAA+F;AAC/F,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACvE,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oEAAoE;IACpE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAErC,iDAAiD;IACjD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;;IAU5D;;;OAGG;gBACS,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAMxC,+DAA+D;IAC/D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI;IAInC;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,sDAAsD;IACtD,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;CAgClC"}
@@ -0,0 +1,8 @@
1
+ export * from "./FocusKeyManager";
2
+ export * from "./ListKeyManager";
3
+ export * from "./ListManager";
4
+ export * from "./RadioKeyManager";
5
+ export * from "./RovingTabIndexManager";
6
+ export * from "./SelectionManager";
7
+ export * from "./Typeahead";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a11y/list-key/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Visually hides an element.
3
+ * @param {CSSStyleDeclaration} style The style of the element to visually hide.
4
+ */
5
+ export declare function visuallyHide(style: CSSStyleDeclaration): void;
6
+ //# sourceMappingURL=visuallyHide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visuallyHide.d.ts","sourceRoot":"","sources":["../../../src/a11y/visuallyHide.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAa7D"}
@@ -0,0 +1,15 @@
1
+ import { AnchorPosition } from "./AnchorPosition";
2
+ /** Options used to anchor an element to another. */
3
+ export interface AnchorOptions {
4
+ /** The position of the element, relative to the anchor. */
5
+ position: AnchorPosition;
6
+ /** Whether to improve positioning for inline elements which can span multiple lines. */
7
+ inline?: boolean;
8
+ /** Whether the element can be shifted to keep it in view. */
9
+ shift?: boolean;
10
+ /** Whether the element can flip to keep it in view. */
11
+ flip?: boolean | AnchorPosition[];
12
+ /** The logical margin, in pixels, between element and its anchor. */
13
+ offset?: number;
14
+ }
15
+ //# sourceMappingURL=AnchorOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnchorOptions.d.ts","sourceRoot":"","sources":["../../../src/anchoring/AnchorOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,cAAc,CAAC;IAEzB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,GAAG,cAAc,EAAE,CAAC;IAElC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ /** Specifies the possible positions in which to anchor an element to another. */
2
+ export type AnchorPosition = "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
3
+ //# sourceMappingURL=AnchorPosition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnchorPosition.d.ts","sourceRoot":"","sources":["../../../src/anchoring/AnchorPosition.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,WAAW,GACX,SAAS,GACT,aAAa,GACb,WAAW,GACX,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./AnchorOptions";
2
+ export * from "./AnchorPosition";
3
+ export * from "./positionAnchor";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/anchoring/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AnchorOptions } from "./AnchorOptions";
2
+ import { AnchorPosition } from "./AnchorPosition";
3
+ /**
4
+ * Positions an element relative to an anchor element.
5
+ * @param {HTMLElement} target The element to position.
6
+ * @param {HTMLElement} anchor The element in which to anchor `target`.
7
+ * @param {AnchorOptions} options Options that control positioning relative to the anchor.
8
+ * @param {((x: number, y: number, position: AnchorPosition) => void) | undefined} update Callback used to position `target`.
9
+ * @returns {Promise<() => void>} Promise that resolves to a function used to stop updating target when the position of the anchor element changes.
10
+ */
11
+ export declare function positionAnchor(target: HTMLElement, anchor: HTMLElement, options: AnchorOptions, update?: (x: number, y: number, position: AnchorPosition) => void): Promise<() => void>;
12
+ //# sourceMappingURL=positionAnchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionAnchor.d.ts","sourceRoot":"","sources":["../../../src/anchoring/positionAnchor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,GAChE,OAAO,CAAC,MAAM,IAAI,CAAC,CAiCrB"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Adapted from Angular Material CDK Directionality
3
+ * Source: https://github.com/angular/components/blob/main/src/cdk/bidi/directionality.ts
4
+ *
5
+ * @license MIT
6
+ * Copyright (c) 2025 Google LLC
7
+ * See LICENSE file in the project root for full license text.
8
+ */
9
+ /** Specifies the directionalities for a document. */
10
+ export type Direction = "ltr" | "rtl";
11
+ /** Utility used to determine the directionality of the current document. */
12
+ export declare class M3eDirectionality {
13
+ #private;
14
+ /** The directionality of the current document. */
15
+ static get current(): Direction;
16
+ /**
17
+ * Observes changes to directionality.
18
+ * @param {()=>void} callback Function invoked when directionality changes.
19
+ * @returns {()=>void} A function used to unobserve changes.
20
+ */
21
+ static observe(callback: () => void): () => void;
22
+ }
23
+ declare global {
24
+ /** Utility used to determine the directionality of the current document. */
25
+ var M3eDirectionality: M3eDirectionality;
26
+ }
27
+ //# sourceMappingURL=Directionality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Directionality.d.ts","sourceRoot":"","sources":["../../../src/bidi/Directionality.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtC,4EAA4E;AAC5E,qBAAa,iBAAiB;;IAuB5B,kDAAkD;IAClD,MAAM,KAAK,OAAO,IAAI,SAAS,CAE9B;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAyBjD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,iBAAiB,EAAE,iBAAiB,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export * from "./Directionality";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bidi/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./shared";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Adapted from Angular Material CDK Breakpoints
3
+ * Source: https://github.com/angular/components/blob/main/src/cdk/layout/breakpoints.ts
4
+ *
5
+ * @license MIT
6
+ * Copyright (c) 2025 Google LLC
7
+ * See LICENSE file in the project root for full license text.
8
+ */
9
+ /** Specifies predefined breakpoints. */
10
+ export declare enum Breakpoint {
11
+ XSmall = "(max-width: 599.98px)",
12
+ Small = "(min-width: 600px) and (max-width: 959.98px)",
13
+ Medium = "(min-width: 960px) and (max-width: 1279.98px)",
14
+ Large = "(min-width: 1280px) and (max-width: 1919.98px)",
15
+ XLarge = "(min-width: 1920px)",
16
+ Handset = "(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",
17
+ Tablet = "(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",
18
+ Web = "(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",
19
+ HandsetPortrait = "(max-width: 599.98px) and (orientation: portrait)",
20
+ TabletPortrait = "(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",
21
+ WebPortrait = "(min-width: 840px) and (orientation: portrait)",
22
+ HandsetLandscape = "(max-width: 959.98px) and (orientation: landscape)",
23
+ TabletLandscape = "(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",
24
+ WebLandscape = "(min-width: 1280px) and (orientation: landscape)"
25
+ }
26
+ //# sourceMappingURL=Breakpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breakpoint.d.ts","sourceRoot":"","sources":["../../../src/layout/Breakpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wCAAwC;AACxC,oBAAY,UAAU;IACpB,MAAM,0BAA0B;IAChC,KAAK,iDAAiD;IACtD,MAAM,kDAAkD;IACxD,KAAK,mDAAmD;IACxD,MAAM,wBAAwB;IAC9B,OAAO,0GAA0G;IACjH,MAAM,yJAAyJ;IAC/J,GAAG,qGAAqG;IACxG,eAAe,sDAAsD;IACrE,cAAc,6EAA6E;IAC3F,WAAW,mDAAmD;IAC9D,gBAAgB,uDAAuD;IACvE,eAAe,+EAA+E;IAC9F,YAAY,qDAAqD;CAClE"}
@@ -0,0 +1,18 @@
1
+ import { Breakpoint } from "./Breakpoint";
2
+ /** The callback function invoked when the viewport size changes. */
3
+ export type BreakpointObserverCallback = (matches: Map<Breakpoint | string, boolean>) => void;
4
+ /** Utility used to detect changes to viewport sizes. */
5
+ export declare class M3eBreakpointObserver {
6
+ /**
7
+ * Observes changes to viewport sizes.
8
+ * @param {Array<Breakpoint | string>} breakpoints The breakpoints to observe.
9
+ * @param {BreakpointObserverCallback} callback The callback function invoked when the viewport size changes.
10
+ * @returns {() => void} A function used to stop observing changes to viewport sizes.
11
+ */
12
+ static observe(breakpoints: Array<Breakpoint | string>, callback: BreakpointObserverCallback): () => void;
13
+ }
14
+ declare global {
15
+ /** Utility used to detect changes to viewport sizes. */
16
+ var M3eBreakpointObserver: M3eBreakpointObserver;
17
+ }
18
+ //# sourceMappingURL=BreakpointObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BreakpointObserver.d.ts","sourceRoot":"","sources":["../../../src/layout/BreakpointObserver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,oEAAoE;AACpE,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAE9F,wDAAwD;AACxD,qBAAa,qBAAqB;IAChC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,0BAA0B,GAAG,MAAM,IAAI;CAqB1G;AAED,OAAO,CAAC,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,qBAAqB,EAAE,qBAAqB,CAAC;CAClD"}
@@ -0,0 +1,3 @@
1
+ export * from "./Breakpoint";
2
+ export * from "./BreakpointObserver";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Adapted from Angular Material CDK Platform
3
+ * Source: https://github.com/angular/components/blob/main/src/cdk/platform/platform.ts
4
+ *
5
+ * @license MIT
6
+ * Copyright (c) 2025 Google LLC
7
+ * See LICENSE file in the project root for full license text.
8
+ */
9
+ /** Utility used to detect the current platform. */
10
+ export declare class M3ePlatform {
11
+ /** A value indicating whether the platform is a browser. */
12
+ static readonly isBrowser: boolean;
13
+ /** A value indicating whether the current browser is Microsoft Edge. */
14
+ static readonly Edge: boolean;
15
+ /** A value indicating whether the current rendering engine is Microsoft Trident. */
16
+ static readonly Trident: boolean;
17
+ /** A value indicating whether the current rendering engine is Blink. */
18
+ static readonly Blink: boolean;
19
+ /** A value indicating whether the current rendering engine is WebKit. */
20
+ static readonly WebKit: boolean;
21
+ /** A value indicating whether the current platform is Apply iOS. */
22
+ static readonly iOS: boolean;
23
+ /** A value indicating whether the current browser is Firefox. */
24
+ static readonly Firefox: boolean;
25
+ /** A value indicating whether the current platform is Android. */
26
+ static readonly Android: boolean;
27
+ /** A value indicating whether the current browser is Safari. */
28
+ static readonly Safari: boolean;
29
+ }
30
+ declare global {
31
+ /** Utility used to detect the current platform. */
32
+ var M3ePlatform: M3ePlatform;
33
+ }
34
+ //# sourceMappingURL=Platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../../src/platform/Platform.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,mDAAmD;AACnD,qBAAa,WAAW;IACtB,4DAA4D;IAC5D,MAAM,CAAC,QAAQ,CAAC,SAAS,UAA2D;IAEpF,wEAAwE;IACxE,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAgE;IAEpF,oFAAoF;IACpF,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAwE;IAE/F,wEAAwE;IACxE,MAAM,CAAC,QAAQ,CAAC,KAAK,UAKE;IAEvB,yEAAyE;IACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,UAKC;IAEvB,oEAAoE;IACpE,MAAM,CAAC,QAAQ,CAAC,GAAG,UACgF;IAEnG,iEAAiE;IACjE,MAAM,CAAC,QAAQ,CAAC,OAAO,UAA6E;IAEpG,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAyF;IAEhH,gEAAgE;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAsF;CAC7G;AAED,OAAO,CAAC,MAAM,CAAC;IACb,mDAAmD;IACnD,IAAI,WAAW,EAAE,WAAW,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export * from "./Platform";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { ReactiveControllerHost } from "lit";
2
+ import { MonitorControllerBase, MonitorControllerOptions } from "./MonitorControllerBase";
3
+ /** The callback function invoked when the focused state of an element changes. */
4
+ export type FocusControllerCallback = (focused: boolean, focusVisible: boolean, target: HTMLElement) => void;
5
+ /** Encapsulates options used to configure a `FocusController`. */
6
+ export interface FocusControllerOptions extends MonitorControllerOptions {
7
+ /** The callback invoked when the focused state of an element changes. */
8
+ callback: FocusControllerCallback;
9
+ }
10
+ /** A `ReactiveController` used to monitor the focused state of one or more elements. */
11
+ export declare class FocusController extends MonitorControllerBase {
12
+ #private;
13
+ /**
14
+ * Initializes a new instance of this class.
15
+ * @param {ReactiveControllerHost & HTMLElement} host The host element to which this controller will be added.
16
+ * @param {FocusControllerOptions} options Options used to configure this controller.
17
+ */
18
+ constructor(host: ReactiveControllerHost & HTMLElement, options: FocusControllerOptions);
19
+ /**
20
+ * Starts observing the specified element.
21
+ * @param {HTMLElement} target The element to start observing.
22
+ */
23
+ protected _observe(target: HTMLElement): void;
24
+ /**
25
+ * Stops observing the specified element.
26
+ * @param {HTMLElement} target The element to stop observing.
27
+ */
28
+ protected _unobserve(target: HTMLElement): void;
29
+ }
30
+ //# sourceMappingURL=FocusController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusController.d.ts","sourceRoot":"","sources":["../../../../src/shared/controllers/FocusController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;AAE7G,kEAAkE;AAClE,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,yEAAyE;IACzE,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,wFAAwF;AACxF,qBAAa,eAAgB,SAAQ,qBAAqB;;IAKxD;;;;OAIG;gBACS,IAAI,EAAE,sBAAsB,GAAG,WAAW,EAAE,OAAO,EAAE,sBAAsB;IAKvF;;;OAGG;cACgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMtD;;;OAGG;cACgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAgBzD"}