mtrl 0.3.8 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. package/dist/LICENSE +21 -0
  2. package/dist/README.md +324 -0
  3. package/dist/components/badge/api.d.ts +48 -0
  4. package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
  5. package/dist/components/badge/config.d.ts +79 -0
  6. package/dist/components/badge/constants.d.ts +35 -0
  7. package/dist/components/badge/features.d.ts +36 -0
  8. package/dist/components/badge/index.d.ts +8 -0
  9. package/dist/components/badge/types.d.ts +256 -0
  10. package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
  11. package/dist/components/bottom-app-bar/config.d.ts +16 -0
  12. package/dist/components/bottom-app-bar/constants.d.ts +22 -0
  13. package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
  14. package/dist/components/bottom-app-bar/types.d.ts +96 -0
  15. package/dist/components/button/api.d.ts +47 -0
  16. package/dist/components/button/button.d.ts +25 -0
  17. package/dist/components/button/config.d.ts +59 -0
  18. package/dist/components/button/constants.d.ts +43 -0
  19. package/dist/components/button/index.d.ts +6 -0
  20. package/dist/components/button/types.d.ts +265 -0
  21. package/dist/components/card/api.d.ts +11 -0
  22. package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
  23. package/dist/components/card/config.d.ts +105 -0
  24. package/dist/components/card/constants.d.ts +85 -0
  25. package/dist/components/card/content.d.ts +92 -0
  26. package/dist/components/card/features.d.ts +131 -0
  27. package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
  28. package/dist/components/card/types.d.ts +471 -0
  29. package/dist/components/carousel/api.d.ts +33 -0
  30. package/dist/components/carousel/carousel.d.ts +75 -0
  31. package/dist/components/carousel/config.d.ts +45 -0
  32. package/dist/components/carousel/constants.d.ts +165 -0
  33. package/dist/components/carousel/features/drag.d.ts +8 -0
  34. package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
  35. package/dist/components/carousel/features/slides.d.ts +8 -0
  36. package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
  37. package/dist/components/carousel/types.d.ts +276 -0
  38. package/dist/components/checkbox/api.d.ts +7 -0
  39. package/dist/components/checkbox/checkbox.d.ts +65 -0
  40. package/dist/components/checkbox/config.d.ts +44 -0
  41. package/dist/components/checkbox/constants.d.ts +63 -0
  42. package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
  43. package/dist/components/checkbox/types.d.ts +242 -0
  44. package/dist/components/chips/api.d.ts +49 -0
  45. package/dist/components/chips/chip/api.d.ts +23 -0
  46. package/dist/components/chips/chip/chip.d.ts +8 -0
  47. package/dist/components/chips/chip/config.d.ts +57 -0
  48. package/dist/components/chips/chip/constants.d.ts +38 -0
  49. package/dist/components/chips/chip/index.d.ts +2 -0
  50. package/dist/components/chips/chip/types.d.ts +11 -0
  51. package/dist/components/chips/chips.d.ts +17 -0
  52. package/dist/components/chips/config.d.ts +67 -0
  53. package/dist/components/chips/constants.d.ts +46 -0
  54. package/dist/components/chips/features/chip-items.d.ts +8 -0
  55. package/dist/components/chips/features/container.d.ts +8 -0
  56. package/dist/components/chips/features/controller.d.ts +9 -0
  57. package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
  58. package/dist/components/chips/features/label.d.ts +8 -0
  59. package/dist/components/chips/index.d.ts +4 -0
  60. package/dist/components/chips/schema.d.ts +34 -0
  61. package/dist/components/chips/types.d.ts +398 -0
  62. package/dist/components/datepicker/api.d.ts +9 -0
  63. package/dist/components/datepicker/config.d.ts +79 -0
  64. package/dist/components/datepicker/constants.d.ts +97 -0
  65. package/dist/components/datepicker/datepicker.d.ts +8 -0
  66. package/dist/components/datepicker/index.d.ts +3 -0
  67. package/dist/components/datepicker/render.d.ts +43 -0
  68. package/dist/components/datepicker/types.d.ts +321 -0
  69. package/dist/components/datepicker/utils.d.ts +84 -0
  70. package/dist/components/dialog/api.d.ts +59 -0
  71. package/dist/components/dialog/config.d.ts +91 -0
  72. package/dist/components/dialog/constants.d.ts +116 -0
  73. package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
  74. package/dist/components/dialog/features.d.ts +37 -0
  75. package/dist/components/dialog/index.d.ts +14 -0
  76. package/dist/components/dialog/types.d.ts +483 -0
  77. package/dist/components/divider/config.d.ts +143 -0
  78. package/dist/components/divider/constants.d.ts +45 -0
  79. package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
  80. package/dist/components/divider/features.d.ts +50 -0
  81. package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
  82. package/dist/components/divider/types.d.ts +124 -0
  83. package/dist/components/extended-fab/api.d.ts +83 -0
  84. package/dist/components/extended-fab/config.d.ts +75 -0
  85. package/dist/components/extended-fab/constants.d.ts +82 -0
  86. package/dist/components/extended-fab/extended-fab.d.ts +61 -0
  87. package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
  88. package/dist/components/extended-fab/types.d.ts +703 -0
  89. package/dist/components/fab/api.d.ts +64 -0
  90. package/dist/components/fab/config.d.ts +71 -0
  91. package/dist/components/fab/constants.d.ts +75 -0
  92. package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
  93. package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
  94. package/dist/components/fab/types.d.ts +577 -0
  95. package/dist/components/index.d.ts +76 -0
  96. package/dist/components/list/api.d.ts +106 -0
  97. package/dist/components/list/config.d.ts +61 -0
  98. package/dist/components/list/constants.d.ts +76 -0
  99. package/dist/components/list/features/index.d.ts +2 -0
  100. package/dist/components/list/features/listmanager.d.ts +9 -0
  101. package/dist/components/list/features/selection.d.ts +9 -0
  102. package/dist/components/list/index.d.ts +12 -0
  103. package/dist/components/list/list.d.ts +11 -0
  104. package/dist/components/list/types.d.ts +294 -0
  105. package/dist/components/menu/api.d.ts +58 -0
  106. package/dist/components/menu/config.d.ts +78 -0
  107. package/dist/components/menu/constants.d.ts +106 -0
  108. package/dist/components/menu/features/controller.d.ts +10 -0
  109. package/dist/components/menu/features/index.d.ts +6 -0
  110. package/dist/components/menu/features/keyboard.d.ts +26 -0
  111. package/dist/components/menu/features/opener.d.ts +10 -0
  112. package/dist/components/menu/features/position.d.ts +18 -0
  113. package/dist/components/menu/features/submenu.d.ts +10 -0
  114. package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
  115. package/dist/components/menu/menu.d.ts +29 -0
  116. package/dist/components/menu/types.d.ts +338 -0
  117. package/dist/components/navigation/api.d.ts +8 -0
  118. package/dist/components/navigation/config.d.ts +34 -0
  119. package/dist/components/navigation/constants.d.ts +137 -0
  120. package/dist/components/navigation/features/controller.d.ts +30 -0
  121. package/dist/components/navigation/features/items.d.ts +32 -0
  122. package/dist/components/navigation/index.d.ts +3 -0
  123. package/dist/components/navigation/nav-item.d.ts +30 -0
  124. package/dist/components/navigation/navigation.d.ts +8 -0
  125. package/dist/components/navigation/system/core.d.ts +72 -0
  126. package/dist/components/navigation/system/events.d.ts +35 -0
  127. package/dist/components/navigation/system/index.d.ts +10 -0
  128. package/dist/components/navigation/system/mobile.d.ts +52 -0
  129. package/dist/components/navigation/system/state.d.ts +22 -0
  130. package/dist/components/navigation/system/types.d.ts +305 -0
  131. package/dist/components/navigation/types.d.ts +216 -0
  132. package/dist/components/progress/api.d.ts +46 -0
  133. package/dist/components/progress/config.d.ts +72 -0
  134. package/dist/components/progress/constants.d.ts +139 -0
  135. package/dist/components/progress/features/canvas.d.ts +32 -0
  136. package/dist/components/progress/features/circular.d.ts +9 -0
  137. package/dist/components/progress/features/index.d.ts +8 -0
  138. package/dist/components/progress/features/linear.d.ts +9 -0
  139. package/dist/components/progress/features/resize-observer.d.ts +5 -0
  140. package/dist/components/progress/features/state.d.ts +38 -0
  141. package/dist/components/progress/features.d.ts +40 -0
  142. package/dist/components/progress/index.d.ts +3 -0
  143. package/dist/components/progress/progress.d.ts +24 -0
  144. package/dist/components/progress/types.d.ts +272 -0
  145. package/dist/components/radios/api.d.ts +37 -0
  146. package/dist/components/radios/config.d.ts +42 -0
  147. package/dist/components/radios/constants.d.ts +114 -0
  148. package/dist/components/radios/index.d.ts +3 -0
  149. package/dist/components/radios/radio.d.ts +8 -0
  150. package/dist/components/radios/radios.d.ts +8 -0
  151. package/dist/components/radios/types.d.ts +189 -0
  152. package/dist/components/search/api.d.ts +55 -0
  153. package/dist/components/search/config.d.ts +73 -0
  154. package/dist/components/search/constants.d.ts +128 -0
  155. package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
  156. package/dist/components/search/features/search.d.ts +7 -0
  157. package/dist/components/search/features/states.d.ts +8 -0
  158. package/dist/components/search/features/structure.d.ts +7 -0
  159. package/dist/components/search/index.d.ts +3 -0
  160. package/dist/components/search/search.d.ts +8 -0
  161. package/dist/components/search/types.d.ts +132 -0
  162. package/dist/components/segmented-button/config.d.ts +65 -0
  163. package/dist/components/segmented-button/constants.d.ts +85 -0
  164. package/dist/components/segmented-button/index.d.ts +4 -0
  165. package/dist/components/segmented-button/segment.d.ts +15 -0
  166. package/dist/components/segmented-button/segmented-button.d.ts +49 -0
  167. package/dist/components/segmented-button/types.d.ts +257 -0
  168. package/dist/components/select/api.d.ts +8 -0
  169. package/dist/components/select/config.d.ts +18 -0
  170. package/dist/components/select/constants.d.ts +113 -0
  171. package/dist/components/select/features.d.ts +13 -0
  172. package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
  173. package/dist/components/select/select.d.ts +36 -0
  174. package/dist/components/select/types.d.ts +302 -0
  175. package/dist/components/sheet/api.d.ts +37 -0
  176. package/dist/components/sheet/config.d.ts +42 -0
  177. package/dist/components/sheet/constants.d.ts +136 -0
  178. package/dist/components/sheet/features/content.d.ts +6 -0
  179. package/dist/components/sheet/features/gestures.d.ts +6 -0
  180. package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
  181. package/dist/components/sheet/features/position.d.ts +7 -0
  182. package/dist/components/sheet/features/state.d.ts +6 -0
  183. package/dist/components/sheet/features/title.d.ts +6 -0
  184. package/dist/components/sheet/index.d.ts +3 -0
  185. package/dist/components/sheet/sheet.d.ts +8 -0
  186. package/dist/components/sheet/types.d.ts +250 -0
  187. package/dist/components/slider/api.d.ts +57 -0
  188. package/dist/components/slider/config.d.ts +75 -0
  189. package/dist/components/slider/constants.d.ts +138 -0
  190. package/dist/components/slider/features/controller.d.ts +9 -0
  191. package/dist/components/slider/features/handlers.d.ts +25 -0
  192. package/dist/components/slider/features/index.d.ts +3 -0
  193. package/dist/components/slider/features/range.d.ts +8 -0
  194. package/dist/components/slider/features/states.d.ts +9 -0
  195. package/dist/components/slider/index.d.ts +3 -0
  196. package/dist/components/slider/schema.d.ts +108 -0
  197. package/dist/components/slider/slider.d.ts +18 -0
  198. package/dist/components/slider/types.d.ts +170 -0
  199. package/dist/components/snackbar/api.d.ts +7 -0
  200. package/dist/components/snackbar/config.d.ts +55 -0
  201. package/dist/components/snackbar/constants.d.ts +88 -0
  202. package/dist/components/snackbar/features.d.ts +13 -0
  203. package/dist/components/snackbar/index.d.ts +3 -0
  204. package/dist/components/snackbar/position.d.ts +15 -0
  205. package/dist/components/snackbar/queue.d.ts +7 -0
  206. package/dist/components/snackbar/snackbar.d.ts +8 -0
  207. package/dist/components/snackbar/types.d.ts +172 -0
  208. package/dist/components/switch/api.d.ts +7 -0
  209. package/dist/components/switch/config.d.ts +34 -0
  210. package/dist/components/switch/constants.d.ts +88 -0
  211. package/dist/components/switch/features.d.ts +59 -0
  212. package/dist/components/switch/index.d.ts +4 -0
  213. package/dist/components/switch/switch.d.ts +8 -0
  214. package/dist/components/switch/types.d.ts +131 -0
  215. package/dist/components/tabs/api.d.ts +52 -0
  216. package/dist/components/tabs/config.d.ts +39 -0
  217. package/dist/components/tabs/constants.d.ts +142 -0
  218. package/dist/components/tabs/features.d.ts +133 -0
  219. package/dist/components/tabs/index.d.ts +11 -0
  220. package/dist/components/tabs/indicator.d.ts +49 -0
  221. package/dist/components/tabs/responsive.d.ts +38 -0
  222. package/dist/components/tabs/scroll-indicators.d.ts +18 -0
  223. package/dist/components/tabs/state.d.ts +53 -0
  224. package/dist/components/tabs/tab-api.d.ts +43 -0
  225. package/dist/components/tabs/tab.d.ts +7 -0
  226. package/dist/components/tabs/tabs.d.ts +27 -0
  227. package/dist/components/tabs/types.d.ts +390 -0
  228. package/dist/components/tabs/utils.d.ts +17 -0
  229. package/dist/components/textfield/api.d.ts +8 -0
  230. package/dist/components/textfield/config.d.ts +34 -0
  231. package/dist/components/textfield/constants.d.ts +148 -0
  232. package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
  233. package/dist/components/textfield/features/leading-icon.d.ts +55 -0
  234. package/dist/components/textfield/features/placement.d.ts +28 -0
  235. package/dist/components/textfield/features/prefix-text.d.ts +54 -0
  236. package/dist/components/textfield/features/suffix-text.d.ts +54 -0
  237. package/dist/components/textfield/features/supporting-text.d.ts +59 -0
  238. package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
  239. package/dist/components/textfield/index.d.ts +3 -0
  240. package/dist/components/textfield/textfield.d.ts +36 -0
  241. package/dist/components/textfield/types.d.ts +217 -0
  242. package/dist/components/timepicker/api.d.ts +24 -0
  243. package/dist/components/timepicker/clockdial.d.ts +34 -0
  244. package/dist/components/timepicker/config.d.ts +75 -0
  245. package/dist/components/timepicker/constants.d.ts +266 -0
  246. package/dist/components/timepicker/index.d.ts +4 -0
  247. package/dist/components/timepicker/render.d.ts +9 -0
  248. package/dist/components/timepicker/timepicker.d.ts +8 -0
  249. package/dist/components/timepicker/types.d.ts +284 -0
  250. package/dist/components/timepicker/utils.d.ts +74 -0
  251. package/dist/components/tooltip/api.d.ts +18 -0
  252. package/dist/components/tooltip/config.d.ts +38 -0
  253. package/dist/components/tooltip/constants.d.ts +108 -0
  254. package/dist/components/tooltip/index.d.ts +3 -0
  255. package/dist/components/tooltip/tooltip.d.ts +8 -0
  256. package/dist/components/tooltip/types.d.ts +188 -0
  257. package/dist/components/top-app-bar/config.d.ts +16 -0
  258. package/dist/components/top-app-bar/constants.d.ts +74 -0
  259. package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
  260. package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
  261. package/dist/components/top-app-bar/types.d.ts +118 -0
  262. package/dist/constants.d.ts +30 -0
  263. package/dist/core/canvas/index.d.ts +5 -0
  264. package/dist/core/canvas/resize.d.ts +14 -0
  265. package/dist/core/collection/adapters/base.d.ts +47 -0
  266. package/dist/core/collection/adapters/route.d.ts +149 -0
  267. package/dist/core/collection/collection.d.ts +131 -0
  268. package/dist/core/collection/index.d.ts +10 -0
  269. package/dist/core/collection/list-manager/config.d.ts +29 -0
  270. package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
  271. package/dist/core/collection/list-manager/index.d.ts +61 -0
  272. package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
  273. package/dist/core/collection/list-manager/renderer.d.ts +31 -0
  274. package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
  275. package/dist/core/collection/list-manager/state.d.ts +60 -0
  276. package/dist/core/collection/list-manager/types.d.ts +361 -0
  277. package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
  278. package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
  279. package/dist/core/compose/base.d.ts +31 -0
  280. package/dist/core/compose/component.d.ts +61 -0
  281. package/dist/core/compose/features/badge.d.ts +43 -0
  282. package/dist/core/compose/features/checkable.d.ts +59 -0
  283. package/dist/core/compose/features/constants.d.ts +45 -0
  284. package/dist/core/compose/features/debounce.d.ts +84 -0
  285. package/dist/core/compose/features/disabled.d.ts +47 -0
  286. package/dist/core/compose/features/events.d.ts +37 -0
  287. package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
  288. package/dist/core/compose/features/gestures/pan.d.ts +108 -0
  289. package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
  290. package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
  291. package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
  292. package/dist/core/compose/features/gestures/tap.d.ts +79 -0
  293. package/dist/core/compose/features/gestures.d.ts +86 -0
  294. package/dist/core/compose/features/icon.d.ts +71 -0
  295. package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
  296. package/dist/core/compose/features/input.d.ts +71 -0
  297. package/dist/core/compose/features/lifecycle.d.ts +61 -0
  298. package/dist/core/compose/features/position.d.ts +51 -0
  299. package/dist/core/compose/features/ripple.d.ts +61 -0
  300. package/dist/core/compose/features/size.d.ts +17 -0
  301. package/dist/core/compose/features/style.d.ts +16 -0
  302. package/dist/core/compose/features/text.d.ts +63 -0
  303. package/dist/core/compose/features/textinput.d.ts +93 -0
  304. package/dist/core/compose/features/textlabel.d.ts +57 -0
  305. package/dist/core/compose/features/throttle.d.ts +75 -0
  306. package/dist/core/compose/features/track.d.ts +42 -0
  307. package/dist/core/compose/features/variant.d.ts +17 -0
  308. package/dist/core/compose/features/withEvents.d.ts +45 -0
  309. package/dist/core/compose/index.d.ts +17 -0
  310. package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
  311. package/dist/core/compose/utils/type-guards.d.ts +27 -0
  312. package/dist/core/composition/features/dom.d.ts +19 -0
  313. package/dist/core/composition/features/icon.d.ts +45 -0
  314. package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
  315. package/dist/core/composition/features/label.d.ts +49 -0
  316. package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
  317. package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
  318. package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +35 -83
  319. package/dist/core/config.d.ts +130 -0
  320. package/dist/core/dom/attributes.d.ts +20 -0
  321. package/dist/core/dom/classes.d.ts +52 -0
  322. package/dist/core/dom/create.d.ts +154 -0
  323. package/dist/core/dom/events.d.ts +69 -0
  324. package/dist/core/dom/index.d.ts +6 -0
  325. package/dist/core/dom/utils.d.ts +42 -0
  326. package/dist/core/gestures/index.d.ts +12 -0
  327. package/dist/core/gestures/longpress.d.ts +23 -0
  328. package/dist/core/gestures/manager.d.ts +14 -0
  329. package/dist/core/gestures/pan.d.ts +12 -0
  330. package/dist/core/gestures/pinch.d.ts +14 -0
  331. package/dist/core/gestures/rotate.d.ts +14 -0
  332. package/dist/core/gestures/swipe.d.ts +20 -0
  333. package/dist/core/gestures/tap.d.ts +12 -0
  334. package/dist/core/gestures/types.d.ts +320 -0
  335. package/dist/core/gestures/utils.d.ts +57 -0
  336. package/dist/core/index.d.ts +29 -0
  337. package/dist/core/layout/array.d.ts +15 -0
  338. package/dist/core/layout/config.d.ts +32 -0
  339. package/dist/core/layout/create.d.ts +14 -0
  340. package/dist/core/layout/index.d.ts +13 -0
  341. package/dist/core/layout/jsx.d.ts +13 -0
  342. package/dist/core/layout/object.d.ts +14 -0
  343. package/dist/core/layout/processor.d.ts +28 -0
  344. package/dist/core/layout/result.d.ts +12 -0
  345. package/dist/core/layout/template.d.ts +12 -0
  346. package/dist/core/layout/types.d.ts +137 -0
  347. package/dist/core/layout/utils.d.ts +38 -0
  348. package/dist/core/state/disabled.d.ts +32 -0
  349. package/dist/core/state/emitter.d.ts +40 -0
  350. package/dist/core/state/events.d.ts +36 -0
  351. package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
  352. package/dist/core/state/lifecycle.d.ts +57 -0
  353. package/dist/core/state/store.d.ts +82 -0
  354. package/dist/core/utils/background.d.ts +40 -0
  355. package/dist/core/utils/index.d.ts +18 -0
  356. package/dist/core/utils/mobile.d.ts +54 -0
  357. package/dist/core/utils/object.d.ts +13 -0
  358. package/dist/core/utils/performance.d.ts +79 -0
  359. package/dist/core/utils/theme.d.ts +38 -0
  360. package/dist/core/utils/validate.d.ts +73 -0
  361. package/dist/index.cjs +64 -0
  362. package/dist/index.cjs.map +291 -0
  363. package/dist/index.d.ts +15 -0
  364. package/dist/index.js +53 -14854
  365. package/dist/index.js.map +291 -0
  366. package/dist/package.json +39 -0
  367. package/dist/styles.css +7 -0
  368. package/package.json +23 -4
  369. package/.env +0 -15
  370. package/.typedocignore +0 -11
  371. package/CONTRIBUTING.md +0 -218
  372. package/DOCS.md +0 -153
  373. package/TESTING.md +0 -214
  374. package/git-user-stats.js +0 -545
  375. package/index.ts +0 -10
  376. package/src/components/badge/api.ts +0 -313
  377. package/src/components/badge/config.ts +0 -153
  378. package/src/components/badge/features.ts +0 -194
  379. package/src/components/badge/index.ts +0 -90
  380. package/src/components/badge/types.ts +0 -279
  381. package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
  382. package/src/components/bottom-app-bar/config.ts +0 -29
  383. package/src/components/bottom-app-bar/types.ts +0 -114
  384. package/src/components/button/api.ts +0 -172
  385. package/src/components/button/button.ts +0 -112
  386. package/src/components/button/config.ts +0 -96
  387. package/src/components/button/index.ts +0 -37
  388. package/src/components/button/types.ts +0 -290
  389. package/src/components/card/api.ts +0 -222
  390. package/src/components/card/config.ts +0 -304
  391. package/src/components/card/content.ts +0 -343
  392. package/src/components/card/features.ts +0 -407
  393. package/src/components/card/types.ts +0 -497
  394. package/src/components/carousel/api.ts +0 -147
  395. package/src/components/carousel/carousel.ts +0 -242
  396. package/src/components/carousel/config.ts +0 -91
  397. package/src/components/carousel/constants.ts +0 -181
  398. package/src/components/carousel/features/drag.ts +0 -388
  399. package/src/components/carousel/features/slides.ts +0 -682
  400. package/src/components/carousel/types.ts +0 -327
  401. package/src/components/checkbox/api.ts +0 -82
  402. package/src/components/checkbox/checkbox.ts +0 -142
  403. package/src/components/checkbox/config.ts +0 -89
  404. package/src/components/checkbox/types.ts +0 -342
  405. package/src/components/chips/api.ts +0 -194
  406. package/src/components/chips/chip/api.ts +0 -233
  407. package/src/components/chips/chip/chip.ts +0 -131
  408. package/src/components/chips/chip/config.ts +0 -91
  409. package/src/components/chips/chip/index.ts +0 -3
  410. package/src/components/chips/chips.md +0 -481
  411. package/src/components/chips/chips.ts +0 -75
  412. package/src/components/chips/config.ts +0 -109
  413. package/src/components/chips/constants.ts +0 -61
  414. package/src/components/chips/features/chip-items.ts +0 -33
  415. package/src/components/chips/features/container.ts +0 -77
  416. package/src/components/chips/features/controller.ts +0 -448
  417. package/src/components/chips/features/label.ts +0 -108
  418. package/src/components/chips/index.ts +0 -11
  419. package/src/components/chips/schema.ts +0 -61
  420. package/src/components/chips/types.ts +0 -469
  421. package/src/components/datepicker/api.ts +0 -265
  422. package/src/components/datepicker/config.ts +0 -141
  423. package/src/components/datepicker/datepicker.ts +0 -341
  424. package/src/components/datepicker/index.ts +0 -12
  425. package/src/components/datepicker/render.ts +0 -450
  426. package/src/components/datepicker/types.ts +0 -397
  427. package/src/components/datepicker/utils.ts +0 -289
  428. package/src/components/dialog/api.ts +0 -317
  429. package/src/components/dialog/config.ts +0 -116
  430. package/src/components/dialog/features.ts +0 -907
  431. package/src/components/dialog/index.ts +0 -141
  432. package/src/components/dialog/types.ts +0 -553
  433. package/src/components/divider/config.ts +0 -165
  434. package/src/components/divider/features.ts +0 -233
  435. package/src/components/divider/types.ts +0 -132
  436. package/src/components/extended-fab/api.ts +0 -193
  437. package/src/components/extended-fab/config.ts +0 -140
  438. package/src/components/extended-fab/extended-fab.ts +0 -153
  439. package/src/components/extended-fab/types.ts +0 -749
  440. package/src/components/fab/api.ts +0 -137
  441. package/src/components/fab/config.ts +0 -121
  442. package/src/components/fab/types.ts +0 -615
  443. package/src/components/list/api.ts +0 -82
  444. package/src/components/list/config.ts +0 -63
  445. package/src/components/list/features.ts +0 -229
  446. package/src/components/list/index.ts +0 -67
  447. package/src/components/list/list-item.ts +0 -163
  448. package/src/components/list/list.ts +0 -108
  449. package/src/components/list/types.ts +0 -396
  450. package/src/components/list/utils.ts +0 -98
  451. package/src/components/menu/api.ts +0 -230
  452. package/src/components/menu/config.ts +0 -127
  453. package/src/components/menu/features/anchor.ts +0 -394
  454. package/src/components/menu/features/controller.ts +0 -1423
  455. package/src/components/menu/features/index.ts +0 -13
  456. package/src/components/menu/features/position.ts +0 -353
  457. package/src/components/menu/menu.ts +0 -121
  458. package/src/components/menu/types.ts +0 -392
  459. package/src/components/navigation/api.ts +0 -142
  460. package/src/components/navigation/config.ts +0 -73
  461. package/src/components/navigation/features/controller.ts +0 -273
  462. package/src/components/navigation/features/items.ts +0 -353
  463. package/src/components/navigation/index.ts +0 -11
  464. package/src/components/navigation/nav-item.ts +0 -196
  465. package/src/components/navigation/navigation.ts +0 -115
  466. package/src/components/navigation/system/core.ts +0 -302
  467. package/src/components/navigation/system/events.ts +0 -240
  468. package/src/components/navigation/system/index.ts +0 -184
  469. package/src/components/navigation/system/mobile.ts +0 -278
  470. package/src/components/navigation/system/state.ts +0 -77
  471. package/src/components/navigation/system/types.ts +0 -364
  472. package/src/components/navigation/types.ts +0 -292
  473. package/src/components/progress/api.ts +0 -178
  474. package/src/components/progress/config.ts +0 -122
  475. package/src/components/progress/index.ts +0 -4
  476. package/src/components/progress/progress.ts +0 -159
  477. package/src/components/progress/types.ts +0 -255
  478. package/src/components/radios/api.ts +0 -125
  479. package/src/components/radios/config.ts +0 -59
  480. package/src/components/radios/constants.ts +0 -19
  481. package/src/components/radios/index.ts +0 -3
  482. package/src/components/radios/radio.ts +0 -292
  483. package/src/components/radios/radios.ts +0 -43
  484. package/src/components/radios/types.ts +0 -219
  485. package/src/components/search/api.ts +0 -203
  486. package/src/components/search/config.ts +0 -86
  487. package/src/components/search/features/search.ts +0 -717
  488. package/src/components/search/features/states.ts +0 -169
  489. package/src/components/search/features/structure.ts +0 -197
  490. package/src/components/search/index.ts +0 -7
  491. package/src/components/search/search.ts +0 -52
  492. package/src/components/search/types.ts +0 -175
  493. package/src/components/segmented-button/config.ts +0 -119
  494. package/src/components/segmented-button/index.ts +0 -4
  495. package/src/components/segmented-button/segment.ts +0 -108
  496. package/src/components/segmented-button/segmented-button.ts +0 -361
  497. package/src/components/segmented-button/types.ts +0 -306
  498. package/src/components/select/api.ts +0 -78
  499. package/src/components/select/config.ts +0 -76
  500. package/src/components/select/features.ts +0 -331
  501. package/src/components/select/select.ts +0 -73
  502. package/src/components/select/types.ts +0 -355
  503. package/src/components/sheet/api.ts +0 -96
  504. package/src/components/sheet/config.ts +0 -65
  505. package/src/components/sheet/features/content.ts +0 -51
  506. package/src/components/sheet/features/gestures.ts +0 -177
  507. package/src/components/sheet/features/position.ts +0 -41
  508. package/src/components/sheet/features/state.ts +0 -116
  509. package/src/components/sheet/features/title.ts +0 -86
  510. package/src/components/sheet/index.ts +0 -12
  511. package/src/components/sheet/sheet.ts +0 -56
  512. package/src/components/sheet/types.ts +0 -294
  513. package/src/components/slider/accessibility.md +0 -59
  514. package/src/components/slider/api.ts +0 -192
  515. package/src/components/slider/config.ts +0 -118
  516. package/src/components/slider/features/controller.ts +0 -737
  517. package/src/components/slider/features/handlers.ts +0 -497
  518. package/src/components/slider/features/index.ts +0 -5
  519. package/src/components/slider/features/range.ts +0 -104
  520. package/src/components/slider/features/states.ts +0 -195
  521. package/src/components/slider/index.ts +0 -17
  522. package/src/components/slider/schema.ts +0 -141
  523. package/src/components/slider/slider.ts +0 -76
  524. package/src/components/slider/types.ts +0 -223
  525. package/src/components/snackbar/api.ts +0 -162
  526. package/src/components/snackbar/config.ts +0 -61
  527. package/src/components/snackbar/features.ts +0 -76
  528. package/src/components/snackbar/index.ts +0 -9
  529. package/src/components/snackbar/position.ts +0 -79
  530. package/src/components/snackbar/queue.ts +0 -76
  531. package/src/components/snackbar/snackbar.ts +0 -60
  532. package/src/components/snackbar/types.ts +0 -159
  533. package/src/components/switch/api.ts +0 -93
  534. package/src/components/switch/config.ts +0 -56
  535. package/src/components/switch/features.ts +0 -198
  536. package/src/components/switch/index.ts +0 -8
  537. package/src/components/switch/switch.ts +0 -52
  538. package/src/components/switch/types.ts +0 -168
  539. package/src/components/tabs/api.ts +0 -221
  540. package/src/components/tabs/config.ts +0 -73
  541. package/src/components/tabs/features.ts +0 -403
  542. package/src/components/tabs/index.ts +0 -46
  543. package/src/components/tabs/indicator.ts +0 -285
  544. package/src/components/tabs/responsive.ts +0 -144
  545. package/src/components/tabs/scroll-indicators.ts +0 -149
  546. package/src/components/tabs/state.ts +0 -186
  547. package/src/components/tabs/tab-api.ts +0 -266
  548. package/src/components/tabs/tab.ts +0 -267
  549. package/src/components/tabs/tabs.ts +0 -71
  550. package/src/components/tabs/types.ts +0 -461
  551. package/src/components/tabs/utils.ts +0 -107
  552. package/src/components/textfield/api.ts +0 -197
  553. package/src/components/textfield/config.ts +0 -52
  554. package/src/components/textfield/features/leading-icon.ts +0 -127
  555. package/src/components/textfield/features/placement.ts +0 -149
  556. package/src/components/textfield/features/prefix-text.ts +0 -107
  557. package/src/components/textfield/features/suffix-text.ts +0 -100
  558. package/src/components/textfield/features/supporting-text.ts +0 -113
  559. package/src/components/textfield/features/trailing-icon.ts +0 -108
  560. package/src/components/textfield/index.ts +0 -9
  561. package/src/components/textfield/textfield.ts +0 -92
  562. package/src/components/textfield/types.ts +0 -265
  563. package/src/components/timepicker/README.md +0 -277
  564. package/src/components/timepicker/api.ts +0 -632
  565. package/src/components/timepicker/clockdial.ts +0 -479
  566. package/src/components/timepicker/config.ts +0 -228
  567. package/src/components/timepicker/index.ts +0 -3
  568. package/src/components/timepicker/render.ts +0 -613
  569. package/src/components/timepicker/timepicker.ts +0 -117
  570. package/src/components/timepicker/types.ts +0 -336
  571. package/src/components/timepicker/utils.ts +0 -241
  572. package/src/components/tooltip/api.ts +0 -415
  573. package/src/components/tooltip/config.ts +0 -80
  574. package/src/components/tooltip/index.ts +0 -12
  575. package/src/components/tooltip/tooltip.ts +0 -60
  576. package/src/components/tooltip/types.ts +0 -223
  577. package/src/components/top-app-bar/config.ts +0 -83
  578. package/src/components/top-app-bar/top-app-bar.ts +0 -316
  579. package/src/components/top-app-bar/types.ts +0 -140
  580. package/src/core/build/constants.ts +0 -48
  581. package/src/core/build/icon.ts +0 -137
  582. package/src/core/build/ripple.ts +0 -193
  583. package/src/core/build/text.ts +0 -91
  584. package/src/core/collection/adapters/base.ts +0 -62
  585. package/src/core/collection/adapters/route.ts +0 -201
  586. package/src/core/collection/collection.ts +0 -300
  587. package/src/core/collection/index.ts +0 -57
  588. package/src/core/collection/list-manager.ts +0 -333
  589. package/src/core/compose/base.ts +0 -43
  590. package/src/core/compose/component.ts +0 -255
  591. package/src/core/compose/features/badge.ts +0 -79
  592. package/src/core/compose/features/checkable.ts +0 -155
  593. package/src/core/compose/features/disabled.ts +0 -116
  594. package/src/core/compose/features/events.ts +0 -65
  595. package/src/core/compose/features/icon.ts +0 -71
  596. package/src/core/compose/features/input.ts +0 -174
  597. package/src/core/compose/features/lifecycle.ts +0 -139
  598. package/src/core/compose/features/position.ts +0 -94
  599. package/src/core/compose/features/ripple.ts +0 -58
  600. package/src/core/compose/features/size.ts +0 -29
  601. package/src/core/compose/features/style.ts +0 -31
  602. package/src/core/compose/features/text.ts +0 -44
  603. package/src/core/compose/features/textinput.ts +0 -238
  604. package/src/core/compose/features/textlabel.ts +0 -113
  605. package/src/core/compose/features/track.ts +0 -84
  606. package/src/core/compose/features/variant.ts +0 -29
  607. package/src/core/compose/features/withEvents.ts +0 -137
  608. package/src/core/compose/index.ts +0 -54
  609. package/src/core/composition/features/dom.ts +0 -45
  610. package/src/core/composition/features/icon.ts +0 -131
  611. package/src/core/composition/features/label.ts +0 -155
  612. package/src/core/config.ts +0 -211
  613. package/src/core/dom/attributes.ts +0 -33
  614. package/src/core/dom/classes.ts +0 -132
  615. package/src/core/dom/create.ts +0 -273
  616. package/src/core/dom/events.ts +0 -209
  617. package/src/core/dom/index.ts +0 -10
  618. package/src/core/dom/utils.ts +0 -97
  619. package/src/core/index.ts +0 -111
  620. package/src/core/layout/README.md +0 -715
  621. package/src/core/layout/array.ts +0 -180
  622. package/src/core/layout/config.ts +0 -193
  623. package/src/core/layout/create.ts +0 -54
  624. package/src/core/layout/index.ts +0 -36
  625. package/src/core/layout/object.ts +0 -123
  626. package/src/core/layout/processor.ts +0 -106
  627. package/src/core/layout/result.ts +0 -84
  628. package/src/core/layout/types.ts +0 -180
  629. package/src/core/layout/utils.ts +0 -144
  630. package/src/core/state/disabled.ts +0 -81
  631. package/src/core/state/emitter.ts +0 -94
  632. package/src/core/state/events.ts +0 -88
  633. package/src/core/state/lifecycle.ts +0 -131
  634. package/src/core/state/store.ts +0 -197
  635. package/src/core/utils/index.ts +0 -45
  636. package/src/core/utils/mobile.ts +0 -98
  637. package/src/core/utils/object.ts +0 -41
  638. package/src/core/utils/validate.ts +0 -234
  639. package/src/index.ts +0 -90
  640. package/src/styles/abstract/_base.scss +0 -2
  641. package/src/styles/abstract/_config.scss +0 -28
  642. package/src/styles/abstract/_functions.scss +0 -124
  643. package/src/styles/abstract/_mixins.scss +0 -352
  644. package/src/styles/abstract/_theme.scss +0 -269
  645. package/src/styles/abstract/_variables.scss +0 -305
  646. package/src/styles/base/_reset.scss +0 -86
  647. package/src/styles/base/_typography.scss +0 -155
  648. package/src/styles/components/_badge.scss +0 -182
  649. package/src/styles/components/_bottom-app-bar.scss +0 -103
  650. package/src/styles/components/_button.scss +0 -224
  651. package/src/styles/components/_card.scss +0 -401
  652. package/src/styles/components/_carousel.scss +0 -645
  653. package/src/styles/components/_checkbox.scss +0 -231
  654. package/src/styles/components/_chips.scss +0 -638
  655. package/src/styles/components/_datepicker.scss +0 -358
  656. package/src/styles/components/_dialog.scss +0 -259
  657. package/src/styles/components/_divider.scss +0 -57
  658. package/src/styles/components/_extended-fab.scss +0 -267
  659. package/src/styles/components/_fab.scss +0 -225
  660. package/src/styles/components/_list.scss +0 -248
  661. package/src/styles/components/_menu.scss +0 -242
  662. package/src/styles/components/_navigation-mobile.scss +0 -244
  663. package/src/styles/components/_navigation-system.scss +0 -151
  664. package/src/styles/components/_navigation.scss +0 -407
  665. package/src/styles/components/_progress.scss +0 -151
  666. package/src/styles/components/_radios.scss +0 -187
  667. package/src/styles/components/_search.scss +0 -306
  668. package/src/styles/components/_segmented-button.scss +0 -227
  669. package/src/styles/components/_select.scss +0 -272
  670. package/src/styles/components/_sheet.scss +0 -236
  671. package/src/styles/components/_slider.scss +0 -489
  672. package/src/styles/components/_snackbar.scss +0 -211
  673. package/src/styles/components/_switch.scss +0 -298
  674. package/src/styles/components/_tabs.scss +0 -416
  675. package/src/styles/components/_textfield.scss +0 -773
  676. package/src/styles/components/_timepicker.scss +0 -451
  677. package/src/styles/components/_tooltip.scss +0 -241
  678. package/src/styles/components/_top-app-bar.scss +0 -225
  679. package/src/styles/main.scss +0 -175
  680. package/src/styles/themes/_autumn.scss +0 -105
  681. package/src/styles/themes/_base-theme.scss +0 -85
  682. package/src/styles/themes/_baseline.scss +0 -173
  683. package/src/styles/themes/_bluekhaki.scss +0 -125
  684. package/src/styles/themes/_brownbeige.scss +0 -125
  685. package/src/styles/themes/_browngreen.scss +0 -125
  686. package/src/styles/themes/_forest.scss +0 -77
  687. package/src/styles/themes/_greenbeige.scss +0 -125
  688. package/src/styles/themes/_index.scss +0 -6
  689. package/src/styles/themes/_material.scss +0 -125
  690. package/src/styles/themes/_ocean.scss +0 -77
  691. package/src/styles/themes/_sageivory.scss +0 -125
  692. package/src/styles/themes/_spring.scss +0 -77
  693. package/src/styles/themes/_summer.scss +0 -87
  694. package/src/styles/themes/_sunset.scss +0 -60
  695. package/src/styles/themes/_tealcaramel.scss +0 -125
  696. package/src/styles/themes/_winter.scss +0 -77
  697. package/src/styles/utilities/_colors.scss +0 -154
  698. package/src/styles/utilities/_flexbox.scss +0 -194
  699. package/src/styles/utilities/_layout.scss +0 -665
  700. package/src/styles/utilities/_ripple.scss +0 -79
  701. package/src/styles/utilities/_spacing.scss +0 -139
  702. package/src/styles/utilities/_typography.scss +0 -178
  703. package/src/styles/utilities/_visibility.scss +0 -142
@@ -0,0 +1,483 @@
1
+ /**
2
+ * Dialog size types - determines the width and height of the dialog
3
+ *
4
+ * @category Components
5
+ * @remarks
6
+ * - small: 320px width, for simple messages or choices
7
+ * - medium: 560px width, for standard forms or content (default)
8
+ * - large: 800px width, for complex forms or rich content
9
+ * - fullwidth: Spans the full width of the viewport with margins
10
+ * - fullscreen: Takes up the entire viewport (similar to a new page)
11
+ */
12
+ export type DialogSize = 'small' | 'medium' | 'large' | 'fullwidth' | 'fullscreen';
13
+ /**
14
+ * Dialog animation types - controls how the dialog appears and disappears
15
+ *
16
+ * @category Components
17
+ * @remarks
18
+ * - scale: Scale up/down animation from center (default)
19
+ * - slide-up: Slide in from bottom, slide out to bottom
20
+ * - slide-down: Slide in from top, slide out to top
21
+ * - fade: Simple fade in/out animation
22
+ */
23
+ export type DialogAnimation = 'scale' | 'slide-up' | 'slide-down' | 'fade';
24
+ /**
25
+ * Dialog footer alignment types - controls how buttons in the footer are aligned
26
+ *
27
+ * @category Components
28
+ * @remarks
29
+ * - right: Align buttons to the right (default, follows Material Design guidelines)
30
+ * - left: Align buttons to the left
31
+ * - center: Center buttons in footer
32
+ * - space-between: Space buttons evenly, with first button at left, last at right
33
+ */
34
+ export type DialogFooterAlignment = 'right' | 'left' | 'center' | 'space-between';
35
+ /**
36
+ * Dialog event types - events that can be listened to with the on() method
37
+ *
38
+ * @category Components
39
+ * @remarks
40
+ * - open: Fired when the dialog begins opening
41
+ * - close: Fired when the dialog begins closing
42
+ * - beforeopen: Fired before the dialog starts opening (can be prevented)
43
+ * - beforeclose: Fired before the dialog starts closing (can be prevented)
44
+ * - afteropen: Fired after the dialog has fully opened (animation complete)
45
+ * - afterclose: Fired after the dialog has fully closed (animation complete)
46
+ */
47
+ export type DialogEventType = 'open' | 'close' | 'beforeopen' | 'beforeclose' | 'afteropen' | 'afterclose';
48
+ /**
49
+ * Configuration interface for the Dialog component
50
+ *
51
+ * @category Components
52
+ * @description
53
+ * Defines the appearance and behavior of a dialog component.
54
+ * All properties are optional with sensible defaults.
55
+ */
56
+ export interface DialogConfig {
57
+ /**
58
+ * Dialog title text - appears in the header
59
+ * @example "Settings"
60
+ */
61
+ title?: string;
62
+ /**
63
+ * Dialog subtitle text - appears below title in smaller text
64
+ * @example "Configure your preferences"
65
+ */
66
+ subtitle?: string;
67
+ /**
68
+ * Dialog content (text or HTML)
69
+ * Can include rich content like forms, images, etc.
70
+ * @example "This action cannot be undone."
71
+ */
72
+ content?: string;
73
+ /**
74
+ * Whether to show close button (X) in the header
75
+ * @default true
76
+ */
77
+ closeButton?: boolean;
78
+ /**
79
+ * Additional CSS classes to apply to the dialog
80
+ * @example "settings-dialog important-dialog"
81
+ */
82
+ class?: string;
83
+ /**
84
+ * Dialog size variant
85
+ * Controls the width and height of the dialog
86
+ * @default "medium"
87
+ */
88
+ size?: DialogSize | string;
89
+ /**
90
+ * Dialog animation variant
91
+ * Controls how the dialog appears and disappears
92
+ * @default "scale"
93
+ */
94
+ animation?: DialogAnimation | string;
95
+ /**
96
+ * Footer buttons alignment
97
+ * Controls how buttons in the footer are positioned
98
+ * @default "right"
99
+ */
100
+ footerAlignment?: DialogFooterAlignment | string;
101
+ /**
102
+ * Whether dialog is initially open
103
+ * @default false
104
+ */
105
+ open?: boolean;
106
+ /**
107
+ * Whether to close when clicking overlay background
108
+ * When true, allows users to dismiss by clicking outside
109
+ * @default true
110
+ */
111
+ closeOnOverlayClick?: boolean;
112
+ /**
113
+ * Whether to close when Escape key is pressed
114
+ * @default true
115
+ */
116
+ closeOnEscape?: boolean;
117
+ /**
118
+ * Whether dialog should be modal
119
+ * When true, prevents interaction with background content
120
+ * @default true
121
+ */
122
+ modal?: boolean;
123
+ /**
124
+ * Whether to focus the first focusable element when opened
125
+ * Important for accessibility and keyboard navigation
126
+ * @default true
127
+ */
128
+ autofocus?: boolean;
129
+ /**
130
+ * Whether to trap focus within dialog when opened
131
+ * Prevents tabbing outside the dialog, improving accessibility
132
+ * @default true
133
+ */
134
+ trapFocus?: boolean;
135
+ /**
136
+ * Parent element to append dialog to
137
+ * @default document.body
138
+ */
139
+ container?: HTMLElement;
140
+ /**
141
+ * Footer buttons configuration
142
+ * Array of button objects to display in the footer
143
+ */
144
+ buttons?: DialogButton[];
145
+ /**
146
+ * Whether to show a divider between header and content
147
+ * @default false
148
+ */
149
+ divider?: boolean;
150
+ /**
151
+ * Dialog z-index - controls stacking order
152
+ * @default 1000
153
+ */
154
+ zIndex?: number;
155
+ /**
156
+ * Duration of open/close animations in milliseconds
157
+ * @default 300
158
+ */
159
+ animationDuration?: number;
160
+ /**
161
+ * Event handlers for dialog events
162
+ * Register event handlers during initialization
163
+ * @example
164
+ * {
165
+ * afteropen: (event) => { console.log('Dialog opened'); }
166
+ * }
167
+ */
168
+ on?: {
169
+ [key in DialogEventType]?: (event: DialogEvent) => void;
170
+ };
171
+ }
172
+ /**
173
+ * Dialog button configuration
174
+ *
175
+ * Defines the appearance and behavior of buttons in the dialog footer.
176
+ *
177
+ * @category Components
178
+ */
179
+ export interface DialogButton {
180
+ /**
181
+ * Button text label
182
+ * @example "Save" | "Cancel" | "Delete"
183
+ */
184
+ text: string;
185
+ /**
186
+ * Button variant (uses button component variants)
187
+ * @default "text"
188
+ * @example "filled" | "text" | "outlined" | "tonal"
189
+ */
190
+ variant?: string;
191
+ /**
192
+ * Button color
193
+ * @example "primary" | "error"
194
+ */
195
+ color?: string;
196
+ /**
197
+ * Button size
198
+ * @default "medium"
199
+ * @example "small" | "medium" | "large"
200
+ */
201
+ size?: string;
202
+ /**
203
+ * Button click handler
204
+ * Return false to prevent dialog closing
205
+ * @param event - The click event
206
+ * @param dialog - The dialog component instance
207
+ * @returns Optional boolean, false prevents dialog from closing
208
+ */
209
+ onClick?: (event: MouseEvent, dialog: DialogComponent) => void | boolean;
210
+ /**
211
+ * Whether to close the dialog when this button is clicked
212
+ * Set to false for validation or multi-step flows
213
+ * @default true
214
+ */
215
+ closeDialog?: boolean;
216
+ /**
217
+ * Whether to autofocus this button when the dialog opens
218
+ * Typically used for primary action buttons
219
+ * @default false
220
+ */
221
+ autofocus?: boolean;
222
+ /**
223
+ * Additional button attributes to pass to the button element
224
+ * @example { 'data-id': 'save-button', 'form': 'profile-form' }
225
+ */
226
+ attributes?: Record<string, any>;
227
+ }
228
+ /**
229
+ * Dialog event object
230
+ *
231
+ * Passed to event handlers registered with the on() method.
232
+ *
233
+ * @category Components
234
+ */
235
+ export interface DialogEvent {
236
+ /**
237
+ * Dialog component instance that triggered the event
238
+ */
239
+ dialog: DialogComponent;
240
+ /**
241
+ * Original browser event if applicable
242
+ * May be undefined for programmatic events
243
+ */
244
+ originalEvent?: Event;
245
+ /**
246
+ * Call this method to prevent the default action
247
+ * For example, to prevent a dialog from closing
248
+ */
249
+ preventDefault: () => void;
250
+ /**
251
+ * Whether the default action was prevented
252
+ * Will be true if preventDefault() was called
253
+ */
254
+ defaultPrevented: boolean;
255
+ }
256
+ /**
257
+ * Dialog component interface
258
+ *
259
+ * Provides methods for controlling a Material Design 3 dialog
260
+ *
261
+ * @category Components
262
+ */
263
+ export interface DialogComponent {
264
+ /**
265
+ * The dialog's root DOM element
266
+ */
267
+ element: HTMLElement;
268
+ /**
269
+ * The dialog's overlay/backdrop element
270
+ */
271
+ overlay: HTMLElement;
272
+ /**
273
+ * Opens the dialog
274
+ * Displays the dialog with animation
275
+ * @returns Dialog component for method chaining
276
+ */
277
+ open: () => DialogComponent;
278
+ /**
279
+ * Closes the dialog
280
+ * Hides the dialog with animation
281
+ * @returns Dialog component for method chaining
282
+ */
283
+ close: () => DialogComponent;
284
+ /**
285
+ * Toggles dialog open/closed state
286
+ * @param open - Optional boolean to force specific state
287
+ * @returns Dialog component for method chaining
288
+ * @example
289
+ * dialog.toggle(); // Toggle current state
290
+ * dialog.toggle(true); // Force open
291
+ */
292
+ toggle: (open?: boolean) => DialogComponent;
293
+ /**
294
+ * Checks if dialog is currently open
295
+ * @returns True if dialog is open, false otherwise
296
+ */
297
+ isOpen: () => boolean;
298
+ /**
299
+ * Sets dialog title text
300
+ * @param title - New title to display in header
301
+ * @returns Dialog component for method chaining
302
+ */
303
+ setTitle: (title: string) => DialogComponent;
304
+ /**
305
+ * Gets dialog current title text
306
+ * @returns Current title text
307
+ */
308
+ getTitle: () => string;
309
+ /**
310
+ * Sets dialog subtitle text
311
+ * @param subtitle - New subtitle to display below title
312
+ * @returns Dialog component for method chaining
313
+ */
314
+ setSubtitle: (subtitle: string) => DialogComponent;
315
+ /**
316
+ * Gets dialog current subtitle text
317
+ * @returns Current subtitle text
318
+ */
319
+ getSubtitle: () => string;
320
+ /**
321
+ * Sets dialog content
322
+ * @param content - New content (text or HTML)
323
+ * @returns Dialog component for method chaining
324
+ */
325
+ setContent: (content: string) => DialogComponent;
326
+ /**
327
+ * Gets dialog content
328
+ * @returns Current content text/HTML
329
+ */
330
+ getContent: () => string;
331
+ /**
332
+ * Adds a button to the dialog footer
333
+ * @param button - Button configuration object
334
+ * @returns Dialog component for method chaining
335
+ */
336
+ addButton: (button: DialogButton) => DialogComponent;
337
+ /**
338
+ * Removes a button by index or text
339
+ * @param indexOrText - Button index or text content
340
+ * @returns Dialog component for method chaining
341
+ * @example
342
+ * dialog.removeButton(0); // Remove first button
343
+ * dialog.removeButton('Cancel'); // Remove button with text 'Cancel'
344
+ */
345
+ removeButton: (indexOrText: number | string) => DialogComponent;
346
+ /**
347
+ * Gets all footer buttons
348
+ * @returns Array of button configuration objects
349
+ */
350
+ getButtons: () => DialogButton[];
351
+ /**
352
+ * Sets footer button alignment
353
+ * @param alignment - Alignment value
354
+ * @returns Dialog component for method chaining
355
+ */
356
+ setFooterAlignment: (alignment: DialogFooterAlignment | string) => DialogComponent;
357
+ /**
358
+ * Sets dialog size
359
+ * @param size - Size variant
360
+ * @returns Dialog component for method chaining
361
+ */
362
+ setSize: (size: DialogSize | string) => DialogComponent;
363
+ /**
364
+ * Adds an event listener to the dialog
365
+ * @param event - Event name
366
+ * @param handler - Event handler function
367
+ * @returns Dialog component for method chaining
368
+ * @example
369
+ * dialog.on('beforeclose', (event) => {
370
+ * // Prevent dialog from closing if form is invalid
371
+ * if (!isFormValid()) {
372
+ * event.preventDefault();
373
+ * }
374
+ * });
375
+ */
376
+ on: (event: DialogEventType | string, handler: (event: DialogEvent) => void) => DialogComponent;
377
+ /**
378
+ * Removes an event listener from the dialog
379
+ * @param event - Event name
380
+ * @param handler - Event handler function
381
+ * @returns Dialog component for method chaining
382
+ */
383
+ off: (event: DialogEventType | string, handler: (event: DialogEvent) => void) => DialogComponent;
384
+ /**
385
+ * Gets dialog header element
386
+ * @returns Header element or null if not present
387
+ */
388
+ getHeaderElement: () => HTMLElement | null;
389
+ /**
390
+ * Gets dialog content element
391
+ * @returns Content element or null if not present
392
+ */
393
+ getContentElement: () => HTMLElement | null;
394
+ /**
395
+ * Gets dialog footer element
396
+ * @returns Footer element or null if not present
397
+ */
398
+ getFooterElement: () => HTMLElement | null;
399
+ /**
400
+ * Shows or hides the divider between header and content
401
+ * @param show - Whether to show or hide divider
402
+ * @returns Dialog component for method chaining
403
+ */
404
+ toggleDivider: (show: boolean) => DialogComponent;
405
+ /**
406
+ * Checks if the dialog has a divider visible
407
+ * @returns True if divider is visible, false otherwise
408
+ */
409
+ hasDivider: () => boolean;
410
+ /**
411
+ * Creates a confirmation dialog with Yes/No buttons
412
+ * Returns a promise that resolves to true if confirmed, false otherwise
413
+ *
414
+ * @param options - Confirmation dialog options
415
+ * @returns Promise resolving to boolean result
416
+ * @example
417
+ * const result = await dialog.confirm({
418
+ * title: 'Delete Item',
419
+ * message: 'Are you sure you want to delete this item?'
420
+ * });
421
+ *
422
+ * if (result) {
423
+ * deleteItem();
424
+ * }
425
+ */
426
+ confirm: (options?: DialogConfirmOptions) => Promise<boolean>;
427
+ /**
428
+ * Destroys the dialog and removes it from DOM
429
+ * Cleans up all event listeners and references
430
+ */
431
+ destroy: () => void;
432
+ }
433
+ /**
434
+ * Options for confirmation dialog
435
+ *
436
+ * Used with the dialog.confirm() method to create a simple
437
+ * confirmation dialog with customizable options.
438
+ *
439
+ * @category Components
440
+ */
441
+ export interface DialogConfirmOptions {
442
+ /**
443
+ * Confirmation dialog title
444
+ * @default "Confirm"
445
+ * @example "Delete Item"
446
+ */
447
+ title?: string;
448
+ /**
449
+ * Confirmation message/question to display
450
+ * Required field for the confirmation dialog
451
+ * @example "Are you sure you want to delete this item?"
452
+ */
453
+ message: string;
454
+ /**
455
+ * Confirm button text
456
+ * @default "Yes"
457
+ * @example "Delete" | "Confirm" | "Yes, I'm sure"
458
+ */
459
+ confirmText?: string;
460
+ /**
461
+ * Cancel button text
462
+ * @default "No"
463
+ * @example "Cancel" | "No, go back"
464
+ */
465
+ cancelText?: string;
466
+ /**
467
+ * Confirm button variant
468
+ * @default "filled"
469
+ * @example "filled" | "tonal"
470
+ */
471
+ confirmVariant?: string;
472
+ /**
473
+ * Cancel button variant
474
+ * @default "text"
475
+ * @example "text" | "outlined"
476
+ */
477
+ cancelVariant?: string;
478
+ /**
479
+ * Dialog size for the confirmation dialog
480
+ * @default "small"
481
+ */
482
+ size?: DialogSize | string;
483
+ }
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Configuration options for divider components
3
+ *
4
+ * Controls the appearance, orientation, and behavior of Material Design 3 dividers.
5
+ *
6
+ * @category Components
7
+ */
8
+ export interface DividerConfig {
9
+ /**
10
+ * CSS class prefix (defaults to 'mtrl')
11
+ *
12
+ * Used for generating BEM-style class names for the component
13
+ */
14
+ prefix?: string;
15
+ /**
16
+ * CSS class to add to the divider
17
+ *
18
+ * Additional classes for custom styling needs.
19
+ * Can be a single class string or an array of class strings.
20
+ *
21
+ * @example 'my-custom-divider' or ['my-custom-divider', 'special-spacing']
22
+ */
23
+ class?: string | string[];
24
+ /**
25
+ * Orientation of the divider
26
+ *
27
+ * - 'horizontal': Creates a horizontal line (default)
28
+ * - 'vertical': Creates a vertical line
29
+ *
30
+ * @default 'horizontal'
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // Create a vertical divider
35
+ * createDivider({ orientation: 'vertical' })
36
+ * ```
37
+ */
38
+ orientation?: 'horizontal' | 'vertical';
39
+ /**
40
+ * Variant of the divider
41
+ *
42
+ * Controls how the divider is inset within its container:
43
+ * - 'full-width': Spans the entire width/height (default)
44
+ * - 'inset': Adds space at the start (left for horizontal, top for vertical)
45
+ * - 'middle-inset': Adds space at both start and end
46
+ *
47
+ * Most commonly used in lists to align dividers with text content.
48
+ *
49
+ * @default 'full-width'
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Create a list divider with left inset
54
+ * createDivider({ variant: 'inset' })
55
+ * ```
56
+ */
57
+ variant?: 'full-width' | 'inset' | 'middle-inset';
58
+ /**
59
+ * Custom inset value (left margin for horizontal, top margin for vertical)
60
+ *
61
+ * Overrides the default inset spacing at the start of the divider.
62
+ * Only applies when variant is 'inset' or 'middle-inset'.
63
+ *
64
+ * @default 16 for 'inset' and 'middle-inset' variants
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * // Create a divider with 24px left inset
69
+ * createDivider({ variant: 'inset', insetStart: 24 })
70
+ * ```
71
+ */
72
+ insetStart?: number;
73
+ /**
74
+ * Custom inset end value (right margin for horizontal, bottom margin for vertical)
75
+ *
76
+ * Overrides the default inset spacing at the end of the divider.
77
+ * Only applies when variant is 'middle-inset'.
78
+ *
79
+ * @default 0 for 'inset', 16 for 'middle-inset'
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // Create a divider with custom insets on both sides
84
+ * createDivider({ variant: 'middle-inset', insetStart: 16, insetEnd: 24 })
85
+ * ```
86
+ */
87
+ insetEnd?: number;
88
+ /**
89
+ * Color of the divider
90
+ *
91
+ * Sets a custom color for the divider. Accepts any valid CSS color value.
92
+ * By default, dividers use the 'outline-variant' color from the Material theme.
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * // Create a blue divider
97
+ * createDivider({ color: '#2196F3' })
98
+ *
99
+ * // Create a divider with a semi-transparent color
100
+ * createDivider({ color: 'rgba(0, 0, 0, 0.12)' })
101
+ * ```
102
+ */
103
+ color?: string;
104
+ /**
105
+ * Thickness of the divider in pixels
106
+ *
107
+ * Controls the thickness (height for horizontal, width for vertical) of the divider.
108
+ * Material Design 3 typically uses 1px thickness for dividers.
109
+ *
110
+ * @default 1
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * // Create a bold divider
115
+ * createDivider({ thickness: 2 })
116
+ * ```
117
+ */
118
+ thickness?: number;
119
+ /**
120
+ * Used internally for component composition
121
+ *
122
+ * @internal
123
+ */
124
+ componentName?: string;
125
+ }
126
+ /**
127
+ * Default configuration for dividers
128
+ *
129
+ * @internal
130
+ */
131
+ export declare const defaultConfig: Partial<DividerConfig>;
132
+ /**
133
+ * Creates a base configuration object for divider
134
+ *
135
+ * Merges user-provided configuration with default values and ensures
136
+ * all required properties have values.
137
+ *
138
+ * @param config - User provided configuration
139
+ * @returns Complete configuration with defaults applied
140
+ *
141
+ * @internal
142
+ */
143
+ export declare const createBaseConfig: (config?: DividerConfig) => DividerConfig;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Divider orientation options
3
+ */
4
+ export declare const DIVIDER_ORIENTATIONS: {
5
+ /** Horizontal divider (default) */
6
+ readonly HORIZONTAL: "horizontal";
7
+ /** Vertical divider */
8
+ readonly VERTICAL: "vertical";
9
+ };
10
+ /**
11
+ * Divider variant options
12
+ */
13
+ export declare const DIVIDER_VARIANTS: {
14
+ /** Spans the entire width/height of the container (default) */
15
+ readonly FULL_WIDTH: "full-width";
16
+ /** Adds space at the start (left for horizontal, top for vertical) */
17
+ readonly INSET: "inset";
18
+ /** Adds space at both start and end */
19
+ readonly MIDDLE_INSET: "middle-inset";
20
+ };
21
+ /**
22
+ * Default divider thickness in pixels
23
+ * Following Material Design 3 guidelines
24
+ */
25
+ export declare const DEFAULT_DIVIDER_THICKNESS = 1;
26
+ /**
27
+ * Default inset value in pixels
28
+ * Applied when variant is 'inset' or 'middle-inset'
29
+ */
30
+ export declare const DEFAULT_INSET_VALUE = 16;
31
+ /**
32
+ * CSS classes used by the divider component
33
+ */
34
+ export declare const DIVIDER_CLASSES: {
35
+ /** Root divider element */
36
+ readonly ROOT: "divider";
37
+ /** Applied to horizontal dividers */
38
+ readonly HORIZONTAL: "divider--horizontal";
39
+ /** Applied to vertical dividers */
40
+ readonly VERTICAL: "divider--vertical";
41
+ /** Applied to inset dividers */
42
+ readonly INSET: "divider--inset";
43
+ /** Applied to middle-inset dividers */
44
+ readonly MIDDLE_INSET: "divider--middle-inset";
45
+ };