mtrl 0.3.8 → 0.4.0

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 (703) hide show
  1. package/dist/LICENSE +21 -0
  2. package/dist/README.md +324 -0
  3. package/dist/components/badge/api.d.ts +48 -0
  4. package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
  5. package/dist/components/badge/config.d.ts +79 -0
  6. package/dist/components/badge/constants.d.ts +35 -0
  7. package/dist/components/badge/features.d.ts +36 -0
  8. package/dist/components/badge/index.d.ts +8 -0
  9. package/dist/components/badge/types.d.ts +256 -0
  10. package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
  11. package/dist/components/bottom-app-bar/config.d.ts +16 -0
  12. package/dist/components/bottom-app-bar/constants.d.ts +22 -0
  13. package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
  14. package/dist/components/bottom-app-bar/types.d.ts +96 -0
  15. package/dist/components/button/api.d.ts +47 -0
  16. package/dist/components/button/button.d.ts +25 -0
  17. package/dist/components/button/config.d.ts +59 -0
  18. package/dist/components/button/constants.d.ts +43 -0
  19. package/dist/components/button/index.d.ts +6 -0
  20. package/dist/components/button/types.d.ts +265 -0
  21. package/dist/components/card/api.d.ts +11 -0
  22. package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
  23. package/dist/components/card/config.d.ts +105 -0
  24. package/dist/components/card/constants.d.ts +85 -0
  25. package/dist/components/card/content.d.ts +92 -0
  26. package/dist/components/card/features.d.ts +131 -0
  27. package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
  28. package/dist/components/card/types.d.ts +471 -0
  29. package/dist/components/carousel/api.d.ts +33 -0
  30. package/dist/components/carousel/carousel.d.ts +75 -0
  31. package/dist/components/carousel/config.d.ts +45 -0
  32. package/dist/components/carousel/constants.d.ts +165 -0
  33. package/dist/components/carousel/features/drag.d.ts +8 -0
  34. package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
  35. package/dist/components/carousel/features/slides.d.ts +8 -0
  36. package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
  37. package/dist/components/carousel/types.d.ts +276 -0
  38. package/dist/components/checkbox/api.d.ts +7 -0
  39. package/dist/components/checkbox/checkbox.d.ts +65 -0
  40. package/dist/components/checkbox/config.d.ts +44 -0
  41. package/dist/components/checkbox/constants.d.ts +63 -0
  42. package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
  43. package/dist/components/checkbox/types.d.ts +242 -0
  44. package/dist/components/chips/api.d.ts +49 -0
  45. package/dist/components/chips/chip/api.d.ts +23 -0
  46. package/dist/components/chips/chip/chip.d.ts +8 -0
  47. package/dist/components/chips/chip/config.d.ts +57 -0
  48. package/dist/components/chips/chip/constants.d.ts +38 -0
  49. package/dist/components/chips/chip/index.d.ts +2 -0
  50. package/dist/components/chips/chip/types.d.ts +11 -0
  51. package/dist/components/chips/chips.d.ts +17 -0
  52. package/dist/components/chips/config.d.ts +67 -0
  53. package/dist/components/chips/constants.d.ts +46 -0
  54. package/dist/components/chips/features/chip-items.d.ts +8 -0
  55. package/dist/components/chips/features/container.d.ts +8 -0
  56. package/dist/components/chips/features/controller.d.ts +9 -0
  57. package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
  58. package/dist/components/chips/features/label.d.ts +8 -0
  59. package/dist/components/chips/index.d.ts +4 -0
  60. package/dist/components/chips/schema.d.ts +34 -0
  61. package/dist/components/chips/types.d.ts +398 -0
  62. package/dist/components/datepicker/api.d.ts +9 -0
  63. package/dist/components/datepicker/config.d.ts +79 -0
  64. package/dist/components/datepicker/constants.d.ts +97 -0
  65. package/dist/components/datepicker/datepicker.d.ts +8 -0
  66. package/dist/components/datepicker/index.d.ts +3 -0
  67. package/dist/components/datepicker/render.d.ts +43 -0
  68. package/dist/components/datepicker/types.d.ts +321 -0
  69. package/dist/components/datepicker/utils.d.ts +84 -0
  70. package/dist/components/dialog/api.d.ts +59 -0
  71. package/dist/components/dialog/config.d.ts +91 -0
  72. package/dist/components/dialog/constants.d.ts +116 -0
  73. package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
  74. package/dist/components/dialog/features.d.ts +37 -0
  75. package/dist/components/dialog/index.d.ts +14 -0
  76. package/dist/components/dialog/types.d.ts +483 -0
  77. package/dist/components/divider/config.d.ts +143 -0
  78. package/dist/components/divider/constants.d.ts +45 -0
  79. package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
  80. package/dist/components/divider/features.d.ts +50 -0
  81. package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
  82. package/dist/components/divider/types.d.ts +124 -0
  83. package/dist/components/extended-fab/api.d.ts +83 -0
  84. package/dist/components/extended-fab/config.d.ts +75 -0
  85. package/dist/components/extended-fab/constants.d.ts +82 -0
  86. package/dist/components/extended-fab/extended-fab.d.ts +61 -0
  87. package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
  88. package/dist/components/extended-fab/types.d.ts +703 -0
  89. package/dist/components/fab/api.d.ts +64 -0
  90. package/dist/components/fab/config.d.ts +71 -0
  91. package/dist/components/fab/constants.d.ts +75 -0
  92. package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
  93. package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
  94. package/dist/components/fab/types.d.ts +577 -0
  95. package/dist/components/index.d.ts +76 -0
  96. package/dist/components/list/api.d.ts +106 -0
  97. package/dist/components/list/config.d.ts +61 -0
  98. package/dist/components/list/constants.d.ts +76 -0
  99. package/dist/components/list/features/index.d.ts +2 -0
  100. package/dist/components/list/features/listmanager.d.ts +9 -0
  101. package/dist/components/list/features/selection.d.ts +9 -0
  102. package/dist/components/list/index.d.ts +12 -0
  103. package/dist/components/list/list.d.ts +11 -0
  104. package/dist/components/list/types.d.ts +294 -0
  105. package/dist/components/menu/api.d.ts +58 -0
  106. package/dist/components/menu/config.d.ts +78 -0
  107. package/dist/components/menu/constants.d.ts +106 -0
  108. package/dist/components/menu/features/controller.d.ts +10 -0
  109. package/dist/components/menu/features/index.d.ts +6 -0
  110. package/dist/components/menu/features/keyboard.d.ts +26 -0
  111. package/dist/components/menu/features/opener.d.ts +10 -0
  112. package/dist/components/menu/features/position.d.ts +18 -0
  113. package/dist/components/menu/features/submenu.d.ts +10 -0
  114. package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
  115. package/dist/components/menu/menu.d.ts +29 -0
  116. package/dist/components/menu/types.d.ts +338 -0
  117. package/dist/components/navigation/api.d.ts +8 -0
  118. package/dist/components/navigation/config.d.ts +34 -0
  119. package/dist/components/navigation/constants.d.ts +137 -0
  120. package/dist/components/navigation/features/controller.d.ts +30 -0
  121. package/dist/components/navigation/features/items.d.ts +32 -0
  122. package/dist/components/navigation/index.d.ts +3 -0
  123. package/dist/components/navigation/nav-item.d.ts +30 -0
  124. package/dist/components/navigation/navigation.d.ts +8 -0
  125. package/dist/components/navigation/system/core.d.ts +72 -0
  126. package/dist/components/navigation/system/events.d.ts +35 -0
  127. package/dist/components/navigation/system/index.d.ts +10 -0
  128. package/dist/components/navigation/system/mobile.d.ts +52 -0
  129. package/dist/components/navigation/system/state.d.ts +22 -0
  130. package/dist/components/navigation/system/types.d.ts +305 -0
  131. package/dist/components/navigation/types.d.ts +216 -0
  132. package/dist/components/progress/api.d.ts +46 -0
  133. package/dist/components/progress/config.d.ts +72 -0
  134. package/dist/components/progress/constants.d.ts +139 -0
  135. package/dist/components/progress/features/canvas.d.ts +32 -0
  136. package/dist/components/progress/features/circular.d.ts +9 -0
  137. package/dist/components/progress/features/index.d.ts +8 -0
  138. package/dist/components/progress/features/linear.d.ts +9 -0
  139. package/dist/components/progress/features/resize-observer.d.ts +5 -0
  140. package/dist/components/progress/features/state.d.ts +38 -0
  141. package/dist/components/progress/features.d.ts +40 -0
  142. package/dist/components/progress/index.d.ts +3 -0
  143. package/dist/components/progress/progress.d.ts +24 -0
  144. package/dist/components/progress/types.d.ts +272 -0
  145. package/dist/components/radios/api.d.ts +37 -0
  146. package/dist/components/radios/config.d.ts +42 -0
  147. package/dist/components/radios/constants.d.ts +114 -0
  148. package/dist/components/radios/index.d.ts +3 -0
  149. package/dist/components/radios/radio.d.ts +8 -0
  150. package/dist/components/radios/radios.d.ts +8 -0
  151. package/dist/components/radios/types.d.ts +189 -0
  152. package/dist/components/search/api.d.ts +55 -0
  153. package/dist/components/search/config.d.ts +73 -0
  154. package/dist/components/search/constants.d.ts +128 -0
  155. package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
  156. package/dist/components/search/features/search.d.ts +7 -0
  157. package/dist/components/search/features/states.d.ts +8 -0
  158. package/dist/components/search/features/structure.d.ts +7 -0
  159. package/dist/components/search/index.d.ts +3 -0
  160. package/dist/components/search/search.d.ts +8 -0
  161. package/dist/components/search/types.d.ts +132 -0
  162. package/dist/components/segmented-button/config.d.ts +65 -0
  163. package/dist/components/segmented-button/constants.d.ts +85 -0
  164. package/dist/components/segmented-button/index.d.ts +4 -0
  165. package/dist/components/segmented-button/segment.d.ts +15 -0
  166. package/dist/components/segmented-button/segmented-button.d.ts +49 -0
  167. package/dist/components/segmented-button/types.d.ts +257 -0
  168. package/dist/components/select/api.d.ts +8 -0
  169. package/dist/components/select/config.d.ts +18 -0
  170. package/dist/components/select/constants.d.ts +113 -0
  171. package/dist/components/select/features.d.ts +13 -0
  172. package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
  173. package/dist/components/select/select.d.ts +36 -0
  174. package/dist/components/select/types.d.ts +302 -0
  175. package/dist/components/sheet/api.d.ts +37 -0
  176. package/dist/components/sheet/config.d.ts +42 -0
  177. package/dist/components/sheet/constants.d.ts +136 -0
  178. package/dist/components/sheet/features/content.d.ts +6 -0
  179. package/dist/components/sheet/features/gestures.d.ts +6 -0
  180. package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
  181. package/dist/components/sheet/features/position.d.ts +7 -0
  182. package/dist/components/sheet/features/state.d.ts +6 -0
  183. package/dist/components/sheet/features/title.d.ts +6 -0
  184. package/dist/components/sheet/index.d.ts +3 -0
  185. package/dist/components/sheet/sheet.d.ts +8 -0
  186. package/dist/components/sheet/types.d.ts +250 -0
  187. package/dist/components/slider/api.d.ts +57 -0
  188. package/dist/components/slider/config.d.ts +75 -0
  189. package/dist/components/slider/constants.d.ts +138 -0
  190. package/dist/components/slider/features/controller.d.ts +9 -0
  191. package/dist/components/slider/features/handlers.d.ts +25 -0
  192. package/dist/components/slider/features/index.d.ts +3 -0
  193. package/dist/components/slider/features/range.d.ts +8 -0
  194. package/dist/components/slider/features/states.d.ts +9 -0
  195. package/dist/components/slider/index.d.ts +3 -0
  196. package/dist/components/slider/schema.d.ts +108 -0
  197. package/dist/components/slider/slider.d.ts +18 -0
  198. package/dist/components/slider/types.d.ts +170 -0
  199. package/dist/components/snackbar/api.d.ts +7 -0
  200. package/dist/components/snackbar/config.d.ts +55 -0
  201. package/dist/components/snackbar/constants.d.ts +88 -0
  202. package/dist/components/snackbar/features.d.ts +13 -0
  203. package/dist/components/snackbar/index.d.ts +3 -0
  204. package/dist/components/snackbar/position.d.ts +15 -0
  205. package/dist/components/snackbar/queue.d.ts +7 -0
  206. package/dist/components/snackbar/snackbar.d.ts +8 -0
  207. package/dist/components/snackbar/types.d.ts +172 -0
  208. package/dist/components/switch/api.d.ts +7 -0
  209. package/dist/components/switch/config.d.ts +34 -0
  210. package/dist/components/switch/constants.d.ts +88 -0
  211. package/dist/components/switch/features.d.ts +59 -0
  212. package/dist/components/switch/index.d.ts +4 -0
  213. package/dist/components/switch/switch.d.ts +8 -0
  214. package/dist/components/switch/types.d.ts +131 -0
  215. package/dist/components/tabs/api.d.ts +52 -0
  216. package/dist/components/tabs/config.d.ts +39 -0
  217. package/dist/components/tabs/constants.d.ts +142 -0
  218. package/dist/components/tabs/features.d.ts +133 -0
  219. package/dist/components/tabs/index.d.ts +11 -0
  220. package/dist/components/tabs/indicator.d.ts +49 -0
  221. package/dist/components/tabs/responsive.d.ts +38 -0
  222. package/dist/components/tabs/scroll-indicators.d.ts +18 -0
  223. package/dist/components/tabs/state.d.ts +53 -0
  224. package/dist/components/tabs/tab-api.d.ts +43 -0
  225. package/dist/components/tabs/tab.d.ts +7 -0
  226. package/dist/components/tabs/tabs.d.ts +27 -0
  227. package/dist/components/tabs/types.d.ts +390 -0
  228. package/dist/components/tabs/utils.d.ts +17 -0
  229. package/dist/components/textfield/api.d.ts +8 -0
  230. package/dist/components/textfield/config.d.ts +34 -0
  231. package/dist/components/textfield/constants.d.ts +148 -0
  232. package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
  233. package/dist/components/textfield/features/leading-icon.d.ts +55 -0
  234. package/dist/components/textfield/features/placement.d.ts +28 -0
  235. package/dist/components/textfield/features/prefix-text.d.ts +54 -0
  236. package/dist/components/textfield/features/suffix-text.d.ts +54 -0
  237. package/dist/components/textfield/features/supporting-text.d.ts +59 -0
  238. package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
  239. package/dist/components/textfield/index.d.ts +3 -0
  240. package/dist/components/textfield/textfield.d.ts +36 -0
  241. package/dist/components/textfield/types.d.ts +217 -0
  242. package/dist/components/timepicker/api.d.ts +24 -0
  243. package/dist/components/timepicker/clockdial.d.ts +34 -0
  244. package/dist/components/timepicker/config.d.ts +75 -0
  245. package/dist/components/timepicker/constants.d.ts +266 -0
  246. package/dist/components/timepicker/index.d.ts +4 -0
  247. package/dist/components/timepicker/render.d.ts +9 -0
  248. package/dist/components/timepicker/timepicker.d.ts +8 -0
  249. package/dist/components/timepicker/types.d.ts +284 -0
  250. package/dist/components/timepicker/utils.d.ts +74 -0
  251. package/dist/components/tooltip/api.d.ts +18 -0
  252. package/dist/components/tooltip/config.d.ts +38 -0
  253. package/dist/components/tooltip/constants.d.ts +108 -0
  254. package/dist/components/tooltip/index.d.ts +3 -0
  255. package/dist/components/tooltip/tooltip.d.ts +8 -0
  256. package/dist/components/tooltip/types.d.ts +188 -0
  257. package/dist/components/top-app-bar/config.d.ts +16 -0
  258. package/dist/components/top-app-bar/constants.d.ts +74 -0
  259. package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
  260. package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
  261. package/dist/components/top-app-bar/types.d.ts +118 -0
  262. package/dist/constants.d.ts +30 -0
  263. package/dist/core/canvas/index.d.ts +5 -0
  264. package/dist/core/canvas/resize.d.ts +14 -0
  265. package/dist/core/collection/adapters/base.d.ts +47 -0
  266. package/dist/core/collection/adapters/route.d.ts +149 -0
  267. package/dist/core/collection/collection.d.ts +131 -0
  268. package/dist/core/collection/index.d.ts +10 -0
  269. package/dist/core/collection/list-manager/config.d.ts +29 -0
  270. package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
  271. package/dist/core/collection/list-manager/index.d.ts +61 -0
  272. package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
  273. package/dist/core/collection/list-manager/renderer.d.ts +31 -0
  274. package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
  275. package/dist/core/collection/list-manager/state.d.ts +60 -0
  276. package/dist/core/collection/list-manager/types.d.ts +361 -0
  277. package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
  278. package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
  279. package/dist/core/compose/base.d.ts +31 -0
  280. package/dist/core/compose/component.d.ts +61 -0
  281. package/dist/core/compose/features/badge.d.ts +43 -0
  282. package/dist/core/compose/features/checkable.d.ts +59 -0
  283. package/dist/core/compose/features/constants.d.ts +45 -0
  284. package/dist/core/compose/features/debounce.d.ts +84 -0
  285. package/dist/core/compose/features/disabled.d.ts +47 -0
  286. package/dist/core/compose/features/events.d.ts +37 -0
  287. package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
  288. package/dist/core/compose/features/gestures/pan.d.ts +108 -0
  289. package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
  290. package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
  291. package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
  292. package/dist/core/compose/features/gestures/tap.d.ts +79 -0
  293. package/dist/core/compose/features/gestures.d.ts +86 -0
  294. package/dist/core/compose/features/icon.d.ts +71 -0
  295. package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
  296. package/dist/core/compose/features/input.d.ts +71 -0
  297. package/dist/core/compose/features/lifecycle.d.ts +61 -0
  298. package/dist/core/compose/features/position.d.ts +51 -0
  299. package/dist/core/compose/features/ripple.d.ts +61 -0
  300. package/dist/core/compose/features/size.d.ts +17 -0
  301. package/dist/core/compose/features/style.d.ts +16 -0
  302. package/dist/core/compose/features/text.d.ts +63 -0
  303. package/dist/core/compose/features/textinput.d.ts +93 -0
  304. package/dist/core/compose/features/textlabel.d.ts +57 -0
  305. package/dist/core/compose/features/throttle.d.ts +75 -0
  306. package/dist/core/compose/features/track.d.ts +42 -0
  307. package/dist/core/compose/features/variant.d.ts +17 -0
  308. package/dist/core/compose/features/withEvents.d.ts +45 -0
  309. package/dist/core/compose/index.d.ts +17 -0
  310. package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
  311. package/dist/core/compose/utils/type-guards.d.ts +27 -0
  312. package/dist/core/composition/features/dom.d.ts +19 -0
  313. package/dist/core/composition/features/icon.d.ts +45 -0
  314. package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
  315. package/dist/core/composition/features/label.d.ts +49 -0
  316. package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
  317. package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
  318. package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +35 -83
  319. package/dist/core/config.d.ts +130 -0
  320. package/dist/core/dom/attributes.d.ts +20 -0
  321. package/dist/core/dom/classes.d.ts +52 -0
  322. package/dist/core/dom/create.d.ts +154 -0
  323. package/dist/core/dom/events.d.ts +69 -0
  324. package/dist/core/dom/index.d.ts +6 -0
  325. package/dist/core/dom/utils.d.ts +42 -0
  326. package/dist/core/gestures/index.d.ts +12 -0
  327. package/dist/core/gestures/longpress.d.ts +23 -0
  328. package/dist/core/gestures/manager.d.ts +14 -0
  329. package/dist/core/gestures/pan.d.ts +12 -0
  330. package/dist/core/gestures/pinch.d.ts +14 -0
  331. package/dist/core/gestures/rotate.d.ts +14 -0
  332. package/dist/core/gestures/swipe.d.ts +20 -0
  333. package/dist/core/gestures/tap.d.ts +12 -0
  334. package/dist/core/gestures/types.d.ts +320 -0
  335. package/dist/core/gestures/utils.d.ts +57 -0
  336. package/dist/core/index.d.ts +29 -0
  337. package/dist/core/layout/array.d.ts +15 -0
  338. package/dist/core/layout/config.d.ts +32 -0
  339. package/dist/core/layout/create.d.ts +14 -0
  340. package/dist/core/layout/index.d.ts +13 -0
  341. package/dist/core/layout/jsx.d.ts +13 -0
  342. package/dist/core/layout/object.d.ts +14 -0
  343. package/dist/core/layout/processor.d.ts +28 -0
  344. package/dist/core/layout/result.d.ts +12 -0
  345. package/dist/core/layout/template.d.ts +12 -0
  346. package/dist/core/layout/types.d.ts +137 -0
  347. package/dist/core/layout/utils.d.ts +38 -0
  348. package/dist/core/state/disabled.d.ts +32 -0
  349. package/dist/core/state/emitter.d.ts +40 -0
  350. package/dist/core/state/events.d.ts +36 -0
  351. package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
  352. package/dist/core/state/lifecycle.d.ts +57 -0
  353. package/dist/core/state/store.d.ts +82 -0
  354. package/dist/core/utils/background.d.ts +40 -0
  355. package/dist/core/utils/index.d.ts +18 -0
  356. package/dist/core/utils/mobile.d.ts +54 -0
  357. package/dist/core/utils/object.d.ts +13 -0
  358. package/dist/core/utils/performance.d.ts +79 -0
  359. package/dist/core/utils/theme.d.ts +38 -0
  360. package/dist/core/utils/validate.d.ts +73 -0
  361. package/dist/index.cjs +64 -0
  362. package/dist/index.cjs.map +291 -0
  363. package/dist/index.d.ts +15 -0
  364. package/dist/index.js +53 -14854
  365. package/dist/index.js.map +291 -0
  366. package/dist/package.json +39 -0
  367. package/dist/styles.css +7 -0
  368. package/package.json +23 -4
  369. package/.env +0 -15
  370. package/.typedocignore +0 -11
  371. package/CONTRIBUTING.md +0 -218
  372. package/DOCS.md +0 -153
  373. package/TESTING.md +0 -214
  374. package/git-user-stats.js +0 -545
  375. package/index.ts +0 -10
  376. package/src/components/badge/api.ts +0 -313
  377. package/src/components/badge/config.ts +0 -153
  378. package/src/components/badge/features.ts +0 -194
  379. package/src/components/badge/index.ts +0 -90
  380. package/src/components/badge/types.ts +0 -279
  381. package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
  382. package/src/components/bottom-app-bar/config.ts +0 -29
  383. package/src/components/bottom-app-bar/types.ts +0 -114
  384. package/src/components/button/api.ts +0 -172
  385. package/src/components/button/button.ts +0 -112
  386. package/src/components/button/config.ts +0 -96
  387. package/src/components/button/index.ts +0 -37
  388. package/src/components/button/types.ts +0 -290
  389. package/src/components/card/api.ts +0 -222
  390. package/src/components/card/config.ts +0 -304
  391. package/src/components/card/content.ts +0 -343
  392. package/src/components/card/features.ts +0 -407
  393. package/src/components/card/types.ts +0 -497
  394. package/src/components/carousel/api.ts +0 -147
  395. package/src/components/carousel/carousel.ts +0 -242
  396. package/src/components/carousel/config.ts +0 -91
  397. package/src/components/carousel/constants.ts +0 -181
  398. package/src/components/carousel/features/drag.ts +0 -388
  399. package/src/components/carousel/features/slides.ts +0 -682
  400. package/src/components/carousel/types.ts +0 -327
  401. package/src/components/checkbox/api.ts +0 -82
  402. package/src/components/checkbox/checkbox.ts +0 -142
  403. package/src/components/checkbox/config.ts +0 -89
  404. package/src/components/checkbox/types.ts +0 -342
  405. package/src/components/chips/api.ts +0 -194
  406. package/src/components/chips/chip/api.ts +0 -233
  407. package/src/components/chips/chip/chip.ts +0 -131
  408. package/src/components/chips/chip/config.ts +0 -91
  409. package/src/components/chips/chip/index.ts +0 -3
  410. package/src/components/chips/chips.md +0 -481
  411. package/src/components/chips/chips.ts +0 -75
  412. package/src/components/chips/config.ts +0 -109
  413. package/src/components/chips/constants.ts +0 -61
  414. package/src/components/chips/features/chip-items.ts +0 -33
  415. package/src/components/chips/features/container.ts +0 -77
  416. package/src/components/chips/features/controller.ts +0 -448
  417. package/src/components/chips/features/label.ts +0 -108
  418. package/src/components/chips/index.ts +0 -11
  419. package/src/components/chips/schema.ts +0 -61
  420. package/src/components/chips/types.ts +0 -469
  421. package/src/components/datepicker/api.ts +0 -265
  422. package/src/components/datepicker/config.ts +0 -141
  423. package/src/components/datepicker/datepicker.ts +0 -341
  424. package/src/components/datepicker/index.ts +0 -12
  425. package/src/components/datepicker/render.ts +0 -450
  426. package/src/components/datepicker/types.ts +0 -397
  427. package/src/components/datepicker/utils.ts +0 -289
  428. package/src/components/dialog/api.ts +0 -317
  429. package/src/components/dialog/config.ts +0 -116
  430. package/src/components/dialog/features.ts +0 -907
  431. package/src/components/dialog/index.ts +0 -141
  432. package/src/components/dialog/types.ts +0 -553
  433. package/src/components/divider/config.ts +0 -165
  434. package/src/components/divider/features.ts +0 -233
  435. package/src/components/divider/types.ts +0 -132
  436. package/src/components/extended-fab/api.ts +0 -193
  437. package/src/components/extended-fab/config.ts +0 -140
  438. package/src/components/extended-fab/extended-fab.ts +0 -153
  439. package/src/components/extended-fab/types.ts +0 -749
  440. package/src/components/fab/api.ts +0 -137
  441. package/src/components/fab/config.ts +0 -121
  442. package/src/components/fab/types.ts +0 -615
  443. package/src/components/list/api.ts +0 -82
  444. package/src/components/list/config.ts +0 -63
  445. package/src/components/list/features.ts +0 -229
  446. package/src/components/list/index.ts +0 -67
  447. package/src/components/list/list-item.ts +0 -163
  448. package/src/components/list/list.ts +0 -108
  449. package/src/components/list/types.ts +0 -396
  450. package/src/components/list/utils.ts +0 -98
  451. package/src/components/menu/api.ts +0 -230
  452. package/src/components/menu/config.ts +0 -127
  453. package/src/components/menu/features/anchor.ts +0 -394
  454. package/src/components/menu/features/controller.ts +0 -1423
  455. package/src/components/menu/features/index.ts +0 -13
  456. package/src/components/menu/features/position.ts +0 -353
  457. package/src/components/menu/menu.ts +0 -121
  458. package/src/components/menu/types.ts +0 -392
  459. package/src/components/navigation/api.ts +0 -142
  460. package/src/components/navigation/config.ts +0 -73
  461. package/src/components/navigation/features/controller.ts +0 -273
  462. package/src/components/navigation/features/items.ts +0 -353
  463. package/src/components/navigation/index.ts +0 -11
  464. package/src/components/navigation/nav-item.ts +0 -196
  465. package/src/components/navigation/navigation.ts +0 -115
  466. package/src/components/navigation/system/core.ts +0 -302
  467. package/src/components/navigation/system/events.ts +0 -240
  468. package/src/components/navigation/system/index.ts +0 -184
  469. package/src/components/navigation/system/mobile.ts +0 -278
  470. package/src/components/navigation/system/state.ts +0 -77
  471. package/src/components/navigation/system/types.ts +0 -364
  472. package/src/components/navigation/types.ts +0 -292
  473. package/src/components/progress/api.ts +0 -178
  474. package/src/components/progress/config.ts +0 -122
  475. package/src/components/progress/index.ts +0 -4
  476. package/src/components/progress/progress.ts +0 -159
  477. package/src/components/progress/types.ts +0 -255
  478. package/src/components/radios/api.ts +0 -125
  479. package/src/components/radios/config.ts +0 -59
  480. package/src/components/radios/constants.ts +0 -19
  481. package/src/components/radios/index.ts +0 -3
  482. package/src/components/radios/radio.ts +0 -292
  483. package/src/components/radios/radios.ts +0 -43
  484. package/src/components/radios/types.ts +0 -219
  485. package/src/components/search/api.ts +0 -203
  486. package/src/components/search/config.ts +0 -86
  487. package/src/components/search/features/search.ts +0 -717
  488. package/src/components/search/features/states.ts +0 -169
  489. package/src/components/search/features/structure.ts +0 -197
  490. package/src/components/search/index.ts +0 -7
  491. package/src/components/search/search.ts +0 -52
  492. package/src/components/search/types.ts +0 -175
  493. package/src/components/segmented-button/config.ts +0 -119
  494. package/src/components/segmented-button/index.ts +0 -4
  495. package/src/components/segmented-button/segment.ts +0 -108
  496. package/src/components/segmented-button/segmented-button.ts +0 -361
  497. package/src/components/segmented-button/types.ts +0 -306
  498. package/src/components/select/api.ts +0 -78
  499. package/src/components/select/config.ts +0 -76
  500. package/src/components/select/features.ts +0 -331
  501. package/src/components/select/select.ts +0 -73
  502. package/src/components/select/types.ts +0 -355
  503. package/src/components/sheet/api.ts +0 -96
  504. package/src/components/sheet/config.ts +0 -65
  505. package/src/components/sheet/features/content.ts +0 -51
  506. package/src/components/sheet/features/gestures.ts +0 -177
  507. package/src/components/sheet/features/position.ts +0 -41
  508. package/src/components/sheet/features/state.ts +0 -116
  509. package/src/components/sheet/features/title.ts +0 -86
  510. package/src/components/sheet/index.ts +0 -12
  511. package/src/components/sheet/sheet.ts +0 -56
  512. package/src/components/sheet/types.ts +0 -294
  513. package/src/components/slider/accessibility.md +0 -59
  514. package/src/components/slider/api.ts +0 -192
  515. package/src/components/slider/config.ts +0 -118
  516. package/src/components/slider/features/controller.ts +0 -737
  517. package/src/components/slider/features/handlers.ts +0 -497
  518. package/src/components/slider/features/index.ts +0 -5
  519. package/src/components/slider/features/range.ts +0 -104
  520. package/src/components/slider/features/states.ts +0 -195
  521. package/src/components/slider/index.ts +0 -17
  522. package/src/components/slider/schema.ts +0 -141
  523. package/src/components/slider/slider.ts +0 -76
  524. package/src/components/slider/types.ts +0 -223
  525. package/src/components/snackbar/api.ts +0 -162
  526. package/src/components/snackbar/config.ts +0 -61
  527. package/src/components/snackbar/features.ts +0 -76
  528. package/src/components/snackbar/index.ts +0 -9
  529. package/src/components/snackbar/position.ts +0 -79
  530. package/src/components/snackbar/queue.ts +0 -76
  531. package/src/components/snackbar/snackbar.ts +0 -60
  532. package/src/components/snackbar/types.ts +0 -159
  533. package/src/components/switch/api.ts +0 -93
  534. package/src/components/switch/config.ts +0 -56
  535. package/src/components/switch/features.ts +0 -198
  536. package/src/components/switch/index.ts +0 -8
  537. package/src/components/switch/switch.ts +0 -52
  538. package/src/components/switch/types.ts +0 -168
  539. package/src/components/tabs/api.ts +0 -221
  540. package/src/components/tabs/config.ts +0 -73
  541. package/src/components/tabs/features.ts +0 -403
  542. package/src/components/tabs/index.ts +0 -46
  543. package/src/components/tabs/indicator.ts +0 -285
  544. package/src/components/tabs/responsive.ts +0 -144
  545. package/src/components/tabs/scroll-indicators.ts +0 -149
  546. package/src/components/tabs/state.ts +0 -186
  547. package/src/components/tabs/tab-api.ts +0 -266
  548. package/src/components/tabs/tab.ts +0 -267
  549. package/src/components/tabs/tabs.ts +0 -71
  550. package/src/components/tabs/types.ts +0 -461
  551. package/src/components/tabs/utils.ts +0 -107
  552. package/src/components/textfield/api.ts +0 -197
  553. package/src/components/textfield/config.ts +0 -52
  554. package/src/components/textfield/features/leading-icon.ts +0 -127
  555. package/src/components/textfield/features/placement.ts +0 -149
  556. package/src/components/textfield/features/prefix-text.ts +0 -107
  557. package/src/components/textfield/features/suffix-text.ts +0 -100
  558. package/src/components/textfield/features/supporting-text.ts +0 -113
  559. package/src/components/textfield/features/trailing-icon.ts +0 -108
  560. package/src/components/textfield/index.ts +0 -9
  561. package/src/components/textfield/textfield.ts +0 -92
  562. package/src/components/textfield/types.ts +0 -265
  563. package/src/components/timepicker/README.md +0 -277
  564. package/src/components/timepicker/api.ts +0 -632
  565. package/src/components/timepicker/clockdial.ts +0 -479
  566. package/src/components/timepicker/config.ts +0 -228
  567. package/src/components/timepicker/index.ts +0 -3
  568. package/src/components/timepicker/render.ts +0 -613
  569. package/src/components/timepicker/timepicker.ts +0 -117
  570. package/src/components/timepicker/types.ts +0 -336
  571. package/src/components/timepicker/utils.ts +0 -241
  572. package/src/components/tooltip/api.ts +0 -415
  573. package/src/components/tooltip/config.ts +0 -80
  574. package/src/components/tooltip/index.ts +0 -12
  575. package/src/components/tooltip/tooltip.ts +0 -60
  576. package/src/components/tooltip/types.ts +0 -223
  577. package/src/components/top-app-bar/config.ts +0 -83
  578. package/src/components/top-app-bar/top-app-bar.ts +0 -316
  579. package/src/components/top-app-bar/types.ts +0 -140
  580. package/src/core/build/constants.ts +0 -48
  581. package/src/core/build/icon.ts +0 -137
  582. package/src/core/build/ripple.ts +0 -193
  583. package/src/core/build/text.ts +0 -91
  584. package/src/core/collection/adapters/base.ts +0 -62
  585. package/src/core/collection/adapters/route.ts +0 -201
  586. package/src/core/collection/collection.ts +0 -300
  587. package/src/core/collection/index.ts +0 -57
  588. package/src/core/collection/list-manager.ts +0 -333
  589. package/src/core/compose/base.ts +0 -43
  590. package/src/core/compose/component.ts +0 -255
  591. package/src/core/compose/features/badge.ts +0 -79
  592. package/src/core/compose/features/checkable.ts +0 -155
  593. package/src/core/compose/features/disabled.ts +0 -116
  594. package/src/core/compose/features/events.ts +0 -65
  595. package/src/core/compose/features/icon.ts +0 -71
  596. package/src/core/compose/features/input.ts +0 -174
  597. package/src/core/compose/features/lifecycle.ts +0 -139
  598. package/src/core/compose/features/position.ts +0 -94
  599. package/src/core/compose/features/ripple.ts +0 -58
  600. package/src/core/compose/features/size.ts +0 -29
  601. package/src/core/compose/features/style.ts +0 -31
  602. package/src/core/compose/features/text.ts +0 -44
  603. package/src/core/compose/features/textinput.ts +0 -238
  604. package/src/core/compose/features/textlabel.ts +0 -113
  605. package/src/core/compose/features/track.ts +0 -84
  606. package/src/core/compose/features/variant.ts +0 -29
  607. package/src/core/compose/features/withEvents.ts +0 -137
  608. package/src/core/compose/index.ts +0 -54
  609. package/src/core/composition/features/dom.ts +0 -45
  610. package/src/core/composition/features/icon.ts +0 -131
  611. package/src/core/composition/features/label.ts +0 -155
  612. package/src/core/config.ts +0 -211
  613. package/src/core/dom/attributes.ts +0 -33
  614. package/src/core/dom/classes.ts +0 -132
  615. package/src/core/dom/create.ts +0 -273
  616. package/src/core/dom/events.ts +0 -209
  617. package/src/core/dom/index.ts +0 -10
  618. package/src/core/dom/utils.ts +0 -97
  619. package/src/core/index.ts +0 -111
  620. package/src/core/layout/README.md +0 -715
  621. package/src/core/layout/array.ts +0 -180
  622. package/src/core/layout/config.ts +0 -193
  623. package/src/core/layout/create.ts +0 -54
  624. package/src/core/layout/index.ts +0 -36
  625. package/src/core/layout/object.ts +0 -123
  626. package/src/core/layout/processor.ts +0 -106
  627. package/src/core/layout/result.ts +0 -84
  628. package/src/core/layout/types.ts +0 -180
  629. package/src/core/layout/utils.ts +0 -144
  630. package/src/core/state/disabled.ts +0 -81
  631. package/src/core/state/emitter.ts +0 -94
  632. package/src/core/state/events.ts +0 -88
  633. package/src/core/state/lifecycle.ts +0 -131
  634. package/src/core/state/store.ts +0 -197
  635. package/src/core/utils/index.ts +0 -45
  636. package/src/core/utils/mobile.ts +0 -98
  637. package/src/core/utils/object.ts +0 -41
  638. package/src/core/utils/validate.ts +0 -234
  639. package/src/index.ts +0 -90
  640. package/src/styles/abstract/_base.scss +0 -2
  641. package/src/styles/abstract/_config.scss +0 -28
  642. package/src/styles/abstract/_functions.scss +0 -124
  643. package/src/styles/abstract/_mixins.scss +0 -352
  644. package/src/styles/abstract/_theme.scss +0 -269
  645. package/src/styles/abstract/_variables.scss +0 -305
  646. package/src/styles/base/_reset.scss +0 -86
  647. package/src/styles/base/_typography.scss +0 -155
  648. package/src/styles/components/_badge.scss +0 -182
  649. package/src/styles/components/_bottom-app-bar.scss +0 -103
  650. package/src/styles/components/_button.scss +0 -224
  651. package/src/styles/components/_card.scss +0 -401
  652. package/src/styles/components/_carousel.scss +0 -645
  653. package/src/styles/components/_checkbox.scss +0 -231
  654. package/src/styles/components/_chips.scss +0 -638
  655. package/src/styles/components/_datepicker.scss +0 -358
  656. package/src/styles/components/_dialog.scss +0 -259
  657. package/src/styles/components/_divider.scss +0 -57
  658. package/src/styles/components/_extended-fab.scss +0 -267
  659. package/src/styles/components/_fab.scss +0 -225
  660. package/src/styles/components/_list.scss +0 -248
  661. package/src/styles/components/_menu.scss +0 -242
  662. package/src/styles/components/_navigation-mobile.scss +0 -244
  663. package/src/styles/components/_navigation-system.scss +0 -151
  664. package/src/styles/components/_navigation.scss +0 -407
  665. package/src/styles/components/_progress.scss +0 -151
  666. package/src/styles/components/_radios.scss +0 -187
  667. package/src/styles/components/_search.scss +0 -306
  668. package/src/styles/components/_segmented-button.scss +0 -227
  669. package/src/styles/components/_select.scss +0 -272
  670. package/src/styles/components/_sheet.scss +0 -236
  671. package/src/styles/components/_slider.scss +0 -489
  672. package/src/styles/components/_snackbar.scss +0 -211
  673. package/src/styles/components/_switch.scss +0 -298
  674. package/src/styles/components/_tabs.scss +0 -416
  675. package/src/styles/components/_textfield.scss +0 -773
  676. package/src/styles/components/_timepicker.scss +0 -451
  677. package/src/styles/components/_tooltip.scss +0 -241
  678. package/src/styles/components/_top-app-bar.scss +0 -225
  679. package/src/styles/main.scss +0 -175
  680. package/src/styles/themes/_autumn.scss +0 -105
  681. package/src/styles/themes/_base-theme.scss +0 -85
  682. package/src/styles/themes/_baseline.scss +0 -173
  683. package/src/styles/themes/_bluekhaki.scss +0 -125
  684. package/src/styles/themes/_brownbeige.scss +0 -125
  685. package/src/styles/themes/_browngreen.scss +0 -125
  686. package/src/styles/themes/_forest.scss +0 -77
  687. package/src/styles/themes/_greenbeige.scss +0 -125
  688. package/src/styles/themes/_index.scss +0 -6
  689. package/src/styles/themes/_material.scss +0 -125
  690. package/src/styles/themes/_ocean.scss +0 -77
  691. package/src/styles/themes/_sageivory.scss +0 -125
  692. package/src/styles/themes/_spring.scss +0 -77
  693. package/src/styles/themes/_summer.scss +0 -87
  694. package/src/styles/themes/_sunset.scss +0 -60
  695. package/src/styles/themes/_tealcaramel.scss +0 -125
  696. package/src/styles/themes/_winter.scss +0 -77
  697. package/src/styles/utilities/_colors.scss +0 -154
  698. package/src/styles/utilities/_flexbox.scss +0 -194
  699. package/src/styles/utilities/_layout.scss +0 -665
  700. package/src/styles/utilities/_ripple.scss +0 -79
  701. package/src/styles/utilities/_spacing.scss +0 -139
  702. package/src/styles/utilities/_typography.scss +0 -178
  703. package/src/styles/utilities/_visibility.scss +0 -142
@@ -1,396 +0,0 @@
1
- // src/components/list/types.ts
2
-
3
- /**
4
- * List types/variants
5
- *
6
- * Different selection modes available for lists.
7
- *
8
- * @category Components
9
- */
10
- export const LIST_TYPES = {
11
- DEFAULT: 'default', // Standard list
12
- SINGLE_SELECT: 'single', // Single selection list
13
- MULTI_SELECT: 'multi', // Multiple selection list
14
- RADIO: 'radio' // Radio button list
15
- } as const;
16
-
17
- /**
18
- * List layout variants
19
- *
20
- * Layout options for list items and content arrangement.
21
- *
22
- * @category Components
23
- */
24
- export const LIST_LAYOUTS = {
25
- HORIZONTAL: 'horizontal', // Default horizontal layout
26
- VERTICAL: 'vertical' // Items with more content stacked vertically
27
- } as const;
28
-
29
- /**
30
- * List item layouts
31
- *
32
- * Individual item layout options controlling content arrangement.
33
- *
34
- * @category Components
35
- */
36
- export const LIST_ITEM_LAYOUTS = {
37
- HORIZONTAL: 'horizontal', // Default horizontal layout
38
- VERTICAL: 'vertical' // Stacked layout with vertical alignment
39
- } as const;
40
-
41
- /**
42
- * List element class names
43
- *
44
- * CSS class names for the various elements that make up a list.
45
- *
46
- * @internal
47
- */
48
- export const LIST_CLASSES = {
49
- ROOT: 'list',
50
- GROUP: 'list-group',
51
- GROUP_TITLE: 'list-group-title',
52
- DIVIDER: 'list-divider',
53
- SECTION: 'list-section',
54
- SECTION_TITLE: 'list-section-title',
55
- ITEM: 'list-item',
56
- ITEM_CONTENT: 'list-item-content',
57
- ITEM_LEADING: 'list-item-leading',
58
- ITEM_TEXT: 'list-item-text',
59
- ITEM_OVERLINE: 'list-item-overline',
60
- ITEM_HEADLINE: 'list-item-headline',
61
- ITEM_SUPPORTING: 'list-item-supporting',
62
- ITEM_META: 'list-item-meta',
63
- ITEM_TRAILING: 'list-item-trailing'
64
- } as const;
65
-
66
- /**
67
- * List validation schema
68
- *
69
- * JSON Schema for validating list configuration options.
70
- *
71
- * @internal
72
- */
73
- export const LIST_SCHEMA = {
74
- type: 'object',
75
- properties: {
76
- type: {
77
- type: 'string',
78
- enum: Object.values(LIST_TYPES),
79
- default: LIST_TYPES.DEFAULT
80
- },
81
- layout: {
82
- type: 'string',
83
- enum: Object.values(LIST_LAYOUTS),
84
- default: LIST_LAYOUTS.HORIZONTAL
85
- },
86
- items: {
87
- type: 'array',
88
- items: {
89
- type: 'object'
90
- },
91
- default: []
92
- },
93
- groups: {
94
- type: 'array',
95
- items: {
96
- type: 'object',
97
- properties: {
98
- id: { type: 'string', required: true },
99
- title: { type: 'string' },
100
- items: { type: 'array' }
101
- }
102
- },
103
- optional: true
104
- },
105
- sections: {
106
- type: 'array',
107
- items: {
108
- type: 'object',
109
- properties: {
110
- id: { type: 'string', required: true },
111
- title: { type: 'string', required: true },
112
- items: { type: 'array', required: true }
113
- }
114
- },
115
- optional: true
116
- },
117
- disabled: {
118
- type: 'boolean',
119
- default: false
120
- },
121
- class: {
122
- type: 'string',
123
- optional: true
124
- }
125
- }
126
- } as const;
127
-
128
- /**
129
- * List item states
130
- *
131
- * Visual states that list items can have.
132
- *
133
- * @category Components
134
- */
135
- export const LIST_ITEM_STATES = {
136
- SELECTED: 'selected',
137
- DISABLED: 'disabled',
138
- FOCUSED: 'focused',
139
- HOVERED: 'hovered'
140
- } as const;
141
-
142
- /**
143
- * List type variants
144
- * @category Components
145
- */
146
- export type ListType = 'default' | 'single' | 'multi' | 'radio';
147
-
148
- /**
149
- * List layout variants
150
- * @category Components
151
- */
152
- export type ListLayout = 'horizontal' | 'vertical';
153
-
154
- /**
155
- * List item layout variants
156
- * @category Components
157
- */
158
- export type ListItemLayout = 'horizontal' | 'vertical';
159
-
160
- /**
161
- * List element class names
162
- * @internal
163
- */
164
- export interface ListClasses {
165
- ROOT: string;
166
- GROUP: string;
167
- GROUP_TITLE: string;
168
- DIVIDER: string;
169
- SECTION: string;
170
- SECTION_TITLE: string;
171
- ITEM: string;
172
- ITEM_CONTENT: string;
173
- ITEM_LEADING: string;
174
- ITEM_TEXT: string;
175
- ITEM_OVERLINE: string;
176
- ITEM_HEADLINE: string;
177
- ITEM_SUPPORTING: string;
178
- ITEM_META: string;
179
- ITEM_TRAILING: string;
180
- }
181
-
182
- /**
183
- * List item states
184
- * @internal
185
- */
186
- export type ListItemState = 'selected' | 'disabled' | 'focused' | 'hovered';
187
-
188
- /**
189
- * List item configuration
190
- *
191
- * Configuration options for creating a list item with customizable content
192
- * and appearance following Material Design 3 guidelines.
193
- *
194
- * @category Components
195
- */
196
- export interface ListItemConfig {
197
- /** Unique identifier for the item */
198
- id: string;
199
-
200
- /** Item layout (horizontal/vertical) */
201
- layout?: ListLayout | string;
202
-
203
- /** Leading content (icon/avatar) */
204
- leading?: string | HTMLElement;
205
-
206
- /** Primary text */
207
- headline?: string;
208
-
209
- /** Secondary text */
210
- supportingText?: string;
211
-
212
- /** Trailing content (icon/meta) */
213
- trailing?: string | HTMLElement;
214
-
215
- /** Text above headline (vertical only) */
216
- overline?: string;
217
-
218
- /** Meta information (vertical only) */
219
- meta?: string | HTMLElement;
220
-
221
- /** Whether the item is disabled */
222
- disabled?: boolean;
223
-
224
- /** Whether the item is selected */
225
- selected?: boolean;
226
-
227
- /** Additional CSS classes */
228
- class?: string;
229
-
230
- /** ARIA role */
231
- role?: string;
232
-
233
- /** Whether this is a divider instead of an item */
234
- divider?: boolean;
235
- }
236
-
237
- /**
238
- * List section configuration
239
- *
240
- * Configuration for a list section, which groups items under a title.
241
- * Sections help organize list content into logical groups.
242
- *
243
- * @category Components
244
- */
245
- export interface ListSectionConfig {
246
- /** Unique identifier for the section */
247
- id: string;
248
-
249
- /** Section title text */
250
- title: string;
251
-
252
- /** Items in this section */
253
- items: ListItemConfig[];
254
- }
255
-
256
- /**
257
- * Selection change event data
258
- *
259
- * Data structure provided with selectionChange events
260
- * when list items are selected or deselected.
261
- *
262
- * @category Components
263
- */
264
- export interface SelectionChangeEvent {
265
- /** Array of selected item IDs */
266
- selected: string[];
267
-
268
- /** The item that was clicked */
269
- item?: ListItemData;
270
-
271
- /** List selection type */
272
- type: ListType | string;
273
- }
274
-
275
- /**
276
- * List item data
277
- *
278
- * Internal data structure for tracking list items and their state.
279
- *
280
- * @internal
281
- */
282
- export interface ListItemData {
283
- /** The item's DOM element */
284
- element: HTMLElement;
285
-
286
- /** Whether the item is disabled */
287
- disabled?: boolean;
288
-
289
- /** Internal properties */
290
- [key: string]: any;
291
- }
292
-
293
- /**
294
- * Configuration interface for the List component
295
- *
296
- * Comprehensive options for creating and customizing a List
297
- * according to Material Design 3 guidelines.
298
- *
299
- * @category Components
300
- */
301
- export interface ListConfig {
302
- /** List selection type */
303
- type?: ListType | string;
304
-
305
- /** List layout */
306
- layout?: ListLayout | string;
307
-
308
- /** List items */
309
- items?: ListItemConfig[];
310
-
311
- /** List sections */
312
- sections?: ListSectionConfig[];
313
-
314
- /** Whether the list is disabled */
315
- disabled?: boolean;
316
-
317
- /** Additional CSS classes */
318
- class?: string;
319
-
320
- /** Prefix for class names */
321
- prefix?: string;
322
-
323
- /** Component name */
324
- componentName?: string;
325
- }
326
-
327
- /**
328
- * List component interface
329
- *
330
- * Public API for the List component, providing methods for
331
- * item management, selection handling, and event management.
332
- *
333
- * @category Components
334
- */
335
- export interface ListComponent {
336
- /** The root element of the list */
337
- element: HTMLElement;
338
-
339
- /** Map of list items */
340
- items: Map<string, ListItemData>;
341
-
342
- /** Set of selected item IDs */
343
- selectedItems: Set<string>;
344
-
345
- /** Gets the currently selected items */
346
- getSelected: () => string[];
347
-
348
- /** Sets the selected items */
349
- setSelected: (ids: string[]) => void;
350
-
351
- /** Adds a new item to the list */
352
- addItem: (itemConfig: ListItemConfig) => void;
353
-
354
- /** Removes an item from the list */
355
- removeItem: (id: string) => void;
356
-
357
- /** Adds event listener */
358
- on: (event: string, handler: Function) => ListComponent;
359
-
360
- /** Removes event listener */
361
- off: (event: string, handler: Function) => ListComponent;
362
-
363
- /** Enables the list */
364
- enable: () => ListComponent;
365
-
366
- /** Disables the list */
367
- disable: () => ListComponent;
368
-
369
- /** Destroys the list component and cleans up resources */
370
- destroy: () => void;
371
- }
372
-
373
- /**
374
- * Base component interface
375
- *
376
- * Internal interface for component composition in the List component.
377
- *
378
- * @internal
379
- */
380
- export interface BaseComponent {
381
- element: HTMLElement;
382
- prefix?: string;
383
- items?: Map<string, ListItemData>;
384
- selectedItems?: Set<string>;
385
- emit?: (event: string, data: any) => void;
386
- on?: (event: string, handler: Function) => any;
387
- off?: (event: string, handler: Function) => any;
388
- lifecycle?: {
389
- destroy: () => void;
390
- };
391
- disabled?: {
392
- enable: () => any;
393
- disable: () => any;
394
- };
395
- [key: string]: any;
396
- }
@@ -1,98 +0,0 @@
1
- // src/components/list/utils.ts
2
-
3
- // List element class names as strings for internal use
4
- const LIST_CLASS_NAMES = {
5
- ROOT: 'list',
6
- GROUP: 'list-group',
7
- GROUP_TITLE: 'list-group-title',
8
- DIVIDER: 'list-divider',
9
- SECTION: 'list-section',
10
- SECTION_TITLE: 'list-section-title',
11
- ITEM: 'list-item',
12
- ITEM_CONTENT: 'list-item-content',
13
- ITEM_LEADING: 'list-item-leading',
14
- ITEM_TEXT: 'list-item-text',
15
- ITEM_OVERLINE: 'list-item-overline',
16
- ITEM_HEADLINE: 'list-item-headline',
17
- ITEM_SUPPORTING: 'list-item-supporting',
18
- ITEM_META: 'list-item-meta',
19
- ITEM_TRAILING: 'list-item-trailing'
20
- };
21
-
22
- /**
23
- * Creates a divider element for lists
24
- *
25
- * Creates a horizontal divider that can be used to separate list items
26
- * following Material Design 3 guidelines.
27
- *
28
- * @param {string} prefix - CSS class prefix
29
- * @returns {HTMLElement} Divider element
30
- *
31
- * @internal
32
- */
33
- export const createDivider = (prefix: string): HTMLElement => {
34
- const divider = document.createElement('div');
35
- divider.className = `${prefix}-${LIST_CLASS_NAMES.DIVIDER}`;
36
- divider.setAttribute('role', 'separator');
37
- return divider;
38
- };
39
-
40
- /**
41
- * Creates a section title element for lists
42
- *
43
- * Creates a section header element used to group list items into logical sections
44
- * following Material Design 3 guidelines for list organization.
45
- *
46
- * @param {string} title - Section title text
47
- * @param {string} prefix - CSS class prefix
48
- * @returns {HTMLElement} Section title element
49
- *
50
- * @internal
51
- */
52
- export const createSectionTitle = (title: string, prefix: string): HTMLElement => {
53
- const titleEl = document.createElement('div');
54
- titleEl.className = `${prefix}-${LIST_CLASS_NAMES.SECTION_TITLE}`;
55
- titleEl.textContent = title;
56
- return titleEl;
57
- };
58
-
59
- /**
60
- * Creates a DOM element with optional class and content
61
- *
62
- * Utility function for creating DOM elements with proper class names and content
63
- * for list items and their sub-elements.
64
- *
65
- * @param {string} tag - HTML tag name
66
- * @param {string} className - CSS class name
67
- * @param {string|HTMLElement} [content] - Element content or child element
68
- * @returns {HTMLElement} Created element
69
- *
70
- * @internal
71
- */
72
- export const createElement = (tag: string, className: string, content?: string | HTMLElement): HTMLElement => {
73
- const element = document.createElement(tag);
74
- element.className = className;
75
- if (content) {
76
- if (typeof content === 'string') {
77
- element.textContent = content;
78
- } else {
79
- element.appendChild(content);
80
- }
81
- }
82
- return element;
83
- };
84
-
85
- /**
86
- * Gets the class name for a list element
87
- *
88
- * Retrieves the standard class name for list elements from a consistent
89
- * centralized naming scheme.
90
- *
91
- * @param {string} element - Element name
92
- * @returns {string} The class name string
93
- *
94
- * @internal
95
- */
96
- export const getListClass = (element: keyof typeof LIST_CLASS_NAMES): string => {
97
- return LIST_CLASS_NAMES[element];
98
- };
@@ -1,230 +0,0 @@
1
- // src/components/menu/api.ts
2
-
3
- import { MenuComponent, MenuContent, MenuPosition, MenuEvent, MenuSelectEvent } from './types';
4
-
5
- /**
6
- * API configuration options for menu component
7
- * @category Components
8
- * @internal
9
- */
10
- interface ApiOptions {
11
- menu: {
12
- open: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
13
- close: (event?: Event, restoreFocus?: boolean, skipAnimation?: boolean) => any;
14
- toggle: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
15
- isOpen: () => boolean;
16
- setItems: (items: MenuContent[]) => any;
17
- getItems: () => MenuContent[];
18
- setPosition: (position: MenuPosition) => any;
19
- getPosition: () => MenuPosition;
20
- setSelected: (itemId: string) => any;
21
- getSelected: () => string | null;
22
- };
23
- anchor: {
24
- setAnchor: (anchor: HTMLElement | string) => any;
25
- getAnchor: () => HTMLElement;
26
- };
27
- events?: {
28
- on: <T extends string>(event: T, handler: (event: any) => void) => any;
29
- off: <T extends string>(event: T, handler: (event: any) => void) => any;
30
- };
31
- lifecycle: {
32
- destroy: () => void;
33
- };
34
- }
35
-
36
- /**
37
- * Component with required elements and methods for API enhancement
38
- * @category Components
39
- * @internal
40
- */
41
- interface ComponentWithElements {
42
- element: HTMLElement;
43
- on?: <T extends string>(event: T, handler: (event: any) => void) => any;
44
- off?: <T extends string>(event: T, handler: (event: any) => void) => any;
45
- emit?: (event: string, data: any) => void;
46
- }
47
-
48
- /**
49
- * Enhances a menu component with API methods.
50
- * This follows the higher-order function pattern to add public API methods
51
- * to the component, making them available to the end user.
52
- *
53
- * @param {ApiOptions} options - API configuration options
54
- * @returns {Function} Higher-order function that adds API methods to component
55
- * @category Components
56
- * @internal This is an internal utility for the Menu component
57
- */
58
- const withAPI = ({ menu, anchor, events, lifecycle }: ApiOptions) =>
59
- (component: ComponentWithElements): MenuComponent => ({
60
- ...component as any,
61
- element: component.element,
62
-
63
-
64
- /**
65
- * Opens the menu
66
- * @param event - Optional event that triggered the open
67
- * @param interactionType - The type of interaction that triggered the open ('mouse' or 'keyboard')
68
- * @returns Menu component for chaining
69
- */
70
- open(event?: Event, interactionType: 'mouse' | 'keyboard' = 'mouse') {
71
- // Determine interaction type from event if not explicitly provided
72
- if (event && !interactionType) {
73
- if (event instanceof KeyboardEvent) {
74
- interactionType = 'keyboard';
75
- }
76
- }
77
-
78
- menu.open(event, interactionType);
79
- return this;
80
- },
81
-
82
- /**
83
- * Closes the menu
84
- * @param event - Optional event that triggered the close
85
- * @returns Menu component for chaining
86
- */
87
- close(event?: Event, restoreFocus: boolean = true, skipAnimation: boolean = false) {
88
- menu.close(event, restoreFocus, skipAnimation);
89
- return this;
90
- },
91
-
92
- /**
93
- * Toggles the menu's open state
94
- * @param event - Optional event that triggered the toggle
95
- * @param interactionType - The type of interaction that triggered the toggle
96
- * @returns Menu component for chaining
97
- */
98
- toggle(event?: Event, interactionType?: 'mouse' | 'keyboard') {
99
- // Determine interaction type from event if not explicitly provided
100
- if (event && !interactionType) {
101
- if (event instanceof KeyboardEvent) {
102
- interactionType = 'keyboard';
103
- } else if (event instanceof MouseEvent) {
104
- interactionType = 'mouse';
105
- }
106
- }
107
-
108
- menu.toggle(event, interactionType);
109
- return this;
110
- },
111
-
112
- /**
113
- * Checks if the menu is currently open
114
- * @returns True if the menu is open
115
- */
116
- isOpen() {
117
- return menu.isOpen();
118
- },
119
-
120
- /**
121
- * Updates the menu items
122
- * @param items - New array of menu items and dividers
123
- * @returns Menu component for chaining
124
- */
125
- setItems(items: MenuContent[]) {
126
- menu.setItems(items);
127
- return this;
128
- },
129
-
130
- /**
131
- * Gets the current menu items
132
- * @returns Array of current menu items and dividers
133
- */
134
- getItems() {
135
- return menu.getItems();
136
- },
137
-
138
- /**
139
- * Updates the menu's anchor element
140
- * @param anchorElement - New anchor element or selector
141
- * @returns Menu component for chaining
142
- */
143
- setAnchor(anchorElement: HTMLElement | string) {
144
- anchor.setAnchor(anchorElement);
145
- return this;
146
- },
147
-
148
- /**
149
- * Gets the current anchor element
150
- * @returns Current anchor element
151
- */
152
- getAnchor() {
153
- return anchor.getAnchor();
154
- },
155
-
156
- /**
157
- * Updates the menu's position
158
- * @param position - New position value
159
- * @returns Menu component for chaining
160
- */
161
- setPosition(position: MenuPosition) {
162
- menu.setPosition(position);
163
- return this;
164
- },
165
-
166
- /**
167
- * Gets the current menu position
168
- * @returns Current position
169
- */
170
- getPosition() {
171
- return menu.getPosition();
172
- },
173
-
174
- /**
175
- * Sets the selected menu item
176
- * @param itemId - ID of the menu item to mark as selected
177
- * @returns Menu component for chaining
178
- */
179
- setSelected(itemId: string) {
180
- menu.setSelected(itemId);
181
- return this;
182
- },
183
-
184
- /**
185
- * Gets the currently selected menu item's ID
186
- * @returns ID of the selected menu item or null if none is selected
187
- */
188
- getSelected() {
189
- return menu.getSelected();
190
- },
191
-
192
- /**
193
- * Adds an event listener to the menu
194
- * @param event - Event name ('open', 'close', 'select')
195
- * @param handler - Event handler function
196
- * @returns Menu component for chaining
197
- */
198
- on(event, handler) {
199
- if (events?.on) {
200
- events.on(event, handler);
201
- } else if (component.on) {
202
- component.on(event, handler);
203
- }
204
- return this;
205
- },
206
-
207
- /**
208
- * Removes an event listener from the menu
209
- * @param event - Event name
210
- * @param handler - Event handler function
211
- * @returns Menu component for chaining
212
- */
213
- off(event, handler) {
214
- if (events?.off) {
215
- events.off(event, handler);
216
- } else if (component.off) {
217
- component.off(event, handler);
218
- }
219
- return this;
220
- },
221
-
222
- /**
223
- * Destroys the menu component and cleans up resources
224
- */
225
- destroy() {
226
- lifecycle.destroy();
227
- }
228
- });
229
-
230
- export { withAPI };