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
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Carousel layout types as defined by Material Design 3
3
+ *
4
+ * Material Design 3 defines specific layout patterns for carousels
5
+ * to accommodate different content presentation needs.
6
+ *
7
+ * @category Components
8
+ * @see https://material.io/components/carousel
9
+ */
10
+ export declare const CAROUSEL_LAYOUTS: {
11
+ /**
12
+ * Multi-browse layout: Best for browsing many visual items at once
13
+ * Ideal for photo galleries, product collections, or event feeds
14
+ * Shows multiple items in a single view with varying sizes
15
+ */
16
+ readonly MULTI_BROWSE: "multi-browse";
17
+ /**
18
+ * Uncontained layout: For highly customized or text-heavy carousels
19
+ * Traditional horizontal scrolling behavior without special styling
20
+ * Content can extend beyond viewport edges with consistent sizing
21
+ */
22
+ readonly UNCONTAINED: "uncontained";
23
+ /**
24
+ * Hero layout: For spotlighting very large visual items
25
+ * Highlights featured content with a large central item
26
+ * Shows a partial preview of the next/previous items
27
+ */
28
+ readonly HERO: "hero";
29
+ /**
30
+ * Full-screen layout: For immersive vertical-scrolling experiences
31
+ * Takes up entire viewport with snap scrolling between items
32
+ * Suited for immersive content or focused presentations
33
+ */
34
+ readonly FULL_SCREEN: "full-screen";
35
+ };
36
+ /**
37
+ * Carousel scroll behaviors
38
+ *
39
+ * Controls how scrolling behaves when moving between items.
40
+ * Each layout type has a recommended default behavior.
41
+ *
42
+ * @category Components
43
+ */
44
+ export declare const CAROUSEL_SCROLL_BEHAVIORS: {
45
+ /**
46
+ * Default: Standard smooth scrolling without snapping
47
+ * Users can stop at any position between items
48
+ * Recommended for uncontained layouts and content browsing
49
+ */
50
+ readonly DEFAULT: "default";
51
+ /**
52
+ * Snap: Items snap to predefined positions when scrolling
53
+ * Ensures items are properly aligned for viewing
54
+ * Recommended for multi-browse, hero, and full-screen layouts
55
+ */
56
+ readonly SNAP: "snap";
57
+ };
58
+ /**
59
+ * Carousel item size constants
60
+ *
61
+ * Defines the available sizes for carousel items.
62
+ * These are used to control the relative sizing of
63
+ * items within different carousel layouts.
64
+ *
65
+ * @category Components
66
+ */
67
+ export declare const CAROUSEL_ITEM_SIZES: {
68
+ /** Large featured items (primary content) */
69
+ readonly LARGE: "large";
70
+ /** Medium-sized items (secondary content) */
71
+ readonly MEDIUM: "medium";
72
+ /** Small items (tertiary content or thumbnails) */
73
+ readonly SMALL: "small";
74
+ };
75
+ /**
76
+ * Transition effects for carousel slides
77
+ *
78
+ * Controls the visual transition when moving between slides.
79
+ *
80
+ * @category Components
81
+ */
82
+ export declare const CAROUSEL_TRANSITIONS: {
83
+ /** Horizontal sliding animation (default) */
84
+ readonly SLIDE: "slide";
85
+ /** Fade in/out transition between slides */
86
+ readonly FADE: "fade";
87
+ /** No animation, immediate change */
88
+ readonly NONE: "none";
89
+ };
90
+ /**
91
+ * Event names for the carousel component
92
+ *
93
+ * These events can be listened to using the carousel's
94
+ * `on()` method for custom behavior.
95
+ *
96
+ * @example
97
+ * carousel.on(CAROUSEL_EVENTS.SLIDE_CHANGED, (index) => {
98
+ * console.log(`Now showing slide ${index}`);
99
+ * });
100
+ *
101
+ * @category Components
102
+ */
103
+ export declare const CAROUSEL_EVENTS: {
104
+ /** Fired when a slide change begins */
105
+ readonly SLIDE_CHANGE: "slide-change";
106
+ /** Fired when a slide change completes */
107
+ readonly SLIDE_CHANGED: "slide-changed";
108
+ /** Fired when the carousel is resized */
109
+ readonly RESIZE: "resize";
110
+ };
111
+ /**
112
+ * Default values for carousel configuration
113
+ *
114
+ * These values will be used when not explicitly specified
115
+ * in the configuration object passed to createCarousel().
116
+ *
117
+ * @category Components
118
+ */
119
+ export declare const CAROUSEL_DEFAULTS: {
120
+ /** Start displaying from the first slide (index 0) */
121
+ readonly INITIAL_SLIDE: 0;
122
+ /** Enable infinite looping by default */
123
+ readonly LOOP: true;
124
+ /** Default transition effect is sliding */
125
+ readonly TRANSITION: "slide";
126
+ /** Transition duration in milliseconds */
127
+ readonly TRANSITION_DURATION: 300;
128
+ /** Border radius for slides following Material Design 3 */
129
+ readonly BORDER_RADIUS: 16;
130
+ /** Gap between slides in pixels */
131
+ readonly GAP: 8;
132
+ /** Default layout is multi-browse for browsing visual content */
133
+ readonly LAYOUT: "multi-browse";
134
+ /** Default scroll behavior is snap for controlled movement */
135
+ readonly SCROLL_BEHAVIOR: "snap";
136
+ /** Small item width in pixels (40-56dp range per MD3 guidelines) */
137
+ readonly SMALL_ITEM_WIDTH: 48;
138
+ /**
139
+ * Item widths for different layouts in pixels
140
+ * These values are optimized for each layout type
141
+ * based on Material Design 3 guidelines
142
+ */
143
+ readonly ITEM_WIDTHS: {
144
+ readonly "multi-browse": {
145
+ readonly LARGE: 240;
146
+ readonly MEDIUM: 180;
147
+ readonly SMALL: 48;
148
+ };
149
+ readonly uncontained: {
150
+ readonly LARGE: 240;
151
+ readonly MEDIUM: 240;
152
+ readonly SMALL: 240;
153
+ };
154
+ readonly hero: {
155
+ readonly LARGE: 300;
156
+ readonly MEDIUM: 240;
157
+ readonly SMALL: 48;
158
+ };
159
+ readonly "full-screen": {
160
+ readonly LARGE: "100%";
161
+ readonly MEDIUM: "100%";
162
+ readonly SMALL: "100%";
163
+ };
164
+ };
165
+ };
@@ -0,0 +1,8 @@
1
+ import { CarouselConfig } from '../types';
2
+ /**
3
+ * Adds drag functionality to the carousel component with Material Design 3 scroll behavior support
4
+ *
5
+ * @param {CarouselConfig} config - Carousel configuration
6
+ * @returns {Function} Higher-order function that adds drag navigation feature
7
+ */
8
+ export declare const withDrag: (config: CarouselConfig) => (component: any) => any;
@@ -1,8 +1,5 @@
1
- // src/components/carousel/features/index.ts
2
-
3
1
  /**
4
2
  * Entry point for Carousel component features
5
3
  */
6
-
7
4
  export { withSlides } from './slides';
8
- export { withDrag } from './drag';
5
+ export { withDrag } from './drag';
@@ -0,0 +1,8 @@
1
+ import { CarouselConfig } from '../types';
2
+ /**
3
+ * Adds slide functionality to the carousel component with Material Design 3 layout types support
4
+ *
5
+ * @param {CarouselConfig} config - Carousel configuration
6
+ * @returns {Function} Higher-order function that adds slides feature
7
+ */
8
+ export declare const withSlides: (config: CarouselConfig) => (component: any) => any;
@@ -1,56 +1,37 @@
1
- // src/components/carousel/index.ts
2
-
3
1
  /**
4
2
  * Carousel Component Module
5
- *
3
+ *
6
4
  * A Material Design 3 compatible carousel implementation that supports
7
5
  * various layout types and scroll behaviors to accommodate different
8
6
  * content presentation needs.
9
- *
7
+ *
10
8
  * @module components/carousel
11
9
  * @category Components
12
10
  */
13
-
14
- // Main factory function
15
11
  export { default } from './carousel';
16
-
17
12
  /**
18
13
  * Constants for carousel configuration
19
- *
14
+ *
20
15
  * Use these constants instead of string literals for better
21
16
  * code completion, type safety, and to follow best practices.
22
- *
17
+ *
23
18
  * @example
24
19
  * import { createCarousel, CAROUSEL_LAYOUTS } from 'mtrl';
25
- *
20
+ *
26
21
  * const carousel = createCarousel({
27
22
  * layout: CAROUSEL_LAYOUTS.MULTI_BROWSE,
28
23
  * // Other configuration options...
29
24
  * });
30
- *
25
+ *
31
26
  * @category Components
32
27
  */
33
- export {
34
- CAROUSEL_LAYOUTS,
35
- CAROUSEL_SCROLL_BEHAVIORS,
36
- CAROUSEL_TRANSITIONS,
37
- CAROUSEL_EVENTS,
38
- CAROUSEL_DEFAULTS,
39
- CAROUSEL_ITEM_SIZES
40
- } from './constants';
41
-
28
+ export { CAROUSEL_LAYOUTS, CAROUSEL_SCROLL_BEHAVIORS, CAROUSEL_TRANSITIONS, CAROUSEL_EVENTS, CAROUSEL_DEFAULTS, CAROUSEL_ITEM_SIZES } from './constants';
42
29
  /**
43
30
  * TypeScript types and interfaces for the Carousel component
44
- *
31
+ *
45
32
  * These provide proper type checking and IntelliSense support
46
33
  * when using the carousel component in TypeScript projects.
47
- *
34
+ *
48
35
  * @category Components
49
36
  */
50
- export {
51
- CarouselConfig,
52
- CarouselComponent,
53
- CarouselSlide,
54
- CarouselLayout,
55
- CarouselScrollBehavior
56
- } from './types';
37
+ export { CarouselConfig, CarouselComponent, CarouselSlide, CarouselLayout, CarouselScrollBehavior } from './types';
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Material Design 3 Carousel Layout Types
3
+ * @category Components
4
+ */
5
+ export type CarouselLayout =
6
+ /** Best for browsing many visual items at once (photos, event feeds) */
7
+ 'multi-browse'
8
+ /** For highly customized or text-heavy carousels (traditional behavior) */
9
+ | 'uncontained'
10
+ /** For spotlighting very large visual items (featured content) */
11
+ | 'hero'
12
+ /** For immersive vertical-scrolling experiences */
13
+ | 'full-screen';
14
+ /**
15
+ * Carousel Scrolling Behaviors
16
+ * @category Components
17
+ */
18
+ export type CarouselScrollBehavior =
19
+ /** Standard scrolling without snapping, recommended for uncontained layouts */
20
+ 'default'
21
+ /** Items snap to carousel layout, recommended for multi-browse, hero, and full-screen layouts */
22
+ | 'snap';
23
+ /**
24
+ * Slide data interface
25
+ * @category Components
26
+ */
27
+ export interface CarouselSlide {
28
+ /** Image URL for the slide */
29
+ image: string;
30
+ /** Optional title text for the slide */
31
+ title?: string;
32
+ /** Optional accent color in hexadecimal or RGB format */
33
+ accent?: string;
34
+ /** Optional description text */
35
+ description?: string;
36
+ /** Optional action button text */
37
+ buttonText?: string;
38
+ /** Optional action button URL */
39
+ buttonUrl?: string;
40
+ /** Optional size designation for the item, will be auto-calculated if not provided */
41
+ size?: 'large' | 'medium' | 'small';
42
+ }
43
+ /**
44
+ * Configuration interface for the Carousel component
45
+ * @category Components
46
+ */
47
+ export interface CarouselConfig {
48
+ /**
49
+ * Initial slide index to display
50
+ * @default 0
51
+ */
52
+ initialSlide?: number;
53
+ /**
54
+ * Whether to loop the carousel
55
+ * @default true
56
+ */
57
+ loop?: boolean;
58
+ /**
59
+ * Transition effect for slide changes
60
+ * @default 'slide'
61
+ */
62
+ transition?: 'slide' | 'fade' | 'none';
63
+ /**
64
+ * Transition duration in milliseconds
65
+ * @default 300
66
+ */
67
+ transitionDuration?: number;
68
+ /**
69
+ * Slides configuration for the carousel
70
+ * @example [{ image: 'image1.jpg', title: 'Title', accent: '#E6E1E5' }]
71
+ */
72
+ slides?: CarouselSlide[];
73
+ /**
74
+ * Border radius for slides in pixels
75
+ * @default 16
76
+ */
77
+ borderRadius?: number;
78
+ /**
79
+ * Gap between slides in pixels
80
+ * @default 8
81
+ */
82
+ gap?: number;
83
+ /**
84
+ * Additional CSS classes to add to the carousel
85
+ * @example 'hero-carousel featured-carousel'
86
+ */
87
+ class?: string;
88
+ /**
89
+ * Component prefix for class names
90
+ * @default 'carousel'
91
+ */
92
+ prefix?: string;
93
+ /**
94
+ * Component name used in class generation
95
+ * @default 'carousel'
96
+ */
97
+ componentName?: string;
98
+ /**
99
+ * Callback for "Show all" action when present
100
+ */
101
+ onShowAll?: () => void;
102
+ /**
103
+ * Whether to show a "Show all" link at the end
104
+ * MD3 recommends adding this for accessibility on vertical scrolling pages
105
+ * @default true
106
+ */
107
+ showAllLink?: boolean;
108
+ /**
109
+ * MD3 carousel layout type
110
+ * @default 'multi-browse'
111
+ */
112
+ layout?: CarouselLayout;
113
+ /**
114
+ * Scrolling behavior for the carousel
115
+ * @default depends on layout (snap for multi-browse, hero, full-screen; default for uncontained)
116
+ */
117
+ scrollBehavior?: CarouselScrollBehavior;
118
+ /**
119
+ * Whether to center the carousel items (applies to hero layout)
120
+ * @default false
121
+ */
122
+ centered?: boolean;
123
+ /**
124
+ * Maximum width of large items (affects how many items fit on screen)
125
+ * Large items should remain big enough to be easily recognizable
126
+ */
127
+ largeItemMaxWidth?: number;
128
+ /**
129
+ * Width for small items in pixels
130
+ * @default 40-56dp range as per MD3 guidelines
131
+ */
132
+ smallItemWidth?: number;
133
+ }
134
+ /**
135
+ * Slides API interface for carousel
136
+ * @category Components
137
+ */
138
+ export interface SlidesAPI {
139
+ /**
140
+ * Adds a new slide to the carousel
141
+ * @param slide - CarouselSlide object with slide data
142
+ * @param index - Optional position to insert the slide
143
+ * @returns The slides API for chaining
144
+ */
145
+ addSlide: (slide: CarouselSlide, index?: number) => SlidesAPI;
146
+ /**
147
+ * Removes a slide at the specified index
148
+ * @param index - Index of the slide to remove
149
+ * @returns The slides API for chaining
150
+ */
151
+ removeSlide: (index: number) => SlidesAPI;
152
+ /**
153
+ * Updates an existing slide
154
+ * @param index - Index of the slide to update
155
+ * @param slide - Updated CarouselSlide object
156
+ * @returns The slides API for chaining
157
+ */
158
+ updateSlide: (index: number, slide: CarouselSlide) => SlidesAPI;
159
+ /**
160
+ * Gets a slide at the specified index
161
+ * @param index - Index of the slide
162
+ * @returns CarouselSlide object or null if not found
163
+ */
164
+ getSlide: (index: number) => CarouselSlide | null;
165
+ /**
166
+ * Gets the total number of slides
167
+ * @returns Number of slides
168
+ */
169
+ getCount: () => number;
170
+ /**
171
+ * Gets all slide elements
172
+ * @returns Array of slide elements
173
+ */
174
+ getElements: () => HTMLElement[];
175
+ }
176
+ /**
177
+ * Carousel component interface
178
+ * @category Components
179
+ */
180
+ export interface CarouselComponent {
181
+ /** The carousel's root DOM element */
182
+ element: HTMLElement;
183
+ /** API for managing carousel slides */
184
+ slides: SlidesAPI;
185
+ /** API for managing component lifecycle */
186
+ lifecycle: {
187
+ /** Destroys the component and cleans up resources */
188
+ destroy: () => void;
189
+ };
190
+ /**
191
+ * Gets a class name with the component's prefix
192
+ * @param name - Base class name
193
+ * @returns Prefixed class name
194
+ */
195
+ getClass: (name: string) => string;
196
+ /**
197
+ * Goes to the next slide
198
+ * @returns The carousel component for chaining
199
+ */
200
+ next: () => CarouselComponent;
201
+ /**
202
+ * Goes to the previous slide
203
+ * @returns The carousel component for chaining
204
+ */
205
+ prev: () => CarouselComponent;
206
+ /**
207
+ * Goes to a specific slide
208
+ * @param index - Slide index
209
+ * @returns The carousel component for chaining
210
+ */
211
+ goTo: (index: number) => CarouselComponent;
212
+ /**
213
+ * Gets the current slide index
214
+ * @returns Current slide index
215
+ */
216
+ getCurrentSlide: () => number;
217
+ /**
218
+ * Adds a new slide
219
+ * @param slide - CarouselSlide object with slide data
220
+ * @param index - Optional position to insert the slide
221
+ * @returns The carousel component for chaining
222
+ */
223
+ addSlide: (slide: CarouselSlide, index?: number) => CarouselComponent;
224
+ /**
225
+ * Removes a slide
226
+ * @param index - Index of the slide to remove
227
+ * @returns The carousel component for chaining
228
+ */
229
+ removeSlide: (index: number) => CarouselComponent;
230
+ /**
231
+ * Enables the loop mode
232
+ * @returns The carousel component for chaining
233
+ */
234
+ enableLoop: () => CarouselComponent;
235
+ /**
236
+ * Disables the loop mode
237
+ * @returns The carousel component for chaining
238
+ */
239
+ disableLoop: () => CarouselComponent;
240
+ /**
241
+ * Sets the carousel border radius
242
+ * @param radius - Border radius in pixels
243
+ * @returns The carousel component for chaining
244
+ */
245
+ setBorderRadius: (radius: number) => CarouselComponent;
246
+ /**
247
+ * Sets the gap between slides
248
+ * @param gap - Gap size in pixels
249
+ * @returns The carousel component for chaining
250
+ */
251
+ setGap: (gap: number) => CarouselComponent;
252
+ /**
253
+ * Destroys the carousel component and cleans up resources
254
+ */
255
+ destroy: () => void;
256
+ /**
257
+ * Adds an event listener to the carousel
258
+ * @param event - Event name
259
+ * @param handler - Event handler function
260
+ * @returns The carousel component for chaining
261
+ */
262
+ on: (event: string, handler: Function) => CarouselComponent;
263
+ /**
264
+ * Removes an event listener from the carousel
265
+ * @param event - Event name
266
+ * @param handler - Event handler function
267
+ * @returns The carousel component for chaining
268
+ */
269
+ off: (event: string, handler: Function) => CarouselComponent;
270
+ /**
271
+ * Adds CSS classes to the carousel element
272
+ * @param classes - One or more class names to add
273
+ * @returns The carousel component for chaining
274
+ */
275
+ addClass: (...classes: string[]) => CarouselComponent;
276
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseComponent, CheckboxComponent, ApiOptions } from './types';
2
+ /**
3
+ * Enhances checkbox component with API methods
4
+ * @param {ApiOptions} options - API configuration
5
+ * @returns {Function} Higher-order function that adds API methods to component
6
+ */
7
+ export declare const withAPI: ({ disabled, lifecycle, checkable }: ApiOptions) => (component: BaseComponent) => CheckboxComponent;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Checkbox Component Implementation
3
+ *
4
+ * This module implements a Material Design 3 checkbox component
5
+ * with support for different visual variants, indeterminate state,
6
+ * and configurable label positioning.
7
+ *
8
+ * @module components/checkbox
9
+ * @category Components
10
+ */
11
+ import { CheckboxConfig, CheckboxComponent } from './types';
12
+ /**
13
+ * Creates a new Checkbox component with the specified configuration.
14
+ *
15
+ * Checkboxes allow users to select one or more items from a set,
16
+ * or to toggle a single option on or off. This implementation follows
17
+ * Material Design 3 guidelines for accessible, customizable checkboxes.
18
+ *
19
+ * @param {CheckboxConfig} config - Configuration options for the checkbox
20
+ * @returns {CheckboxComponent} A fully configured checkbox component instance
21
+ * @throws {Error} Throws an error if checkbox creation fails
22
+ *
23
+ * @category Components
24
+ *
25
+ * @example
26
+ * // Create a basic checkbox
27
+ * const checkbox = createCheckbox({
28
+ * label: 'Accept terms and conditions',
29
+ * name: 'accept-terms'
30
+ * });
31
+ *
32
+ * document.querySelector('.form').appendChild(checkbox.element);
33
+ *
34
+ * @example
35
+ * // Create a pre-checked checkbox with custom styling
36
+ * const checkbox = createCheckbox({
37
+ * label: 'Remember me',
38
+ * checked: true,
39
+ * variant: 'outlined',
40
+ * labelPosition: 'start'
41
+ * });
42
+ *
43
+ * // Add event listener
44
+ * checkbox.on('change', (e) => {
45
+ * console.log('Checkbox changed:', e.target.checked);
46
+ * });
47
+ *
48
+ * @example
49
+ * // Create an indeterminate checkbox for "select all" functionality
50
+ * const selectAll = createCheckbox({
51
+ * label: 'Select All',
52
+ * indeterminate: true
53
+ * });
54
+ *
55
+ * // Later, based on selections:
56
+ * if (allSelected) {
57
+ * selectAll.check();
58
+ * } else if (noneSelected) {
59
+ * selectAll.uncheck();
60
+ * } else {
61
+ * selectAll.setIndeterminate(true);
62
+ * }
63
+ */
64
+ declare const createCheckbox: (config?: CheckboxConfig) => CheckboxComponent;
65
+ export default createCheckbox;
@@ -0,0 +1,44 @@
1
+ import { CheckboxConfig, BaseComponent, ApiOptions } from './types';
2
+ /**
3
+ * Default configuration for the Checkbox component
4
+ */
5
+ export declare const defaultConfig: CheckboxConfig;
6
+ /**
7
+ * Creates the base configuration for Checkbox component
8
+ * @param {CheckboxConfig} config - User provided configuration
9
+ * @returns {CheckboxConfig} Complete configuration with defaults applied
10
+ */
11
+ export declare const createBaseConfig: (config?: CheckboxConfig) => CheckboxConfig;
12
+ /**
13
+ * Generates element configuration for the Checkbox component
14
+ * @param {CheckboxConfig} config - Checkbox configuration
15
+ * @returns {Object} Element configuration object for withElement
16
+ */
17
+ export declare const getElementConfig: (config: CheckboxConfig) => {
18
+ tag: string;
19
+ componentName: string;
20
+ attributes: Record<string, any>;
21
+ className: string[];
22
+ rawClass: string | string[];
23
+ html: string;
24
+ text: string;
25
+ forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
26
+ interactive: boolean;
27
+ };
28
+ /**
29
+ * Adds check icon to checkbox
30
+ * @param {CheckboxConfig} config - Component configuration
31
+ */
32
+ export declare const withCheckIcon: (config: CheckboxConfig) => (component: BaseComponent) => BaseComponent;
33
+ /**
34
+ * Applies label position class to the component
35
+ * @param {CheckboxConfig} config - Component configuration
36
+ */
37
+ export declare const withLabelPosition: (config: CheckboxConfig) => (component: BaseComponent) => BaseComponent;
38
+ /**
39
+ * Creates API configuration for the Checkbox component
40
+ * @param {BaseComponent} comp - Component with disabled, lifecycle, and checkable features
41
+ * @returns {ApiOptions} API configuration object
42
+ */
43
+ export declare const getApiConfig: (comp: BaseComponent) => ApiOptions;
44
+ export default defaultConfig;