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
@@ -1,90 +0,0 @@
1
- // src/components/badge/index.ts
2
-
3
- /**
4
- * Badge component module
5
- * @module components/badge
6
- * @description A small element that communicates status, shows a count,
7
- * or highlights an element requiring attention.
8
- */
9
-
10
- export { default } from './badge';
11
- export type { BadgeConfig, BadgeComponent, BadgeVariant, BadgeColor, BadgePosition } from './types';
12
-
13
- /**
14
- * Badge size variant constants
15
- * Use these instead of string literals for better code completion and type safety.
16
- *
17
- * @example
18
- * import { createBadge, BADGE_VARIANTS } from 'mtrl';
19
- *
20
- * const badge = createBadge({ variant: BADGE_VARIANTS.SMALL });
21
- *
22
- * @category Components
23
- */
24
- export const BADGE_VARIANTS = {
25
- /** 6dp dot badge (no text content) */
26
- SMALL: 'small',
27
- /** 16dp height badge (can contain text) */
28
- LARGE: 'large'
29
- } as const;
30
-
31
- /**
32
- * Badge color constants
33
- * Colors follow Material Design 3 color system.
34
- *
35
- * @example
36
- * import { createBadge, BADGE_COLORS } from 'mtrl';
37
- *
38
- * const badge = createBadge({ color: BADGE_COLORS.ERROR });
39
- *
40
- * @category Components
41
- */
42
- export const BADGE_COLORS = {
43
- /** Red color for error states */
44
- ERROR: 'error',
45
- /** Primary theme color */
46
- PRIMARY: 'primary',
47
- /** Secondary theme color */
48
- SECONDARY: 'secondary',
49
- /** Tertiary theme color */
50
- TERTIARY: 'tertiary',
51
- /** Green color for success states */
52
- SUCCESS: 'success',
53
- /** Orange/yellow color for warning states */
54
- WARNING: 'warning',
55
- /** Blue color for information states */
56
- INFO: 'info'
57
- } as const;
58
-
59
- /**
60
- * Badge position constants
61
- * Defines where the badge appears relative to its target element.
62
- *
63
- * @example
64
- * import { createBadge, BADGE_POSITIONS } from 'mtrl';
65
- *
66
- * const badge = createBadge({
67
- * position: BADGE_POSITIONS.BOTTOM_RIGHT,
68
- * target: document.querySelector('#notification-bell')
69
- * });
70
- *
71
- * @category Components
72
- */
73
- export const BADGE_POSITIONS = {
74
- /** Position in the top-right corner (default) */
75
- TOP_RIGHT: 'top-right',
76
- /** Position in the top-left corner */
77
- TOP_LEFT: 'top-left',
78
- /** Position in the bottom-right corner */
79
- BOTTOM_RIGHT: 'bottom-right',
80
- /** Position in the bottom-left corner */
81
- BOTTOM_LEFT: 'bottom-left'
82
- } as const;
83
-
84
- /**
85
- * Maximum number of characters to display in a badge
86
- * When label text exceeds this length, it will be truncated.
87
- *
88
- * @category Components
89
- */
90
- export const BADGE_MAX_CHARACTERS = 4;
@@ -1,279 +0,0 @@
1
- // src/components/badge/types.ts
2
-
3
- /**
4
- * Badge variant types - determines the badge size and appearance
5
- * @category Components
6
- * @remarks
7
- * - small: A 6dp circular dot badge without text (for notification indicators)
8
- * - large: A 16dp height badge that can contain text (for counts or short labels)
9
- */
10
- export type BadgeVariant = 'small' | 'large';
11
-
12
- /**
13
- * Badge color types - determines the badge's background color
14
- * @category Components
15
- * @remarks
16
- * Based on Material Design 3 color system:
17
- * - error: Red color for error states (default)
18
- * - primary: Primary theme color
19
- * - secondary: Secondary theme color
20
- * - tertiary: Tertiary theme color
21
- * - success: Green color for success states
22
- * - warning: Orange/yellow color for warning states
23
- * - info: Blue color for information states
24
- */
25
- export type BadgeColor = 'error' | 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'info';
26
-
27
- /**
28
- * Badge position types - determines where the badge appears relative to its target
29
- * @category Components
30
- * @remarks
31
- * - top-right: Position in the top-right corner (default)
32
- * - top-left: Position in the top-left corner
33
- * - bottom-right: Position in the bottom-right corner
34
- * - bottom-left: Position in the bottom-left corner
35
- */
36
- export type BadgePosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
37
-
38
- /**
39
- * Configuration interface for the Badge component
40
- * @category Components
41
- * @description
42
- * Defines the appearance and behavior of a badge component.
43
- * All properties are optional with sensible defaults.
44
- */
45
- export interface BadgeConfig {
46
- /**
47
- * Badge variant (small dot or large numbered)
48
- * Small badge (6dp) or Large badge (16dp height)
49
- * @default 'large'
50
- * @example 'small' | 'large'
51
- */
52
- variant?: BadgeVariant | string;
53
-
54
- /**
55
- * Badge color (follows Material Design 3 color system)
56
- * @default 'error'
57
- * @example 'error' | 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'info'
58
- */
59
- color?: BadgeColor | string;
60
-
61
- /**
62
- * Badge position relative to its container element
63
- * @default 'top-right'
64
- * @example 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'
65
- */
66
- position?: BadgePosition | string;
67
-
68
- /**
69
- * Text label inside the badge (for large badges)
70
- * Up to 4 characters, numbers exceeding max will show "{max}+"
71
- * @example "3" | "99+" | "New"
72
- */
73
- label?: string | number;
74
-
75
- /**
76
- * Maximum value to display (shows "{max}+" if label exceeds max)
77
- * Usually 999+ for large numbers
78
- * @example 99 | 999
79
- */
80
- max?: number;
81
-
82
- /**
83
- * Whether the badge should be initially visible
84
- * @default true
85
- */
86
- visible?: boolean;
87
-
88
- /**
89
- * Target element to which badge will be attached
90
- * When provided, the badge will be positioned relative to this element
91
- */
92
- target?: HTMLElement;
93
-
94
- /**
95
- * Additional CSS classes to apply to the badge element
96
- * @example "custom-badge highlighted-badge"
97
- */
98
- class?: string;
99
-
100
- /**
101
- * CSS class prefix for all badge classes
102
- * @default "mtrl"
103
- */
104
- prefix?: string;
105
-
106
- /**
107
- * Component name used in CSS class generation
108
- * @default "badge"
109
- * @internal
110
- */
111
- componentName?: string;
112
- }
113
-
114
- /**
115
- * Badge component interface
116
- * Provides methods for controlling a Material Design 3 badge
117
- *
118
- * @category Components
119
- */
120
- export interface BadgeComponent {
121
- /**
122
- * The badge's root DOM element
123
- */
124
- element: HTMLElement;
125
-
126
- /**
127
- * Badge wrapper element (if badge is attached to target)
128
- * This is the parent element that contains both the target and the badge
129
- */
130
- wrapper?: HTMLElement;
131
-
132
- /**
133
- * Sets the badge's text label
134
- * @param label - Text or number to display in the badge
135
- * @returns Badge component for method chaining
136
- * @example
137
- * badge.setLabel(5); // Shows "5"
138
- * badge.setLabel("New"); // Shows "New"
139
- * badge.setLabel(1250); // With max=999, shows "999+"
140
- */
141
- setLabel: (label: string | number) => BadgeComponent;
142
-
143
- /**
144
- * Gets the badge's current text label
145
- * @returns Current text content of the badge
146
- */
147
- getLabel: () => string;
148
-
149
- /**
150
- * Shows the badge (makes it visible)
151
- * @returns Badge component for method chaining
152
- */
153
- show: () => BadgeComponent;
154
-
155
- /**
156
- * Hides the badge (makes it invisible)
157
- * @returns Badge component for method chaining
158
- */
159
- hide: () => BadgeComponent;
160
-
161
- /**
162
- * Toggles badge visibility
163
- * @param visible - Optional explicit visibility state
164
- * @returns Badge component for method chaining
165
- * @example
166
- * badge.toggle(); // Toggles current state
167
- * badge.toggle(true); // Forces visible
168
- */
169
- toggle: (visible?: boolean) => BadgeComponent;
170
-
171
- /**
172
- * Checks if the badge is currently visible
173
- * @returns True if badge is visible, false otherwise
174
- */
175
- isVisible: () => boolean;
176
-
177
- /**
178
- * Sets maximum value (after which badge shows max+)
179
- * @param max - Maximum number to display before showing "+"
180
- * @returns Badge component for method chaining
181
- * @example
182
- * badge.setMax(99); // Shows "99+" for values > 99
183
- */
184
- setMax: (max: number) => BadgeComponent;
185
-
186
- /**
187
- * Sets badge color
188
- * @param color - Badge color from Material Design 3 palette
189
- * @returns Badge component for method chaining
190
- * @example
191
- * badge.setColor('primary');
192
- * badge.setColor(BADGE_COLORS.SUCCESS);
193
- */
194
- setColor: (color: BadgeColor | string) => BadgeComponent;
195
-
196
- /**
197
- * Sets badge variant (size style)
198
- * @param variant - Badge variant ('small' or 'large')
199
- * @returns Badge component for method chaining
200
- * @example
201
- * badge.setVariant('small'); // Dot indicator
202
- * badge.setVariant(BADGE_VARIANTS.LARGE); // Numbered indicator
203
- */
204
- setVariant: (variant: BadgeVariant | string) => BadgeComponent;
205
-
206
- /**
207
- * Sets badge position relative to target
208
- * @param position - Badge position
209
- * @returns Badge component for method chaining
210
- * @example
211
- * badge.setPosition('bottom-left');
212
- */
213
- setPosition: (position: BadgePosition | string) => BadgeComponent;
214
-
215
- /**
216
- * Attaches badge to a target element
217
- * @param target - Element to attach badge to
218
- * @returns Badge component for method chaining
219
- * @example
220
- * badge.attachTo(document.querySelector('#notification-bell'));
221
- */
222
- attachTo: (target: HTMLElement) => BadgeComponent;
223
-
224
- /**
225
- * Makes badge standalone (removes from wrapper)
226
- * @returns Badge component for method chaining
227
- */
228
- detach: () => BadgeComponent;
229
-
230
- /**
231
- * Destroys the badge component and cleans up resources
232
- * Removes the badge from the DOM and clears event listeners
233
- */
234
- destroy: () => void;
235
-
236
- /**
237
- * Gets a class name with the component's prefix
238
- * @param name - Base class name
239
- * @returns Prefixed class name
240
- * @internal
241
- */
242
- getClass: (name: string) => string;
243
-
244
- /**
245
- * Adds CSS classes to the badge element
246
- * @param classes - One or more class names to add
247
- * @returns Badge component for method chaining
248
- * @example
249
- * badge.addClass('highlighted', 'animated');
250
- */
251
- addClass: (...classes: string[]) => BadgeComponent;
252
-
253
- /**
254
- * Removes CSS classes from the badge element
255
- * @param classes - One or more class names to remove
256
- * @returns Badge component for method chaining
257
- * @example
258
- * badge.removeClass('highlighted', 'animated');
259
- */
260
- removeClass: (...classes: string[]) => BadgeComponent;
261
-
262
- /**
263
- * Adds an event listener to the badge
264
- * @param event - Event name ('click', 'mouseover', etc.)
265
- * @param handler - Event handler function
266
- * @returns Badge component for method chaining
267
- * @example
268
- * badge.on('click', () => console.log('Badge clicked'));
269
- */
270
- on: (event: string, handler: Function) => BadgeComponent;
271
-
272
- /**
273
- * Removes an event listener from the badge
274
- * @param event - Event name
275
- * @param handler - Event handler function
276
- * @returns Badge component for method chaining
277
- */
278
- off: (event: string, handler: Function) => BadgeComponent;
279
- }
@@ -1,154 +0,0 @@
1
- // src/components/bottom-app-bar/bottom-app-bar.ts
2
- /**
3
- * @module components/bottom-app-bar
4
- * @description Bottom app bar implementation
5
- */
6
-
7
- import {
8
- createBase,
9
- withElement,
10
- withEvents,
11
- withLifecycle,
12
- ElementComponent,
13
- BaseComponent
14
- } from '../../core/compose';
15
-
16
- import { createConfig } from './config';
17
- import { BottomAppBar, BottomAppBarConfig } from './types';
18
-
19
- /**
20
- * Creates a bottom app bar component
21
- *
22
- * @param {BottomAppBarConfig} config - Configuration options
23
- * @returns {BottomAppBar} Bottom app bar component instance
24
- */
25
- export const createBottomAppBar = (config: BottomAppBarConfig = {}): BottomAppBar => {
26
- // Process configuration with defaults
27
- const componentConfig = createConfig(config);
28
-
29
- // Create base component
30
- const component = createBase(componentConfig);
31
-
32
- // Create actions container
33
- const actionsContainer = document.createElement('div');
34
- actionsContainer.className = `${component.getClass('bottom-app-bar')}-actions`;
35
-
36
- // FAB container for proper positioning
37
- const fabContainer = document.createElement('div');
38
- fabContainer.className = `${component.getClass('bottom-app-bar')}-fab-container`;
39
-
40
- // Apply Element enhancer
41
- const enhancedComponent = withElement({
42
- tag: componentConfig.tag,
43
- componentName: 'bottom-app-bar',
44
- className: [
45
- componentConfig.hasFab ? `${component.getClass('bottom-app-bar')}--with-fab` : '',
46
- componentConfig.fabPosition === 'center' ? `${component.getClass('bottom-app-bar')}--fab-center` : '',
47
- componentConfig.class
48
- ],
49
- attrs: {
50
- role: 'toolbar',
51
- 'aria-label': 'Bottom app bar'
52
- },
53
- interactive: true
54
- })(component);
55
-
56
- // Apply events enhancer for component events
57
- const withEventsComponent = withEvents()(enhancedComponent);
58
-
59
- // Apply lifecycle enhancer for cleanup
60
- const withLifecycleComponent = withLifecycle()(withEventsComponent);
61
-
62
- // Append actions and FAB containers to the main element
63
- withLifecycleComponent.element.appendChild(actionsContainer);
64
- withLifecycleComponent.element.appendChild(fabContainer);
65
-
66
- // Flag to track visibility
67
- let isVisible = true;
68
-
69
- // Previous scroll position for determining scroll direction
70
- let prevScrollY = window.scrollY;
71
-
72
- // Handle scrolling behavior if autoHide is enabled
73
- if (componentConfig.autoHide) {
74
- const handleScroll = () => {
75
- const currentScrollY = window.scrollY;
76
-
77
- // Determine scroll direction
78
- if (currentScrollY > prevScrollY + 10) {
79
- // Scrolling down - hide the bottom bar
80
- if (isVisible) {
81
- bottomBar.hide();
82
- componentConfig.onVisibilityChange?.(false);
83
- }
84
- } else if (currentScrollY < prevScrollY - 10) {
85
- // Scrolling up - show the bottom bar
86
- if (!isVisible) {
87
- bottomBar.show();
88
- componentConfig.onVisibilityChange?.(true);
89
- }
90
- }
91
-
92
- prevScrollY = currentScrollY;
93
- };
94
-
95
- // Add scroll event listener
96
- window.addEventListener('scroll', handleScroll, { passive: true });
97
-
98
- // Clean up event listener on destroy
99
- const originalDestroy = withLifecycleComponent.lifecycle.destroy;
100
- withLifecycleComponent.lifecycle.destroy = () => {
101
- window.removeEventListener('scroll', handleScroll);
102
- originalDestroy();
103
- };
104
- }
105
-
106
- const bottomBar: BottomAppBar = {
107
- ...withLifecycleComponent,
108
-
109
- addAction(button: HTMLElement) {
110
- actionsContainer.appendChild(button);
111
- return this;
112
- },
113
-
114
- addFab(fab: HTMLElement) {
115
- // Clear existing FAB if any
116
- fabContainer.innerHTML = '';
117
-
118
- // Add the new FAB
119
- fabContainer.appendChild(fab);
120
-
121
- // Update component class to indicate it has a FAB
122
- this.element.classList.add(`${component.getClass('bottom-app-bar')}--with-fab`);
123
-
124
- return this;
125
- },
126
-
127
- show() {
128
- this.element.classList.remove(`${component.getClass('bottom-app-bar')}--hidden`);
129
- isVisible = true;
130
- return this;
131
- },
132
-
133
- hide() {
134
- this.element.classList.add(`${component.getClass('bottom-app-bar')}--hidden`);
135
- isVisible = false;
136
- return this;
137
- },
138
-
139
- isVisible() {
140
- return isVisible;
141
- },
142
-
143
- getActionsContainer() {
144
- return actionsContainer;
145
- }
146
- };
147
-
148
- // Set the appropriate styles for transitions if needed
149
- if (componentConfig.autoHide && componentConfig.transitionDuration) {
150
- bottomBar.element.style.transition = `transform ${componentConfig.transitionDuration}ms ease-in-out`;
151
- }
152
-
153
- return bottomBar;
154
- };
@@ -1,29 +0,0 @@
1
- // src/components/bottom-app-bar/config.ts
2
- /**
3
- * @module components/bottom-app-bar
4
- * @description Configuration for bottom app bar component
5
- */
6
-
7
- import { createComponentConfig, BaseComponentConfig } from '../../core/config/component-config';
8
- import { PREFIX } from '../../core/config';
9
- import { BottomAppBarConfig } from './types';
10
-
11
- /**
12
- * Default configuration for bottom app bar
13
- */
14
- export const defaultConfig: Partial<BottomAppBarConfig> = {
15
- tag: 'div',
16
- hasFab: false,
17
- fabPosition: 'end',
18
- autoHide: false,
19
- transitionDuration: 300
20
- };
21
-
22
- /**
23
- * Creates the configuration for a bottom app bar component
24
- *
25
- * @param {BottomAppBarConfig} config - User provided configuration
26
- * @returns {BottomAppBarConfig} Complete configuration with defaults applied
27
- */
28
- export const createConfig = (config: BottomAppBarConfig = {} as BottomAppBarConfig): BottomAppBarConfig =>
29
- createComponentConfig(defaultConfig, config, 'bottom-app-bar') as BottomAppBarConfig;
@@ -1,114 +0,0 @@
1
- // src/components/bottom-app-bar/types.ts
2
- /**
3
- * @module components/bottom-app-bar
4
- * @description Type definitions for Bottom App Bar component
5
- */
6
-
7
- import { ElementComponent } from '../../core/compose';
8
-
9
- /**
10
- * FAB position type for Bottom App Bar
11
- * @category Components
12
- */
13
- export type FabPosition = 'center' | 'end';
14
-
15
- /**
16
- * Configuration options for Bottom App Bar component
17
- * @category Components
18
- */
19
- export interface BottomAppBarConfig {
20
- /**
21
- * Element to use for the container
22
- * @default 'div'
23
- */
24
- tag?: string;
25
-
26
- /**
27
- * Whether to show FAB in the bottom bar
28
- * @default false
29
- */
30
- hasFab?: boolean;
31
-
32
- /**
33
- * FAB position in bottom bar
34
- * @default 'end'
35
- */
36
- fabPosition?: FabPosition;
37
-
38
- /**
39
- * Additional CSS classes to apply
40
- */
41
- class?: string;
42
-
43
- /**
44
- * Whether to enable auto-hide on scroll
45
- * @default false
46
- */
47
- autoHide?: boolean;
48
-
49
- /**
50
- * Transition duration for show/hide in ms
51
- * @default 300
52
- */
53
- transitionDuration?: number;
54
-
55
- /**
56
- * Optional callback when scrolling shows/hides the bar
57
- */
58
- onVisibilityChange?: (visible: boolean) => void;
59
-
60
- /**
61
- * Component prefix for class names
62
- * @default 'mtrl'
63
- */
64
- prefix?: string;
65
-
66
- /**
67
- * Component name for class generation
68
- */
69
- componentName?: string;
70
- }
71
-
72
- /**
73
- * Bottom App Bar component interface
74
- * @category Components
75
- */
76
- export interface BottomAppBar extends ElementComponent {
77
- /**
78
- * Adds an action button to the bottom bar
79
- * @param {HTMLElement} button - Button element to add
80
- * @returns {BottomAppBar} BottomAppBar instance for chaining
81
- */
82
- addAction: (button: HTMLElement) => BottomAppBar;
83
-
84
- /**
85
- * Adds a floating action button to the bottom bar
86
- * @param {HTMLElement} fab - FAB element to add
87
- * @returns {BottomAppBar} BottomAppBar instance for chaining
88
- */
89
- addFab: (fab: HTMLElement) => BottomAppBar;
90
-
91
- /**
92
- * Shows the bottom bar
93
- * @returns {BottomAppBar} BottomAppBar instance for chaining
94
- */
95
- show: () => BottomAppBar;
96
-
97
- /**
98
- * Hides the bottom bar
99
- * @returns {BottomAppBar} BottomAppBar instance for chaining
100
- */
101
- hide: () => BottomAppBar;
102
-
103
- /**
104
- * Checks if the bottom bar is visible
105
- * @returns {boolean} Whether the bottom bar is visible
106
- */
107
- isVisible: () => boolean;
108
-
109
- /**
110
- * Get the actions container element
111
- * @returns {HTMLElement} Actions container element
112
- */
113
- getActionsContainer: () => HTMLElement;
114
- }