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,5 @@
1
+ /**
2
+ * Canvas utilities module
3
+ * Provides common utilities for working with HTML Canvas elements
4
+ */
5
+ export { observeCanvasResize } from './resize';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Canvas resize utilities
3
+ * Provides utilities for observing and handling canvas resize events
4
+ */
5
+ /**
6
+ * Observes resize events on an element and triggers a callback
7
+ * Watches the specified element and debounces resize events
8
+ *
9
+ * @param element - The element to observe for size changes
10
+ * @param canvas - The canvas element (for context)
11
+ * @param onResize - Callback to execute when the element resizes
12
+ * @returns Cleanup function to stop observing
13
+ */
14
+ export declare const observeCanvasResize: (element: HTMLElement, canvas: HTMLCanvasElement, onResize: () => void) => (() => void);
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Query operators for filtering data
3
+ */
4
+ export declare const OPERATORS: {
5
+ readonly EQ: "eq";
6
+ readonly NE: "ne";
7
+ readonly GT: "gt";
8
+ readonly GTE: "gte";
9
+ readonly LT: "lt";
10
+ readonly LTE: "lte";
11
+ readonly IN: "in";
12
+ readonly NIN: "nin";
13
+ readonly CONTAINS: "contains";
14
+ readonly STARTS_WITH: "startsWith";
15
+ readonly ENDS_WITH: "endsWith";
16
+ };
17
+ /**
18
+ * Type for query operators
19
+ */
20
+ export type Operator = keyof typeof OPERATORS;
21
+ /**
22
+ * Configuration for base adapter
23
+ */
24
+ export interface BaseAdapterConfig {
25
+ /**
26
+ * Error handler function
27
+ */
28
+ onError?: (error: Error, context?: any) => void;
29
+ }
30
+ /**
31
+ * Base adapter interface
32
+ */
33
+ export interface BaseAdapter {
34
+ /**
35
+ * Handles errors in adapter operations
36
+ * @param error - The error that occurred
37
+ * @param context - Optional context information about the error
38
+ * @throws The original error after processing
39
+ */
40
+ handleError(error: Error, context?: any): never;
41
+ }
42
+ /**
43
+ * Creates a base adapter with error handling
44
+ * @param config - Adapter configuration
45
+ * @returns Base adapter with error handling
46
+ */
47
+ export declare const createBaseAdapter: (config?: BaseAdapterConfig) => BaseAdapter;
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Pagination strategies supported by the route adapter
3
+ */
4
+ export type PaginationStrategy = 'cursor' | 'offset' | 'page';
5
+ /**
6
+ * Pagination configuration
7
+ */
8
+ export interface PaginationConfig {
9
+ /**
10
+ * Pagination strategy to use
11
+ * @default 'cursor'
12
+ */
13
+ strategy: PaginationStrategy;
14
+ /**
15
+ * Parameter name for pagination cursor
16
+ * @default 'cursor'
17
+ */
18
+ cursorParamName?: string;
19
+ /**
20
+ * Parameter name for page number
21
+ * @default 'page'
22
+ */
23
+ pageParamName?: string;
24
+ /**
25
+ * Parameter name for page size / items per page
26
+ * @default 'per_page'
27
+ */
28
+ perPageParamName?: string;
29
+ /**
30
+ * Parameter name for offset
31
+ * @default 'offset'
32
+ */
33
+ offsetParamName?: string;
34
+ /**
35
+ * Parameter name for limit
36
+ * @default 'limit'
37
+ */
38
+ limitParamName?: string;
39
+ /**
40
+ * Default page size for pagination
41
+ * @default 20
42
+ */
43
+ defaultPageSize?: number;
44
+ }
45
+ /**
46
+ * Route adapter configuration interface
47
+ */
48
+ export interface RouteAdapterConfig {
49
+ /**
50
+ * Base URL for API requests
51
+ */
52
+ base?: string;
53
+ /**
54
+ * API endpoints
55
+ */
56
+ endpoints?: {
57
+ create?: string;
58
+ list?: string;
59
+ update?: string;
60
+ delete?: string;
61
+ };
62
+ /**
63
+ * HTTP headers to include with requests
64
+ */
65
+ headers?: Record<string, string>;
66
+ /**
67
+ * Whether to enable response caching
68
+ */
69
+ cache?: boolean;
70
+ /**
71
+ * Error handler function
72
+ */
73
+ onError?: (error: Error, context?: any) => void;
74
+ /**
75
+ * Custom adapter options
76
+ */
77
+ adapter?: {
78
+ /**
79
+ * Custom response parser
80
+ */
81
+ parseResponse?: (response: any) => any;
82
+ };
83
+ /**
84
+ * Pagination configuration
85
+ */
86
+ pagination?: PaginationConfig;
87
+ }
88
+ /**
89
+ * Response metadata interface
90
+ */
91
+ export interface ResponseMeta {
92
+ /**
93
+ * Cursor for next page (cursor-based pagination)
94
+ */
95
+ cursor: string | null;
96
+ /**
97
+ * Whether there are more items available
98
+ */
99
+ hasNext: boolean;
100
+ /**
101
+ * Total number of items (if available)
102
+ */
103
+ total?: number;
104
+ /**
105
+ * Current page number (page-based pagination)
106
+ */
107
+ page?: number;
108
+ /**
109
+ * Total number of pages (page-based pagination)
110
+ */
111
+ pages?: number;
112
+ /**
113
+ * Current offset (offset-based pagination)
114
+ */
115
+ offset?: number;
116
+ }
117
+ /**
118
+ * Parsed response interface
119
+ */
120
+ export interface ParsedResponse<T = any> {
121
+ /**
122
+ * Items returned in the response
123
+ */
124
+ items: T[];
125
+ /**
126
+ * Pagination metadata
127
+ */
128
+ meta: ResponseMeta;
129
+ }
130
+ export declare const createRouteAdapter: (config?: RouteAdapterConfig) => {
131
+ create: (items: any[]) => Promise<ParsedResponse>;
132
+ read: (query?: Record<string, any>, options?: Record<string, any>) => Promise<ParsedResponse>;
133
+ update: (items: any[]) => Promise<ParsedResponse>;
134
+ delete: (ids: string[]) => Promise<ParsedResponse>;
135
+ query: (query?: Record<string, any>, options?: Record<string, any>) => Promise<ParsedResponse>;
136
+ /**
137
+ * Change the pagination strategy
138
+ * @param strategy - New pagination strategy
139
+ * @returns Updated adapter
140
+ */
141
+ setPaginationStrategy: (strategy: PaginationStrategy) => void;
142
+ /**
143
+ * Get the current pagination configuration
144
+ * @returns Current pagination config
145
+ */
146
+ getPaginationConfig: () => Required<PaginationConfig>;
147
+ disconnect: () => void;
148
+ handleError(error: Error, context?: any): never;
149
+ };
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Event types for collection changes
3
+ */
4
+ export declare const COLLECTION_EVENTS: {
5
+ readonly CHANGE: "change";
6
+ readonly ADD: "add";
7
+ readonly UPDATE: "update";
8
+ readonly REMOVE: "remove";
9
+ readonly ERROR: "error";
10
+ readonly LOADING: "loading";
11
+ };
12
+ /**
13
+ * Collection event type
14
+ */
15
+ export type CollectionEvent = typeof COLLECTION_EVENTS[keyof typeof COLLECTION_EVENTS];
16
+ /**
17
+ * Observer callback type for collection events
18
+ */
19
+ export type CollectionObserver<T> = (payload: {
20
+ event: CollectionEvent;
21
+ data: any;
22
+ }) => void;
23
+ /**
24
+ * Query operators for filtering
25
+ */
26
+ export declare const OPERATORS: {
27
+ readonly EQ: "eq";
28
+ readonly NE: "ne";
29
+ readonly GT: "gt";
30
+ readonly GTE: "gte";
31
+ readonly LT: "lt";
32
+ readonly LTE: "lte";
33
+ readonly IN: "in";
34
+ readonly NIN: "nin";
35
+ readonly CONTAINS: "contains";
36
+ readonly STARTS_WITH: "startsWith";
37
+ readonly ENDS_WITH: "endsWith";
38
+ };
39
+ /**
40
+ * Type for all collection items
41
+ */
42
+ export interface CollectionItem {
43
+ id: string;
44
+ [key: string]: any;
45
+ }
46
+ /**
47
+ * Collection configuration
48
+ */
49
+ export interface CollectionConfig<T extends CollectionItem> {
50
+ /**
51
+ * Transform function for items
52
+ */
53
+ transform?: (item: any) => T;
54
+ /**
55
+ * Validation function for items
56
+ */
57
+ validate?: (item: any) => boolean;
58
+ /**
59
+ * Initial capacity for collection
60
+ */
61
+ initialCapacity?: number;
62
+ }
63
+ /**
64
+ * Collection interface
65
+ */
66
+ export interface Collection<T extends CollectionItem> {
67
+ /**
68
+ * Subscribe to collection changes
69
+ * @param observer - Observer callback
70
+ * @returns Unsubscribe function
71
+ */
72
+ subscribe: (observer: CollectionObserver<T>) => () => void;
73
+ /**
74
+ * Get collection items based on current query and sort
75
+ * @returns Collection items
76
+ */
77
+ getItems: () => readonly T[];
78
+ /**
79
+ * Get collection size
80
+ * @returns Number of items
81
+ */
82
+ getSize: () => number;
83
+ /**
84
+ * Get loading state
85
+ * @returns Loading state
86
+ */
87
+ isLoading: () => boolean;
88
+ /**
89
+ * Get error state
90
+ * @returns Error object
91
+ */
92
+ getError: () => Error | null;
93
+ /**
94
+ * Set query filter
95
+ * @param queryFn - Query function
96
+ */
97
+ query: (queryFn: ((item: T) => boolean) | null) => void;
98
+ /**
99
+ * Set sort function
100
+ * @param sortFn - Sort function
101
+ */
102
+ sort: (sortFn: ((a: T, b: T) => number) | null) => void;
103
+ /**
104
+ * Add items to collection
105
+ * @param items - Items to add
106
+ * @returns Added items
107
+ */
108
+ add: (items: T | readonly T[]) => Promise<readonly T[]>;
109
+ /**
110
+ * Update items in collection
111
+ * @param items - Items to update
112
+ * @returns Updated items
113
+ */
114
+ update: (items: T | readonly T[]) => Promise<readonly T[]>;
115
+ /**
116
+ * Remove items from collection
117
+ * @param ids - Item IDs to remove
118
+ * @returns Removed item IDs
119
+ */
120
+ remove: (ids: string | readonly string[]) => Promise<readonly string[]>;
121
+ /**
122
+ * Clear all items from collection
123
+ */
124
+ clear: () => void;
125
+ }
126
+ /**
127
+ * Creates a collection for managing items
128
+ * @param config - Collection configuration
129
+ * @returns Collection interface
130
+ */
131
+ export declare const createCollection: <T extends CollectionItem>(config?: CollectionConfig<T>) => Collection<T>;
@@ -0,0 +1,10 @@
1
+ export { createCollection } from './collection';
2
+ export { COLLECTION_EVENTS } from './collection';
3
+ export { OPERATORS as COLLECTION_OPERATORS } from './collection';
4
+ export type { CollectionItem, CollectionConfig, CollectionEvent, CollectionObserver, Collection } from './collection';
5
+ export { createListManager, transforms } from './list-manager';
6
+ export type { ListManager, ListManagerConfig, ListItem, List, PageLoader, PageLoaderConfig, LoadStatus, PaginationMeta } from './list-manager';
7
+ export { createBaseAdapter, OPERATORS } from './adapters/base';
8
+ export type { BaseAdapter, BaseAdapterConfig, Operator } from './adapters/base';
9
+ export { createRouteAdapter } from './adapters/route';
10
+ export type { RouteAdapterConfig, ParsedResponse } from './adapters/route';
@@ -0,0 +1,29 @@
1
+ import { ListManagerConfig } from './types';
2
+ /**
3
+ * Default configuration for list manager
4
+ */
5
+ export declare const DEFAULT_CONFIG: Partial<ListManagerConfig>;
6
+ /**
7
+ * Merges user configuration with default configuration
8
+ * @param config User configuration
9
+ * @returns Merged configuration
10
+ */
11
+ export declare function mergeConfig(config: ListManagerConfig): ListManagerConfig;
12
+ /**
13
+ * Validates configuration and sets up defaults
14
+ * @param config User configuration
15
+ * @returns Validated configuration object
16
+ */
17
+ export declare function validateConfig(config: ListManagerConfig): ListManagerConfig;
18
+ /**
19
+ * Determines if the list manager should use API mode
20
+ * @param config User configuration
21
+ * @returns Whether to use API mode
22
+ */
23
+ export declare function determineApiMode(config: ListManagerConfig): boolean;
24
+ /**
25
+ * Gets all static items from config
26
+ * @param config User configuration
27
+ * @returns Static items array or empty array
28
+ */
29
+ export declare function getStaticItems(config: ListManagerConfig): any[];
@@ -0,0 +1,30 @@
1
+ import { ListManagerElements } from './types';
2
+ /**
3
+ * Creates and initializes the DOM elements needed by the list manager
4
+ * @param container Container element
5
+ * @returns Initialized DOM elements
6
+ */
7
+ export declare function createDomElements(container: HTMLElement): ListManagerElements;
8
+ /**
9
+ * Creates sentinel elements for intersection observer
10
+ * @param elements List manager elements
11
+ * @returns The DOM elements with sentinels added
12
+ */
13
+ export declare function createSentinels(elements: ListManagerElements): ListManagerElements;
14
+ /**
15
+ * Updates the position of the bottom sentinel based on total height
16
+ * @param elements List manager elements
17
+ * @param totalHeight Total height of list
18
+ */
19
+ export declare function updateSentinelPositions(elements: ListManagerElements, totalHeight: number): void;
20
+ /**
21
+ * Updates the spacer element height
22
+ * @param elements List manager elements
23
+ * @param totalHeight Total height to set
24
+ */
25
+ export declare function updateSpacerHeight(elements: ListManagerElements, totalHeight: number): void;
26
+ /**
27
+ * Cleans up DOM elements
28
+ * @param elements List manager elements
29
+ */
30
+ export declare function cleanupDomElements(elements: ListManagerElements): void;
@@ -0,0 +1,61 @@
1
+ import { ListManagerConfig, ListManager, LoadStatus } from './types';
2
+ /**
3
+ * Creates a list manager for a specific collection
4
+ * @param {string} collection - Collection name
5
+ * @param {HTMLElement} container - Container element
6
+ * @param {ListManagerConfig} config - Configuration options
7
+ * @returns {ListManager} List manager methods
8
+ */
9
+ export declare const createListManager: (collection: string, container: HTMLElement, config: ListManagerConfig) => ListManager;
10
+ /**
11
+ * Utility to create a cursor-based page loader
12
+ * @param list List interface
13
+ * @param listManager List manager instance
14
+ * @param config Page loader configuration
15
+ * @returns Page loader interface
16
+ */
17
+ export declare const createPageLoader: (list: {
18
+ setItems: (items: any[]) => void;
19
+ }, listManager: ReturnType<typeof createListManager>, config?: {
20
+ onLoad?: (status: LoadStatus) => void;
21
+ pageSize?: number;
22
+ }) => {
23
+ load: (cursor?: any, addToHistory?: boolean) => Promise<{
24
+ hasNext: boolean;
25
+ hasPrev: boolean;
26
+ }>;
27
+ loadNext: () => Promise<{
28
+ hasNext: boolean;
29
+ hasPrev: boolean;
30
+ }>;
31
+ loadPrev: () => Promise<{
32
+ hasNext: boolean;
33
+ hasPrev: boolean;
34
+ }>;
35
+ readonly loading: boolean;
36
+ readonly cursor: string;
37
+ };
38
+ /**
39
+ * Transform functions for common collections
40
+ */
41
+ export declare const transforms: {
42
+ track: (track: any) => {
43
+ id: any;
44
+ headline: any;
45
+ supportingText: any;
46
+ meta: any;
47
+ };
48
+ playlist: (playlist: any) => {
49
+ id: any;
50
+ headline: any;
51
+ supportingText: string;
52
+ meta: any;
53
+ };
54
+ country: (country: any) => {
55
+ id: any;
56
+ headline: any;
57
+ supportingText: any;
58
+ meta: any;
59
+ };
60
+ };
61
+ export * from './types';
@@ -0,0 +1,91 @@
1
+ import { ListManagerConfig } from './types';
2
+ /**
3
+ * Create item height measurement utilities
4
+ * @param defaultHeight Default height for items with no measurement
5
+ * @returns Object containing measurement functions
6
+ */
7
+ export declare const createItemMeasurement: (defaultHeight?: number) => {
8
+ /**
9
+ * Setup measurement system with configuration options
10
+ * Should be called on initialization
11
+ * @param config List configuration options
12
+ */
13
+ setup: (config?: ListManagerConfig) => void;
14
+ /**
15
+ * Measures the height of an item using its DOM element
16
+ * @param item Item to measure
17
+ * @param element DOM element of the item
18
+ * @returns The measured height
19
+ */
20
+ measureItemHeight: (item: any, element: HTMLElement) => number;
21
+ /**
22
+ * Gets the height of an item, using cached value if available
23
+ * @param item Item to get height for
24
+ * @returns Item height in pixels
25
+ */
26
+ getItemHeight: (item: any) => number;
27
+ /**
28
+ * Set custom heights for specific items
29
+ * Only applied when in dynamic measurement mode
30
+ * @param heightsMap Map of item IDs to heights
31
+ * @returns Whether any heights were updated
32
+ */
33
+ setItemHeights: (heightsMap: Record<string, number>) => boolean;
34
+ /**
35
+ * Calculates total height of all items
36
+ * @param items Array of items
37
+ * @returns Total height in pixels
38
+ */
39
+ calculateTotalHeight: (items: any[]) => number;
40
+ /**
41
+ * Get offset of an item from the top of the list
42
+ * @param items List of all items
43
+ * @param itemId ID of item to find offset for
44
+ * @returns Offset in pixels or -1 if not found
45
+ */
46
+ getItemOffset: (items: any[], itemId: string) => number;
47
+ /**
48
+ * Get the offset at a specific index
49
+ * @param index Index to get offset for
50
+ * @returns Offset in pixels
51
+ */
52
+ getOffsetAtIndex: (index: number) => number;
53
+ /**
54
+ * Measures elements that have been marked for measurement
55
+ * Only takes effect in dynamic measurement mode
56
+ * @param container Container element
57
+ * @param items List of all items
58
+ * @returns Whether any heights were updated
59
+ */
60
+ measureMarkedElements: (container: HTMLElement, items: any[]) => boolean;
61
+ /**
62
+ * Check if offsets are currently cached
63
+ * @returns Whether offsets are cached
64
+ */
65
+ hasCachedOffsets: () => boolean;
66
+ /**
67
+ * Cache offsets for all items
68
+ * @param items Array of all items
69
+ */
70
+ calculateOffsets: (items: any[]) => void;
71
+ /**
72
+ * Clears all cached heights and offsets
73
+ */
74
+ clear: () => void;
75
+ /**
76
+ * Gets all cached heights
77
+ * @returns Map of item IDs to heights
78
+ */
79
+ getAllHeights: () => Map<string, number>;
80
+ /**
81
+ * Gets current default height
82
+ * @returns Current default height
83
+ */
84
+ getDefaultHeight: () => number;
85
+ /**
86
+ * Checks if using uniform height mode
87
+ * @returns Whether using uniform height
88
+ */
89
+ isUsingUniformHeight: () => boolean;
90
+ };
91
+ export type ItemMeasurement = ReturnType<typeof createItemMeasurement>;
@@ -0,0 +1,31 @@
1
+ import { ListManagerConfig, ListManagerElements, VisibleRange } from './types';
2
+ import { RecyclingPool } from './utils/recycling';
3
+ import { ItemMeasurement } from './item-measurement';
4
+ /**
5
+ * Creates a renderer for list items
6
+ * @param config List manager configuration
7
+ * @param elements DOM elements used by the list manager
8
+ * @param itemMeasurement Item measurement utilities
9
+ * @param recyclePool Element recycling pool
10
+ * @returns Renderer functions
11
+ */
12
+ export declare const createRenderer: (config: ListManagerConfig, elements: ListManagerElements, itemMeasurement: ItemMeasurement, recyclePool: RecyclingPool) => {
13
+ /**
14
+ * Sets a render hook function that will be called for each rendered item
15
+ * @param hookFn Hook function
16
+ */
17
+ setRenderHook: (hookFn: (item: any, element: HTMLElement) => void) => void;
18
+ /**
19
+ * Renders visible items in the viewport
20
+ * @param items All items
21
+ * @param visibleRange Visible range with start and end indices
22
+ * @returns Map of item IDs to rendered elements
23
+ */
24
+ renderVisibleItems: (items: any[], visibleRange: VisibleRange) => Map<string, HTMLElement>;
25
+ /**
26
+ * Gets all currently rendered item elements
27
+ * @returns Map of item IDs to elements
28
+ */
29
+ getItemElements: () => Map<string, HTMLElement>;
30
+ };
31
+ export type Renderer = ReturnType<typeof createRenderer>;
@@ -0,0 +1,20 @@
1
+ import { ListManagerElements, ListManagerConfig } from './types';
2
+ /**
3
+ * Common interface for scroll tracking strategies
4
+ */
5
+ export interface ScrollTracker {
6
+ setup(): () => void;
7
+ getScrollTop(): number;
8
+ }
9
+ /**
10
+ * Factory to create the appropriate scroll tracker based on strategy
11
+ * @param container Container element
12
+ * @param elements DOM elements
13
+ * @param config List manager configuration
14
+ * @param callbacks Callbacks for scroll events
15
+ * @returns ScrollTracker implementation
16
+ */
17
+ export declare function createScrollTracker(container: HTMLElement, elements: ListManagerElements, config: ListManagerConfig, callbacks: {
18
+ onScroll: (scrollTop: number) => void;
19
+ onLoadMore: () => void;
20
+ }): ScrollTracker;
@@ -0,0 +1,60 @@
1
+ import { ListManagerState, ListManagerConfig } from './types';
2
+ /**
3
+ * Creates the initial state for a list manager
4
+ * @param config List manager configuration
5
+ * @returns Initialized state object
6
+ */
7
+ export declare function createInitialState(config: ListManagerConfig): ListManagerState;
8
+ /**
9
+ * Updates the state after a load operation
10
+ * @param state Current state
11
+ * @param newItems New items array
12
+ * @param meta Pagination metadata
13
+ * @param dedupe Whether to deduplicate items
14
+ * @returns Updated state
15
+ */
16
+ export declare function updateStateAfterLoad(state: ListManagerState, newItems: any[], meta: {
17
+ cursor?: string | null;
18
+ hasNext?: boolean;
19
+ total?: number;
20
+ page?: number;
21
+ }, dedupe?: boolean): Partial<ListManagerState>;
22
+ /**
23
+ * Updates the visible items in state
24
+ * @param state Current state
25
+ * @param visibleItems New visible items array
26
+ * @param visibleRange New visible range
27
+ * @returns Updated state
28
+ */
29
+ export declare function updateVisibleItems(state: ListManagerState, visibleItems: any[], visibleRange: {
30
+ start: number;
31
+ end: number;
32
+ }): Partial<ListManagerState>;
33
+ /**
34
+ * Updates total height in state
35
+ * @param state Current state
36
+ * @param totalHeight New total height
37
+ * @returns Updated state
38
+ */
39
+ export declare function updateTotalHeight(state: ListManagerState, totalHeight: number): Partial<ListManagerState>;
40
+ /**
41
+ * Updates loading state
42
+ * @param state Current state
43
+ * @param loading New loading state
44
+ * @returns Updated state
45
+ */
46
+ export declare function updateLoadingState(state: ListManagerState, loading: boolean): Partial<ListManagerState>;
47
+ /**
48
+ * Resets the state for a refresh operation
49
+ * @param state Current state
50
+ * @param initialItems Initial items array for static mode
51
+ * @returns Reset state
52
+ */
53
+ export declare function resetState(state: ListManagerState, initialItems?: any[]): Partial<ListManagerState>;
54
+ /**
55
+ * Creates load params for the next page based on pagination strategy
56
+ * @param state Current state
57
+ * @param paginationStrategy Optional pagination strategy override
58
+ * @returns Load parameters object
59
+ */
60
+ export declare function createLoadParams(state: ListManagerState, paginationStrategy?: string): Record<string, any>;