@svelte-atoms/core 1.0.0-alpha.25 → 1.0.0-alpha.27

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 (354) hide show
  1. package/README.md +645 -645
  2. package/dist/components/accordion/accordion-root.svelte +61 -79
  3. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -15
  4. package/dist/components/accordion/index.d.ts +2 -1
  5. package/dist/components/accordion/index.js +2 -1
  6. package/dist/components/accordion/item/accordion-item-body.svelte +42 -52
  7. package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
  8. package/dist/components/accordion/item/accordion-item-header.svelte +50 -56
  9. package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
  10. package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -59
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
  12. package/dist/components/accordion/item/accordion-item-root.svelte +65 -79
  13. package/dist/components/accordion/item/accordion-item-root.svelte.d.ts +2 -12
  14. package/dist/components/accordion/item/index.d.ts +1 -0
  15. package/dist/components/accordion/item/types.d.ts +52 -0
  16. package/dist/components/accordion/item/types.js +1 -0
  17. package/dist/components/accordion/types.d.ts +21 -0
  18. package/dist/components/accordion/types.js +1 -0
  19. package/dist/components/alert/alert-actions.svelte +42 -52
  20. package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
  21. package/dist/components/alert/alert-close-button.svelte +72 -79
  22. package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
  23. package/dist/components/alert/alert-content.svelte +42 -52
  24. package/dist/components/alert/alert-content.svelte.d.ts +3 -30
  25. package/dist/components/alert/alert-description.svelte +41 -51
  26. package/dist/components/alert/alert-description.svelte.d.ts +7 -10
  27. package/dist/components/alert/alert-icon.svelte +46 -56
  28. package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
  29. package/dist/components/alert/alert-root.svelte +102 -118
  30. package/dist/components/alert/alert-root.svelte.d.ts +2 -13
  31. package/dist/components/alert/alert-title.svelte +41 -51
  32. package/dist/components/alert/alert-title.svelte.d.ts +2 -8
  33. package/dist/components/alert/index.d.ts +1 -0
  34. package/dist/components/alert/index.js +1 -0
  35. package/dist/components/alert/types.d.ts +85 -0
  36. package/dist/components/alert/types.js +1 -0
  37. package/dist/components/atom/html-atom.svelte +201 -217
  38. package/dist/components/atom/html-atom.svelte.d.ts +2 -22
  39. package/dist/components/atom/types.d.ts +7 -2
  40. package/dist/components/avatar/types.d.ts +7 -2
  41. package/dist/components/badge/badge.svelte +1 -1
  42. package/dist/components/badge/types.d.ts +7 -2
  43. package/dist/components/breadcrumb/breadcrumb-item.svelte +1 -1
  44. package/dist/components/breadcrumb/breadcrumb-root.svelte +1 -1
  45. package/dist/components/breadcrumb/breadcrumb-separator.svelte +1 -1
  46. package/dist/components/button/button.stories.svelte +57 -57
  47. package/dist/components/button/button.svelte +1 -1
  48. package/dist/components/button/button.svelte.d.ts +4 -1
  49. package/dist/components/button/index.d.ts +1 -0
  50. package/dist/components/button/index.js +1 -0
  51. package/dist/components/button/types.d.ts +8 -3
  52. package/dist/components/card/card-body.svelte +39 -45
  53. package/dist/components/card/card-body.svelte.d.ts +7 -4
  54. package/dist/components/card/card-description.svelte +41 -48
  55. package/dist/components/card/card-description.svelte.d.ts +7 -7
  56. package/dist/components/card/card-footer.svelte +41 -48
  57. package/dist/components/card/card-footer.svelte.d.ts +7 -4
  58. package/dist/components/card/card-header.svelte +41 -48
  59. package/dist/components/card/card-header.svelte.d.ts +7 -4
  60. package/dist/components/card/card-media.svelte +41 -48
  61. package/dist/components/card/card-media.svelte.d.ts +7 -4
  62. package/dist/components/card/card-root.svelte +91 -91
  63. package/dist/components/card/card-root.svelte.d.ts +1 -1
  64. package/dist/components/card/card-subtitle.svelte +41 -48
  65. package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
  66. package/dist/components/card/card-title.svelte +45 -48
  67. package/dist/components/card/card-title.svelte.d.ts +12 -9
  68. package/dist/components/card/index.d.ts +1 -0
  69. package/dist/components/card/index.js +1 -0
  70. package/dist/components/card/types.d.ts +57 -2
  71. package/dist/components/checkbox/checkbox.svelte +39 -28
  72. package/dist/components/checkbox/types.d.ts +7 -2
  73. package/dist/components/collapsible/collapsible-body.svelte +39 -52
  74. package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
  75. package/dist/components/collapsible/collapsible-header.svelte +39 -52
  76. package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
  77. package/dist/components/collapsible/collapsible-indicator.svelte +50 -65
  78. package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
  79. package/dist/components/collapsible/collapsible-root.svelte +66 -85
  80. package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
  81. package/dist/components/collapsible/index.d.ts +1 -0
  82. package/dist/components/collapsible/index.js +1 -0
  83. package/dist/components/collapsible/types.d.ts +54 -0
  84. package/dist/components/collapsible/types.js +1 -0
  85. package/dist/components/combobox/atoms.d.ts +5 -1
  86. package/dist/components/combobox/atoms.js +5 -1
  87. package/dist/components/combobox/{combobox-input.svelte → combobox-control.svelte} +3 -3
  88. package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts} +3 -3
  89. package/dist/components/combobox/combobox-root.svelte +65 -68
  90. package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
  91. package/dist/components/combobox/combobox-trigger.svelte +1 -1
  92. package/dist/components/combobox/compobox-item.svelte +1 -1
  93. package/dist/components/combobox/index.d.ts +1 -0
  94. package/dist/components/combobox/index.js +1 -0
  95. package/dist/components/combobox/types.d.ts +25 -0
  96. package/dist/components/combobox/types.js +1 -0
  97. package/dist/components/container/container.svelte +1 -1
  98. package/dist/components/container/types.d.ts +7 -2
  99. package/dist/components/contextmenu/types.d.ts +8 -0
  100. package/dist/components/contextmenu/types.js +1 -0
  101. package/dist/components/datagrid/datagrid-body.svelte +37 -44
  102. package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
  103. package/dist/components/datagrid/datagrid-checkbox.svelte +101 -108
  104. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
  105. package/dist/components/datagrid/datagrid-footer.svelte +34 -34
  106. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
  107. package/dist/components/datagrid/datagrid-header.svelte +49 -49
  108. package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
  109. package/dist/components/datagrid/datagrid-root.svelte +59 -59
  110. package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
  111. package/dist/components/datagrid/datagrid.stories.svelte +75 -75
  112. package/dist/components/datagrid/td/datagrid-td.svelte +66 -80
  113. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
  114. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
  115. package/dist/components/datagrid/th/datagrid-th.svelte +106 -127
  116. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
  117. package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
  118. package/dist/components/datagrid/tr/bond.svelte.js +4 -2
  119. package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -103
  120. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
  121. package/dist/components/datagrid/types.d.ts +85 -37
  122. package/dist/components/dialog/dialog-body.svelte +39 -45
  123. package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
  124. package/dist/components/dialog/dialog-close-button.svelte +58 -61
  125. package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
  126. package/dist/components/dialog/dialog-content.svelte +62 -71
  127. package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
  128. package/dist/components/dialog/dialog-description.svelte +40 -46
  129. package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
  130. package/dist/components/dialog/dialog-footer.svelte +39 -45
  131. package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
  132. package/dist/components/dialog/dialog-header.svelte +39 -45
  133. package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
  134. package/dist/components/dialog/dialog-root.svelte +110 -120
  135. package/dist/components/dialog/dialog-root.svelte.d.ts +2 -10
  136. package/dist/components/dialog/dialog-title.svelte +41 -47
  137. package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
  138. package/dist/components/dialog/index.d.ts +1 -0
  139. package/dist/components/dialog/index.js +1 -0
  140. package/dist/components/dialog/types.d.ts +67 -0
  141. package/dist/components/dialog/types.js +1 -0
  142. package/dist/components/divider/types.d.ts +10 -0
  143. package/dist/components/divider/types.js +1 -0
  144. package/dist/components/drawer/drawer-backdrop.svelte +38 -47
  145. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
  146. package/dist/components/drawer/drawer-body.svelte +42 -56
  147. package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
  148. package/dist/components/drawer/drawer-content.svelte +42 -55
  149. package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
  150. package/dist/components/drawer/drawer-description.svelte +44 -57
  151. package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
  152. package/dist/components/drawer/drawer-footer.svelte +41 -54
  153. package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
  154. package/dist/components/drawer/drawer-header.svelte +43 -56
  155. package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
  156. package/dist/components/drawer/drawer-root.svelte +93 -113
  157. package/dist/components/drawer/drawer-root.svelte.d.ts +3 -31
  158. package/dist/components/drawer/drawer-title.svelte +44 -57
  159. package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
  160. package/dist/components/drawer/index.d.ts +1 -0
  161. package/dist/components/drawer/index.js +1 -0
  162. package/dist/components/drawer/types.d.ts +86 -0
  163. package/dist/components/drawer/types.js +1 -0
  164. package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
  165. package/dist/components/dropdown/dropdown-query.svelte +54 -53
  166. package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
  167. package/dist/components/dropdown/dropdown-root.svelte +59 -59
  168. package/dist/components/dropdown/dropdown-trigger.svelte +41 -52
  169. package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
  170. package/dist/components/dropdown/dropdown-value.svelte +60 -62
  171. package/dist/components/dropdown/index.d.ts +1 -0
  172. package/dist/components/dropdown/index.js +1 -0
  173. package/dist/components/dropdown/item/bond.svelte.d.ts +4 -0
  174. package/dist/components/dropdown/item/bond.svelte.js +9 -0
  175. package/dist/components/dropdown/item/dropdown-item.svelte +10 -6
  176. package/dist/components/dropdown/types.d.ts +37 -0
  177. package/dist/components/dropdown/types.js +1 -0
  178. package/dist/components/element/html-element.svelte.d.ts +2 -14
  179. package/dist/components/element/svg-element.svelte.d.ts +2 -14
  180. package/dist/components/element/types.d.ts +14 -7
  181. package/dist/components/form/field/bond.svelte.d.ts +8 -0
  182. package/dist/components/form/field/bond.svelte.js +13 -1
  183. package/dist/components/form/field/field-control.svelte +48 -58
  184. package/dist/components/form/field/field-control.svelte.d.ts +5 -19
  185. package/dist/components/form/field/field-label.svelte +24 -31
  186. package/dist/components/form/field/field-label.svelte.d.ts +1 -2
  187. package/dist/components/form/field/field-root.svelte +59 -88
  188. package/dist/components/form/field/field-root.svelte.d.ts +5 -20
  189. package/dist/components/form/form.stories.svelte +3 -3
  190. package/dist/components/form/index.d.ts +1 -0
  191. package/dist/components/form/index.js +1 -0
  192. package/dist/components/form/types.d.ts +76 -0
  193. package/dist/components/form/types.js +1 -0
  194. package/dist/components/icon/icon.svelte +44 -55
  195. package/dist/components/icon/icon.svelte.d.ts +4 -29
  196. package/dist/components/icon/types.d.ts +11 -7
  197. package/dist/components/input/atoms.d.ts +5 -1
  198. package/dist/components/input/atoms.js +5 -1
  199. package/dist/components/input/index.d.ts +1 -0
  200. package/dist/components/input/index.js +1 -0
  201. package/dist/components/input/{input-value.svelte → input-control.svelte} +14 -24
  202. package/dist/components/input/input-control.svelte.d.ts +26 -0
  203. package/dist/components/input/input-icon.svelte +1 -1
  204. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  205. package/dist/components/input/input-placeholder.svelte +54 -56
  206. package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
  207. package/dist/components/input/input-root.svelte +5 -12
  208. package/dist/components/input/input-root.svelte.d.ts +3 -20
  209. package/dist/components/input/input.stories.svelte +2 -2
  210. package/dist/components/input/types.d.ts +33 -0
  211. package/dist/components/input/types.js +1 -0
  212. package/dist/components/label/index.d.ts +1 -0
  213. package/dist/components/label/index.js +1 -0
  214. package/dist/components/label/label.svelte +25 -41
  215. package/dist/components/label/label.svelte.d.ts +3 -27
  216. package/dist/components/label/types.d.ts +11 -0
  217. package/dist/components/label/types.js +1 -0
  218. package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
  219. package/dist/components/layer/layer-root.svelte.d.ts +2 -19
  220. package/dist/components/layer/types.d.ts +11 -0
  221. package/dist/components/layer/types.js +1 -0
  222. package/dist/components/link/types.d.ts +8 -0
  223. package/dist/components/link/types.js +1 -0
  224. package/dist/components/list/list-group.svelte +1 -1
  225. package/dist/components/list/list-item.svelte +1 -1
  226. package/dist/components/list/list-root.svelte +6 -1
  227. package/dist/components/list/list-title.svelte +1 -1
  228. package/dist/components/list/types.d.ts +8 -0
  229. package/dist/components/list/types.js +1 -0
  230. package/dist/components/menu/index.d.ts +1 -0
  231. package/dist/components/menu/index.js +1 -0
  232. package/dist/components/menu/menu-list.svelte +1 -1
  233. package/dist/components/menu/types.d.ts +15 -0
  234. package/dist/components/menu/types.js +1 -0
  235. package/dist/components/popover/bond.svelte.d.ts +2 -0
  236. package/dist/components/popover/bond.svelte.js +1 -1
  237. package/dist/components/popover/index.d.ts +1 -0
  238. package/dist/components/popover/index.js +1 -0
  239. package/dist/components/popover/popover-arrow.svelte +111 -117
  240. package/dist/components/popover/popover-arrow.svelte.d.ts +3 -20
  241. package/dist/components/popover/popover-content.svelte +139 -147
  242. package/dist/components/popover/popover-content.svelte.d.ts +3 -17
  243. package/dist/components/popover/popover-indicator.svelte +1 -1
  244. package/dist/components/popover/popover-root.svelte +4 -18
  245. package/dist/components/popover/popover-root.svelte.d.ts +1 -15
  246. package/dist/components/popover/popover-trigger.svelte +3 -12
  247. package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
  248. package/dist/components/popover/types.d.ts +61 -0
  249. package/dist/components/popover/types.js +1 -0
  250. package/dist/components/portal/active-portal.svelte +8 -2
  251. package/dist/components/portal/active-portal.svelte.d.ts +2 -2
  252. package/dist/components/portal/index.d.ts +1 -0
  253. package/dist/components/portal/index.js +1 -0
  254. package/dist/components/portal/portal-inner.svelte +1 -1
  255. package/dist/components/portal/portal-inner.svelte.d.ts +2 -19
  256. package/dist/components/portal/portal-root.svelte +83 -88
  257. package/dist/components/portal/portal-root.svelte.d.ts +2 -22
  258. package/dist/components/portal/teleport.svelte +50 -49
  259. package/dist/components/portal/teleport.svelte.d.ts +5 -23
  260. package/dist/components/portal/types.d.ts +39 -0
  261. package/dist/components/portal/types.js +1 -0
  262. package/dist/components/radio/radio-group.stories.svelte +4 -4
  263. package/dist/components/radio/radio.svelte +109 -109
  264. package/dist/components/radio/radio.svelte.d.ts +14 -36
  265. package/dist/components/root/root.css +24 -66
  266. package/dist/components/root/root.svelte +121 -121
  267. package/dist/components/root/types.d.ts +8 -0
  268. package/dist/components/root/types.js +1 -0
  269. package/dist/components/scrollable/index.d.ts +1 -0
  270. package/dist/components/scrollable/index.js +1 -0
  271. package/dist/components/scrollable/scrollable-container.svelte +82 -89
  272. package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
  273. package/dist/components/scrollable/scrollable-content.svelte +41 -51
  274. package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
  275. package/dist/components/scrollable/scrollable-root.svelte +100 -120
  276. package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
  277. package/dist/components/scrollable/scrollable-thumb.svelte +75 -86
  278. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
  279. package/dist/components/scrollable/scrollable-track.svelte +59 -70
  280. package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
  281. package/dist/components/scrollable/types.d.ts +62 -0
  282. package/dist/components/scrollable/types.js +1 -0
  283. package/dist/components/sidebar/index.d.ts +1 -0
  284. package/dist/components/sidebar/index.js +1 -0
  285. package/dist/components/sidebar/sidebar-content.svelte +2 -16
  286. package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -9
  287. package/dist/components/sidebar/sidebar-root.svelte +4 -23
  288. package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -13
  289. package/dist/components/sidebar/types.d.ts +30 -0
  290. package/dist/components/sidebar/types.js +1 -0
  291. package/dist/components/stack/stack-item.svelte +5 -1
  292. package/dist/components/stack/stack-root.svelte +5 -1
  293. package/dist/components/stack/stack-root.svelte.d.ts +2 -19
  294. package/dist/components/stack/types.d.ts +12 -0
  295. package/dist/components/stack/types.js +1 -0
  296. package/dist/components/tabs/index.d.ts +1 -0
  297. package/dist/components/tabs/index.js +1 -0
  298. package/dist/components/tabs/tab/tab-body.svelte +52 -61
  299. package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
  300. package/dist/components/tabs/tab/tab-description.svelte +41 -50
  301. package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
  302. package/dist/components/tabs/tab/tab-header.svelte +71 -81
  303. package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
  304. package/dist/components/tabs/tab/tab-root.svelte +86 -81
  305. package/dist/components/tabs/tabs-body.svelte +1 -1
  306. package/dist/components/tabs/tabs-header.svelte +1 -1
  307. package/dist/components/tabs/tabs-root.svelte +1 -1
  308. package/dist/components/tabs/types.d.ts +55 -0
  309. package/dist/components/tabs/types.js +1 -0
  310. package/dist/components/textarea/index.d.ts +1 -0
  311. package/dist/components/textarea/index.js +1 -0
  312. package/dist/components/textarea/textarea-input.svelte +2 -1
  313. package/dist/components/textarea/types.d.ts +28 -0
  314. package/dist/components/textarea/types.js +1 -0
  315. package/dist/components/toast/index.d.ts +1 -0
  316. package/dist/components/toast/index.js +1 -0
  317. package/dist/components/toast/toast-description.svelte +38 -44
  318. package/dist/components/toast/toast-description.svelte.d.ts +8 -34
  319. package/dist/components/toast/toast-root.svelte +61 -74
  320. package/dist/components/toast/toast-root.svelte.d.ts +4 -43
  321. package/dist/components/toast/toast-title.svelte +35 -43
  322. package/dist/components/toast/toast-title.svelte.d.ts +2 -34
  323. package/dist/components/toast/types.d.ts +40 -0
  324. package/dist/components/toast/types.js +1 -0
  325. package/dist/components/tooltip/types.d.ts +13 -0
  326. package/dist/components/tooltip/types.js +1 -0
  327. package/dist/components/tree/index.d.ts +1 -0
  328. package/dist/components/tree/index.js +1 -0
  329. package/dist/components/tree/tree-body.svelte +39 -50
  330. package/dist/components/tree/tree-body.svelte.d.ts +2 -10
  331. package/dist/components/tree/tree-header.svelte +54 -66
  332. package/dist/components/tree/tree-header.svelte.d.ts +3 -29
  333. package/dist/components/tree/tree-indicator.svelte +40 -50
  334. package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
  335. package/dist/components/tree/tree-root.svelte +65 -80
  336. package/dist/components/tree/tree-root.svelte.d.ts +2 -12
  337. package/dist/components/tree/types.d.ts +59 -0
  338. package/dist/components/tree/types.js +1 -0
  339. package/dist/components/virtual/types.d.ts +23 -0
  340. package/dist/components/virtual/types.js +1 -0
  341. package/dist/components/virtual/virtual-root.svelte +239 -258
  342. package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
  343. package/dist/context/preset.svelte.d.ts +1 -1
  344. package/llm/composition.md +395 -395
  345. package/llm/crafting.md +838 -838
  346. package/llm/motion.md +970 -970
  347. package/llm/philosophy.md +23 -23
  348. package/llm/preset-variant-integration.md +516 -516
  349. package/llm/preset.md +383 -383
  350. package/llm/styling.md +216 -216
  351. package/llm/usage.md +46 -46
  352. package/llm/variants.md +712 -712
  353. package/package.json +437 -437
  354. package/dist/components/input/input-value.svelte.d.ts +0 -19
@@ -1,50 +1,41 @@
1
- <script module lang="ts">
2
- export type TabDescriptionProps<
3
- E extends keyof HTMLElementTagNameMap = 'p',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ tab?: TabBond<unknown> }]>;
7
- };
8
- </script>
9
-
10
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base">
11
- import type { Snippet } from 'svelte';
12
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
13
- import { TabBond } from './bond.svelte';
14
-
15
- const bond = TabBond.get();
16
-
17
- let {
18
- class: klass = '',
19
- as = 'p' as E,
20
- children,
21
- onmount = undefined,
22
- ondestroy = undefined,
23
- animate = undefined,
24
- enter = undefined,
25
- exit = undefined,
26
- initial = undefined,
27
- ...restProps
28
- }: TabDescriptionProps<E, B> = $props();
29
-
30
- const descriptionProps = $derived({
31
- ...bond?.description(),
32
- ...restProps
33
- });
34
- </script>
35
-
36
- <HtmlAtom
37
- {bond}
38
- preset="tab.description"
39
- class={['$preset', klass]}
40
- onmount={onmount?.bind(bond.state)}
41
- ondestroy={ondestroy?.bind(bond.state)}
42
- enter={enter?.bind(bond.state)}
43
- exit={exit?.bind(bond.state)}
44
- initial={initial?.bind(bond.state)}
45
- animate={animate?.bind(bond.state)}
46
- {as}
47
- {...descriptionProps}
48
- >
49
- {@render children?.({ tab: bond })}
50
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base">
2
+ import type { TabDescriptionProps } from '../types';
3
+ import { HtmlAtom, type Base } from '../../atom';
4
+ import { TabBond } from './bond.svelte';
5
+
6
+ const bond = TabBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ as = 'p' as E,
11
+ children,
12
+ onmount = undefined,
13
+ ondestroy = undefined,
14
+ animate = undefined,
15
+ enter = undefined,
16
+ exit = undefined,
17
+ initial = undefined,
18
+ ...restProps
19
+ }: TabDescriptionProps<E, B> = $props();
20
+
21
+ const descriptionProps = $derived({
22
+ ...bond?.description(),
23
+ ...restProps
24
+ });
25
+ </script>
26
+
27
+ <HtmlAtom
28
+ {bond}
29
+ preset="tab.description"
30
+ class={['border-border', '$preset', klass]}
31
+ onmount={onmount?.bind(bond.state)}
32
+ ondestroy={ondestroy?.bind(bond.state)}
33
+ enter={enter?.bind(bond.state)}
34
+ exit={exit?.bind(bond.state)}
35
+ initial={initial?.bind(bond.state)}
36
+ animate={animate?.bind(bond.state)}
37
+ {as}
38
+ {...descriptionProps}
39
+ >
40
+ {@render children?.({ tab: bond })}
41
+ </HtmlAtom>
@@ -1,11 +1,5 @@
1
- export type TabDescriptionProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- tab?: TabBond<unknown>;
4
- }]>;
5
- };
6
- import type { Snippet } from 'svelte';
7
- import { type HtmlAtomProps, type Base } from '../../atom';
8
- import { TabBond } from './bond.svelte';
1
+ import type { TabDescriptionProps } from '../types';
2
+ import { type Base } from '../../atom';
9
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base>(): {
10
4
  props: TabDescriptionProps<E, B>;
11
5
  exports: {};
@@ -1,81 +1,71 @@
1
- <script module lang="ts">
2
- export type TabHeaderProps<
3
- E extends keyof HTMLElementTagNameMap = 'button',
4
- B extends Base = Base
5
- > = HtmlAtomProps<E, B> & {
6
- children?: Snippet<[{ tab?: TabBond<unknown> }]>;
7
- onpointerdown?: (ev: PointerEvent, context: { tab?: TabBond<unknown> }) => void;
8
- };
9
- </script>
10
-
11
- <script
12
- lang="ts"
13
- generics="E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base"
14
- >
15
- import type { Snippet } from 'svelte';
16
- import { TabBond } from './bond.svelte';
17
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../../atom';
18
-
19
- const bond = TabBond.get();
20
-
21
- const isActive = $derived(bond?.state.isActive);
22
- const isDisabled = $derived(bond?.state.props.disabled);
23
-
24
- let {
25
- class: klass = '',
26
- as = 'button' as E,
27
- children,
28
- onpointerdown,
29
- onmount = undefined,
30
- ondestroy = undefined,
31
- animate = undefined,
32
- enter = undefined,
33
- exit = undefined,
34
- initial = undefined,
35
- ...restProps
36
- }: TabHeaderProps = $props();
37
-
38
- const headerProps = $derived({
39
- ...bond?.header(),
40
- ...restProps
41
- });
42
-
43
- function handlePointerDown(ev: PointerEvent) {
44
- if (isDisabled) return;
45
-
46
- onpointerdown?.(ev, { tab: bond });
47
-
48
- if (ev.defaultPrevented) {
49
- return;
50
- }
51
-
52
- bond?.state.select();
53
- }
54
- </script>
55
-
56
- <HtmlAtom
57
- {bond}
58
- preset="tab.header"
59
- as="button"
60
- class={[
61
- 'text-foreground/60 hover:text-foreground/80 active:text-foreground/100 flex cursor-pointer items-center px-2 py-2 text-sm font-medium transition-colors duration-100',
62
- isActive && 'text-primary',
63
- isDisabled && 'opacity-50',
64
- '$preset',
65
- klass
66
- ]}
67
- onmount={onmount?.bind(bond.state)}
68
- ondestroy={ondestroy?.bind(bond.state)}
69
- enter={enter?.bind(bond.state)}
70
- exit={exit?.bind(bond.state)}
71
- initial={initial?.bind(bond.state)}
72
- animate={animate?.bind(bond.state)}
73
- type="button"
74
- disabled={isDisabled}
75
- onpointerdown={handlePointerDown}
76
- {...headerProps}
77
- >
78
- {@render children?.({
79
- tab: bond
80
- })}
81
- </HtmlAtom>
1
+ <script
2
+ lang="ts"
3
+ generics="E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base"
4
+ >
5
+ import type { TabHeaderProps } from '../types';
6
+ import { TabBond } from './bond.svelte';
7
+ import { HtmlAtom, type Base } from '../../atom';
8
+
9
+ const bond = TabBond.get();
10
+
11
+ const isActive = $derived(bond?.state.isActive);
12
+ const isDisabled = $derived(bond?.state.props.disabled);
13
+
14
+ let {
15
+ class: klass = '',
16
+ as = 'button' as E,
17
+ children,
18
+ onpointerdown,
19
+ onmount = undefined,
20
+ ondestroy = undefined,
21
+ animate = undefined,
22
+ enter = undefined,
23
+ exit = undefined,
24
+ initial = undefined,
25
+ ...restProps
26
+ }: TabHeaderProps = $props();
27
+
28
+ const headerProps = $derived({
29
+ ...bond?.header(),
30
+ ...restProps
31
+ });
32
+
33
+ function handlePointerDown(ev: PointerEvent) {
34
+ if (isDisabled) return;
35
+
36
+ onpointerdown?.(ev, { tab: bond });
37
+
38
+ if (ev.defaultPrevented) {
39
+ return;
40
+ }
41
+
42
+ bond?.state.select();
43
+ }
44
+ </script>
45
+
46
+ <HtmlAtom
47
+ {bond}
48
+ preset="tab.header"
49
+ as="button"
50
+ class={[
51
+ 'border-border text-foreground/60 hover:text-foreground/80 active:text-foreground/100 bg-foreground/0 hover:bg-foreground/5 active:bg-foreground/10 flex cursor-pointer items-center px-2 py-2 text-sm font-medium transition-colors duration-100',
52
+ isActive && 'text-primary bg-accent/10 hover:bg-accent/15 active:bg-accent/20',
53
+ isDisabled && 'opacity-50',
54
+ '$preset',
55
+ klass
56
+ ]}
57
+ onmount={onmount?.bind(bond.state)}
58
+ ondestroy={ondestroy?.bind(bond.state)}
59
+ enter={enter?.bind(bond.state)}
60
+ exit={exit?.bind(bond.state)}
61
+ initial={initial?.bind(bond.state)}
62
+ animate={animate?.bind(bond.state)}
63
+ type="button"
64
+ disabled={isDisabled}
65
+ onpointerdown={handlePointerDown}
66
+ {...headerProps}
67
+ >
68
+ {@render children?.({
69
+ tab: bond
70
+ })}
71
+ </HtmlAtom>
@@ -1,14 +1,5 @@
1
- export type TabHeaderProps<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> = HtmlAtomProps<E, B> & {
2
- children?: Snippet<[{
3
- tab?: TabBond<unknown>;
4
- }]>;
5
- onpointerdown?: (ev: PointerEvent, context: {
6
- tab?: TabBond<unknown>;
7
- }) => void;
8
- };
9
- import type { Snippet } from 'svelte';
10
- import { TabBond } from './bond.svelte';
11
- import { type HtmlAtomProps, type Base } from '../../atom';
1
+ import type { TabHeaderProps } from '../types';
2
+ import { type Base } from '../../atom';
12
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base>(): {
13
4
  props: TabHeaderProps;
14
5
  exports: {};
@@ -1,81 +1,86 @@
1
- <script
2
- lang="ts"
3
- generics="D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base"
4
- >
5
- import { nanoid } from 'nanoid';
6
- import { animate as motion } from 'motion';
7
- import { TabBond, TabBondState, type TabBondProps } from './bond.svelte';
8
- import { defineProperty, defineState } from '../../../utils';
9
- import { TabsBond } from '../bond.svelte';
10
- import { type Base } from '../../atom';
11
- import { Stack } from '../../stack';
12
-
13
- const tabsBond = TabsBond.get();
14
-
15
- const headerElement = $derived(tabsBond?.elements.header);
16
-
17
- let {
18
- class: klass = '',
19
- value = nanoid(),
20
- disabled = false,
21
- data = undefined,
22
- factory = _factory,
23
- children,
24
- onmount = undefined,
25
- ondestroy = undefined,
26
- animate = _animate,
27
- enter = undefined,
28
- exit = undefined,
29
- initial = undefined,
30
- ...restProps
31
- } = $props();
32
-
33
- const bondProps = defineState<TabBondProps<D>>([
34
- defineProperty('value', () => value),
35
- defineProperty('disabled', () => disabled),
36
- defineProperty('data', () => data)
37
- ]);
38
-
39
- const bond = factory(bondProps).share();
40
-
41
- const rootProps = $derived({
42
- ...bond?.root(),
43
- ...restProps
44
- });
45
-
46
- const isActive = $derived(bond.state.isActive ?? false);
47
-
48
- const unmount = bond.mount();
49
- $effect(() => unmount);
50
-
51
- function _factory(props: typeof bondProps) {
52
- const bondState = new TabBondState(() => props);
53
-
54
- return new TabBond(bondState);
55
- }
56
-
57
- function _animate(node: HTMLElement) {
58
- motion(node, { opacity: +isActive }, { duration: 0 });
59
- }
60
-
61
- export function getBond() {
62
- return bond;
63
- }
64
- </script>
65
-
66
- {#if headerElement && children}
67
- <Stack.Item
68
- {bond}
69
- preset="tab"
70
- class={['tab-root flex flex-col', !isActive && 'pointer-events-none', '$preset', klass]}
71
- onmount={onmount?.bind(bond.state)}
72
- ondestroy={ondestroy?.bind(bond.state)}
73
- enter={enter?.bind(bond.state)}
74
- exit={exit?.bind(bond.state)}
75
- initial={initial?.bind(bond.state)}
76
- animate={animate?.bind(bond.state)}
77
- {...rootProps}
78
- >
79
- {@render children?.({ tab: bond })}
80
- </Stack.Item>
81
- {/if}
1
+ <script
2
+ lang="ts"
3
+ generics="D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base"
4
+ >
5
+ import { nanoid } from 'nanoid';
6
+ import { animate as motion } from 'motion';
7
+ import { defineProperty, defineState } from '../../../utils';
8
+ import { TabBond, TabBondState, type TabBondProps } from './bond.svelte';
9
+ import { TabsBond } from '../bond.svelte';
10
+ import { type Base } from '../../atom';
11
+ import { Stack } from '../../stack';
12
+
13
+ const tabsBond = TabsBond.get();
14
+
15
+ const headerElement = $derived(tabsBond?.elements.header);
16
+
17
+ let {
18
+ class: klass = '',
19
+ value = nanoid(),
20
+ disabled = false,
21
+ data = undefined,
22
+ factory = _factory,
23
+ children,
24
+ onmount = undefined,
25
+ ondestroy = undefined,
26
+ animate = _animate,
27
+ enter = undefined,
28
+ exit = undefined,
29
+ initial = undefined,
30
+ ...restProps
31
+ } = $props();
32
+
33
+ const bondProps = defineState<TabBondProps<D>>([
34
+ defineProperty('value', () => value),
35
+ defineProperty('disabled', () => disabled),
36
+ defineProperty('data', () => data)
37
+ ]);
38
+
39
+ const bond = factory(bondProps).share();
40
+
41
+ const rootProps = $derived({
42
+ ...bond?.root(),
43
+ ...restProps
44
+ });
45
+
46
+ const isActive = $derived(bond.state.isActive ?? false);
47
+
48
+ const unmount = bond.mount();
49
+ $effect(() => unmount);
50
+
51
+ function _factory(props: typeof bondProps) {
52
+ const bondState = new TabBondState(() => props);
53
+
54
+ return new TabBond(bondState);
55
+ }
56
+
57
+ function _animate(node: HTMLElement) {
58
+ motion(node, { opacity: +isActive }, { duration: 0 });
59
+ }
60
+
61
+ export function getBond() {
62
+ return bond;
63
+ }
64
+ </script>
65
+
66
+ {#if headerElement && children}
67
+ <Stack.Item
68
+ {bond}
69
+ preset="tab"
70
+ class={[
71
+ 'border-border tab-root flex flex-col',
72
+ !isActive && 'pointer-events-none',
73
+ '$preset',
74
+ klass
75
+ ]}
76
+ onmount={onmount?.bind(bond.state)}
77
+ ondestroy={ondestroy?.bind(bond.state)}
78
+ enter={enter?.bind(bond.state)}
79
+ exit={exit?.bind(bond.state)}
80
+ initial={initial?.bind(bond.state)}
81
+ animate={animate?.bind(bond.state)}
82
+ {...rootProps}
83
+ >
84
+ {@render children?.({ tab: bond })}
85
+ </Stack.Item>
86
+ {/if}
@@ -27,7 +27,7 @@
27
27
  <Stack.Root
28
28
  {bond}
29
29
  preset="tabs.body"
30
- class={['tabs-body relative flex-1', '$preset', klass]}
30
+ class={['tabs-body border-border relative flex-1', '$preset', klass]}
31
31
  onmount={onmount?.bind(bond.state)}
32
32
  ondestroy={ondestroy?.bind(bond.state)}
33
33
  enter={enter?.bind(bond.state)}
@@ -25,7 +25,7 @@
25
25
  <HtmlAtom
26
26
  {bond}
27
27
  preset="tabs.header"
28
- class={['border-border relative flex min-w-full', '$preset', klass]}
28
+ class={['border-border border-border relative flex min-w-full', '$preset', klass]}
29
29
  onmount={onmount?.bind(bond.state)}
30
30
  ondestroy={ondestroy?.bind(bond.state)}
31
31
  enter={enter?.bind(bond.state)}
@@ -53,7 +53,7 @@
53
53
  <HtmlAtom
54
54
  {bond}
55
55
  preset="tabs"
56
- class={['flex w-full flex-1 flex-col gap-2', '$preset', klass]}
56
+ class={['border-border flex w-full flex-1 flex-col gap-2', '$preset', klass]}
57
57
  onmount={onmount?.bind(bond.state)}
58
58
  ondestroy={ondestroy?.bind(bond.state)}
59
59
  enter={enter?.bind(bond.state)}
@@ -0,0 +1,55 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base } from '../atom';
3
+ import type { Factory } from '../../types';
4
+ import type { TabsBond } from './bond.svelte';
5
+ import type { TabBond } from './tab/bond.svelte';
6
+ /**
7
+ * Extend this interface to add custom tabs root properties in your application.
8
+ */
9
+ export interface TabsRootExtendProps {
10
+ }
11
+ /**
12
+ * Extend this interface to add custom tab header properties in your application.
13
+ */
14
+ export interface TabHeaderExtendProps {
15
+ }
16
+ /**
17
+ * Extend this interface to add custom tab body properties in your application.
18
+ */
19
+ export interface TabBodyExtendProps {
20
+ }
21
+ /**
22
+ * Extend this interface to add custom tab description properties in your application.
23
+ */
24
+ export interface TabDescriptionExtendProps {
25
+ }
26
+ export type TabsRootProps<D extends string = string, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Omit<HtmlAtomProps<E, B>, 'children'> & TabsRootExtendProps & {
27
+ value?: D;
28
+ factory?: Factory<TabsBond>;
29
+ children?: Snippet<[{
30
+ tabs: TabsBond;
31
+ }]>;
32
+ onchange?: (value: D) => void;
33
+ };
34
+ export type TabHeaderProps<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> = HtmlAtomProps<E, B> & TabHeaderExtendProps & {
35
+ children?: Snippet<[{
36
+ tab?: TabBond<unknown>;
37
+ }]>;
38
+ onpointerdown?: (ev: PointerEvent, context: {
39
+ tab?: TabBond<unknown>;
40
+ }) => void;
41
+ };
42
+ export type TabBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & TabBodyExtendProps & {
43
+ children?: Snippet<[{
44
+ tab?: TabBond<unknown>;
45
+ }]>;
46
+ };
47
+ export type TabDescriptionProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> = HtmlAtomProps<E, B> & TabDescriptionExtendProps & {
48
+ children?: Snippet<[{
49
+ tab?: TabBond<unknown>;
50
+ }]>;
51
+ };
52
+ /**
53
+ * @deprecated Use TabsRootExtendProps instead
54
+ */
55
+ export type TabsExtendProps = TabsRootExtendProps;
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1,2 @@
1
1
  export * as Textarea from './atoms';
2
+ export * from './types';
@@ -1 +1,2 @@
1
1
  export * as Textarea from './atoms';
2
+ export * from './types';
@@ -2,4 +2,5 @@
2
2
  let { class: klass = '', value = $bindable(), ...restProps } = $props();
3
3
  </script>
4
4
 
5
- <textarea class={['w-full outline-none', '$preset', klass]} bind:value {...restProps}></textarea>
5
+ <textarea class={['border-border w-full outline-none', '$preset', klass]} bind:value {...restProps}
6
+ ></textarea>
@@ -0,0 +1,28 @@
1
+ import type { HtmlAtomProps, Base } from '../atom';
2
+ /**
3
+ * Extend this interface to add custom textarea root properties in your application.
4
+ */
5
+ export interface TextareaRootExtendProps {
6
+ }
7
+ /**
8
+ * Extend this interface to add custom textarea input properties in your application.
9
+ */
10
+ export interface TextareaInputExtendProps {
11
+ }
12
+ export interface TextareaRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, TextareaRootExtendProps {
13
+ }
14
+ export interface TextareaInputProps extends TextareaInputExtendProps {
15
+ value?: string;
16
+ placeholder?: string;
17
+ disabled?: boolean;
18
+ readonly?: boolean;
19
+ rows?: number;
20
+ cols?: number;
21
+ maxlength?: number;
22
+ minlength?: number;
23
+ required?: boolean;
24
+ autofocus?: boolean;
25
+ autocomplete?: string;
26
+ spellcheck?: boolean;
27
+ wrap?: 'soft' | 'hard' | 'off';
28
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1,2 @@
1
1
  export * as Toast from './atoms';
2
+ export * from './types';
@@ -1 +1,2 @@
1
1
  export * as Toast from './atoms';
2
+ export * from './types';