mtrl 0.3.7 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (691) hide show
  1. package/dist/LICENSE +21 -0
  2. package/dist/README.md +324 -0
  3. package/dist/components/badge/api.d.ts +48 -0
  4. package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
  5. package/dist/components/badge/config.d.ts +79 -0
  6. package/dist/components/badge/constants.d.ts +35 -0
  7. package/dist/components/badge/features.d.ts +36 -0
  8. package/dist/components/badge/index.d.ts +8 -0
  9. package/dist/components/badge/types.d.ts +256 -0
  10. package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
  11. package/dist/components/bottom-app-bar/config.d.ts +16 -0
  12. package/dist/components/bottom-app-bar/constants.d.ts +22 -0
  13. package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
  14. package/dist/components/bottom-app-bar/types.d.ts +96 -0
  15. package/dist/components/button/api.d.ts +47 -0
  16. package/dist/components/button/button.d.ts +25 -0
  17. package/dist/components/button/config.d.ts +59 -0
  18. package/dist/components/button/constants.d.ts +43 -0
  19. package/dist/components/button/index.d.ts +6 -0
  20. package/dist/components/button/types.d.ts +265 -0
  21. package/dist/components/card/api.d.ts +11 -0
  22. package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
  23. package/dist/components/card/config.d.ts +105 -0
  24. package/dist/components/card/constants.d.ts +85 -0
  25. package/dist/components/card/content.d.ts +92 -0
  26. package/dist/components/card/features.d.ts +131 -0
  27. package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
  28. package/dist/components/card/types.d.ts +471 -0
  29. package/dist/components/carousel/api.d.ts +33 -0
  30. package/dist/components/carousel/carousel.d.ts +75 -0
  31. package/dist/components/carousel/config.d.ts +45 -0
  32. package/dist/components/carousel/constants.d.ts +165 -0
  33. package/dist/components/carousel/features/drag.d.ts +8 -0
  34. package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
  35. package/dist/components/carousel/features/slides.d.ts +8 -0
  36. package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
  37. package/dist/components/carousel/types.d.ts +276 -0
  38. package/dist/components/checkbox/api.d.ts +7 -0
  39. package/dist/components/checkbox/checkbox.d.ts +65 -0
  40. package/dist/components/checkbox/config.d.ts +44 -0
  41. package/dist/components/checkbox/constants.d.ts +63 -0
  42. package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
  43. package/dist/components/checkbox/types.d.ts +242 -0
  44. package/dist/components/chips/api.d.ts +49 -0
  45. package/dist/components/chips/chip/api.d.ts +23 -0
  46. package/dist/components/chips/chip/chip.d.ts +8 -0
  47. package/dist/components/chips/chip/config.d.ts +57 -0
  48. package/dist/components/chips/chip/constants.d.ts +38 -0
  49. package/dist/components/chips/chip/index.d.ts +2 -0
  50. package/dist/components/chips/chip/types.d.ts +11 -0
  51. package/dist/components/chips/chips.d.ts +17 -0
  52. package/dist/components/chips/config.d.ts +67 -0
  53. package/dist/components/chips/constants.d.ts +46 -0
  54. package/dist/components/chips/features/chip-items.d.ts +8 -0
  55. package/dist/components/chips/features/container.d.ts +8 -0
  56. package/dist/components/chips/features/controller.d.ts +9 -0
  57. package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
  58. package/dist/components/chips/features/label.d.ts +8 -0
  59. package/dist/components/chips/index.d.ts +4 -0
  60. package/dist/components/chips/schema.d.ts +34 -0
  61. package/dist/components/chips/types.d.ts +398 -0
  62. package/dist/components/datepicker/api.d.ts +9 -0
  63. package/dist/components/datepicker/config.d.ts +79 -0
  64. package/dist/components/datepicker/constants.d.ts +97 -0
  65. package/dist/components/datepicker/datepicker.d.ts +8 -0
  66. package/dist/components/datepicker/index.d.ts +3 -0
  67. package/dist/components/datepicker/render.d.ts +43 -0
  68. package/dist/components/datepicker/types.d.ts +321 -0
  69. package/dist/components/datepicker/utils.d.ts +84 -0
  70. package/dist/components/dialog/api.d.ts +59 -0
  71. package/dist/components/dialog/config.d.ts +91 -0
  72. package/dist/components/dialog/constants.d.ts +116 -0
  73. package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
  74. package/dist/components/dialog/features.d.ts +37 -0
  75. package/dist/components/dialog/index.d.ts +14 -0
  76. package/dist/components/dialog/types.d.ts +483 -0
  77. package/dist/components/divider/config.d.ts +143 -0
  78. package/dist/components/divider/constants.d.ts +45 -0
  79. package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
  80. package/dist/components/divider/features.d.ts +50 -0
  81. package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
  82. package/dist/components/divider/types.d.ts +124 -0
  83. package/dist/components/extended-fab/api.d.ts +83 -0
  84. package/dist/components/extended-fab/config.d.ts +75 -0
  85. package/dist/components/extended-fab/constants.d.ts +82 -0
  86. package/dist/components/extended-fab/extended-fab.d.ts +61 -0
  87. package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
  88. package/dist/components/extended-fab/types.d.ts +703 -0
  89. package/dist/components/fab/api.d.ts +64 -0
  90. package/dist/components/fab/config.d.ts +71 -0
  91. package/dist/components/fab/constants.d.ts +75 -0
  92. package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
  93. package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
  94. package/dist/components/fab/types.d.ts +577 -0
  95. package/dist/components/index.d.ts +76 -0
  96. package/dist/components/list/api.d.ts +106 -0
  97. package/dist/components/list/config.d.ts +61 -0
  98. package/dist/components/list/constants.d.ts +76 -0
  99. package/dist/components/list/features/index.d.ts +2 -0
  100. package/dist/components/list/features/listmanager.d.ts +9 -0
  101. package/dist/components/list/features/selection.d.ts +9 -0
  102. package/dist/components/list/index.d.ts +12 -0
  103. package/dist/components/list/list.d.ts +11 -0
  104. package/dist/components/list/types.d.ts +294 -0
  105. package/dist/components/menu/api.d.ts +58 -0
  106. package/dist/components/menu/config.d.ts +78 -0
  107. package/dist/components/menu/constants.d.ts +106 -0
  108. package/dist/components/menu/features/controller.d.ts +10 -0
  109. package/dist/components/menu/features/index.d.ts +6 -0
  110. package/dist/components/menu/features/keyboard.d.ts +26 -0
  111. package/dist/components/menu/features/opener.d.ts +10 -0
  112. package/dist/components/menu/features/position.d.ts +18 -0
  113. package/dist/components/menu/features/submenu.d.ts +10 -0
  114. package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
  115. package/dist/components/menu/menu.d.ts +29 -0
  116. package/dist/components/menu/types.d.ts +338 -0
  117. package/dist/components/navigation/api.d.ts +8 -0
  118. package/dist/components/navigation/config.d.ts +34 -0
  119. package/dist/components/navigation/constants.d.ts +137 -0
  120. package/dist/components/navigation/features/controller.d.ts +30 -0
  121. package/dist/components/navigation/features/items.d.ts +32 -0
  122. package/dist/components/navigation/index.d.ts +3 -0
  123. package/dist/components/navigation/nav-item.d.ts +30 -0
  124. package/dist/components/navigation/navigation.d.ts +8 -0
  125. package/dist/components/navigation/system/core.d.ts +72 -0
  126. package/dist/components/navigation/system/events.d.ts +35 -0
  127. package/dist/components/navigation/system/index.d.ts +10 -0
  128. package/dist/components/navigation/system/mobile.d.ts +52 -0
  129. package/dist/components/navigation/system/state.d.ts +22 -0
  130. package/dist/components/navigation/system/types.d.ts +305 -0
  131. package/dist/components/navigation/types.d.ts +216 -0
  132. package/dist/components/progress/api.d.ts +46 -0
  133. package/dist/components/progress/config.d.ts +63 -0
  134. package/dist/components/progress/constants.d.ts +58 -0
  135. package/dist/components/progress/index.d.ts +3 -0
  136. package/dist/components/progress/progress.d.ts +24 -0
  137. package/dist/components/progress/types.d.ts +199 -0
  138. package/dist/components/radios/api.d.ts +37 -0
  139. package/dist/components/radios/config.d.ts +42 -0
  140. package/dist/components/radios/constants.d.ts +114 -0
  141. package/dist/components/radios/index.d.ts +3 -0
  142. package/dist/components/radios/radio.d.ts +8 -0
  143. package/dist/components/radios/radios.d.ts +8 -0
  144. package/dist/components/radios/types.d.ts +189 -0
  145. package/dist/components/search/api.d.ts +55 -0
  146. package/dist/components/search/config.d.ts +73 -0
  147. package/dist/components/search/constants.d.ts +128 -0
  148. package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
  149. package/dist/components/search/features/search.d.ts +7 -0
  150. package/dist/components/search/features/states.d.ts +8 -0
  151. package/dist/components/search/features/structure.d.ts +7 -0
  152. package/dist/components/search/index.d.ts +3 -0
  153. package/dist/components/search/search.d.ts +8 -0
  154. package/dist/components/search/types.d.ts +132 -0
  155. package/dist/components/segmented-button/config.d.ts +65 -0
  156. package/dist/components/segmented-button/constants.d.ts +85 -0
  157. package/dist/components/segmented-button/index.d.ts +4 -0
  158. package/dist/components/segmented-button/segment.d.ts +15 -0
  159. package/dist/components/segmented-button/segmented-button.d.ts +49 -0
  160. package/dist/components/segmented-button/types.d.ts +257 -0
  161. package/dist/components/select/api.d.ts +8 -0
  162. package/dist/components/select/config.d.ts +18 -0
  163. package/dist/components/select/constants.d.ts +113 -0
  164. package/dist/components/select/features.d.ts +13 -0
  165. package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
  166. package/dist/components/select/select.d.ts +36 -0
  167. package/dist/components/select/types.d.ts +302 -0
  168. package/dist/components/sheet/api.d.ts +37 -0
  169. package/dist/components/sheet/config.d.ts +42 -0
  170. package/dist/components/sheet/constants.d.ts +136 -0
  171. package/dist/components/sheet/features/content.d.ts +6 -0
  172. package/dist/components/sheet/features/gestures.d.ts +6 -0
  173. package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
  174. package/dist/components/sheet/features/position.d.ts +7 -0
  175. package/dist/components/sheet/features/state.d.ts +6 -0
  176. package/dist/components/sheet/features/title.d.ts +6 -0
  177. package/dist/components/sheet/index.d.ts +3 -0
  178. package/dist/components/sheet/sheet.d.ts +8 -0
  179. package/dist/components/sheet/types.d.ts +250 -0
  180. package/dist/components/slider/api.d.ts +57 -0
  181. package/dist/components/slider/config.d.ts +75 -0
  182. package/dist/components/slider/constants.d.ts +138 -0
  183. package/dist/components/slider/features/controller.d.ts +9 -0
  184. package/dist/components/slider/features/handlers.d.ts +25 -0
  185. package/dist/components/slider/features/index.d.ts +3 -0
  186. package/dist/components/slider/features/range.d.ts +8 -0
  187. package/dist/components/slider/features/states.d.ts +9 -0
  188. package/dist/components/slider/index.d.ts +3 -0
  189. package/dist/components/slider/schema.d.ts +108 -0
  190. package/dist/components/slider/slider.d.ts +18 -0
  191. package/dist/components/slider/types.d.ts +170 -0
  192. package/dist/components/snackbar/api.d.ts +7 -0
  193. package/dist/components/snackbar/config.d.ts +55 -0
  194. package/dist/components/snackbar/constants.d.ts +88 -0
  195. package/dist/components/snackbar/features.d.ts +13 -0
  196. package/dist/components/snackbar/index.d.ts +3 -0
  197. package/dist/components/snackbar/position.d.ts +15 -0
  198. package/dist/components/snackbar/queue.d.ts +7 -0
  199. package/dist/components/snackbar/snackbar.d.ts +8 -0
  200. package/dist/components/snackbar/types.d.ts +172 -0
  201. package/dist/components/switch/api.d.ts +7 -0
  202. package/dist/components/switch/config.d.ts +34 -0
  203. package/dist/components/switch/constants.d.ts +88 -0
  204. package/dist/components/switch/features.d.ts +59 -0
  205. package/dist/components/switch/index.d.ts +4 -0
  206. package/dist/components/switch/switch.d.ts +8 -0
  207. package/dist/components/switch/types.d.ts +131 -0
  208. package/dist/components/tabs/api.d.ts +52 -0
  209. package/dist/components/tabs/config.d.ts +39 -0
  210. package/dist/components/tabs/constants.d.ts +142 -0
  211. package/dist/components/tabs/features.d.ts +133 -0
  212. package/dist/components/tabs/index.d.ts +11 -0
  213. package/dist/components/tabs/indicator.d.ts +49 -0
  214. package/dist/components/tabs/responsive.d.ts +38 -0
  215. package/dist/components/tabs/scroll-indicators.d.ts +18 -0
  216. package/dist/components/tabs/state.d.ts +53 -0
  217. package/dist/components/tabs/tab-api.d.ts +43 -0
  218. package/dist/components/tabs/tab.d.ts +7 -0
  219. package/dist/components/tabs/tabs.d.ts +27 -0
  220. package/dist/components/tabs/types.d.ts +390 -0
  221. package/dist/components/tabs/utils.d.ts +17 -0
  222. package/dist/components/textfield/api.d.ts +8 -0
  223. package/dist/components/textfield/config.d.ts +34 -0
  224. package/dist/components/textfield/constants.d.ts +148 -0
  225. package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
  226. package/dist/components/textfield/features/leading-icon.d.ts +55 -0
  227. package/dist/components/textfield/features/placement.d.ts +28 -0
  228. package/dist/components/textfield/features/prefix-text.d.ts +54 -0
  229. package/dist/components/textfield/features/suffix-text.d.ts +54 -0
  230. package/dist/components/textfield/features/supporting-text.d.ts +59 -0
  231. package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
  232. package/dist/components/textfield/index.d.ts +3 -0
  233. package/dist/components/textfield/textfield.d.ts +36 -0
  234. package/dist/components/textfield/types.d.ts +217 -0
  235. package/dist/components/timepicker/api.d.ts +24 -0
  236. package/dist/components/timepicker/clockdial.d.ts +34 -0
  237. package/dist/components/timepicker/config.d.ts +75 -0
  238. package/dist/components/timepicker/constants.d.ts +266 -0
  239. package/dist/components/timepicker/index.d.ts +4 -0
  240. package/dist/components/timepicker/render.d.ts +9 -0
  241. package/dist/components/timepicker/timepicker.d.ts +8 -0
  242. package/dist/components/timepicker/types.d.ts +284 -0
  243. package/dist/components/timepicker/utils.d.ts +74 -0
  244. package/dist/components/tooltip/api.d.ts +18 -0
  245. package/dist/components/tooltip/config.d.ts +38 -0
  246. package/dist/components/tooltip/constants.d.ts +108 -0
  247. package/dist/components/tooltip/index.d.ts +3 -0
  248. package/dist/components/tooltip/tooltip.d.ts +8 -0
  249. package/dist/components/tooltip/types.d.ts +188 -0
  250. package/dist/components/top-app-bar/config.d.ts +16 -0
  251. package/dist/components/top-app-bar/constants.d.ts +74 -0
  252. package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
  253. package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
  254. package/dist/components/top-app-bar/types.d.ts +118 -0
  255. package/dist/constants.d.ts +30 -0
  256. package/dist/core/collection/adapters/base.d.ts +47 -0
  257. package/dist/core/collection/adapters/route.d.ts +149 -0
  258. package/dist/core/collection/collection.d.ts +131 -0
  259. package/dist/core/collection/index.d.ts +10 -0
  260. package/dist/core/collection/list-manager/config.d.ts +29 -0
  261. package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
  262. package/dist/core/collection/list-manager/index.d.ts +61 -0
  263. package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
  264. package/dist/core/collection/list-manager/renderer.d.ts +31 -0
  265. package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
  266. package/dist/core/collection/list-manager/state.d.ts +60 -0
  267. package/dist/core/collection/list-manager/types.d.ts +361 -0
  268. package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
  269. package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
  270. package/dist/core/compose/base.d.ts +31 -0
  271. package/dist/core/compose/component.d.ts +61 -0
  272. package/dist/core/compose/features/badge.d.ts +43 -0
  273. package/dist/core/compose/features/checkable.d.ts +59 -0
  274. package/dist/core/compose/features/constants.d.ts +45 -0
  275. package/dist/core/compose/features/debounce.d.ts +84 -0
  276. package/dist/core/compose/features/disabled.d.ts +47 -0
  277. package/dist/core/compose/features/events.d.ts +37 -0
  278. package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
  279. package/dist/core/compose/features/gestures/pan.d.ts +108 -0
  280. package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
  281. package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
  282. package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
  283. package/dist/core/compose/features/gestures/tap.d.ts +79 -0
  284. package/dist/core/compose/features/gestures.d.ts +86 -0
  285. package/dist/core/compose/features/icon.d.ts +71 -0
  286. package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
  287. package/dist/core/compose/features/input.d.ts +71 -0
  288. package/dist/core/compose/features/lifecycle.d.ts +61 -0
  289. package/dist/core/compose/features/position.d.ts +51 -0
  290. package/dist/core/compose/features/ripple.d.ts +61 -0
  291. package/dist/core/compose/features/size.d.ts +17 -0
  292. package/dist/core/compose/features/style.d.ts +16 -0
  293. package/dist/core/compose/features/text.d.ts +63 -0
  294. package/dist/core/compose/features/textinput.d.ts +93 -0
  295. package/dist/core/compose/features/textlabel.d.ts +57 -0
  296. package/dist/core/compose/features/throttle.d.ts +75 -0
  297. package/dist/core/compose/features/track.d.ts +42 -0
  298. package/dist/core/compose/features/variant.d.ts +17 -0
  299. package/dist/core/compose/features/withEvents.d.ts +45 -0
  300. package/dist/core/compose/index.d.ts +17 -0
  301. package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
  302. package/dist/core/compose/utils/type-guards.d.ts +27 -0
  303. package/dist/core/composition/features/dom.d.ts +19 -0
  304. package/dist/core/composition/features/icon.d.ts +45 -0
  305. package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
  306. package/dist/core/composition/features/label.d.ts +49 -0
  307. package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
  308. package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
  309. package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +34 -82
  310. package/dist/core/config.d.ts +130 -0
  311. package/{src/core/dom/attributes.ts → dist/core/dom/attributes.d.ts} +2 -13
  312. package/dist/core/dom/classes.d.ts +42 -0
  313. package/dist/core/dom/create.d.ts +124 -0
  314. package/dist/core/dom/events.d.ts +69 -0
  315. package/{src/core/dom/index.ts → dist/core/dom/index.d.ts} +1 -5
  316. package/dist/core/dom/utils.d.ts +42 -0
  317. package/dist/core/gestures/index.d.ts +12 -0
  318. package/dist/core/gestures/longpress.d.ts +23 -0
  319. package/dist/core/gestures/manager.d.ts +14 -0
  320. package/dist/core/gestures/pan.d.ts +12 -0
  321. package/dist/core/gestures/pinch.d.ts +14 -0
  322. package/dist/core/gestures/rotate.d.ts +14 -0
  323. package/dist/core/gestures/swipe.d.ts +20 -0
  324. package/dist/core/gestures/tap.d.ts +12 -0
  325. package/dist/core/gestures/types.d.ts +320 -0
  326. package/dist/core/gestures/utils.d.ts +57 -0
  327. package/dist/core/index.d.ts +29 -0
  328. package/dist/core/layout/array.d.ts +15 -0
  329. package/dist/core/layout/config.d.ts +32 -0
  330. package/dist/core/layout/create.d.ts +14 -0
  331. package/dist/core/layout/index.d.ts +13 -0
  332. package/dist/core/layout/jsx.d.ts +13 -0
  333. package/dist/core/layout/object.d.ts +14 -0
  334. package/dist/core/layout/processor.d.ts +28 -0
  335. package/dist/core/layout/result.d.ts +12 -0
  336. package/dist/core/layout/template.d.ts +12 -0
  337. package/dist/core/layout/types.d.ts +137 -0
  338. package/dist/core/layout/utils.d.ts +38 -0
  339. package/dist/core/state/disabled.d.ts +32 -0
  340. package/dist/core/state/emitter.d.ts +40 -0
  341. package/dist/core/state/events.d.ts +36 -0
  342. package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
  343. package/dist/core/state/lifecycle.d.ts +57 -0
  344. package/dist/core/state/store.d.ts +82 -0
  345. package/dist/core/utils/background.d.ts +40 -0
  346. package/dist/core/utils/index.d.ts +23 -0
  347. package/dist/core/utils/mobile.d.ts +54 -0
  348. package/dist/core/utils/object.d.ts +13 -0
  349. package/dist/core/utils/performance.d.ts +79 -0
  350. package/dist/core/utils/validate.d.ts +73 -0
  351. package/dist/index.cjs +64 -0
  352. package/dist/index.cjs.map +285 -0
  353. package/dist/index.d.ts +15 -0
  354. package/dist/index.js +53 -14854
  355. package/dist/index.js.map +285 -0
  356. package/dist/package.json +39 -0
  357. package/dist/styles.css +7 -0
  358. package/package.json +24 -5
  359. package/.env +0 -15
  360. package/.typedocignore +0 -11
  361. package/CONTRIBUTING.md +0 -218
  362. package/DOCS.md +0 -153
  363. package/TESTING.md +0 -214
  364. package/git-user-stats.js +0 -545
  365. package/index.ts +0 -10
  366. package/src/components/badge/api.ts +0 -313
  367. package/src/components/badge/config.ts +0 -153
  368. package/src/components/badge/features.ts +0 -194
  369. package/src/components/badge/index.ts +0 -90
  370. package/src/components/badge/types.ts +0 -279
  371. package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
  372. package/src/components/bottom-app-bar/config.ts +0 -29
  373. package/src/components/bottom-app-bar/types.ts +0 -114
  374. package/src/components/button/api.ts +0 -172
  375. package/src/components/button/button.ts +0 -112
  376. package/src/components/button/config.ts +0 -96
  377. package/src/components/button/index.ts +0 -37
  378. package/src/components/button/types.ts +0 -290
  379. package/src/components/card/api.ts +0 -222
  380. package/src/components/card/config.ts +0 -304
  381. package/src/components/card/content.ts +0 -343
  382. package/src/components/card/features.ts +0 -407
  383. package/src/components/card/types.ts +0 -497
  384. package/src/components/carousel/api.ts +0 -147
  385. package/src/components/carousel/carousel.ts +0 -242
  386. package/src/components/carousel/config.ts +0 -91
  387. package/src/components/carousel/constants.ts +0 -181
  388. package/src/components/carousel/features/drag.ts +0 -388
  389. package/src/components/carousel/features/slides.ts +0 -682
  390. package/src/components/carousel/types.ts +0 -327
  391. package/src/components/checkbox/api.ts +0 -82
  392. package/src/components/checkbox/checkbox.ts +0 -142
  393. package/src/components/checkbox/config.ts +0 -89
  394. package/src/components/checkbox/types.ts +0 -342
  395. package/src/components/chips/api.ts +0 -194
  396. package/src/components/chips/chip/api.ts +0 -233
  397. package/src/components/chips/chip/chip.ts +0 -131
  398. package/src/components/chips/chip/config.ts +0 -91
  399. package/src/components/chips/chip/index.ts +0 -3
  400. package/src/components/chips/chips.md +0 -481
  401. package/src/components/chips/chips.ts +0 -75
  402. package/src/components/chips/config.ts +0 -109
  403. package/src/components/chips/constants.ts +0 -61
  404. package/src/components/chips/features/chip-items.ts +0 -33
  405. package/src/components/chips/features/container.ts +0 -77
  406. package/src/components/chips/features/controller.ts +0 -448
  407. package/src/components/chips/features/label.ts +0 -108
  408. package/src/components/chips/index.ts +0 -11
  409. package/src/components/chips/schema.ts +0 -61
  410. package/src/components/chips/types.ts +0 -469
  411. package/src/components/datepicker/api.ts +0 -265
  412. package/src/components/datepicker/config.ts +0 -141
  413. package/src/components/datepicker/datepicker.ts +0 -341
  414. package/src/components/datepicker/index.ts +0 -12
  415. package/src/components/datepicker/render.ts +0 -450
  416. package/src/components/datepicker/types.ts +0 -397
  417. package/src/components/datepicker/utils.ts +0 -289
  418. package/src/components/dialog/api.ts +0 -317
  419. package/src/components/dialog/config.ts +0 -116
  420. package/src/components/dialog/features.ts +0 -907
  421. package/src/components/dialog/index.ts +0 -141
  422. package/src/components/dialog/types.ts +0 -553
  423. package/src/components/divider/config.ts +0 -165
  424. package/src/components/divider/features.ts +0 -233
  425. package/src/components/divider/types.ts +0 -132
  426. package/src/components/extended-fab/api.ts +0 -193
  427. package/src/components/extended-fab/config.ts +0 -140
  428. package/src/components/extended-fab/extended-fab.ts +0 -153
  429. package/src/components/extended-fab/types.ts +0 -749
  430. package/src/components/fab/api.ts +0 -137
  431. package/src/components/fab/config.ts +0 -121
  432. package/src/components/fab/types.ts +0 -615
  433. package/src/components/list/api.ts +0 -82
  434. package/src/components/list/config.ts +0 -63
  435. package/src/components/list/features.ts +0 -229
  436. package/src/components/list/index.ts +0 -67
  437. package/src/components/list/list-item.ts +0 -163
  438. package/src/components/list/list.ts +0 -108
  439. package/src/components/list/types.ts +0 -396
  440. package/src/components/list/utils.ts +0 -98
  441. package/src/components/menu/api.ts +0 -193
  442. package/src/components/menu/config.ts +0 -125
  443. package/src/components/menu/features/anchor.ts +0 -243
  444. package/src/components/menu/features/controller.ts +0 -1167
  445. package/src/components/menu/features/index.ts +0 -5
  446. package/src/components/menu/features/position.ts +0 -353
  447. package/src/components/menu/menu.ts +0 -119
  448. package/src/components/menu/types.ts +0 -379
  449. package/src/components/navigation/api.ts +0 -142
  450. package/src/components/navigation/config.ts +0 -73
  451. package/src/components/navigation/features/controller.ts +0 -273
  452. package/src/components/navigation/features/items.ts +0 -353
  453. package/src/components/navigation/index.ts +0 -11
  454. package/src/components/navigation/nav-item.ts +0 -196
  455. package/src/components/navigation/navigation.ts +0 -115
  456. package/src/components/navigation/system/core.ts +0 -302
  457. package/src/components/navigation/system/events.ts +0 -240
  458. package/src/components/navigation/system/index.ts +0 -184
  459. package/src/components/navigation/system/mobile.ts +0 -278
  460. package/src/components/navigation/system/state.ts +0 -77
  461. package/src/components/navigation/system/types.ts +0 -364
  462. package/src/components/navigation/types.ts +0 -292
  463. package/src/components/progress/api.ts +0 -178
  464. package/src/components/progress/config.ts +0 -122
  465. package/src/components/progress/index.ts +0 -4
  466. package/src/components/progress/progress.ts +0 -159
  467. package/src/components/progress/types.ts +0 -255
  468. package/src/components/radios/api.ts +0 -125
  469. package/src/components/radios/config.ts +0 -59
  470. package/src/components/radios/constants.ts +0 -19
  471. package/src/components/radios/index.ts +0 -3
  472. package/src/components/radios/radio.ts +0 -292
  473. package/src/components/radios/radios.ts +0 -43
  474. package/src/components/radios/types.ts +0 -219
  475. package/src/components/search/api.ts +0 -203
  476. package/src/components/search/config.ts +0 -86
  477. package/src/components/search/features/search.ts +0 -717
  478. package/src/components/search/features/states.ts +0 -169
  479. package/src/components/search/features/structure.ts +0 -197
  480. package/src/components/search/index.ts +0 -7
  481. package/src/components/search/search.ts +0 -52
  482. package/src/components/search/types.ts +0 -175
  483. package/src/components/segmented-button/config.ts +0 -119
  484. package/src/components/segmented-button/index.ts +0 -4
  485. package/src/components/segmented-button/segment.ts +0 -108
  486. package/src/components/segmented-button/segmented-button.ts +0 -361
  487. package/src/components/segmented-button/types.ts +0 -306
  488. package/src/components/select/api.ts +0 -78
  489. package/src/components/select/config.ts +0 -76
  490. package/src/components/select/features.ts +0 -317
  491. package/src/components/select/select.ts +0 -73
  492. package/src/components/select/types.ts +0 -355
  493. package/src/components/sheet/api.ts +0 -96
  494. package/src/components/sheet/config.ts +0 -65
  495. package/src/components/sheet/features/content.ts +0 -51
  496. package/src/components/sheet/features/gestures.ts +0 -177
  497. package/src/components/sheet/features/position.ts +0 -41
  498. package/src/components/sheet/features/state.ts +0 -116
  499. package/src/components/sheet/features/title.ts +0 -86
  500. package/src/components/sheet/index.ts +0 -12
  501. package/src/components/sheet/sheet.ts +0 -56
  502. package/src/components/sheet/types.ts +0 -294
  503. package/src/components/slider/accessibility.md +0 -59
  504. package/src/components/slider/api.ts +0 -192
  505. package/src/components/slider/config.ts +0 -118
  506. package/src/components/slider/features/controller.ts +0 -737
  507. package/src/components/slider/features/handlers.ts +0 -497
  508. package/src/components/slider/features/index.ts +0 -5
  509. package/src/components/slider/features/range.ts +0 -104
  510. package/src/components/slider/features/states.ts +0 -195
  511. package/src/components/slider/index.ts +0 -17
  512. package/src/components/slider/schema.ts +0 -141
  513. package/src/components/slider/slider.ts +0 -76
  514. package/src/components/slider/types.ts +0 -223
  515. package/src/components/snackbar/api.ts +0 -162
  516. package/src/components/snackbar/config.ts +0 -61
  517. package/src/components/snackbar/features.ts +0 -76
  518. package/src/components/snackbar/index.ts +0 -9
  519. package/src/components/snackbar/position.ts +0 -79
  520. package/src/components/snackbar/queue.ts +0 -76
  521. package/src/components/snackbar/snackbar.ts +0 -60
  522. package/src/components/snackbar/types.ts +0 -159
  523. package/src/components/switch/api.ts +0 -93
  524. package/src/components/switch/config.ts +0 -56
  525. package/src/components/switch/features.ts +0 -198
  526. package/src/components/switch/index.ts +0 -8
  527. package/src/components/switch/switch.ts +0 -52
  528. package/src/components/switch/types.ts +0 -168
  529. package/src/components/tabs/api.ts +0 -221
  530. package/src/components/tabs/config.ts +0 -73
  531. package/src/components/tabs/features.ts +0 -403
  532. package/src/components/tabs/index.ts +0 -46
  533. package/src/components/tabs/indicator.ts +0 -285
  534. package/src/components/tabs/responsive.ts +0 -144
  535. package/src/components/tabs/scroll-indicators.ts +0 -149
  536. package/src/components/tabs/state.ts +0 -186
  537. package/src/components/tabs/tab-api.ts +0 -266
  538. package/src/components/tabs/tab.ts +0 -267
  539. package/src/components/tabs/tabs.ts +0 -71
  540. package/src/components/tabs/types.ts +0 -461
  541. package/src/components/tabs/utils.ts +0 -107
  542. package/src/components/textfield/api.ts +0 -197
  543. package/src/components/textfield/config.ts +0 -52
  544. package/src/components/textfield/features/leading-icon.ts +0 -127
  545. package/src/components/textfield/features/placement.ts +0 -149
  546. package/src/components/textfield/features/prefix-text.ts +0 -107
  547. package/src/components/textfield/features/suffix-text.ts +0 -100
  548. package/src/components/textfield/features/supporting-text.ts +0 -113
  549. package/src/components/textfield/features/trailing-icon.ts +0 -108
  550. package/src/components/textfield/index.ts +0 -9
  551. package/src/components/textfield/textfield.ts +0 -92
  552. package/src/components/textfield/types.ts +0 -265
  553. package/src/components/timepicker/README.md +0 -277
  554. package/src/components/timepicker/api.ts +0 -632
  555. package/src/components/timepicker/clockdial.ts +0 -479
  556. package/src/components/timepicker/config.ts +0 -228
  557. package/src/components/timepicker/index.ts +0 -3
  558. package/src/components/timepicker/render.ts +0 -613
  559. package/src/components/timepicker/timepicker.ts +0 -117
  560. package/src/components/timepicker/types.ts +0 -336
  561. package/src/components/timepicker/utils.ts +0 -241
  562. package/src/components/tooltip/api.ts +0 -415
  563. package/src/components/tooltip/config.ts +0 -80
  564. package/src/components/tooltip/index.ts +0 -12
  565. package/src/components/tooltip/tooltip.ts +0 -60
  566. package/src/components/tooltip/types.ts +0 -223
  567. package/src/components/top-app-bar/config.ts +0 -83
  568. package/src/components/top-app-bar/top-app-bar.ts +0 -316
  569. package/src/components/top-app-bar/types.ts +0 -140
  570. package/src/core/build/constants.ts +0 -48
  571. package/src/core/build/icon.ts +0 -137
  572. package/src/core/build/ripple.ts +0 -193
  573. package/src/core/build/text.ts +0 -91
  574. package/src/core/collection/adapters/base.ts +0 -62
  575. package/src/core/collection/adapters/route.ts +0 -201
  576. package/src/core/collection/collection.ts +0 -300
  577. package/src/core/collection/index.ts +0 -57
  578. package/src/core/collection/list-manager.ts +0 -333
  579. package/src/core/compose/base.ts +0 -43
  580. package/src/core/compose/component.ts +0 -255
  581. package/src/core/compose/features/badge.ts +0 -79
  582. package/src/core/compose/features/checkable.ts +0 -155
  583. package/src/core/compose/features/disabled.ts +0 -116
  584. package/src/core/compose/features/events.ts +0 -65
  585. package/src/core/compose/features/icon.ts +0 -71
  586. package/src/core/compose/features/input.ts +0 -174
  587. package/src/core/compose/features/lifecycle.ts +0 -139
  588. package/src/core/compose/features/position.ts +0 -94
  589. package/src/core/compose/features/ripple.ts +0 -58
  590. package/src/core/compose/features/size.ts +0 -29
  591. package/src/core/compose/features/style.ts +0 -31
  592. package/src/core/compose/features/text.ts +0 -44
  593. package/src/core/compose/features/textinput.ts +0 -238
  594. package/src/core/compose/features/textlabel.ts +0 -113
  595. package/src/core/compose/features/track.ts +0 -84
  596. package/src/core/compose/features/variant.ts +0 -29
  597. package/src/core/compose/features/withEvents.ts +0 -137
  598. package/src/core/compose/index.ts +0 -54
  599. package/src/core/composition/features/dom.ts +0 -45
  600. package/src/core/composition/features/icon.ts +0 -131
  601. package/src/core/composition/features/label.ts +0 -155
  602. package/src/core/config.ts +0 -211
  603. package/src/core/dom/classes.ts +0 -132
  604. package/src/core/dom/create.ts +0 -273
  605. package/src/core/dom/events.ts +0 -209
  606. package/src/core/dom/utils.ts +0 -97
  607. package/src/core/index.ts +0 -111
  608. package/src/core/layout/README.md +0 -715
  609. package/src/core/layout/array.ts +0 -180
  610. package/src/core/layout/config.ts +0 -193
  611. package/src/core/layout/create.ts +0 -54
  612. package/src/core/layout/index.ts +0 -36
  613. package/src/core/layout/object.ts +0 -123
  614. package/src/core/layout/processor.ts +0 -106
  615. package/src/core/layout/result.ts +0 -84
  616. package/src/core/layout/types.ts +0 -180
  617. package/src/core/layout/utils.ts +0 -144
  618. package/src/core/state/disabled.ts +0 -81
  619. package/src/core/state/emitter.ts +0 -94
  620. package/src/core/state/events.ts +0 -88
  621. package/src/core/state/lifecycle.ts +0 -131
  622. package/src/core/state/store.ts +0 -197
  623. package/src/core/utils/index.ts +0 -45
  624. package/src/core/utils/mobile.ts +0 -98
  625. package/src/core/utils/object.ts +0 -41
  626. package/src/core/utils/validate.ts +0 -234
  627. package/src/index.ts +0 -134
  628. package/src/styles/abstract/_base.scss +0 -2
  629. package/src/styles/abstract/_config.scss +0 -28
  630. package/src/styles/abstract/_functions.scss +0 -124
  631. package/src/styles/abstract/_mixins.scss +0 -352
  632. package/src/styles/abstract/_theme.scss +0 -269
  633. package/src/styles/abstract/_variables.scss +0 -305
  634. package/src/styles/base/_reset.scss +0 -86
  635. package/src/styles/base/_typography.scss +0 -155
  636. package/src/styles/components/_badge.scss +0 -182
  637. package/src/styles/components/_bottom-app-bar.scss +0 -103
  638. package/src/styles/components/_button.scss +0 -224
  639. package/src/styles/components/_card.scss +0 -401
  640. package/src/styles/components/_carousel.scss +0 -645
  641. package/src/styles/components/_checkbox.scss +0 -231
  642. package/src/styles/components/_chips.scss +0 -638
  643. package/src/styles/components/_datepicker.scss +0 -358
  644. package/src/styles/components/_dialog.scss +0 -259
  645. package/src/styles/components/_divider.scss +0 -57
  646. package/src/styles/components/_extended-fab.scss +0 -267
  647. package/src/styles/components/_fab.scss +0 -225
  648. package/src/styles/components/_list.scss +0 -248
  649. package/src/styles/components/_menu.scss +0 -248
  650. package/src/styles/components/_navigation-mobile.scss +0 -244
  651. package/src/styles/components/_navigation-system.scss +0 -151
  652. package/src/styles/components/_navigation.scss +0 -407
  653. package/src/styles/components/_progress.scss +0 -151
  654. package/src/styles/components/_radios.scss +0 -187
  655. package/src/styles/components/_search.scss +0 -306
  656. package/src/styles/components/_segmented-button.scss +0 -227
  657. package/src/styles/components/_select.scss +0 -265
  658. package/src/styles/components/_sheet.scss +0 -236
  659. package/src/styles/components/_slider.scss +0 -489
  660. package/src/styles/components/_snackbar.scss +0 -211
  661. package/src/styles/components/_switch.scss +0 -298
  662. package/src/styles/components/_tabs.scss +0 -416
  663. package/src/styles/components/_textfield.scss +0 -773
  664. package/src/styles/components/_timepicker.scss +0 -451
  665. package/src/styles/components/_tooltip.scss +0 -241
  666. package/src/styles/components/_top-app-bar.scss +0 -225
  667. package/src/styles/main.scss +0 -175
  668. package/src/styles/themes/_autumn.scss +0 -105
  669. package/src/styles/themes/_base-theme.scss +0 -85
  670. package/src/styles/themes/_baseline.scss +0 -173
  671. package/src/styles/themes/_bluekhaki.scss +0 -125
  672. package/src/styles/themes/_brownbeige.scss +0 -125
  673. package/src/styles/themes/_browngreen.scss +0 -125
  674. package/src/styles/themes/_forest.scss +0 -77
  675. package/src/styles/themes/_greenbeige.scss +0 -125
  676. package/src/styles/themes/_index.scss +0 -6
  677. package/src/styles/themes/_material.scss +0 -125
  678. package/src/styles/themes/_ocean.scss +0 -77
  679. package/src/styles/themes/_sageivory.scss +0 -125
  680. package/src/styles/themes/_spring.scss +0 -77
  681. package/src/styles/themes/_summer.scss +0 -87
  682. package/src/styles/themes/_sunset.scss +0 -60
  683. package/src/styles/themes/_tealcaramel.scss +0 -125
  684. package/src/styles/themes/_winter.scss +0 -77
  685. package/src/styles/utilities/_colors.scss +0 -154
  686. package/src/styles/utilities/_flexbox.scss +0 -194
  687. package/src/styles/utilities/_layout.scss +0 -665
  688. package/src/styles/utilities/_ripple.scss +0 -79
  689. package/src/styles/utilities/_spacing.scss +0 -139
  690. package/src/styles/utilities/_typography.scss +0 -178
  691. package/src/styles/utilities/_visibility.scss +0 -142
@@ -0,0 +1,106 @@
1
+ /**
2
+ * API configuration options for VirtualList component
3
+ */
4
+ interface ApiOptions {
5
+ list: {
6
+ refresh: () => Promise<void>;
7
+ loadMore: () => Promise<{
8
+ hasNext: boolean;
9
+ items: any[];
10
+ }>;
11
+ scrollToItem: (itemId: string, position?: 'start' | 'center' | 'end') => void;
12
+ getVisibleItems: () => any[];
13
+ getAllItems: () => any[];
14
+ isLoading: () => boolean;
15
+ hasNextPage: () => boolean;
16
+ };
17
+ events: {
18
+ on: (event: string, handler: Function) => any;
19
+ off: (event: string, handler: Function) => any;
20
+ };
21
+ lifecycle: {
22
+ destroy: () => void;
23
+ };
24
+ getSelectedItems?: () => any[];
25
+ getSelectedItemIds?: () => string[];
26
+ isItemSelected?: (itemId: string) => boolean;
27
+ selectItem?: (itemId: string) => any;
28
+ deselectItem?: (itemId: string) => any;
29
+ clearSelection?: () => any;
30
+ setSelection?: (itemIds: string[]) => any;
31
+ }
32
+ /**
33
+ * Component with required elements and methods for API enhancement
34
+ */
35
+ interface ComponentWithElements {
36
+ element: HTMLElement;
37
+ on?: (event: string, handler: Function) => any;
38
+ off?: (event: string, handler: Function) => any;
39
+ }
40
+ /**
41
+ * Enhances a VirtualList component with API methods
42
+ * @param {ApiOptions} options - API configuration options
43
+ * @returns {Function} Higher-order function that adds API methods to component
44
+ */
45
+ export declare const withAPI: ({ list, events, lifecycle }: ApiOptions) => (component: ComponentWithElements) => {
46
+ element: HTMLElement;
47
+ /**
48
+ * Refreshes the list with the latest data
49
+ * @returns {Promise<void>} Promise that resolves when refresh is complete
50
+ */
51
+ refresh: () => Promise<ComponentWithElements>;
52
+ /**
53
+ * Loads more items
54
+ * @returns {Promise<Object>} Promise with load result
55
+ */
56
+ loadMore: () => Promise<{
57
+ hasNext: boolean;
58
+ items: any[];
59
+ }>;
60
+ /**
61
+ * Scrolls to a specific item by ID
62
+ * @param {string} itemId - Item ID to scroll to
63
+ * @param {string} position - Position ('start', 'center', 'end')
64
+ * @returns {Object} Component instance for chaining
65
+ */
66
+ scrollToItem: (itemId: string, position?: "start" | "center" | "end") => ComponentWithElements;
67
+ /**
68
+ * Gets all currently visible items
69
+ * @returns {Array} Visible items
70
+ */
71
+ getVisibleItems: () => any[];
72
+ /**
73
+ * Gets all loaded items
74
+ * @returns {Array} All loaded items
75
+ */
76
+ getAllItems: () => any[];
77
+ /**
78
+ * Checks if the list is currently loading
79
+ * @returns {boolean} True if loading
80
+ */
81
+ isLoading: () => boolean;
82
+ /**
83
+ * Checks if the list has more items to load
84
+ * @returns {boolean} True if has more items
85
+ */
86
+ hasNextPage: () => boolean;
87
+ /**
88
+ * Adds an event listener to the list
89
+ * @param {string} event - Event name
90
+ * @param {Function} handler - Event handler
91
+ * @returns {Object} Component instance for chaining
92
+ */
93
+ on: (event: any, handler: any) => ComponentWithElements;
94
+ /**
95
+ * Removes an event listener from the list
96
+ * @param {string} event - Event name
97
+ * @param {Function} handler - Event handler
98
+ * @returns {Object} Component instance for chaining
99
+ */
100
+ off: (event: any, handler: any) => ComponentWithElements;
101
+ /**
102
+ * Destroys the component and cleans up resources
103
+ */
104
+ destroy: () => void;
105
+ };
106
+ export default withAPI;
@@ -0,0 +1,61 @@
1
+ import { ListConfig } from './types';
2
+ /**
3
+ * Default configuration for the List component
4
+ */
5
+ export declare const defaultConfig: {
6
+ collection: "items";
7
+ transform: (item: any) => any;
8
+ baseUrl: "http://localhost:4000/api";
9
+ items: any[];
10
+ pageSize: 20;
11
+ renderBufferSize: 5;
12
+ renderItem: any;
13
+ trackSelection: boolean;
14
+ multiSelect: boolean;
15
+ };
16
+ /**
17
+ * Creates the base configuration for List component
18
+ * @param {ListConfig} config - User provided configuration
19
+ * @returns {Object} Complete configuration with defaults applied
20
+ */
21
+ export declare const createBaseConfig: (config?: Partial<ListConfig>) => import("../../core/config/component").BaseComponentConfig;
22
+ /**
23
+ * Generates element configuration for the List component
24
+ * @param {Object} config - List configuration
25
+ * @returns {Object} Element configuration object for withElement
26
+ */
27
+ export declare const getElementConfig: (config: any) => {
28
+ tag: string;
29
+ componentName: string;
30
+ attrs: Record<string, any>;
31
+ className: string[];
32
+ rawClass: string | string[];
33
+ html: string;
34
+ text: string;
35
+ forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
36
+ interactive: boolean;
37
+ };
38
+ /**
39
+ * Creates API configuration for the List component
40
+ * @param {Object} component - Component with list manager
41
+ * @returns {Object} API configuration object
42
+ */
43
+ export declare const getApiConfig: (component: any) => {
44
+ list: {
45
+ refresh: any;
46
+ loadMore: any;
47
+ scrollToItem: any;
48
+ getVisibleItems: any;
49
+ getAllItems: any;
50
+ isLoading: any;
51
+ hasNextPage: any;
52
+ };
53
+ events: {
54
+ on: any;
55
+ off: any;
56
+ };
57
+ lifecycle: {
58
+ destroy: any;
59
+ };
60
+ };
61
+ export default defaultConfig;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Default list item configuration
3
+ */
4
+ export declare const LIST_DEFAULTS: {
5
+ /** Default collection name for API-connected lists */
6
+ readonly COLLECTION: "items";
7
+ /** Default API base URL */
8
+ readonly BASE_URL: "http://localhost:4000/api";
9
+ /** Default number of items per page */
10
+ readonly PAGE_SIZE: 20;
11
+ /** Default number of extra items to render above/below viewport */
12
+ readonly RENDER_BUFFER_SIZE: 5;
13
+ /** Default item height in pixels */
14
+ readonly ITEM_HEIGHT: 48;
15
+ };
16
+ /**
17
+ * List types for rendering and behavior
18
+ */
19
+ export declare const LIST_TYPES: {
20
+ /** Standard list with no selection */
21
+ readonly DEFAULT: "default";
22
+ /** List with single-select behavior */
23
+ readonly SINGLE_SELECT: "single-select";
24
+ /** List with multi-select behavior */
25
+ readonly MULTI_SELECT: "multi-select";
26
+ };
27
+ /**
28
+ * List selection modes
29
+ */
30
+ export declare const LIST_SELECTION_MODES: {
31
+ /** No selection allowed */
32
+ readonly NONE: "none";
33
+ /** Only one item can be selected at a time */
34
+ readonly SINGLE: "single";
35
+ /** Multiple items can be selected */
36
+ readonly MULTIPLE: "multiple";
37
+ };
38
+ /**
39
+ * List events
40
+ */
41
+ export declare const LIST_EVENTS: {
42
+ /** Fired when an item is selected */
43
+ readonly SELECT: "select";
44
+ /** Fired when items are loaded */
45
+ readonly LOAD: "load";
46
+ /** Fired when the list is scrolled */
47
+ readonly SCROLL: "scroll";
48
+ };
49
+ /**
50
+ * Scroll position options for scrollToItem method
51
+ */
52
+ export declare const LIST_SCROLL_POSITIONS: {
53
+ /** Align item at the top of viewport */
54
+ readonly START: "start";
55
+ /** Center item in the viewport */
56
+ readonly CENTER: "center";
57
+ /** Align item at the bottom of viewport */
58
+ readonly END: "end";
59
+ };
60
+ /**
61
+ * CSS classes used in the list component
62
+ */
63
+ export declare const LIST_CLASSES: {
64
+ /** Container element */
65
+ readonly CONTAINER: "list-container";
66
+ /** List element */
67
+ readonly LIST: "list";
68
+ /** List item */
69
+ readonly ITEM: "list-item";
70
+ /** Selected list item */
71
+ readonly SELECTED: "list-item--selected";
72
+ /** Loading indicator */
73
+ readonly LOADING: "list--loading";
74
+ /** Empty state */
75
+ readonly EMPTY: "list--empty";
76
+ };
@@ -0,0 +1,2 @@
1
+ export { default as withListManager } from './listmanager';
2
+ export { default as withSelection } from './selection';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Adds list management capabilities to a component
3
+ * Optimized implementation for better performance
4
+ *
5
+ * @param config - Configuration options
6
+ * @returns Function that enhances a component with list management
7
+ */
8
+ export declare const withListManager: (config: any) => (component: any) => any;
9
+ export default withListManager;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Adds selection management capabilities to a list component
3
+ * Optimized implementation for better performance
4
+ *
5
+ * @param config - Configuration options
6
+ * @returns Function that enhances a component with selection management
7
+ */
8
+ export declare const withSelection: (config: any) => (component: any) => any;
9
+ export default withSelection;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * List Component Module
3
+ *
4
+ * The List component provides high-performance rendering of large datasets
5
+ * with built-in virtualization, pagination, and efficient DOM management.
6
+ *
7
+ * @module components/list
8
+ * @category Components
9
+ */
10
+ export { default } from './list';
11
+ export { LIST_DEFAULTS, LIST_TYPES, LIST_SELECTION_MODES, LIST_EVENTS, LIST_SCROLL_POSITIONS, LIST_CLASSES } from './constants';
12
+ export type { ListConfig, ListComponent, SelectEvent, LoadEvent, LoadResult } from './types';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Creates a new List component
3
+ *
4
+ * The List component provides a high-performance way to render large datasets
5
+ * with built-in virtualization, pagination, and efficient DOM management.
6
+ *
7
+ * @param {Object} config - Configuration options for the list
8
+ * @returns {Object} List component instance
9
+ */
10
+ declare const createList: (config?: {}) => any;
11
+ export default createList;
@@ -0,0 +1,294 @@
1
+ /**
2
+ * Configuration for the List component
3
+ * @interface ListConfig
4
+ */
5
+ export interface ListConfig {
6
+ /**
7
+ * Collection name to fetch data from
8
+ * @default 'items'
9
+ */
10
+ collection?: string;
11
+ /**
12
+ * Transform function for API items
13
+ * @param {any} item - Raw item from API
14
+ * @returns {any} Transformed item
15
+ */
16
+ transform?: (item: any) => any;
17
+ /**
18
+ * Base URL for API requests
19
+ * @default 'http://localhost:4000/api'
20
+ */
21
+ baseUrl?: string;
22
+ /**
23
+ * Static array of items to display
24
+ * @default []
25
+ */
26
+ items?: any[];
27
+ /**
28
+ * Default height for items in pixels
29
+ * This is used for calculation before actual measurement
30
+ * @default 48
31
+ */
32
+ itemHeight?: number;
33
+ /**
34
+ * Number of items to fetch per page
35
+ * @default 20
36
+ */
37
+ pageSize?: number;
38
+ /**
39
+ * Number of extra items to render above/below viewport
40
+ * Higher values reduce blank spaces during fast scrolling but impact performance
41
+ * @default 5
42
+ */
43
+ renderBufferSize?: number;
44
+ /**
45
+ * Function to render an item
46
+ * @param {any} item - Item to render
47
+ * @param {number} index - Item index in the list
48
+ * @returns {HTMLElement} Rendered DOM element
49
+ */
50
+ renderItem: (item: any, index: number) => HTMLElement;
51
+ /**
52
+ * Callback when items are loaded
53
+ * @param {Object} data - Load result data
54
+ */
55
+ afterLoad?: (data: LoadResult) => void;
56
+ /**
57
+ * Whether to track item selection
58
+ * When true, clicked items will receive a selected class
59
+ * @default true
60
+ */
61
+ trackSelection?: boolean;
62
+ /**
63
+ * Whether to allow multiple item selection
64
+ * @default false
65
+ */
66
+ multiSelect?: boolean;
67
+ /**
68
+ * Initial selection state (array of item IDs)
69
+ */
70
+ initialSelection?: string[];
71
+ /**
72
+ * ARIA label for accessibility
73
+ */
74
+ ariaLabel?: string;
75
+ /**
76
+ * Additional CSS classes
77
+ */
78
+ class?: string;
79
+ }
80
+ /**
81
+ * Result of a load operation
82
+ * @interface LoadResult
83
+ */
84
+ export interface LoadResult {
85
+ /**
86
+ * Whether the list is currently loading
87
+ */
88
+ loading: boolean;
89
+ /**
90
+ * Whether there are more items to load
91
+ */
92
+ hasNext: boolean;
93
+ /**
94
+ * Whether there are previous items (if paginating)
95
+ */
96
+ hasPrev: boolean;
97
+ /**
98
+ * Newly loaded items
99
+ */
100
+ items: any[];
101
+ /**
102
+ * All loaded items
103
+ */
104
+ allItems: any[];
105
+ }
106
+ /**
107
+ * Selection event data
108
+ * @interface SelectEvent
109
+ */
110
+ export interface SelectEvent {
111
+ /**
112
+ * Selected item data
113
+ */
114
+ item: any;
115
+ /**
116
+ * DOM element for the selected item
117
+ */
118
+ element: HTMLElement;
119
+ /**
120
+ * Original DOM event
121
+ */
122
+ originalEvent: Event;
123
+ /**
124
+ * Component instance
125
+ */
126
+ component: ListComponent;
127
+ /**
128
+ * Prevent default behavior
129
+ */
130
+ preventDefault: () => void;
131
+ /**
132
+ * Whether default was prevented
133
+ */
134
+ defaultPrevented: boolean;
135
+ }
136
+ /**
137
+ * Load event data
138
+ * @interface LoadEvent
139
+ */
140
+ export interface LoadEvent extends LoadResult {
141
+ /**
142
+ * Component instance
143
+ */
144
+ component: VirtualListComponent;
145
+ /**
146
+ * Prevent default behavior
147
+ */
148
+ preventDefault: () => void;
149
+ /**
150
+ * Whether default was prevented
151
+ */
152
+ defaultPrevented: boolean;
153
+ }
154
+ /**
155
+ * Virtual List component interface - enhanced list with virtual scrolling
156
+ * @interface VirtualListComponent
157
+ */
158
+ export interface VirtualListComponent extends ListComponent {
159
+ /**
160
+ * Updates the virtual scroll parameters
161
+ * @returns {VirtualListComponent} Component instance for chaining
162
+ */
163
+ updateScrollParams?: () => VirtualListComponent;
164
+ /**
165
+ * Gets the scroll position
166
+ * @returns {number} Current scroll position
167
+ */
168
+ getScrollTop?: () => number;
169
+ /**
170
+ * Sets the scroll position
171
+ * @param {number} scrollTop - Scroll position to set
172
+ * @returns {VirtualListComponent} Component instance for chaining
173
+ */
174
+ setScrollTop?: (scrollTop: number) => VirtualListComponent;
175
+ }
176
+ /**
177
+ * List component interface
178
+ * @interface ListComponent
179
+ */
180
+ export interface ListComponent {
181
+ /**
182
+ * Component's root DOM element
183
+ */
184
+ element: HTMLElement;
185
+ /**
186
+ * Refreshes the list with the latest data
187
+ * @returns {Promise<VirtualListComponent>} Promise that resolves with component
188
+ */
189
+ refresh: () => Promise<VirtualListComponent>;
190
+ /**
191
+ * Loads more items
192
+ * @returns {Promise<{hasNext: boolean, items: any[]}>} Promise with load result
193
+ */
194
+ loadMore: () => Promise<{
195
+ hasNext: boolean;
196
+ items: any[];
197
+ }>;
198
+ /**
199
+ * Scrolls to a specific item by ID
200
+ * @param {string} itemId - Item ID to scroll to
201
+ * @param {string} position - Position ('start', 'center', 'end')
202
+ * @returns {VirtualListComponent} Component instance for chaining
203
+ */
204
+ scrollToItem: (itemId: string, position?: 'start' | 'center' | 'end') => VirtualListComponent;
205
+ /**
206
+ * Gets all currently visible items
207
+ * @returns {any[]} Visible items
208
+ */
209
+ getVisibleItems: () => any[];
210
+ /**
211
+ * Gets all loaded items
212
+ * @returns {any[]} All loaded items
213
+ */
214
+ getAllItems: () => any[];
215
+ /**
216
+ * Checks if the list is currently loading
217
+ * @returns {boolean} True if loading
218
+ */
219
+ isLoading: () => boolean;
220
+ /**
221
+ * Checks if the list has more items to load
222
+ * @returns {boolean} True if has more items
223
+ */
224
+ hasNextPage: () => boolean;
225
+ /**
226
+ * Gets the currently selected items
227
+ * @returns {any[]} Selected items
228
+ */
229
+ getSelectedItems: () => any[];
230
+ /**
231
+ * Gets the IDs of currently selected items
232
+ * @returns {string[]} Selected item IDs
233
+ */
234
+ getSelectedItemIds: () => string[];
235
+ /**
236
+ * Checks if an item is selected
237
+ * @param {string} itemId - Item ID to check
238
+ * @returns {boolean} True if item is selected
239
+ */
240
+ isItemSelected: (itemId: string) => boolean;
241
+ /**
242
+ * Selects an item
243
+ * @param {string} itemId - Item ID to select
244
+ * @returns {ListComponent} Component instance for chaining
245
+ */
246
+ selectItem: (itemId: string) => ListComponent;
247
+ /**
248
+ * Deselects an item
249
+ * @param {string} itemId - Item ID to deselect
250
+ * @returns {ListComponent} Component instance for chaining
251
+ */
252
+ deselectItem: (itemId: string) => ListComponent;
253
+ /**
254
+ * Clears all selections
255
+ * @returns {ListComponent} Component instance for chaining
256
+ */
257
+ clearSelection: () => ListComponent;
258
+ /**
259
+ * Sets the selection to the specified item IDs
260
+ * @param {string[]} itemIds - Item IDs to select
261
+ * @returns {ListComponent} Component instance for chaining
262
+ */
263
+ setSelection: (itemIds: string[]) => ListComponent;
264
+ /**
265
+ * Adds an event listener to the list
266
+ * @param {string} event - Event name
267
+ * @param {Function} handler - Event handler
268
+ * @returns {ListComponent} Component instance for chaining
269
+ */
270
+ on: <T extends keyof ListEvents>(event: T, handler: ListEvents[T]) => ListComponent;
271
+ /**
272
+ * Removes an event listener from the list
273
+ * @param {string} event - Event name
274
+ * @param {Function} handler - Event handler
275
+ * @returns {ListComponent} Component instance for chaining
276
+ */
277
+ off: <T extends keyof ListEvents>(event: T, handler: ListEvents[T]) => ListComponent;
278
+ /**
279
+ * Destroys the component and cleans up resources
280
+ */
281
+ destroy: () => void;
282
+ }
283
+ /**
284
+ * Event handlers for List
285
+ * @interface ListEvents
286
+ */
287
+ export interface ListEvents {
288
+ 'select': (event: SelectEvent) => void;
289
+ 'load': (event: LoadEvent) => void;
290
+ 'scroll': (event: {
291
+ originalEvent: Event;
292
+ component: VirtualListComponent;
293
+ }) => void;
294
+ }
@@ -0,0 +1,58 @@
1
+ import { MenuComponent, MenuContent, MenuPosition } from './types';
2
+ /**
3
+ * API configuration options for menu component
4
+ * @category Components
5
+ * @internal
6
+ */
7
+ interface ApiOptions {
8
+ menu: {
9
+ open: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
10
+ close: (event?: Event, restoreFocus?: boolean, skipAnimation?: boolean) => any;
11
+ toggle: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
12
+ isOpen: () => boolean;
13
+ setItems: (items: MenuContent[]) => any;
14
+ getItems: () => MenuContent[];
15
+ setPosition: (position: MenuPosition) => any;
16
+ getPosition: () => MenuPosition;
17
+ setSelected: (itemId: string) => any;
18
+ getSelected: () => string | null;
19
+ };
20
+ opener: {
21
+ setOpener: (opener: HTMLElement | string) => any;
22
+ getOpener: () => HTMLElement;
23
+ };
24
+ submenu?: {
25
+ hasOpenSubmenu: () => boolean;
26
+ closeAllSubmenus: () => void;
27
+ };
28
+ events?: {
29
+ on: <T extends string>(event: T, handler: (event: any) => void) => any;
30
+ off: <T extends string>(event: T, handler: (event: any) => void) => any;
31
+ };
32
+ lifecycle: {
33
+ destroy: () => void;
34
+ };
35
+ }
36
+ /**
37
+ * Component with required elements and methods for API enhancement
38
+ * @category Components
39
+ * @internal
40
+ */
41
+ interface ComponentWithElements {
42
+ element: HTMLElement;
43
+ on?: <T extends string>(event: T, handler: (event: any) => void) => any;
44
+ off?: <T extends string>(event: T, handler: (event: any) => void) => any;
45
+ emit?: (event: string, data: any) => void;
46
+ }
47
+ /**
48
+ * Enhances a menu component with API methods.
49
+ * This follows the higher-order function pattern to add public API methods
50
+ * to the component, making them available to the end user.
51
+ *
52
+ * @param {ApiOptions} options - API configuration options
53
+ * @returns {Function} Higher-order function that adds API methods to component
54
+ * @category Components
55
+ * @internal This is an internal utility for the Menu component
56
+ */
57
+ declare const withAPI: ({ menu, opener, events, lifecycle, submenu }: ApiOptions) => (component: ComponentWithElements) => MenuComponent;
58
+ export { withAPI };