mtrl 0.3.8 → 0.3.9

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 (691) 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 +63 -0
  134. package/dist/components/progress/constants.d.ts +58 -0
  135. package/dist/components/progress/index.d.ts +3 -0
  136. package/dist/components/progress/progress.d.ts +24 -0
  137. package/dist/components/progress/types.d.ts +199 -0
  138. package/dist/components/radios/api.d.ts +37 -0
  139. package/dist/components/radios/config.d.ts +42 -0
  140. package/dist/components/radios/constants.d.ts +114 -0
  141. package/dist/components/radios/index.d.ts +3 -0
  142. package/dist/components/radios/radio.d.ts +8 -0
  143. package/dist/components/radios/radios.d.ts +8 -0
  144. package/dist/components/radios/types.d.ts +189 -0
  145. package/dist/components/search/api.d.ts +55 -0
  146. package/dist/components/search/config.d.ts +73 -0
  147. package/dist/components/search/constants.d.ts +128 -0
  148. package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
  149. package/dist/components/search/features/search.d.ts +7 -0
  150. package/dist/components/search/features/states.d.ts +8 -0
  151. package/dist/components/search/features/structure.d.ts +7 -0
  152. package/dist/components/search/index.d.ts +3 -0
  153. package/dist/components/search/search.d.ts +8 -0
  154. package/dist/components/search/types.d.ts +132 -0
  155. package/dist/components/segmented-button/config.d.ts +65 -0
  156. package/dist/components/segmented-button/constants.d.ts +85 -0
  157. package/dist/components/segmented-button/index.d.ts +4 -0
  158. package/dist/components/segmented-button/segment.d.ts +15 -0
  159. package/dist/components/segmented-button/segmented-button.d.ts +49 -0
  160. package/dist/components/segmented-button/types.d.ts +257 -0
  161. package/dist/components/select/api.d.ts +8 -0
  162. package/dist/components/select/config.d.ts +18 -0
  163. package/dist/components/select/constants.d.ts +113 -0
  164. package/dist/components/select/features.d.ts +13 -0
  165. package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
  166. package/dist/components/select/select.d.ts +36 -0
  167. package/dist/components/select/types.d.ts +302 -0
  168. package/dist/components/sheet/api.d.ts +37 -0
  169. package/dist/components/sheet/config.d.ts +42 -0
  170. package/dist/components/sheet/constants.d.ts +136 -0
  171. package/dist/components/sheet/features/content.d.ts +6 -0
  172. package/dist/components/sheet/features/gestures.d.ts +6 -0
  173. package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
  174. package/dist/components/sheet/features/position.d.ts +7 -0
  175. package/dist/components/sheet/features/state.d.ts +6 -0
  176. package/dist/components/sheet/features/title.d.ts +6 -0
  177. package/dist/components/sheet/index.d.ts +3 -0
  178. package/dist/components/sheet/sheet.d.ts +8 -0
  179. package/dist/components/sheet/types.d.ts +250 -0
  180. package/dist/components/slider/api.d.ts +57 -0
  181. package/dist/components/slider/config.d.ts +75 -0
  182. package/dist/components/slider/constants.d.ts +138 -0
  183. package/dist/components/slider/features/controller.d.ts +9 -0
  184. package/dist/components/slider/features/handlers.d.ts +25 -0
  185. package/dist/components/slider/features/index.d.ts +3 -0
  186. package/dist/components/slider/features/range.d.ts +8 -0
  187. package/dist/components/slider/features/states.d.ts +9 -0
  188. package/dist/components/slider/index.d.ts +3 -0
  189. package/dist/components/slider/schema.d.ts +108 -0
  190. package/dist/components/slider/slider.d.ts +18 -0
  191. package/dist/components/slider/types.d.ts +170 -0
  192. package/dist/components/snackbar/api.d.ts +7 -0
  193. package/dist/components/snackbar/config.d.ts +55 -0
  194. package/dist/components/snackbar/constants.d.ts +88 -0
  195. package/dist/components/snackbar/features.d.ts +13 -0
  196. package/dist/components/snackbar/index.d.ts +3 -0
  197. package/dist/components/snackbar/position.d.ts +15 -0
  198. package/dist/components/snackbar/queue.d.ts +7 -0
  199. package/dist/components/snackbar/snackbar.d.ts +8 -0
  200. package/dist/components/snackbar/types.d.ts +172 -0
  201. package/dist/components/switch/api.d.ts +7 -0
  202. package/dist/components/switch/config.d.ts +34 -0
  203. package/dist/components/switch/constants.d.ts +88 -0
  204. package/dist/components/switch/features.d.ts +59 -0
  205. package/dist/components/switch/index.d.ts +4 -0
  206. package/dist/components/switch/switch.d.ts +8 -0
  207. package/dist/components/switch/types.d.ts +131 -0
  208. package/dist/components/tabs/api.d.ts +52 -0
  209. package/dist/components/tabs/config.d.ts +39 -0
  210. package/dist/components/tabs/constants.d.ts +142 -0
  211. package/dist/components/tabs/features.d.ts +133 -0
  212. package/dist/components/tabs/index.d.ts +11 -0
  213. package/dist/components/tabs/indicator.d.ts +49 -0
  214. package/dist/components/tabs/responsive.d.ts +38 -0
  215. package/dist/components/tabs/scroll-indicators.d.ts +18 -0
  216. package/dist/components/tabs/state.d.ts +53 -0
  217. package/dist/components/tabs/tab-api.d.ts +43 -0
  218. package/dist/components/tabs/tab.d.ts +7 -0
  219. package/dist/components/tabs/tabs.d.ts +27 -0
  220. package/dist/components/tabs/types.d.ts +390 -0
  221. package/dist/components/tabs/utils.d.ts +17 -0
  222. package/dist/components/textfield/api.d.ts +8 -0
  223. package/dist/components/textfield/config.d.ts +34 -0
  224. package/dist/components/textfield/constants.d.ts +148 -0
  225. package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
  226. package/dist/components/textfield/features/leading-icon.d.ts +55 -0
  227. package/dist/components/textfield/features/placement.d.ts +28 -0
  228. package/dist/components/textfield/features/prefix-text.d.ts +54 -0
  229. package/dist/components/textfield/features/suffix-text.d.ts +54 -0
  230. package/dist/components/textfield/features/supporting-text.d.ts +59 -0
  231. package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
  232. package/dist/components/textfield/index.d.ts +3 -0
  233. package/dist/components/textfield/textfield.d.ts +36 -0
  234. package/dist/components/textfield/types.d.ts +217 -0
  235. package/dist/components/timepicker/api.d.ts +24 -0
  236. package/dist/components/timepicker/clockdial.d.ts +34 -0
  237. package/dist/components/timepicker/config.d.ts +75 -0
  238. package/dist/components/timepicker/constants.d.ts +266 -0
  239. package/dist/components/timepicker/index.d.ts +4 -0
  240. package/dist/components/timepicker/render.d.ts +9 -0
  241. package/dist/components/timepicker/timepicker.d.ts +8 -0
  242. package/dist/components/timepicker/types.d.ts +284 -0
  243. package/dist/components/timepicker/utils.d.ts +74 -0
  244. package/dist/components/tooltip/api.d.ts +18 -0
  245. package/dist/components/tooltip/config.d.ts +38 -0
  246. package/dist/components/tooltip/constants.d.ts +108 -0
  247. package/dist/components/tooltip/index.d.ts +3 -0
  248. package/dist/components/tooltip/tooltip.d.ts +8 -0
  249. package/dist/components/tooltip/types.d.ts +188 -0
  250. package/dist/components/top-app-bar/config.d.ts +16 -0
  251. package/dist/components/top-app-bar/constants.d.ts +74 -0
  252. package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
  253. package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
  254. package/dist/components/top-app-bar/types.d.ts +118 -0
  255. package/dist/constants.d.ts +30 -0
  256. package/dist/core/collection/adapters/base.d.ts +47 -0
  257. package/dist/core/collection/adapters/route.d.ts +149 -0
  258. package/dist/core/collection/collection.d.ts +131 -0
  259. package/dist/core/collection/index.d.ts +10 -0
  260. package/dist/core/collection/list-manager/config.d.ts +29 -0
  261. package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
  262. package/dist/core/collection/list-manager/index.d.ts +61 -0
  263. package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
  264. package/dist/core/collection/list-manager/renderer.d.ts +31 -0
  265. package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
  266. package/dist/core/collection/list-manager/state.d.ts +60 -0
  267. package/dist/core/collection/list-manager/types.d.ts +361 -0
  268. package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
  269. package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
  270. package/dist/core/compose/base.d.ts +31 -0
  271. package/dist/core/compose/component.d.ts +61 -0
  272. package/dist/core/compose/features/badge.d.ts +43 -0
  273. package/dist/core/compose/features/checkable.d.ts +59 -0
  274. package/dist/core/compose/features/constants.d.ts +45 -0
  275. package/dist/core/compose/features/debounce.d.ts +84 -0
  276. package/dist/core/compose/features/disabled.d.ts +47 -0
  277. package/dist/core/compose/features/events.d.ts +37 -0
  278. package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
  279. package/dist/core/compose/features/gestures/pan.d.ts +108 -0
  280. package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
  281. package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
  282. package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
  283. package/dist/core/compose/features/gestures/tap.d.ts +79 -0
  284. package/dist/core/compose/features/gestures.d.ts +86 -0
  285. package/dist/core/compose/features/icon.d.ts +71 -0
  286. package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
  287. package/dist/core/compose/features/input.d.ts +71 -0
  288. package/dist/core/compose/features/lifecycle.d.ts +61 -0
  289. package/dist/core/compose/features/position.d.ts +51 -0
  290. package/dist/core/compose/features/ripple.d.ts +61 -0
  291. package/dist/core/compose/features/size.d.ts +17 -0
  292. package/dist/core/compose/features/style.d.ts +16 -0
  293. package/dist/core/compose/features/text.d.ts +63 -0
  294. package/dist/core/compose/features/textinput.d.ts +93 -0
  295. package/dist/core/compose/features/textlabel.d.ts +57 -0
  296. package/dist/core/compose/features/throttle.d.ts +75 -0
  297. package/dist/core/compose/features/track.d.ts +42 -0
  298. package/dist/core/compose/features/variant.d.ts +17 -0
  299. package/dist/core/compose/features/withEvents.d.ts +45 -0
  300. package/dist/core/compose/index.d.ts +17 -0
  301. package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
  302. package/dist/core/compose/utils/type-guards.d.ts +27 -0
  303. package/dist/core/composition/features/dom.d.ts +19 -0
  304. package/dist/core/composition/features/icon.d.ts +45 -0
  305. package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
  306. package/dist/core/composition/features/label.d.ts +49 -0
  307. package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
  308. package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
  309. package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +34 -82
  310. package/dist/core/config.d.ts +130 -0
  311. package/{src/core/dom/attributes.ts → dist/core/dom/attributes.d.ts} +2 -13
  312. package/dist/core/dom/classes.d.ts +42 -0
  313. package/dist/core/dom/create.d.ts +124 -0
  314. package/dist/core/dom/events.d.ts +69 -0
  315. package/{src/core/dom/index.ts → dist/core/dom/index.d.ts} +1 -5
  316. package/dist/core/dom/utils.d.ts +42 -0
  317. package/dist/core/gestures/index.d.ts +12 -0
  318. package/dist/core/gestures/longpress.d.ts +23 -0
  319. package/dist/core/gestures/manager.d.ts +14 -0
  320. package/dist/core/gestures/pan.d.ts +12 -0
  321. package/dist/core/gestures/pinch.d.ts +14 -0
  322. package/dist/core/gestures/rotate.d.ts +14 -0
  323. package/dist/core/gestures/swipe.d.ts +20 -0
  324. package/dist/core/gestures/tap.d.ts +12 -0
  325. package/dist/core/gestures/types.d.ts +320 -0
  326. package/dist/core/gestures/utils.d.ts +57 -0
  327. package/dist/core/index.d.ts +29 -0
  328. package/dist/core/layout/array.d.ts +15 -0
  329. package/dist/core/layout/config.d.ts +32 -0
  330. package/dist/core/layout/create.d.ts +14 -0
  331. package/dist/core/layout/index.d.ts +13 -0
  332. package/dist/core/layout/jsx.d.ts +13 -0
  333. package/dist/core/layout/object.d.ts +14 -0
  334. package/dist/core/layout/processor.d.ts +28 -0
  335. package/dist/core/layout/result.d.ts +12 -0
  336. package/dist/core/layout/template.d.ts +12 -0
  337. package/dist/core/layout/types.d.ts +137 -0
  338. package/dist/core/layout/utils.d.ts +38 -0
  339. package/dist/core/state/disabled.d.ts +32 -0
  340. package/dist/core/state/emitter.d.ts +40 -0
  341. package/dist/core/state/events.d.ts +36 -0
  342. package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
  343. package/dist/core/state/lifecycle.d.ts +57 -0
  344. package/dist/core/state/store.d.ts +82 -0
  345. package/dist/core/utils/background.d.ts +40 -0
  346. package/dist/core/utils/index.d.ts +23 -0
  347. package/dist/core/utils/mobile.d.ts +54 -0
  348. package/dist/core/utils/object.d.ts +13 -0
  349. package/dist/core/utils/performance.d.ts +79 -0
  350. package/dist/core/utils/validate.d.ts +73 -0
  351. package/dist/index.cjs +64 -0
  352. package/dist/index.cjs.map +285 -0
  353. package/dist/index.d.ts +15 -0
  354. package/dist/index.js +53 -14854
  355. package/dist/index.js.map +285 -0
  356. package/dist/package.json +39 -0
  357. package/dist/styles.css +7 -0
  358. package/package.json +23 -4
  359. package/.env +0 -15
  360. package/.typedocignore +0 -11
  361. package/CONTRIBUTING.md +0 -218
  362. package/DOCS.md +0 -153
  363. package/TESTING.md +0 -214
  364. package/git-user-stats.js +0 -545
  365. package/index.ts +0 -10
  366. package/src/components/badge/api.ts +0 -313
  367. package/src/components/badge/config.ts +0 -153
  368. package/src/components/badge/features.ts +0 -194
  369. package/src/components/badge/index.ts +0 -90
  370. package/src/components/badge/types.ts +0 -279
  371. package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
  372. package/src/components/bottom-app-bar/config.ts +0 -29
  373. package/src/components/bottom-app-bar/types.ts +0 -114
  374. package/src/components/button/api.ts +0 -172
  375. package/src/components/button/button.ts +0 -112
  376. package/src/components/button/config.ts +0 -96
  377. package/src/components/button/index.ts +0 -37
  378. package/src/components/button/types.ts +0 -290
  379. package/src/components/card/api.ts +0 -222
  380. package/src/components/card/config.ts +0 -304
  381. package/src/components/card/content.ts +0 -343
  382. package/src/components/card/features.ts +0 -407
  383. package/src/components/card/types.ts +0 -497
  384. package/src/components/carousel/api.ts +0 -147
  385. package/src/components/carousel/carousel.ts +0 -242
  386. package/src/components/carousel/config.ts +0 -91
  387. package/src/components/carousel/constants.ts +0 -181
  388. package/src/components/carousel/features/drag.ts +0 -388
  389. package/src/components/carousel/features/slides.ts +0 -682
  390. package/src/components/carousel/types.ts +0 -327
  391. package/src/components/checkbox/api.ts +0 -82
  392. package/src/components/checkbox/checkbox.ts +0 -142
  393. package/src/components/checkbox/config.ts +0 -89
  394. package/src/components/checkbox/types.ts +0 -342
  395. package/src/components/chips/api.ts +0 -194
  396. package/src/components/chips/chip/api.ts +0 -233
  397. package/src/components/chips/chip/chip.ts +0 -131
  398. package/src/components/chips/chip/config.ts +0 -91
  399. package/src/components/chips/chip/index.ts +0 -3
  400. package/src/components/chips/chips.md +0 -481
  401. package/src/components/chips/chips.ts +0 -75
  402. package/src/components/chips/config.ts +0 -109
  403. package/src/components/chips/constants.ts +0 -61
  404. package/src/components/chips/features/chip-items.ts +0 -33
  405. package/src/components/chips/features/container.ts +0 -77
  406. package/src/components/chips/features/controller.ts +0 -448
  407. package/src/components/chips/features/label.ts +0 -108
  408. package/src/components/chips/index.ts +0 -11
  409. package/src/components/chips/schema.ts +0 -61
  410. package/src/components/chips/types.ts +0 -469
  411. package/src/components/datepicker/api.ts +0 -265
  412. package/src/components/datepicker/config.ts +0 -141
  413. package/src/components/datepicker/datepicker.ts +0 -341
  414. package/src/components/datepicker/index.ts +0 -12
  415. package/src/components/datepicker/render.ts +0 -450
  416. package/src/components/datepicker/types.ts +0 -397
  417. package/src/components/datepicker/utils.ts +0 -289
  418. package/src/components/dialog/api.ts +0 -317
  419. package/src/components/dialog/config.ts +0 -116
  420. package/src/components/dialog/features.ts +0 -907
  421. package/src/components/dialog/index.ts +0 -141
  422. package/src/components/dialog/types.ts +0 -553
  423. package/src/components/divider/config.ts +0 -165
  424. package/src/components/divider/features.ts +0 -233
  425. package/src/components/divider/types.ts +0 -132
  426. package/src/components/extended-fab/api.ts +0 -193
  427. package/src/components/extended-fab/config.ts +0 -140
  428. package/src/components/extended-fab/extended-fab.ts +0 -153
  429. package/src/components/extended-fab/types.ts +0 -749
  430. package/src/components/fab/api.ts +0 -137
  431. package/src/components/fab/config.ts +0 -121
  432. package/src/components/fab/types.ts +0 -615
  433. package/src/components/list/api.ts +0 -82
  434. package/src/components/list/config.ts +0 -63
  435. package/src/components/list/features.ts +0 -229
  436. package/src/components/list/index.ts +0 -67
  437. package/src/components/list/list-item.ts +0 -163
  438. package/src/components/list/list.ts +0 -108
  439. package/src/components/list/types.ts +0 -396
  440. package/src/components/list/utils.ts +0 -98
  441. package/src/components/menu/api.ts +0 -230
  442. package/src/components/menu/config.ts +0 -127
  443. package/src/components/menu/features/anchor.ts +0 -394
  444. package/src/components/menu/features/controller.ts +0 -1423
  445. package/src/components/menu/features/index.ts +0 -13
  446. package/src/components/menu/features/position.ts +0 -353
  447. package/src/components/menu/menu.ts +0 -121
  448. package/src/components/menu/types.ts +0 -392
  449. package/src/components/navigation/api.ts +0 -142
  450. package/src/components/navigation/config.ts +0 -73
  451. package/src/components/navigation/features/controller.ts +0 -273
  452. package/src/components/navigation/features/items.ts +0 -353
  453. package/src/components/navigation/index.ts +0 -11
  454. package/src/components/navigation/nav-item.ts +0 -196
  455. package/src/components/navigation/navigation.ts +0 -115
  456. package/src/components/navigation/system/core.ts +0 -302
  457. package/src/components/navigation/system/events.ts +0 -240
  458. package/src/components/navigation/system/index.ts +0 -184
  459. package/src/components/navigation/system/mobile.ts +0 -278
  460. package/src/components/navigation/system/state.ts +0 -77
  461. package/src/components/navigation/system/types.ts +0 -364
  462. package/src/components/navigation/types.ts +0 -292
  463. package/src/components/progress/api.ts +0 -178
  464. package/src/components/progress/config.ts +0 -122
  465. package/src/components/progress/index.ts +0 -4
  466. package/src/components/progress/progress.ts +0 -159
  467. package/src/components/progress/types.ts +0 -255
  468. package/src/components/radios/api.ts +0 -125
  469. package/src/components/radios/config.ts +0 -59
  470. package/src/components/radios/constants.ts +0 -19
  471. package/src/components/radios/index.ts +0 -3
  472. package/src/components/radios/radio.ts +0 -292
  473. package/src/components/radios/radios.ts +0 -43
  474. package/src/components/radios/types.ts +0 -219
  475. package/src/components/search/api.ts +0 -203
  476. package/src/components/search/config.ts +0 -86
  477. package/src/components/search/features/search.ts +0 -717
  478. package/src/components/search/features/states.ts +0 -169
  479. package/src/components/search/features/structure.ts +0 -197
  480. package/src/components/search/index.ts +0 -7
  481. package/src/components/search/search.ts +0 -52
  482. package/src/components/search/types.ts +0 -175
  483. package/src/components/segmented-button/config.ts +0 -119
  484. package/src/components/segmented-button/index.ts +0 -4
  485. package/src/components/segmented-button/segment.ts +0 -108
  486. package/src/components/segmented-button/segmented-button.ts +0 -361
  487. package/src/components/segmented-button/types.ts +0 -306
  488. package/src/components/select/api.ts +0 -78
  489. package/src/components/select/config.ts +0 -76
  490. package/src/components/select/features.ts +0 -331
  491. package/src/components/select/select.ts +0 -73
  492. package/src/components/select/types.ts +0 -355
  493. package/src/components/sheet/api.ts +0 -96
  494. package/src/components/sheet/config.ts +0 -65
  495. package/src/components/sheet/features/content.ts +0 -51
  496. package/src/components/sheet/features/gestures.ts +0 -177
  497. package/src/components/sheet/features/position.ts +0 -41
  498. package/src/components/sheet/features/state.ts +0 -116
  499. package/src/components/sheet/features/title.ts +0 -86
  500. package/src/components/sheet/index.ts +0 -12
  501. package/src/components/sheet/sheet.ts +0 -56
  502. package/src/components/sheet/types.ts +0 -294
  503. package/src/components/slider/accessibility.md +0 -59
  504. package/src/components/slider/api.ts +0 -192
  505. package/src/components/slider/config.ts +0 -118
  506. package/src/components/slider/features/controller.ts +0 -737
  507. package/src/components/slider/features/handlers.ts +0 -497
  508. package/src/components/slider/features/index.ts +0 -5
  509. package/src/components/slider/features/range.ts +0 -104
  510. package/src/components/slider/features/states.ts +0 -195
  511. package/src/components/slider/index.ts +0 -17
  512. package/src/components/slider/schema.ts +0 -141
  513. package/src/components/slider/slider.ts +0 -76
  514. package/src/components/slider/types.ts +0 -223
  515. package/src/components/snackbar/api.ts +0 -162
  516. package/src/components/snackbar/config.ts +0 -61
  517. package/src/components/snackbar/features.ts +0 -76
  518. package/src/components/snackbar/index.ts +0 -9
  519. package/src/components/snackbar/position.ts +0 -79
  520. package/src/components/snackbar/queue.ts +0 -76
  521. package/src/components/snackbar/snackbar.ts +0 -60
  522. package/src/components/snackbar/types.ts +0 -159
  523. package/src/components/switch/api.ts +0 -93
  524. package/src/components/switch/config.ts +0 -56
  525. package/src/components/switch/features.ts +0 -198
  526. package/src/components/switch/index.ts +0 -8
  527. package/src/components/switch/switch.ts +0 -52
  528. package/src/components/switch/types.ts +0 -168
  529. package/src/components/tabs/api.ts +0 -221
  530. package/src/components/tabs/config.ts +0 -73
  531. package/src/components/tabs/features.ts +0 -403
  532. package/src/components/tabs/index.ts +0 -46
  533. package/src/components/tabs/indicator.ts +0 -285
  534. package/src/components/tabs/responsive.ts +0 -144
  535. package/src/components/tabs/scroll-indicators.ts +0 -149
  536. package/src/components/tabs/state.ts +0 -186
  537. package/src/components/tabs/tab-api.ts +0 -266
  538. package/src/components/tabs/tab.ts +0 -267
  539. package/src/components/tabs/tabs.ts +0 -71
  540. package/src/components/tabs/types.ts +0 -461
  541. package/src/components/tabs/utils.ts +0 -107
  542. package/src/components/textfield/api.ts +0 -197
  543. package/src/components/textfield/config.ts +0 -52
  544. package/src/components/textfield/features/leading-icon.ts +0 -127
  545. package/src/components/textfield/features/placement.ts +0 -149
  546. package/src/components/textfield/features/prefix-text.ts +0 -107
  547. package/src/components/textfield/features/suffix-text.ts +0 -100
  548. package/src/components/textfield/features/supporting-text.ts +0 -113
  549. package/src/components/textfield/features/trailing-icon.ts +0 -108
  550. package/src/components/textfield/index.ts +0 -9
  551. package/src/components/textfield/textfield.ts +0 -92
  552. package/src/components/textfield/types.ts +0 -265
  553. package/src/components/timepicker/README.md +0 -277
  554. package/src/components/timepicker/api.ts +0 -632
  555. package/src/components/timepicker/clockdial.ts +0 -479
  556. package/src/components/timepicker/config.ts +0 -228
  557. package/src/components/timepicker/index.ts +0 -3
  558. package/src/components/timepicker/render.ts +0 -613
  559. package/src/components/timepicker/timepicker.ts +0 -117
  560. package/src/components/timepicker/types.ts +0 -336
  561. package/src/components/timepicker/utils.ts +0 -241
  562. package/src/components/tooltip/api.ts +0 -415
  563. package/src/components/tooltip/config.ts +0 -80
  564. package/src/components/tooltip/index.ts +0 -12
  565. package/src/components/tooltip/tooltip.ts +0 -60
  566. package/src/components/tooltip/types.ts +0 -223
  567. package/src/components/top-app-bar/config.ts +0 -83
  568. package/src/components/top-app-bar/top-app-bar.ts +0 -316
  569. package/src/components/top-app-bar/types.ts +0 -140
  570. package/src/core/build/constants.ts +0 -48
  571. package/src/core/build/icon.ts +0 -137
  572. package/src/core/build/ripple.ts +0 -193
  573. package/src/core/build/text.ts +0 -91
  574. package/src/core/collection/adapters/base.ts +0 -62
  575. package/src/core/collection/adapters/route.ts +0 -201
  576. package/src/core/collection/collection.ts +0 -300
  577. package/src/core/collection/index.ts +0 -57
  578. package/src/core/collection/list-manager.ts +0 -333
  579. package/src/core/compose/base.ts +0 -43
  580. package/src/core/compose/component.ts +0 -255
  581. package/src/core/compose/features/badge.ts +0 -79
  582. package/src/core/compose/features/checkable.ts +0 -155
  583. package/src/core/compose/features/disabled.ts +0 -116
  584. package/src/core/compose/features/events.ts +0 -65
  585. package/src/core/compose/features/icon.ts +0 -71
  586. package/src/core/compose/features/input.ts +0 -174
  587. package/src/core/compose/features/lifecycle.ts +0 -139
  588. package/src/core/compose/features/position.ts +0 -94
  589. package/src/core/compose/features/ripple.ts +0 -58
  590. package/src/core/compose/features/size.ts +0 -29
  591. package/src/core/compose/features/style.ts +0 -31
  592. package/src/core/compose/features/text.ts +0 -44
  593. package/src/core/compose/features/textinput.ts +0 -238
  594. package/src/core/compose/features/textlabel.ts +0 -113
  595. package/src/core/compose/features/track.ts +0 -84
  596. package/src/core/compose/features/variant.ts +0 -29
  597. package/src/core/compose/features/withEvents.ts +0 -137
  598. package/src/core/compose/index.ts +0 -54
  599. package/src/core/composition/features/dom.ts +0 -45
  600. package/src/core/composition/features/icon.ts +0 -131
  601. package/src/core/composition/features/label.ts +0 -155
  602. package/src/core/config.ts +0 -211
  603. package/src/core/dom/classes.ts +0 -132
  604. package/src/core/dom/create.ts +0 -273
  605. package/src/core/dom/events.ts +0 -209
  606. package/src/core/dom/utils.ts +0 -97
  607. package/src/core/index.ts +0 -111
  608. package/src/core/layout/README.md +0 -715
  609. package/src/core/layout/array.ts +0 -180
  610. package/src/core/layout/config.ts +0 -193
  611. package/src/core/layout/create.ts +0 -54
  612. package/src/core/layout/index.ts +0 -36
  613. package/src/core/layout/object.ts +0 -123
  614. package/src/core/layout/processor.ts +0 -106
  615. package/src/core/layout/result.ts +0 -84
  616. package/src/core/layout/types.ts +0 -180
  617. package/src/core/layout/utils.ts +0 -144
  618. package/src/core/state/disabled.ts +0 -81
  619. package/src/core/state/emitter.ts +0 -94
  620. package/src/core/state/events.ts +0 -88
  621. package/src/core/state/lifecycle.ts +0 -131
  622. package/src/core/state/store.ts +0 -197
  623. package/src/core/utils/index.ts +0 -45
  624. package/src/core/utils/mobile.ts +0 -98
  625. package/src/core/utils/object.ts +0 -41
  626. package/src/core/utils/validate.ts +0 -234
  627. package/src/index.ts +0 -90
  628. package/src/styles/abstract/_base.scss +0 -2
  629. package/src/styles/abstract/_config.scss +0 -28
  630. package/src/styles/abstract/_functions.scss +0 -124
  631. package/src/styles/abstract/_mixins.scss +0 -352
  632. package/src/styles/abstract/_theme.scss +0 -269
  633. package/src/styles/abstract/_variables.scss +0 -305
  634. package/src/styles/base/_reset.scss +0 -86
  635. package/src/styles/base/_typography.scss +0 -155
  636. package/src/styles/components/_badge.scss +0 -182
  637. package/src/styles/components/_bottom-app-bar.scss +0 -103
  638. package/src/styles/components/_button.scss +0 -224
  639. package/src/styles/components/_card.scss +0 -401
  640. package/src/styles/components/_carousel.scss +0 -645
  641. package/src/styles/components/_checkbox.scss +0 -231
  642. package/src/styles/components/_chips.scss +0 -638
  643. package/src/styles/components/_datepicker.scss +0 -358
  644. package/src/styles/components/_dialog.scss +0 -259
  645. package/src/styles/components/_divider.scss +0 -57
  646. package/src/styles/components/_extended-fab.scss +0 -267
  647. package/src/styles/components/_fab.scss +0 -225
  648. package/src/styles/components/_list.scss +0 -248
  649. package/src/styles/components/_menu.scss +0 -242
  650. package/src/styles/components/_navigation-mobile.scss +0 -244
  651. package/src/styles/components/_navigation-system.scss +0 -151
  652. package/src/styles/components/_navigation.scss +0 -407
  653. package/src/styles/components/_progress.scss +0 -151
  654. package/src/styles/components/_radios.scss +0 -187
  655. package/src/styles/components/_search.scss +0 -306
  656. package/src/styles/components/_segmented-button.scss +0 -227
  657. package/src/styles/components/_select.scss +0 -272
  658. package/src/styles/components/_sheet.scss +0 -236
  659. package/src/styles/components/_slider.scss +0 -489
  660. package/src/styles/components/_snackbar.scss +0 -211
  661. package/src/styles/components/_switch.scss +0 -298
  662. package/src/styles/components/_tabs.scss +0 -416
  663. package/src/styles/components/_textfield.scss +0 -773
  664. package/src/styles/components/_timepicker.scss +0 -451
  665. package/src/styles/components/_tooltip.scss +0 -241
  666. package/src/styles/components/_top-app-bar.scss +0 -225
  667. package/src/styles/main.scss +0 -175
  668. package/src/styles/themes/_autumn.scss +0 -105
  669. package/src/styles/themes/_base-theme.scss +0 -85
  670. package/src/styles/themes/_baseline.scss +0 -173
  671. package/src/styles/themes/_bluekhaki.scss +0 -125
  672. package/src/styles/themes/_brownbeige.scss +0 -125
  673. package/src/styles/themes/_browngreen.scss +0 -125
  674. package/src/styles/themes/_forest.scss +0 -77
  675. package/src/styles/themes/_greenbeige.scss +0 -125
  676. package/src/styles/themes/_index.scss +0 -6
  677. package/src/styles/themes/_material.scss +0 -125
  678. package/src/styles/themes/_ocean.scss +0 -77
  679. package/src/styles/themes/_sageivory.scss +0 -125
  680. package/src/styles/themes/_spring.scss +0 -77
  681. package/src/styles/themes/_summer.scss +0 -87
  682. package/src/styles/themes/_sunset.scss +0 -60
  683. package/src/styles/themes/_tealcaramel.scss +0 -125
  684. package/src/styles/themes/_winter.scss +0 -77
  685. package/src/styles/utilities/_colors.scss +0 -154
  686. package/src/styles/utilities/_flexbox.scss +0 -194
  687. package/src/styles/utilities/_layout.scss +0 -665
  688. package/src/styles/utilities/_ripple.scss +0 -79
  689. package/src/styles/utilities/_spacing.scss +0 -139
  690. package/src/styles/utilities/_typography.scss +0 -178
  691. 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
+ attrs: 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;