solid-tiny-ui 0.5.0 → 0.6.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 (356) hide show
  1. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/alert/alert.js +5 -0
  2. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/alert/alert.jsx +5 -0
  3. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/buttons/basic-button/basic-button.js +1 -1
  4. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/buttons/basic-button/basic-button.jsx +1 -1
  5. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/drawer/drawer-helper.js +5 -0
  6. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/drawer/drawer-helper.jsx +5 -0
  7. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/drawer/drawer.js +5 -0
  8. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/drawer/drawer.jsx +5 -0
  9. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/field/field.js +5 -0
  10. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/field/field.jsx +5 -0
  11. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/checkbox/checkbox.js +5 -0
  12. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/checkbox/checkbox.jsx +5 -0
  13. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/combobox/combobox.js +5 -0
  14. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/combobox/combobox.jsx +5 -0
  15. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/number-input/number-input.js +5 -0
  16. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/number-input/number-input.jsx +5 -0
  17. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/password-input/password-input.js +5 -0
  18. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/password-input/password-input.jsx +5 -0
  19. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/radio-group/radio-group.js +5 -0
  20. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/radio-group/radio-group.jsx +5 -0
  21. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/switcher/switcher.js +5 -0
  22. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/switcher/switcher.jsx +5 -0
  23. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/text-field/text-field.js +5 -0
  24. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/text-field/text-field.jsx +5 -0
  25. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/textarea/textarea.js +5 -0
  26. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/textarea/textarea.jsx +5 -0
  27. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/time-picker/time-picker.js +5 -0
  28. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/form-components/time-picker/time-picker.jsx +5 -0
  29. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/modal/modal-helper.js +1 -1
  30. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/modal/modal-helper.jsx +1 -1
  31. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/modal/modal.js +1 -1
  32. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/modal/modal.jsx +1 -1
  33. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/pagination/pagination.js +5 -0
  34. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/pagination/pagination.jsx +5 -0
  35. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/popover/popover.js +1 -1
  36. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/popover/popover.jsx +1 -1
  37. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/spin/spin.js +1 -1
  38. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/spin/spin.jsx +1 -1
  39. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/tabs/tabs.js +1 -1
  40. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/tabs/tabs.jsx +1 -1
  41. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/toaster/toaster.js +5 -0
  42. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/toaster/toaster.jsx +5 -0
  43. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/tooltip/tooltip.js +1 -1
  44. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/tooltip/tooltip.jsx +1 -1
  45. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/root-provider/global.js +1 -1
  46. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/root-provider/global.jsx +1 -1
  47. package/dist/components/alert/alert.d.ts +25 -0
  48. package/dist/components/alert/alert.js +186 -0
  49. package/dist/components/alert/alert.jsx +73 -0
  50. package/dist/components/alert/index.d.ts +1 -0
  51. package/dist/components/alert/index.js +1 -0
  52. package/dist/components/alert/index.jsx +1 -0
  53. package/dist/components/buttons/basic-button/basic-button.d.ts +2 -2
  54. package/dist/components/buttons/basic-button/basic-button.js +20 -29
  55. package/dist/components/buttons/basic-button/basic-button.jsx +6 -7
  56. package/dist/components/buttons/state-button/state-button.d.ts +2 -2
  57. package/dist/components/buttons/state-button/state-button.js +2 -2
  58. package/dist/components/buttons/state-button/state-button.jsx +2 -2
  59. package/dist/components/drawer/helpers.d.ts +25 -0
  60. package/dist/components/drawer/helpers.js +104 -0
  61. package/dist/components/drawer/helpers.jsx +60 -0
  62. package/dist/components/drawer/index.d.ts +42 -0
  63. package/dist/components/drawer/index.js +95 -0
  64. package/dist/components/drawer/index.jsx +57 -0
  65. package/dist/components/field/index.d.ts +10 -0
  66. package/dist/components/field/index.js +11 -0
  67. package/dist/components/field/index.jsx +11 -0
  68. package/dist/components/field/parts.d.ts +24 -0
  69. package/dist/components/field/parts.js +69 -0
  70. package/dist/components/field/parts.jsx +41 -0
  71. package/dist/components/form-components/checkbox/checkbox.d.ts +26 -0
  72. package/dist/components/form-components/checkbox/checkbox.js +118 -0
  73. package/dist/components/form-components/checkbox/checkbox.jsx +42 -0
  74. package/dist/components/form-components/checkbox/index.d.ts +1 -0
  75. package/dist/components/form-components/checkbox/index.js +1 -0
  76. package/dist/components/form-components/checkbox/index.jsx +1 -0
  77. package/dist/components/form-components/checkbox-group/checkbox-group.d.ts +26 -0
  78. package/dist/components/form-components/checkbox-group/checkbox-group.js +76 -0
  79. package/dist/components/form-components/checkbox-group/checkbox-group.jsx +34 -0
  80. package/dist/components/form-components/checkbox-group/index.d.ts +1 -0
  81. package/dist/components/form-components/checkbox-group/index.js +1 -0
  82. package/dist/components/form-components/checkbox-group/index.jsx +1 -0
  83. package/dist/components/{combobox → form-components/combobox}/combobox.d.ts +6 -4
  84. package/dist/components/{combobox → form-components/combobox}/combobox.js +18 -14
  85. package/dist/components/{combobox → form-components/combobox}/combobox.jsx +10 -10
  86. package/dist/components/form-components/index.d.ts +19 -0
  87. package/dist/components/form-components/index.js +19 -0
  88. package/dist/components/form-components/index.jsx +19 -0
  89. package/dist/components/form-components/number-input/index.d.ts +1 -0
  90. package/dist/components/form-components/number-input/index.js +1 -0
  91. package/dist/components/form-components/number-input/index.jsx +1 -0
  92. package/dist/components/form-components/number-input/number-input.d.ts +33 -0
  93. package/dist/components/form-components/number-input/number-input.js +113 -0
  94. package/dist/components/form-components/number-input/number-input.jsx +59 -0
  95. package/dist/components/form-components/password-input/index.d.ts +1 -0
  96. package/dist/components/form-components/password-input/index.js +1 -0
  97. package/dist/components/form-components/password-input/index.jsx +1 -0
  98. package/dist/components/form-components/password-input/password-input.d.ts +31 -0
  99. package/dist/components/form-components/password-input/password-input.js +95 -0
  100. package/dist/components/form-components/password-input/password-input.jsx +36 -0
  101. package/dist/components/form-components/radio-group/index.d.ts +1 -0
  102. package/dist/components/form-components/radio-group/index.js +1 -0
  103. package/dist/components/form-components/radio-group/index.jsx +1 -0
  104. package/dist/components/form-components/radio-group/radio-group.d.ts +26 -0
  105. package/dist/components/form-components/radio-group/radio-group.js +118 -0
  106. package/dist/components/form-components/radio-group/radio-group.jsx +45 -0
  107. package/dist/components/form-components/switcher/index.d.ts +1 -0
  108. package/dist/components/form-components/switcher/index.js +1 -0
  109. package/dist/components/form-components/switcher/index.jsx +1 -0
  110. package/dist/components/form-components/switcher/switcher.d.ts +23 -0
  111. package/dist/components/form-components/switcher/switcher.js +92 -0
  112. package/dist/components/form-components/switcher/switcher.jsx +32 -0
  113. package/dist/components/form-components/text-field/index.d.ts +1 -0
  114. package/dist/components/form-components/text-field/index.js +1 -0
  115. package/dist/components/form-components/text-field/index.jsx +1 -0
  116. package/dist/components/form-components/text-field/text-field.d.ts +30 -0
  117. package/dist/components/form-components/text-field/text-field.js +112 -0
  118. package/dist/components/form-components/text-field/text-field.jsx +40 -0
  119. package/dist/components/{textarea → form-components/textarea}/textarea.d.ts +5 -2
  120. package/dist/components/form-components/textarea/textarea.js +55 -0
  121. package/dist/components/form-components/textarea/textarea.jsx +24 -0
  122. package/dist/components/form-components/time-picker/index.d.ts +27 -0
  123. package/dist/components/{time-picker → form-components/time-picker}/index.js +21 -5
  124. package/dist/components/{time-picker → form-components/time-picker}/index.jsx +11 -6
  125. package/dist/components/{time-picker → form-components/time-picker}/panel.js +6 -6
  126. package/dist/components/{time-picker → form-components/time-picker}/panel.jsx +6 -6
  127. package/dist/components/{time-picker → form-components/time-picker}/trigger.js +14 -10
  128. package/dist/components/{time-picker → form-components/time-picker}/trigger.jsx +4 -4
  129. package/dist/components/modal/helpers.js +1 -1
  130. package/dist/components/modal/helpers.jsx +1 -1
  131. package/dist/components/modal/index.d.ts +5 -8
  132. package/dist/components/modal/index.js +13 -10
  133. package/dist/components/modal/index.jsx +7 -4
  134. package/dist/components/pagination/index.d.ts +1 -0
  135. package/dist/components/pagination/index.js +1 -0
  136. package/dist/components/pagination/index.jsx +1 -0
  137. package/dist/components/pagination/pagination.d.ts +32 -0
  138. package/dist/components/pagination/pagination.js +336 -0
  139. package/dist/components/pagination/pagination.jsx +104 -0
  140. package/dist/components/progress/circle-progress.d.ts +7 -0
  141. package/dist/components/progress/circle-progress.js +33 -14
  142. package/dist/components/progress/circle-progress.jsx +15 -12
  143. package/dist/components/progress/line-progress.d.ts +2 -2
  144. package/dist/components/progress/line-progress.js +6 -5
  145. package/dist/components/progress/line-progress.jsx +6 -5
  146. package/dist/components/progress/loading-bar.d.ts +2 -2
  147. package/dist/components/spin/spin-ring.d.ts +2 -2
  148. package/dist/components/spin/spin-ring.js +1 -1
  149. package/dist/components/spin/spin-ring.jsx +1 -1
  150. package/dist/components/spin/spin.js +8 -7
  151. package/dist/components/spin/spin.jsx +6 -5
  152. package/dist/components/tabs/index.d.ts +7 -0
  153. package/dist/components/tabs/index.js +40 -12
  154. package/dist/components/tabs/index.jsx +9 -7
  155. package/dist/components/toaster/context.js +31 -0
  156. package/dist/components/toaster/context.jsx +31 -0
  157. package/dist/components/toaster/icon.js +50 -0
  158. package/dist/components/toaster/icon.jsx +27 -0
  159. package/dist/components/toaster/index.d.ts +3 -0
  160. package/dist/components/toaster/index.js +2 -0
  161. package/dist/components/toaster/index.jsx +2 -0
  162. package/dist/components/toaster/locator.js +67 -0
  163. package/dist/components/toaster/locator.jsx +54 -0
  164. package/dist/components/toaster/one-toaster.js +146 -0
  165. package/dist/components/toaster/one-toaster.jsx +104 -0
  166. package/dist/components/toaster/provider.d.ts +11 -0
  167. package/dist/components/toaster/provider.js +64 -0
  168. package/dist/components/toaster/provider.jsx +51 -0
  169. package/dist/components/toaster/type.d.ts +15 -0
  170. package/dist/components/toaster/use-toaster.d.ts +48 -0
  171. package/dist/components/toaster/use-toaster.js +72 -0
  172. package/dist/components/toaster/use-toaster.jsx +72 -0
  173. package/dist/components/tooltip/tooltip.d.ts +7 -0
  174. package/dist/components/tooltip/tooltip.js +9 -2
  175. package/dist/components/tooltip/tooltip.jsx +4 -2
  176. package/dist/components/visually-hidden/index.js +10 -8
  177. package/dist/components/visually-hidden/index.jsx +3 -2
  178. package/dist/icons/arrow-down-s-line.d.ts +3 -2
  179. package/dist/icons/arrow-down-s-line.js +4 -4
  180. package/dist/icons/arrow-down-s-line.jsx +2 -2
  181. package/dist/icons/arrow-left.d.ts +7 -0
  182. package/dist/icons/arrow-left.js +13 -0
  183. package/dist/icons/arrow-left.jsx +11 -0
  184. package/dist/icons/arrow-right.d.ts +7 -0
  185. package/dist/icons/arrow-right.js +13 -0
  186. package/dist/icons/arrow-right.jsx +11 -0
  187. package/dist/icons/check-bold.d.ts +7 -0
  188. package/dist/icons/check-bold.js +13 -0
  189. package/dist/icons/check-bold.jsx +11 -0
  190. package/dist/icons/check-line.d.ts +3 -2
  191. package/dist/icons/check-line.js +4 -4
  192. package/dist/icons/check-line.jsx +2 -2
  193. package/dist/icons/checkbox-circle-line.d.ts +7 -0
  194. package/dist/icons/checkbox-circle-line.js +13 -0
  195. package/dist/icons/checkbox-circle-line.jsx +11 -0
  196. package/dist/icons/close-line.d.ts +3 -2
  197. package/dist/icons/close-line.js +4 -4
  198. package/dist/icons/close-line.jsx +2 -2
  199. package/dist/icons/common.d.ts +9 -0
  200. package/dist/icons/common.js +12 -2
  201. package/dist/icons/common.jsx +1 -1
  202. package/dist/icons/ellipsis.d.ts +7 -0
  203. package/dist/icons/ellipsis.js +13 -0
  204. package/dist/icons/ellipsis.jsx +11 -0
  205. package/dist/icons/error-warning-line.d.ts +7 -0
  206. package/dist/icons/error-warning-line.js +13 -0
  207. package/dist/icons/error-warning-line.jsx +11 -0
  208. package/dist/icons/eye-line.d.ts +7 -0
  209. package/dist/icons/eye-line.js +13 -0
  210. package/dist/icons/eye-line.jsx +11 -0
  211. package/dist/icons/eye-off-line.d.ts +7 -0
  212. package/dist/icons/eye-off-line.js +13 -0
  213. package/dist/icons/eye-off-line.jsx +11 -0
  214. package/dist/icons/index.d.ts +12 -1
  215. package/dist/icons/index.js +12 -1
  216. package/dist/icons/index.jsx +12 -1
  217. package/dist/icons/information-line.d.ts +7 -0
  218. package/dist/icons/information-line.js +13 -0
  219. package/dist/icons/information-line.jsx +11 -0
  220. package/dist/icons/loading.d.ts +13 -0
  221. package/dist/icons/loading.js +18 -0
  222. package/dist/icons/loading.jsx +19 -0
  223. package/dist/icons/subtract.d.ts +7 -0
  224. package/dist/icons/subtract.js +13 -0
  225. package/dist/icons/subtract.jsx +11 -0
  226. package/dist/index.d.ts +23 -9
  227. package/dist/index.js +23 -10
  228. package/dist/index.jsx +23 -10
  229. package/dist/layout/flex/index.d.ts +5 -4
  230. package/dist/layout/flex/index.js +25 -15
  231. package/dist/layout/flex/index.jsx +23 -10
  232. package/dist/layout/index.d.ts +1 -2
  233. package/dist/layout/index.js +0 -1
  234. package/dist/layout/index.jsx +0 -1
  235. package/dist/primitives/animated-group/context.d.ts +6 -6
  236. package/dist/primitives/animated-group/panel.js +14 -13
  237. package/dist/primitives/animated-group/panel.jsx +7 -6
  238. package/dist/primitives/animated-group/root.d.ts +4 -4
  239. package/dist/primitives/animated-group/root.js +2 -3
  240. package/dist/primitives/animated-group/root.jsx +2 -3
  241. package/dist/primitives/checkbox/context.d.ts +63 -0
  242. package/dist/primitives/checkbox/context.js +13 -0
  243. package/dist/primitives/checkbox/context.jsx +13 -0
  244. package/dist/primitives/checkbox/index.d.ts +26 -0
  245. package/dist/primitives/checkbox/index.js +13 -0
  246. package/dist/primitives/checkbox/index.jsx +13 -0
  247. package/dist/primitives/checkbox/parts.d.ts +10 -0
  248. package/dist/primitives/checkbox/parts.js +62 -0
  249. package/dist/primitives/checkbox/parts.jsx +28 -0
  250. package/dist/primitives/checkbox/root.d.ts +16 -0
  251. package/dist/primitives/checkbox/root.js +25 -0
  252. package/dist/primitives/checkbox/root.jsx +24 -0
  253. package/dist/primitives/checkbox-group/context.js +21 -0
  254. package/dist/primitives/checkbox-group/context.jsx +21 -0
  255. package/dist/primitives/checkbox-group/index.js +12 -0
  256. package/dist/primitives/checkbox-group/index.jsx +12 -0
  257. package/dist/primitives/checkbox-group/parts.js +33 -0
  258. package/dist/primitives/checkbox-group/parts.jsx +21 -0
  259. package/dist/primitives/checkbox-group/root.js +24 -0
  260. package/dist/primitives/checkbox-group/root.jsx +23 -0
  261. package/dist/primitives/fake-scroll-list/index.d.ts +2 -2
  262. package/dist/primitives/fake-scroll-list/listbox.js +2 -2
  263. package/dist/primitives/floating/content.js +12 -11
  264. package/dist/primitives/floating/content.jsx +7 -6
  265. package/dist/primitives/floating/context.d.ts +10 -9
  266. package/dist/primitives/floating/context.js +1 -1
  267. package/dist/primitives/floating/context.jsx +1 -1
  268. package/dist/primitives/floating/index.d.ts +5 -4
  269. package/dist/primitives/floating/trigger.js +1 -1
  270. package/dist/primitives/floating/trigger.jsx +1 -1
  271. package/dist/primitives/floating/types.d.ts +2 -1
  272. package/dist/primitives/index.d.ts +7 -1
  273. package/dist/primitives/index.js +7 -3
  274. package/dist/primitives/index.jsx +7 -3
  275. package/dist/primitives/listbox/listbox.d.ts +3 -3
  276. package/dist/primitives/modal/content.d.ts +3 -3
  277. package/dist/primitives/modal/content.js +2 -3
  278. package/dist/primitives/modal/content.jsx +2 -3
  279. package/dist/primitives/modal/context.d.ts +16 -29
  280. package/dist/primitives/modal/context.js +2 -4
  281. package/dist/primitives/modal/context.jsx +2 -4
  282. package/dist/primitives/modal/index.d.ts +5 -8
  283. package/dist/primitives/modal/portal.js +1 -1
  284. package/dist/primitives/modal/portal.jsx +1 -1
  285. package/dist/primitives/modal/root.d.ts +2 -3
  286. package/dist/primitives/modal/root.js +10 -10
  287. package/dist/primitives/modal/root.jsx +10 -10
  288. package/dist/primitives/pagination/context.d.ts +89 -0
  289. package/dist/primitives/pagination/context.js +88 -0
  290. package/dist/primitives/pagination/context.jsx +88 -0
  291. package/dist/primitives/pagination/index.d.ts +33 -0
  292. package/dist/primitives/pagination/index.js +12 -0
  293. package/dist/primitives/pagination/index.jsx +12 -0
  294. package/dist/primitives/pagination/items.d.ts +9 -0
  295. package/dist/primitives/pagination/items.js +19 -0
  296. package/dist/primitives/pagination/items.jsx +11 -0
  297. package/dist/primitives/pagination/root.d.ts +16 -0
  298. package/dist/primitives/pagination/root.js +24 -0
  299. package/dist/primitives/pagination/root.jsx +23 -0
  300. package/dist/primitives/radio-group/context.d.ts +91 -0
  301. package/dist/primitives/radio-group/context.js +16 -0
  302. package/dist/primitives/radio-group/context.jsx +16 -0
  303. package/dist/primitives/radio-group/index.d.ts +34 -0
  304. package/dist/primitives/radio-group/index.js +15 -0
  305. package/dist/primitives/radio-group/index.jsx +15 -0
  306. package/dist/primitives/radio-group/item.d.ts +19 -0
  307. package/dist/primitives/radio-group/item.js +74 -0
  308. package/dist/primitives/radio-group/item.jsx +44 -0
  309. package/dist/primitives/radio-group/root.d.ts +14 -0
  310. package/dist/primitives/radio-group/root.js +23 -0
  311. package/dist/primitives/radio-group/root.jsx +22 -0
  312. package/dist/root-provider/context.d.ts +16 -9
  313. package/dist/root-provider/context.js +4 -1
  314. package/dist/root-provider/context.jsx +4 -1
  315. package/dist/root-provider/gen-colors.js +138 -0
  316. package/dist/root-provider/gen-colors.jsx +138 -0
  317. package/dist/root-provider/provider.js +4 -3
  318. package/dist/root-provider/provider.jsx +3 -2
  319. package/dist/utils/duration.js +10 -0
  320. package/dist/utils/duration.jsx +10 -0
  321. package/dist/utils/index.js +1 -4
  322. package/dist/utils/index.jsx +1 -4
  323. package/dist/utils/types.d.ts +4 -8
  324. package/package.json +4 -4
  325. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/combobox/combobox.js +0 -5
  326. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/combobox/combobox.jsx +0 -5
  327. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/input/input.js +0 -5
  328. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/input/input.jsx +0 -5
  329. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/textarea/textarea.js +0 -5
  330. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/textarea/textarea.jsx +0 -5
  331. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/time-picker/time-picker.js +0 -5
  332. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/components/time-picker/time-picker.jsx +0 -5
  333. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/layout/input-compact/input-compact.js +0 -5
  334. package/dist/_virtual/__viteSafe__/home/runner/work/solid-tiny-ui/solid-tiny-ui/packages/core/src/layout/input-compact/input-compact.jsx +0 -5
  335. package/dist/components/input/index.d.ts +0 -1
  336. package/dist/components/input/index.js +0 -1
  337. package/dist/components/input/index.jsx +0 -1
  338. package/dist/components/input/input.d.ts +0 -15
  339. package/dist/components/input/input.js +0 -44
  340. package/dist/components/input/input.jsx +0 -16
  341. package/dist/components/textarea/textarea.js +0 -49
  342. package/dist/components/textarea/textarea.jsx +0 -24
  343. package/dist/components/time-picker/index.d.ts +0 -18
  344. package/dist/layout/input-compact/index.d.ts +0 -13
  345. package/dist/layout/input-compact/index.js +0 -42
  346. package/dist/layout/input-compact/index.jsx +0 -32
  347. package/dist/root-provider/gen-brand.js +0 -55
  348. package/dist/root-provider/gen-brand.jsx +0 -55
  349. package/dist/utils/types.js +0 -7
  350. package/dist/utils/types.jsx +0 -7
  351. /package/dist/components/{combobox → form-components/combobox}/index.d.ts +0 -0
  352. /package/dist/components/{combobox → form-components/combobox}/index.js +0 -0
  353. /package/dist/components/{combobox → form-components/combobox}/index.jsx +0 -0
  354. /package/dist/components/{textarea → form-components/textarea}/index.d.ts +0 -0
  355. /package/dist/components/{textarea → form-components/textarea}/index.js +0 -0
  356. /package/dist/components/{textarea → form-components/textarea}/index.jsx +0 -0
@@ -16,5 +16,6 @@ interface FloatingUiCoreProps {
16
16
  size?: SizeOptions | Derivable<SizeOptions>;
17
17
  };
18
18
  }
19
+ type CloseableStatus = "closing" | "closed" | "opening" | "opened";
19
20
  //#endregion
20
- export { FloatingUiCoreProps, Placement$1 as Placement };
21
+ export { CloseableStatus, FloatingUiCoreProps, Placement$1 as Placement };
@@ -1,6 +1,12 @@
1
1
  import { ModalCore } from "./modal/index.js";
2
+ import { CloseableStatus, FloatingUiCoreProps, Placement } from "./floating/types.js";
3
+ import { FloatingUiCore } from "./floating/index.js";
2
4
  import { AnimatedGroup } from "./animated-group/index.js";
5
+ import { CheckboxCore } from "./checkbox/index.js";
3
6
  import { FakeScrollListCore } from "./fake-scroll-list/index.js";
4
7
  import { Listbox } from "./listbox/listbox.js";
5
8
  import "./listbox/index.js";
6
- export { AnimatedGroup, FakeScrollListCore, Listbox, ModalCore };
9
+ import { PaginationPageType, PaginationPager } from "./pagination/context.js";
10
+ import { PaginationCore } from "./pagination/index.js";
11
+ import { RadioGroupCore } from "./radio-group/index.js";
12
+ export { AnimatedGroup, CheckboxCore, CloseableStatus, FakeScrollListCore, FloatingUiCore, FloatingUiCoreProps, Listbox, ModalCore, PaginationCore, PaginationPageType, PaginationPager, Placement, RadioGroupCore };
@@ -1,7 +1,11 @@
1
- import { Listbox } from "./listbox/listbox.js";
2
- import "./listbox/index.js";
1
+ import { FloatingUiCore } from "./floating/index.js";
3
2
  import { ModalCore } from "./modal/index.js";
4
3
  import { AnimatedGroup } from "./animated-group/index.js";
4
+ import { CheckboxCore } from "./checkbox/index.js";
5
5
  import { FakeScrollListCore } from "./fake-scroll-list/index.js";
6
+ import { Listbox } from "./listbox/listbox.js";
7
+ import "./listbox/index.js";
8
+ import { PaginationCore } from "./pagination/index.js";
9
+ import { RadioGroupCore } from "./radio-group/index.js";
6
10
 
7
- export { AnimatedGroup, FakeScrollListCore, Listbox, ModalCore };
11
+ export { AnimatedGroup, CheckboxCore, FakeScrollListCore, FloatingUiCore, Listbox, ModalCore, PaginationCore, RadioGroupCore };
@@ -1,7 +1,11 @@
1
- import { Listbox } from "./listbox/listbox.jsx";
2
- import "./listbox/index.jsx";
1
+ import { FloatingUiCore } from "./floating/index.jsx";
3
2
  import { ModalCore } from "./modal/index.jsx";
4
3
  import { AnimatedGroup } from "./animated-group/index.jsx";
4
+ import { CheckboxCore } from "./checkbox/index.jsx";
5
5
  import { FakeScrollListCore } from "./fake-scroll-list/index.jsx";
6
+ import { Listbox } from "./listbox/listbox.jsx";
7
+ import "./listbox/index.jsx";
8
+ import { PaginationCore } from "./pagination/index.jsx";
9
+ import { RadioGroupCore } from "./radio-group/index.jsx";
6
10
 
7
- export { AnimatedGroup, FakeScrollListCore, Listbox, ModalCore };
11
+ export { AnimatedGroup, CheckboxCore, FakeScrollListCore, FloatingUiCore, Listbox, ModalCore, PaginationCore, RadioGroupCore };
@@ -1,14 +1,14 @@
1
- import * as solid_js9 from "solid-js";
1
+ import * as solid_js1 from "solid-js";
2
2
  import { ComponentProps } from "solid-js";
3
3
 
4
4
  //#region src/primitives/listbox/listbox.d.ts
5
5
  declare function Root(props: Omit<ComponentProps<"div">, "role" | "tabIndex" | "tabindex"> & {
6
6
  autofocus?: boolean;
7
- }): solid_js9.JSX.Element;
7
+ }): solid_js1.JSX.Element;
8
8
  declare function Item(props: Omit<ComponentProps<"div">, "role" | "tabIndex" | "tabindex"> & {
9
9
  focus?: boolean;
10
10
  disabled?: boolean;
11
- }): solid_js9.JSX.Element;
11
+ }): solid_js1.JSX.Element;
12
12
  declare const Listbox: typeof Root & {
13
13
  Item: typeof Item;
14
14
  };
@@ -1,8 +1,8 @@
1
- import * as solid_js6 from "solid-js";
1
+ import * as solid_js5 from "solid-js";
2
2
  import { ComponentProps } from "solid-js";
3
3
 
4
4
  //#region src/primitives/modal/content.d.ts
5
- declare function ContentWrapper(props: ComponentProps<"div">): solid_js6.JSX.Element;
6
- declare function Content(props: ComponentProps<"div">): solid_js6.JSX.Element;
5
+ declare function ContentWrapper(props: ComponentProps<"div">): solid_js5.JSX.Element;
6
+ declare function Content(props: ComponentProps<"div">): solid_js5.JSX.Element;
7
7
  //#endregion
8
8
  export { Content, ContentWrapper };
@@ -5,7 +5,7 @@ import { combineStyle, runSolidEventHandler } from "solid-tiny-utils";
5
5
  import { mergeRefs } from "@solid-primitives/refs";
6
6
 
7
7
  //#region src/primitives/modal/content.tsx
8
- /** biome-ignore-all lint/a11y/noNoninteractiveElementInteractions: <explanation> */
8
+ /** biome-ignore-all lint/a11y/noNoninteractiveElementInteractions: The modal overlay needs to be interactive to handle close events (click outside, Escape key). */
9
9
  var _tmpl$ = /* @__PURE__ */ template(`<div>`), _tmpl$2 = /* @__PURE__ */ template(`<div role=dialog>`);
10
10
  function ContentWrapper(props) {
11
11
  const [local, others] = splitProps(props, [
@@ -39,8 +39,7 @@ function ContentWrapper(props) {
39
39
  get style() {
40
40
  return combineStyle({
41
41
  position: "fixed",
42
- inset: 0,
43
- overflow: "auto"
42
+ inset: 0
44
43
  }, local.style);
45
44
  },
46
45
  "tabIndex": -1
@@ -4,7 +4,7 @@ import { combineStyle, runSolidEventHandler } from "solid-tiny-utils";
4
4
  import { mergeRefs } from "@solid-primitives/refs";
5
5
 
6
6
  //#region src/primitives/modal/content.tsx
7
- /** biome-ignore-all lint/a11y/noNoninteractiveElementInteractions: <explanation> */
7
+ /** biome-ignore-all lint/a11y/noNoninteractiveElementInteractions: The modal overlay needs to be interactive to handle close events (click outside, Escape key). */
8
8
  function ContentWrapper(props) {
9
9
  const [local, others] = splitProps(props, [
10
10
  "style",
@@ -29,8 +29,7 @@ function ContentWrapper(props) {
29
29
  refWrapper = el;
30
30
  })} style={combineStyle({
31
31
  position: "fixed",
32
- inset: 0,
33
- overflow: "auto"
32
+ inset: 0
34
33
  }, local.style)} tabIndex={-1} />;
35
34
  }
36
35
  function Content(props) {
@@ -1,76 +1,63 @@
1
- import * as solid_js11 from "solid-js";
2
- import * as solid_tiny_context0 from "solid-tiny-context";
3
- import * as solid_js_store3 from "solid-js/store";
1
+ import * as solid_js37 from "solid-js";
2
+ import { PresencePhase } from "solid-tiny-utils";
3
+ import * as solid_tiny_context7 from "solid-tiny-context";
4
+ import * as solid_js_store17 from "solid-js/store";
4
5
 
5
6
  //#region src/primitives/modal/context.d.ts
6
7
  declare const context: {
7
8
  useContext: () => [Readonly<{
8
- id: string;
9
9
  open: boolean;
10
10
  refContent: HTMLElement | null;
11
- preventScroll: boolean;
12
11
  closeOnClickMask: boolean;
13
12
  closeOnEsc: boolean;
14
13
  } & {}>, Omit<{}, "setState"> & {
15
- setState: solid_js_store3.SetStoreFunction<{
16
- id: string;
14
+ setState: solid_js_store17.SetStoreFunction<{
17
15
  open: boolean;
18
16
  refContent: HTMLElement | null;
19
- preventScroll: boolean;
20
17
  closeOnClickMask: boolean;
21
18
  closeOnEsc: boolean;
22
19
  }>;
23
20
  }, {
24
- shouldMount: () => boolean;
25
- presenceState: () => string;
21
+ isMounted: () => boolean;
22
+ presencePhase: () => PresencePhase;
26
23
  }];
27
- initial(initialState?: Partial<solid_tiny_context0.MaybeSignals<{
28
- id: string;
24
+ initial(initialState?: Partial<solid_tiny_context7.MaybeSignals<{
29
25
  open: boolean;
30
26
  refContent: HTMLElement | null;
31
- preventScroll: boolean;
32
27
  closeOnClickMask: boolean;
33
28
  closeOnEsc: boolean;
34
29
  }>> | undefined): {
35
30
  Provider(props: {
36
- children?: solid_js11.JSX.Element;
37
- }): solid_js11.JSX.Element;
31
+ children?: solid_js37.JSX.Element;
32
+ }): solid_js37.JSX.Element;
38
33
  value: [Readonly<{
39
- id: string;
40
34
  open: boolean;
41
35
  refContent: HTMLElement | null;
42
- preventScroll: boolean;
43
36
  closeOnClickMask: boolean;
44
37
  closeOnEsc: boolean;
45
- } & {}>, Omit<ThisType<solid_tiny_context0.RealContextThis<{
46
- id: string;
38
+ } & {}>, Omit<ThisType<solid_tiny_context7.RealContextThis<{
47
39
  open: boolean;
48
40
  refContent: HTMLElement | null;
49
- preventScroll: boolean;
50
41
  closeOnClickMask: boolean;
51
42
  closeOnEsc: boolean;
52
43
  }, {
53
- shouldMount: () => boolean;
54
- presenceState: () => string;
44
+ isMounted: () => boolean;
45
+ presencePhase: () => PresencePhase;
55
46
  }, {}, {}>>, "setState"> & {
56
- setState: solid_js_store3.SetStoreFunction<{
57
- id: string;
47
+ setState: solid_js_store17.SetStoreFunction<{
58
48
  open: boolean;
59
49
  refContent: HTMLElement | null;
60
- preventScroll: boolean;
61
50
  closeOnClickMask: boolean;
62
51
  closeOnEsc: boolean;
63
52
  }>;
64
53
  }, {
65
- shouldMount: () => boolean;
66
- presenceState: () => string;
54
+ isMounted: () => boolean;
55
+ presencePhase: () => PresencePhase;
67
56
  }];
68
57
  };
69
58
  defaultValue: () => {
70
- id: string;
71
59
  open: boolean;
72
60
  refContent: HTMLElement | null;
73
- preventScroll: boolean;
74
61
  closeOnClickMask: boolean;
75
62
  closeOnEsc: boolean;
76
63
  };
@@ -3,17 +3,15 @@ import { createComponentState } from "solid-tiny-context";
3
3
  //#region src/primitives/modal/context.ts
4
4
  const context = createComponentState({
5
5
  state: () => ({
6
- id: "",
7
6
  open: false,
8
7
  refContent: null,
9
- preventScroll: true,
10
8
  closeOnClickMask: false,
11
9
  closeOnEsc: false
12
10
  }),
13
11
  methods: {},
14
12
  nowrapData: () => ({
15
- shouldMount: () => false,
16
- presenceState: () => "closed"
13
+ isMounted: () => false,
14
+ presencePhase: () => "idle"
17
15
  })
18
16
  });
19
17
 
@@ -3,17 +3,15 @@ import { createComponentState } from "solid-tiny-context";
3
3
  //#region src/primitives/modal/context.ts
4
4
  const context = createComponentState({
5
5
  state: () => ({
6
- id: "",
7
6
  open: false,
8
7
  refContent: null,
9
- preventScroll: true,
10
8
  closeOnClickMask: false,
11
9
  closeOnEsc: false
12
10
  }),
13
11
  methods: {},
14
12
  nowrapData: () => ({
15
- shouldMount: () => false,
16
- presenceState: () => "closed"
13
+ isMounted: () => false,
14
+ presencePhase: () => "idle"
17
15
  })
18
16
  });
19
17
 
@@ -3,7 +3,8 @@ import { Content, ContentWrapper } from "./content.js";
3
3
  import { Mask } from "./mask.js";
4
4
  import { Portal } from "./portal.js";
5
5
  import { Root } from "./root.js";
6
- import * as solid_js_store0 from "solid-js/store";
6
+ import * as solid_tiny_utils0 from "solid-tiny-utils";
7
+ import * as solid_js_store3 from "solid-js/store";
7
8
 
8
9
  //#region src/primitives/modal/index.d.ts
9
10
  declare const ModalCore: typeof Root & {
@@ -13,24 +14,20 @@ declare const ModalCore: typeof Root & {
13
14
  Content: typeof Content;
14
15
  Mask: typeof Mask;
15
16
  useContext: () => [Readonly<{
16
- id: string;
17
17
  open: boolean;
18
18
  refContent: HTMLElement | null;
19
- preventScroll: boolean;
20
19
  closeOnClickMask: boolean;
21
20
  closeOnEsc: boolean;
22
21
  } & {}>, Omit<{}, "setState"> & {
23
- setState: solid_js_store0.SetStoreFunction<{
24
- id: string;
22
+ setState: solid_js_store3.SetStoreFunction<{
25
23
  open: boolean;
26
24
  refContent: HTMLElement | null;
27
- preventScroll: boolean;
28
25
  closeOnClickMask: boolean;
29
26
  closeOnEsc: boolean;
30
27
  }>;
31
28
  }, {
32
- shouldMount: () => boolean;
33
- presenceState: () => string;
29
+ isMounted: () => boolean;
30
+ presencePhase: () => solid_tiny_utils0.PresencePhase;
34
31
  }];
35
32
  };
36
33
  //#endregion
@@ -7,7 +7,7 @@ function Portal$1(props) {
7
7
  const [, , staticData] = context.useContext();
8
8
  return createComponent(Show, {
9
9
  get when() {
10
- return staticData.shouldMount();
10
+ return staticData.isMounted();
11
11
  },
12
12
  get children() {
13
13
  return createComponent(Portal, {
@@ -5,7 +5,7 @@ import { Portal } from "solid-js/web";
5
5
  //#region src/primitives/modal/portal.tsx
6
6
  function Portal$1(props) {
7
7
  const [, , staticData] = context.useContext();
8
- return <Show when={staticData.shouldMount()}>
8
+ return <Show when={staticData.isMounted()}>
9
9
  <Portal mount={props.mount} ref={props.ref}>
10
10
  {props.children}
11
11
  </Portal>
@@ -1,5 +1,5 @@
1
1
  import { context } from "./context.js";
2
- import * as solid_js5 from "solid-js";
2
+ import * as solid_js7 from "solid-js";
3
3
  import { MaybeCallableChild } from "solid-tiny-utils";
4
4
 
5
5
  //#region src/primitives/modal/root.d.ts
@@ -7,9 +7,8 @@ declare function Root(props: {
7
7
  children: MaybeCallableChild<ReturnType<typeof context.useContext>>;
8
8
  open?: boolean;
9
9
  onOpenChange?: (open: boolean) => void;
10
- preventScroll?: boolean;
11
10
  closeOnClickMask?: boolean;
12
11
  closeOnEsc?: boolean;
13
- }): solid_js5.JSX.Element;
12
+ }): solid_js7.JSX.Element;
14
13
  //#endregion
15
14
  export { Root };
@@ -1,3 +1,4 @@
1
+ import { getAnimationDurationMs } from "../../utils/duration.js";
1
2
  import { context } from "./context.js";
2
3
  import { createComponent } from "solid-js/web";
3
4
  import { createUniqueId } from "solid-js";
@@ -6,22 +7,21 @@ import { callMaybeCallableChild, createPresence, createWatch, mountStyle } from
6
7
  //#region src/primitives/modal/root.tsx
7
8
  function Root(props) {
8
9
  const Context = context.initial({
9
- id: () => `tiny-modal_${createUniqueId()}`,
10
- preventScroll: () => props.preventScroll,
11
10
  closeOnClickMask: () => props.closeOnClickMask,
12
11
  closeOnEsc: () => props.closeOnEsc,
13
12
  open: () => props.open
14
13
  });
15
14
  const [state, _, staticData] = Context.value;
16
- const [shouldMount, presenceState] = createPresence({
17
- show: () => state.open,
18
- element: () => state.refContent || void 0
15
+ const presence = createPresence(() => state.open, {
16
+ enterDuration: () => getAnimationDurationMs(state.refContent),
17
+ exitDuration: () => getAnimationDurationMs(state.refContent)
19
18
  });
20
- staticData.shouldMount = shouldMount;
21
- staticData.presenceState = presenceState;
22
- createWatch(() => [shouldMount()], (mounted) => {
23
- if (mounted) mountStyle("html body{overflow:hidden}", state.id);
24
- else document.querySelector(`#${state.id}`)?.remove();
19
+ staticData.isMounted = presence.isMounted;
20
+ staticData.presencePhase = presence.phase;
21
+ const id = `ps__${createUniqueId()}`;
22
+ createWatch(() => [presence.isMounted()], ([mounted]) => {
23
+ if (mounted) mountStyle("html body{overflow:hidden}", id);
24
+ else document.querySelector(`#${id}`)?.remove();
25
25
  });
26
26
  return createComponent(Context.Provider, { get children() {
27
27
  return callMaybeCallableChild(props.children, ...Context.value);
@@ -1,3 +1,4 @@
1
+ import { getAnimationDurationMs } from "../../utils/duration.jsx";
1
2
  import { context } from "./context.jsx";
2
3
  import { createUniqueId } from "solid-js";
3
4
  import { callMaybeCallableChild, createPresence, createWatch, mountStyle } from "solid-tiny-utils";
@@ -5,22 +6,21 @@ import { callMaybeCallableChild, createPresence, createWatch, mountStyle } from
5
6
  //#region src/primitives/modal/root.tsx
6
7
  function Root(props) {
7
8
  const Context = context.initial({
8
- id: () => `tiny-modal_${createUniqueId()}`,
9
- preventScroll: () => props.preventScroll,
10
9
  closeOnClickMask: () => props.closeOnClickMask,
11
10
  closeOnEsc: () => props.closeOnEsc,
12
11
  open: () => props.open
13
12
  });
14
13
  const [state, _, staticData] = Context.value;
15
- const [shouldMount, presenceState] = createPresence({
16
- show: () => state.open,
17
- element: () => state.refContent || void 0
14
+ const presence = createPresence(() => state.open, {
15
+ enterDuration: () => getAnimationDurationMs(state.refContent),
16
+ exitDuration: () => getAnimationDurationMs(state.refContent)
18
17
  });
19
- staticData.shouldMount = shouldMount;
20
- staticData.presenceState = presenceState;
21
- createWatch(() => [shouldMount()], (mounted) => {
22
- if (mounted) mountStyle("html body{overflow:hidden}", state.id);
23
- else document.querySelector(`#${state.id}`)?.remove();
18
+ staticData.isMounted = presence.isMounted;
19
+ staticData.presencePhase = presence.phase;
20
+ const id = `ps__${createUniqueId()}`;
21
+ createWatch(() => [presence.isMounted()], ([mounted]) => {
22
+ if (mounted) mountStyle("html body{overflow:hidden}", id);
23
+ else document.querySelector(`#${id}`)?.remove();
24
24
  });
25
25
  return <Context.Provider>
26
26
  {callMaybeCallableChild(props.children, ...Context.value)}
@@ -0,0 +1,89 @@
1
+ import * as solid_js10 from "solid-js";
2
+ import * as solid_tiny_context0 from "solid-tiny-context";
3
+ import * as solid_js_store7 from "solid-js/store";
4
+
5
+ //#region src/primitives/pagination/context.d.ts
6
+ type PaginationPageType = "page" | "ellipsis-left" | "ellipsis-right";
7
+ interface PaginationPager {
8
+ type: PaginationPageType;
9
+ page: number;
10
+ }
11
+ declare const context: {
12
+ useContext: () => [Readonly<{
13
+ current: number;
14
+ total: number;
15
+ pageSize: number;
16
+ disabled: boolean;
17
+ maxVisiblePages: number;
18
+ } & {
19
+ totalPages: number;
20
+ renderedPages: PaginationPager[];
21
+ }>, Omit<{
22
+ gotoPage(page: number): void;
23
+ next(): void;
24
+ prev(): void;
25
+ }, "setState" | "totalPages" | "renderedPages"> & {
26
+ setState: solid_js_store7.SetStoreFunction<{
27
+ current: number;
28
+ total: number;
29
+ pageSize: number;
30
+ disabled: boolean;
31
+ maxVisiblePages: number;
32
+ }>;
33
+ }, {}];
34
+ initial(initialState?: Partial<solid_tiny_context0.MaybeSignals<{
35
+ current: number;
36
+ total: number;
37
+ pageSize: number;
38
+ disabled: boolean;
39
+ maxVisiblePages: number;
40
+ }>> | undefined): {
41
+ Provider(props: {
42
+ children?: solid_js10.JSX.Element;
43
+ }): solid_js10.JSX.Element;
44
+ value: [Readonly<{
45
+ current: number;
46
+ total: number;
47
+ pageSize: number;
48
+ disabled: boolean;
49
+ maxVisiblePages: number;
50
+ } & {
51
+ totalPages: number;
52
+ renderedPages: PaginationPager[];
53
+ }>, Omit<{
54
+ gotoPage(page: number): void;
55
+ next(): void;
56
+ prev(): void;
57
+ } & ThisType<solid_tiny_context0.RealContextThis<{
58
+ current: number;
59
+ total: number;
60
+ pageSize: number;
61
+ disabled: boolean;
62
+ maxVisiblePages: number;
63
+ }, {}, {
64
+ totalPages(): number;
65
+ renderedPages(): PaginationPager[];
66
+ }, {
67
+ gotoPage(page: number): void;
68
+ next(): void;
69
+ prev(): void;
70
+ }>>, "setState" | "totalPages" | "renderedPages"> & {
71
+ setState: solid_js_store7.SetStoreFunction<{
72
+ current: number;
73
+ total: number;
74
+ pageSize: number;
75
+ disabled: boolean;
76
+ maxVisiblePages: number;
77
+ }>;
78
+ }, {}];
79
+ };
80
+ defaultValue: () => {
81
+ current: number;
82
+ total: number;
83
+ pageSize: number;
84
+ disabled: boolean;
85
+ maxVisiblePages: number;
86
+ };
87
+ };
88
+ //#endregion
89
+ export { PaginationPageType, PaginationPager, context };
@@ -0,0 +1,88 @@
1
+ import { inRange, max } from "solid-tiny-utils";
2
+ import { createComponentState } from "solid-tiny-context";
3
+
4
+ //#region src/primitives/pagination/context.ts
5
+ const context = createComponentState({
6
+ state: () => ({
7
+ current: 1,
8
+ total: 1,
9
+ pageSize: 10,
10
+ disabled: false,
11
+ maxVisiblePages: 7
12
+ }),
13
+ getters: {
14
+ totalPages() {
15
+ return Math.ceil(this.state.total / this.state.pageSize);
16
+ },
17
+ renderedPages() {
18
+ const total = this.state.totalPages;
19
+ const current = this.state.current;
20
+ const maxVisiblePages = this.state.maxVisiblePages;
21
+ const pages = [];
22
+ if (total <= 1) return [{
23
+ type: "page",
24
+ page: 1
25
+ }];
26
+ if (total <= maxVisiblePages) {
27
+ for (let i = 1; i <= total; i++) pages.push({
28
+ type: "page",
29
+ page: i
30
+ });
31
+ return pages;
32
+ }
33
+ pages.push({
34
+ type: "page",
35
+ page: 1
36
+ });
37
+ const centerCount = maxVisiblePages - 2;
38
+ let start = max(2, current - Math.floor(centerCount / 2));
39
+ let end = start + centerCount - 1;
40
+ if (end >= total) {
41
+ end = total - 1;
42
+ start = end - centerCount + 1;
43
+ }
44
+ if (start > 2) pages.push({
45
+ type: "ellipsis-left",
46
+ page: start - 1
47
+ });
48
+ else pages.push({
49
+ type: "page",
50
+ page: 2
51
+ });
52
+ for (let i = start + 1; i <= end - 1; i++) pages.push({
53
+ type: "page",
54
+ page: i
55
+ });
56
+ if (end < total - 1) pages.push({
57
+ type: "ellipsis-right",
58
+ page: end + 1
59
+ });
60
+ else pages.push({
61
+ type: "page",
62
+ page: total - 1
63
+ });
64
+ pages.push({
65
+ type: "page",
66
+ page: total
67
+ });
68
+ return pages;
69
+ }
70
+ },
71
+ methods: {
72
+ gotoPage(page) {
73
+ if (this.state.disabled) return;
74
+ const safePage = Math.floor(page);
75
+ const total = this.state.totalPages;
76
+ if (inRange(safePage, 1, total)) this.actions.setState("current", safePage);
77
+ },
78
+ next() {
79
+ this.actions.gotoPage(this.state.current + 1);
80
+ },
81
+ prev() {
82
+ this.actions.gotoPage(this.state.current - 1);
83
+ }
84
+ }
85
+ });
86
+
87
+ //#endregion
88
+ export { context };