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,132 @@
1
+ /**
2
+ * Navigation variants for the search component
3
+ */
4
+ export type NavVariant = 'rail' | 'drawer' | 'bar' | 'modal' | 'standard';
5
+ /**
6
+ * Valid event types for search component
7
+ */
8
+ export type SearchEventType = 'focus' | 'blur' | 'input' | 'submit' | 'clear' | 'iconClick';
9
+ /**
10
+ * Configuration options for the search component
11
+ * @interface SearchConfig
12
+ */
13
+ export interface SearchConfig {
14
+ /** The variant of the search component (rail, drawer, bar, modal, or standard) */
15
+ variant?: NavVariant | string;
16
+ /** Whether the search component is disabled */
17
+ disabled?: boolean;
18
+ /** Placeholder text for the search input */
19
+ placeholder?: string;
20
+ /** Initial value for the search input */
21
+ value?: string;
22
+ /** Leading icon HTML or 'none' to remove */
23
+ leadingIcon?: string;
24
+ /** Trailing icon HTML (optional) */
25
+ trailingIcon?: string;
26
+ /** Second trailing icon HTML (optional) */
27
+ trailingIcon2?: string;
28
+ /** Avatar HTML for trailing avatar (optional) */
29
+ avatar?: string;
30
+ /** If true, will show the clear button when the input has text */
31
+ showClearButton?: boolean;
32
+ /** Callback function when a search is submitted */
33
+ onSubmit?: (value: string) => void;
34
+ /** Callback function when the input value changes */
35
+ onInput?: (value: string) => void;
36
+ /** Callback function when the clear button is clicked */
37
+ onClear?: () => void;
38
+ /** Suggestions to show when the search is focused (array of strings or objects) */
39
+ suggestions?: string[] | Array<{
40
+ text: string;
41
+ value?: string;
42
+ icon?: string;
43
+ }>;
44
+ /** Whether to show dividers between suggestion groups */
45
+ showDividers?: boolean;
46
+ /** Additional CSS classes */
47
+ class?: string;
48
+ /** Maximum width of the search component in pixels */
49
+ maxWidth?: number;
50
+ /** Minimum width of the search component in pixels */
51
+ minWidth?: number;
52
+ /** Whether the search component is full-width */
53
+ fullWidth?: boolean;
54
+ /** Event handlers for search events */
55
+ on?: {
56
+ [key in SearchEventType]?: (event: SearchEvent) => void;
57
+ };
58
+ }
59
+ /**
60
+ * Search event data
61
+ * @interface SearchEvent
62
+ */
63
+ export interface SearchEvent {
64
+ /** The search component that triggered the event */
65
+ search: any;
66
+ /** Current search value */
67
+ value: string;
68
+ /** Original DOM event if available */
69
+ originalEvent: Event | null;
70
+ /** Function to prevent default behavior */
71
+ preventDefault: () => void;
72
+ /** Whether default behavior was prevented */
73
+ defaultPrevented: boolean;
74
+ }
75
+ /**
76
+ * Search component public API interface
77
+ * @interface SearchComponent
78
+ */
79
+ export interface SearchComponent {
80
+ /** The root element of the search component */
81
+ element: HTMLElement;
82
+ /** Sets the search value */
83
+ setValue: (value: string, triggerEvent?: boolean) => SearchComponent;
84
+ /** Gets the search value */
85
+ getValue: () => string;
86
+ /** Sets placeholder text */
87
+ setPlaceholder: (text: string) => SearchComponent;
88
+ /** Gets placeholder text */
89
+ getPlaceholder: () => string;
90
+ /** Sets leading icon */
91
+ setLeadingIcon: (iconHtml: string) => SearchComponent;
92
+ /** Sets trailing icon */
93
+ setTrailingIcon: (iconHtml: string) => SearchComponent;
94
+ /** Sets second trailing icon */
95
+ setTrailingIcon2: (iconHtml: string) => SearchComponent;
96
+ /** Sets avatar */
97
+ setAvatar: (avatarHtml: string) => SearchComponent;
98
+ /** Shows or hides clear button */
99
+ showClearButton: (show: boolean) => SearchComponent;
100
+ /** Updates suggestions */
101
+ setSuggestions: (suggestions: string[] | Array<{
102
+ text: string;
103
+ value?: string;
104
+ icon?: string;
105
+ }>) => SearchComponent;
106
+ /** Shows or hides suggestions */
107
+ showSuggestions: (show: boolean) => SearchComponent;
108
+ /** Focuses the search input */
109
+ focus: () => SearchComponent;
110
+ /** Blurs the search input */
111
+ blur: () => SearchComponent;
112
+ /** Expands the search bar into view mode (if in bar mode) */
113
+ expand: () => SearchComponent;
114
+ /** Collapses the search view back to bar mode */
115
+ collapse: () => SearchComponent;
116
+ /** Clears the search input */
117
+ clear: () => SearchComponent;
118
+ /** Submits the search */
119
+ submit: () => SearchComponent;
120
+ /** Enables the search component */
121
+ enable: () => SearchComponent;
122
+ /** Disables the search component */
123
+ disable: () => SearchComponent;
124
+ /** Checks if search is disabled */
125
+ isDisabled: () => boolean;
126
+ /** Adds event listener */
127
+ on: (event: SearchEventType, handler: (event: SearchEvent) => void) => SearchComponent;
128
+ /** Removes event listener */
129
+ off: (event: SearchEventType, handler: (event: SearchEvent) => void) => SearchComponent;
130
+ /** Destroys the search component and cleans up resources */
131
+ destroy: () => void;
132
+ }
@@ -0,0 +1,65 @@
1
+ import { SegmentedButtonConfig, SelectionMode } from './types';
2
+ /**
3
+ * Default configuration values for segmented buttons
4
+ * @internal
5
+ */
6
+ export declare const DEFAULT_CONFIG: {
7
+ mode: "single";
8
+ ripple: true;
9
+ density: "default";
10
+ };
11
+ /**
12
+ * Creates the base configuration for Segmented Button component
13
+ * @param {SegmentedButtonConfig} config - User provided configuration
14
+ * @returns {SegmentedButtonConfig} Complete configuration with defaults applied
15
+ * @internal
16
+ */
17
+ export declare const createBaseConfig: (config?: SegmentedButtonConfig) => SegmentedButtonConfig;
18
+ /**
19
+ * Generates element configuration for the Segmented Button container
20
+ * @param {SegmentedButtonConfig} config - Segmented Button configuration
21
+ * @returns {Object} Element configuration object for withElement
22
+ * @internal
23
+ */
24
+ export declare const getContainerConfig: (config: SegmentedButtonConfig) => {
25
+ tag: string;
26
+ componentName: string;
27
+ attributes: {
28
+ role: string;
29
+ 'aria-label': string;
30
+ 'data-mode': SelectionMode;
31
+ 'data-density': string;
32
+ };
33
+ className: string[];
34
+ interactive: boolean;
35
+ };
36
+ /**
37
+ * Gets density-specific sizing and spacing values
38
+ * @param {string} density - The density level
39
+ * @returns {Object} CSS variables with sizing values
40
+ * @internal
41
+ */
42
+ export declare const getDensityStyles: (density: string) => Record<string, string>;
43
+ /**
44
+ * Generates configuration for a segment element
45
+ * @param {Object} segment - Segment configuration
46
+ * @param {string} prefix - Component prefix
47
+ * @param {boolean} groupDisabled - Whether the entire group is disabled
48
+ * @returns {Object} Element configuration for the segment
49
+ * @internal
50
+ */
51
+ export declare const getSegmentConfig: (segment: any, prefix: any, groupDisabled?: boolean) => {
52
+ tag: string;
53
+ attributes: {
54
+ type: string;
55
+ role: string;
56
+ disabled: boolean;
57
+ 'aria-pressed': string;
58
+ value: any;
59
+ };
60
+ className: any[];
61
+ forwardEvents: {
62
+ click: (component: any) => boolean;
63
+ };
64
+ interactive: boolean;
65
+ };
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Selection modes for segmented buttons
3
+ */
4
+ export declare const SEGMENTED_BUTTON_MODES: {
5
+ /** Only one segment can be selected at a time */
6
+ readonly SINGLE: "single";
7
+ /** Multiple segments can be selected */
8
+ readonly MULTI: "multi";
9
+ };
10
+ /**
11
+ * Density levels for segmented buttons
12
+ */
13
+ export declare const SEGMENTED_BUTTON_DENSITY: {
14
+ /** Default size with standard spacing */
15
+ readonly DEFAULT: "default";
16
+ /** Reduced size and spacing, more compact */
17
+ readonly COMFORTABLE: "comfortable";
18
+ /** Minimal size and spacing, most compact */
19
+ readonly COMPACT: "compact";
20
+ };
21
+ /**
22
+ * Segmented button events
23
+ */
24
+ export declare const SEGMENTED_BUTTON_EVENTS: {
25
+ /** Fired when selection changes */
26
+ readonly CHANGE: "change";
27
+ };
28
+ /**
29
+ * Default configuration values
30
+ */
31
+ export declare const SEGMENTED_BUTTON_DEFAULTS: {
32
+ /** Default selection mode */
33
+ readonly MODE: "single";
34
+ /** Default density level */
35
+ readonly DENSITY: "default";
36
+ /** Whether ripple effect is enabled by default */
37
+ readonly RIPPLE: true;
38
+ /** Default ripple animation duration in milliseconds */
39
+ readonly RIPPLE_DURATION: 300;
40
+ /** Default ripple animation timing function */
41
+ readonly RIPPLE_TIMING: "cubic-bezier(0.4, 0, 0.2, 1)";
42
+ /** Default ripple opacity values [start, end] */
43
+ readonly RIPPLE_OPACITY: readonly ["0.2", "0"];
44
+ };
45
+ export declare const DEFAULT_CHECKMARK_ICON = "\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n</svg>";
46
+ /**
47
+ * Default checkmark icon for selected segments
48
+ */
49
+ export declare const SEGMENTED_BUTTON_ICONS: {
50
+ /** Default checkmark icon */
51
+ readonly CHECKMARK: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>";
52
+ };
53
+ /**
54
+ * CSS classes for segmented button elements
55
+ */
56
+ export declare const SEGMENTED_BUTTON_CLASSES: {
57
+ /** Container element */
58
+ readonly CONTAINER: "segmented-button";
59
+ /** Individual segment */
60
+ readonly SEGMENT: "segmented-button__segment";
61
+ /** Selected segment */
62
+ readonly SELECTED: "segmented-button__segment--selected";
63
+ /** Disabled segment */
64
+ readonly DISABLED: "segmented-button__segment--disabled";
65
+ /** Segment with icon */
66
+ readonly HAS_ICON: "segmented-button__segment--has-icon";
67
+ /** Segment icon container */
68
+ readonly ICON: "segmented-button__icon";
69
+ /** Segment label text */
70
+ readonly LABEL: "segmented-button__label";
71
+ /** Checkmark icon for selected state */
72
+ readonly CHECKMARK: "segmented-button__checkmark";
73
+ /** Ripple effect container */
74
+ readonly RIPPLE: "segmented-button__ripple";
75
+ /** Single selection mode */
76
+ readonly SINGLE_MODE: "segmented-button--single";
77
+ /** Multiple selection mode */
78
+ readonly MULTI_MODE: "segmented-button--multi";
79
+ /** Default density */
80
+ readonly DEFAULT_DENSITY: "segmented-button--density-default";
81
+ /** Comfortable density */
82
+ readonly COMFORTABLE_DENSITY: "segmented-button--density-comfortable";
83
+ /** Compact density */
84
+ readonly COMPACT_DENSITY: "segmented-button--density-compact";
85
+ };
@@ -0,0 +1,4 @@
1
+ export { default, default as createSegmentedButton } from './segmented-button';
2
+ export { SelectionMode, Density } from './types';
3
+ export type { SegmentedButtonConfig, SegmentedButtonComponent, SegmentConfig, Segment } from './types';
4
+ export { SEGMENTED_BUTTON_MODES, SEGMENTED_BUTTON_DENSITY, SEGMENTED_BUTTON_EVENTS, SEGMENTED_BUTTON_DEFAULTS, SEGMENTED_BUTTON_ICONS, SEGMENTED_BUTTON_CLASSES } from './constants';
@@ -0,0 +1,15 @@
1
+ import { SegmentConfig, Segment } from './types';
2
+ /**
3
+ * Creates a segment for the segmented button using the button component
4
+ * @param {SegmentConfig} config - Segment configuration
5
+ * @param {HTMLElement} container - Container element
6
+ * @param {string} prefix - Component prefix
7
+ * @param {boolean} groupDisabled - Whether the entire group is disabled
8
+ * @param {Object} options - Additional options
9
+ * @returns {Segment} Segment object
10
+ * @internal
11
+ */
12
+ export declare const createSegment: (config: SegmentConfig, container: HTMLElement, prefix: string, groupDisabled?: boolean, options?: {
13
+ ripple: boolean;
14
+ rippleConfig: {};
15
+ }) => Segment;
@@ -0,0 +1,49 @@
1
+ import { SegmentedButtonConfig, SegmentedButtonComponent } from './types';
2
+ /**
3
+ * Creates a new Segmented Button component
4
+ *
5
+ * The Segmented Button component provides a group of related buttons that can
6
+ * be used for selection and filtering. It supports single or multiple selection modes,
7
+ * configurable density, disabled states, and event handling.
8
+ *
9
+ * @param {SegmentedButtonConfig} config - Segmented Button configuration
10
+ * @returns {SegmentedButtonComponent} Segmented Button component instance
11
+ *
12
+ * @example
13
+ * // Create a segmented button with three segments in single selection mode
14
+ * const viewToggle = createSegmentedButton({
15
+ * segments: [
16
+ * { text: 'Day', value: 'day', selected: true },
17
+ * { text: 'Week', value: 'week' },
18
+ * { text: 'Month', value: 'month' }
19
+ * ],
20
+ * mode: SelectionMode.SINGLE
21
+ * });
22
+ *
23
+ * // Listen for selection changes
24
+ * viewToggle.on('change', (event) => {
25
+ * console.log('Selected view:', event.value[0]);
26
+ * updateCalendarView(event.value[0]);
27
+ * });
28
+ *
29
+ * @example
30
+ * // Create a compact multi-select segmented button with icons
31
+ * const filterOptions = createSegmentedButton({
32
+ * segments: [
33
+ * {
34
+ * icon: '<svg>...</svg>',
35
+ * text: 'Filter 1',
36
+ * value: 'filter1'
37
+ * },
38
+ * {
39
+ * icon: '<svg>...</svg>',
40
+ * text: 'Filter 2',
41
+ * value: 'filter2'
42
+ * }
43
+ * ],
44
+ * mode: SelectionMode.MULTI,
45
+ * density: Density.COMPACT
46
+ * });
47
+ */
48
+ declare const createSegmentedButton: (config?: SegmentedButtonConfig) => SegmentedButtonComponent;
49
+ export default createSegmentedButton;
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Segmented button selection mode
3
+ * @category Components
4
+ */
5
+ export declare enum SelectionMode {
6
+ /** Only one segment can be selected at a time */
7
+ SINGLE = "single",
8
+ /** Multiple segments can be selected */
9
+ MULTI = "multi"
10
+ }
11
+ /**
12
+ * Density options for segmented button
13
+ * Controls the overall sizing and spacing of the component.
14
+ * @category Components
15
+ */
16
+ export declare enum Density {
17
+ /** Default size with standard spacing */
18
+ DEFAULT = "default",
19
+ /** Reduced size and spacing, more compact */
20
+ COMFORTABLE = "comfortable",
21
+ /** Minimal size and spacing, most compact */
22
+ COMPACT = "compact"
23
+ }
24
+ /**
25
+ * Event types for segmented button
26
+ */
27
+ export type SegmentedButtonEventType = 'change';
28
+ /**
29
+ * Event data for segmented button events
30
+ */
31
+ export interface SegmentedButtonEvent {
32
+ /** The segmented button component that triggered the event */
33
+ segmentedButton: SegmentedButtonComponent;
34
+ /** The selected segments */
35
+ selected: Segment[];
36
+ /** Values of the selected segments */
37
+ values: string[];
38
+ /** Original DOM event if available */
39
+ originalEvent: Event | null;
40
+ /** Function to prevent default behavior */
41
+ preventDefault: () => void;
42
+ /** Whether default behavior was prevented */
43
+ defaultPrevented: boolean;
44
+ }
45
+ /**
46
+ * Configuration for a single segment within a segmented button
47
+ * @category Components
48
+ */
49
+ export interface SegmentConfig {
50
+ /**
51
+ * Text content for the segment
52
+ * @example 'Day'
53
+ */
54
+ text?: string;
55
+ /**
56
+ * Icon HTML content
57
+ * @example '<svg>...</svg>'
58
+ */
59
+ icon?: string;
60
+ /**
61
+ * Whether this segment is initially selected
62
+ * @default false
63
+ */
64
+ selected?: boolean;
65
+ /**
66
+ * Value associated with this segment
67
+ */
68
+ value?: string;
69
+ /**
70
+ * Whether this segment is disabled
71
+ * @default false
72
+ */
73
+ disabled?: boolean;
74
+ /**
75
+ * Additional CSS class names for this segment
76
+ */
77
+ class?: string;
78
+ /**
79
+ * Custom icon to display when segment is selected (replaces default checkmark)
80
+ */
81
+ checkmarkIcon?: string;
82
+ }
83
+ /**
84
+ * Configuration interface for the Segmented Button component
85
+ * @category Components
86
+ */
87
+ export interface SegmentedButtonConfig {
88
+ /**
89
+ * Selection mode for the segmented button group
90
+ * @default SelectionMode.SINGLE
91
+ */
92
+ mode?: SelectionMode;
93
+ /**
94
+ * Array of segment configurations
95
+ */
96
+ segments?: SegmentConfig[];
97
+ /**
98
+ * Component prefix for class names
99
+ * @default 'mtrl'
100
+ */
101
+ prefix?: string;
102
+ /**
103
+ * Component name used in class generation
104
+ */
105
+ componentName?: string;
106
+ /**
107
+ * Whether the entire segmented button is initially disabled
108
+ * @default false
109
+ */
110
+ disabled?: boolean;
111
+ /**
112
+ * Additional CSS class for the segmented button container
113
+ */
114
+ class?: string;
115
+ /**
116
+ * Whether to enable ripple effect
117
+ * @default true
118
+ */
119
+ ripple?: boolean;
120
+ /**
121
+ * Density setting that controls the component's size and spacing
122
+ * @default Density.DEFAULT
123
+ */
124
+ density?: Density | string;
125
+ /**
126
+ * Ripple effect configuration
127
+ */
128
+ rippleConfig?: {
129
+ /** Duration of the ripple animation in milliseconds */
130
+ duration?: number;
131
+ /** Timing function for the ripple animation */
132
+ timing?: string;
133
+ /** Opacity values for ripple start and end [start, end] */
134
+ opacity?: [string, string];
135
+ };
136
+ /**
137
+ * Event handlers for segmented button events
138
+ */
139
+ on?: {
140
+ [key in SegmentedButtonEventType]?: (event: SegmentedButtonEvent) => void;
141
+ };
142
+ }
143
+ /**
144
+ * Interface for a segment within a segmented button
145
+ * @category Components
146
+ */
147
+ export interface Segment {
148
+ /** The segment's DOM element */
149
+ element: HTMLElement;
150
+ /** The segment's value */
151
+ value: string;
152
+ /**
153
+ * Gets whether the segment is selected
154
+ */
155
+ isSelected: () => boolean;
156
+ /**
157
+ * Sets the segment's selected state
158
+ * @param selected - Whether the segment should be selected
159
+ */
160
+ setSelected: (selected: boolean) => void;
161
+ /**
162
+ * Gets whether the segment is disabled
163
+ */
164
+ isDisabled: () => boolean;
165
+ /**
166
+ * Sets the segment's disabled state
167
+ * @param disabled - Whether the segment should be disabled
168
+ */
169
+ setDisabled: (disabled: boolean) => void;
170
+ /**
171
+ * Destroys the segment and cleans up resources
172
+ */
173
+ destroy: () => void;
174
+ }
175
+ /**
176
+ * Segmented Button component interface
177
+ * @category Components
178
+ */
179
+ export interface SegmentedButtonComponent {
180
+ /** The component's container DOM element */
181
+ element: HTMLElement;
182
+ /** Array of segment objects */
183
+ segments: Segment[];
184
+ /**
185
+ * Gets the selected segment(s)
186
+ * @returns An array of selected segments
187
+ */
188
+ getSelected: () => Segment[];
189
+ /**
190
+ * Gets the values of selected segment(s)
191
+ * @returns An array of selected segment values
192
+ */
193
+ getValue: () => string[];
194
+ /**
195
+ * Selects a segment by its value
196
+ * @param value - The value of the segment to select
197
+ * @returns The SegmentedButtonComponent for chaining
198
+ */
199
+ select: (value: string) => SegmentedButtonComponent;
200
+ /**
201
+ * Deselects a segment by its value
202
+ * @param value - The value of the segment to deselect
203
+ * @returns The SegmentedButtonComponent for chaining
204
+ */
205
+ deselect: (value: string) => SegmentedButtonComponent;
206
+ /**
207
+ * Enables the segmented button
208
+ * @returns The SegmentedButtonComponent for chaining
209
+ */
210
+ enable: () => SegmentedButtonComponent;
211
+ /**
212
+ * Disables the segmented button
213
+ * @returns The SegmentedButtonComponent for chaining
214
+ */
215
+ disable: () => SegmentedButtonComponent;
216
+ /**
217
+ * Enables a specific segment by its value
218
+ * @param value - The value of the segment to enable
219
+ * @returns The SegmentedButtonComponent for chaining
220
+ */
221
+ enableSegment: (value: string) => SegmentedButtonComponent;
222
+ /**
223
+ * Disables a specific segment by its value
224
+ * @param value - The value of the segment to disable
225
+ * @returns The SegmentedButtonComponent for chaining
226
+ */
227
+ disableSegment: (value: string) => SegmentedButtonComponent;
228
+ /**
229
+ * Sets the density of the segmented button
230
+ * @param density - The density level to set
231
+ * @returns The SegmentedButtonComponent for chaining
232
+ */
233
+ setDensity: (density: Density | string) => SegmentedButtonComponent;
234
+ /**
235
+ * Gets the current density setting
236
+ * @returns The current density
237
+ */
238
+ getDensity: () => string;
239
+ /**
240
+ * Adds an event listener to the segmented button
241
+ * @param event - Event name ('change', etc.)
242
+ * @param handler - Event handler function
243
+ * @returns The SegmentedButtonComponent for chaining
244
+ */
245
+ on: (event: SegmentedButtonEventType, handler: (event: SegmentedButtonEvent) => void) => SegmentedButtonComponent;
246
+ /**
247
+ * Removes an event listener from the segmented button
248
+ * @param event - Event name
249
+ * @param handler - Event handler function
250
+ * @returns The SegmentedButtonComponent for chaining
251
+ */
252
+ off: (event: SegmentedButtonEventType, handler: (event: SegmentedButtonEvent) => void) => SegmentedButtonComponent;
253
+ /**
254
+ * Destroys the component and cleans up resources
255
+ */
256
+ destroy: () => void;
257
+ }
@@ -0,0 +1,8 @@
1
+ import { SelectComponent, ApiOptions } from './types';
2
+ /**
3
+ * Enhances a select component with API methods
4
+ * @param options - API configuration options
5
+ * @returns Higher-order function that adds API methods to component
6
+ * @internal
7
+ */
8
+ export declare const withAPI: (options: ApiOptions) => (component: any) => SelectComponent;
@@ -0,0 +1,18 @@
1
+ import { SelectConfig, BaseComponent, ApiOptions } from './types';
2
+ /**
3
+ * Default configuration for the Select component
4
+ */
5
+ export declare const defaultConfig: SelectConfig;
6
+ /**
7
+ * Creates the base configuration for Select component
8
+ * @param {SelectConfig} config - User provided configuration
9
+ * @returns {SelectConfig} Complete configuration with defaults applied
10
+ */
11
+ export declare const createBaseConfig: (config?: SelectConfig) => SelectConfig;
12
+ /**
13
+ * Creates API configuration for the Select component
14
+ * @param {BaseComponent} comp - Component with select features
15
+ * @returns {ApiOptions} API configuration object
16
+ */
17
+ export declare const getApiConfig: (comp: BaseComponent) => ApiOptions;
18
+ export default defaultConfig;