@svelte-atoms/core 1.0.0-alpha.14

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 (705) hide show
  1. package/README.md +590 -0
  2. package/dist/actions/animation.svelte.d.ts +6 -0
  3. package/dist/actions/animation.svelte.js +14 -0
  4. package/dist/actions/clickout.svelte.d.ts +2 -0
  5. package/dist/actions/clickout.svelte.js +15 -0
  6. package/dist/actions/popover.svelte.d.ts +19 -0
  7. package/dist/actions/popover.svelte.js +81 -0
  8. package/dist/actions/portal.svelte.d.ts +8 -0
  9. package/dist/actions/portal.svelte.js +32 -0
  10. package/dist/attachments/clickout.svelte.d.ts +1 -0
  11. package/dist/attachments/clickout.svelte.js +15 -0
  12. package/dist/attachments/event.svelte.d.ts +3 -0
  13. package/dist/attachments/event.svelte.js +7 -0
  14. package/dist/attachments/gsap.svelte.d.ts +2 -0
  15. package/dist/attachments/gsap.svelte.js +26 -0
  16. package/dist/attachments/index.d.ts +2 -0
  17. package/dist/attachments/index.js +2 -0
  18. package/dist/attachments/portal.svelte.d.ts +2 -0
  19. package/dist/attachments/portal.svelte.js +24 -0
  20. package/dist/attachments/resize-observer.svelte.d.ts +1 -0
  21. package/dist/attachments/resize-observer.svelte.js +7 -0
  22. package/dist/components/accordion/accordion-root.svelte +88 -0
  23. package/dist/components/accordion/accordion-root.svelte.d.ts +44 -0
  24. package/dist/components/accordion/accordion.stories.svelte +134 -0
  25. package/dist/components/accordion/accordion.stories.svelte.d.ts +18 -0
  26. package/dist/components/accordion/atoms.d.ts +1 -0
  27. package/dist/components/accordion/atoms.js +1 -0
  28. package/dist/components/accordion/attachments.svelte.d.ts +2 -0
  29. package/dist/components/accordion/attachments.svelte.js +5 -0
  30. package/dist/components/accordion/bond.svelte.d.ts +40 -0
  31. package/dist/components/accordion/bond.svelte.js +81 -0
  32. package/dist/components/accordion/index.d.ts +2 -0
  33. package/dist/components/accordion/index.js +2 -0
  34. package/dist/components/accordion/item/accordion-item-body.svelte +63 -0
  35. package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +32 -0
  36. package/dist/components/accordion/item/accordion-item-header.svelte +67 -0
  37. package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +44 -0
  38. package/dist/components/accordion/item/accordion-item-indicator.svelte +70 -0
  39. package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +32 -0
  40. package/dist/components/accordion/item/accordion-item-root.svelte +84 -0
  41. package/dist/components/accordion/item/accordion-item-root.svelte.d.ts +41 -0
  42. package/dist/components/accordion/item/atoms.d.ts +4 -0
  43. package/dist/components/accordion/item/atoms.js +4 -0
  44. package/dist/components/accordion/item/attachments.svelte.d.ts +3 -0
  45. package/dist/components/accordion/item/attachments.svelte.js +6 -0
  46. package/dist/components/accordion/item/bond.svelte.d.ts +63 -0
  47. package/dist/components/accordion/item/bond.svelte.js +141 -0
  48. package/dist/components/accordion/item/index.d.ts +1 -0
  49. package/dist/components/accordion/item/index.js +1 -0
  50. package/dist/components/alert/alert-actions.svelte +61 -0
  51. package/dist/components/alert/alert-actions.svelte.d.ts +32 -0
  52. package/dist/components/alert/alert-close-button.svelte +82 -0
  53. package/dist/components/alert/alert-close-button.svelte.d.ts +32 -0
  54. package/dist/components/alert/alert-content.svelte +61 -0
  55. package/dist/components/alert/alert-content.svelte.d.ts +32 -0
  56. package/dist/components/alert/alert-description.svelte +58 -0
  57. package/dist/components/alert/alert-description.svelte.d.ts +32 -0
  58. package/dist/components/alert/alert-icon.svelte +61 -0
  59. package/dist/components/alert/alert-icon.svelte.d.ts +32 -0
  60. package/dist/components/alert/alert-root.svelte +123 -0
  61. package/dist/components/alert/alert-root.svelte.d.ts +43 -0
  62. package/dist/components/alert/alert-title.svelte +58 -0
  63. package/dist/components/alert/alert-title.svelte.d.ts +32 -0
  64. package/dist/components/alert/alert.css +18 -0
  65. package/dist/components/alert/alert.stories.svelte +40 -0
  66. package/dist/components/alert/alert.stories.svelte.d.ts +6 -0
  67. package/dist/components/alert/atoms.d.ts +7 -0
  68. package/dist/components/alert/atoms.js +7 -0
  69. package/dist/components/alert/attachments.svelte.d.ts +2 -0
  70. package/dist/components/alert/attachments.svelte.js +5 -0
  71. package/dist/components/alert/bond.svelte.d.ts +65 -0
  72. package/dist/components/alert/bond.svelte.js +126 -0
  73. package/dist/components/alert/index.d.ts +2 -0
  74. package/dist/components/alert/index.js +1 -0
  75. package/dist/components/atom/html-atom.svelte +35 -0
  76. package/dist/components/atom/html-atom.svelte.d.ts +39 -0
  77. package/dist/components/atom/index.d.ts +1 -0
  78. package/dist/components/atom/index.js +1 -0
  79. package/dist/components/atom/types.d.ts +9 -0
  80. package/dist/components/atom/types.js +1 -0
  81. package/dist/components/avatar/avatar.css +3 -0
  82. package/dist/components/avatar/avatar.stories.svelte +27 -0
  83. package/dist/components/avatar/avatar.stories.svelte.d.ts +26 -0
  84. package/dist/components/avatar/avatar.svelte +45 -0
  85. package/dist/components/avatar/avatar.svelte.d.ts +5 -0
  86. package/dist/components/avatar/index.d.ts +1 -0
  87. package/dist/components/avatar/index.js +1 -0
  88. package/dist/components/avatar/types.d.ts +7 -0
  89. package/dist/components/avatar/types.js +1 -0
  90. package/dist/components/badge/badge.stories.svelte +17 -0
  91. package/dist/components/badge/badge.stories.svelte.d.ts +26 -0
  92. package/dist/components/badge/badge.svelte +29 -0
  93. package/dist/components/badge/badge.svelte.d.ts +3 -0
  94. package/dist/components/badge/index.d.ts +2 -0
  95. package/dist/components/badge/index.js +1 -0
  96. package/dist/components/badge/types.d.ts +5 -0
  97. package/dist/components/badge/types.js +1 -0
  98. package/dist/components/breadcrumb/atoms.d.ts +3 -0
  99. package/dist/components/breadcrumb/atoms.js +3 -0
  100. package/dist/components/breadcrumb/breadcrumb-item.svelte +31 -0
  101. package/dist/components/breadcrumb/breadcrumb-item.svelte.d.ts +31 -0
  102. package/dist/components/breadcrumb/breadcrumb-root.svelte +29 -0
  103. package/dist/components/breadcrumb/breadcrumb-root.svelte.d.ts +30 -0
  104. package/dist/components/breadcrumb/breadcrumb-separator.svelte +29 -0
  105. package/dist/components/breadcrumb/breadcrumb-separator.svelte.d.ts +30 -0
  106. package/dist/components/breadcrumb/breadcrumb.stories.svelte +21 -0
  107. package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +26 -0
  108. package/dist/components/breadcrumb/index.d.ts +2 -0
  109. package/dist/components/breadcrumb/index.js +2 -0
  110. package/dist/components/breadcrumb/types.d.ts +0 -0
  111. package/dist/components/breadcrumb/types.js +1 -0
  112. package/dist/components/button/button.stories.svelte +17 -0
  113. package/dist/components/button/button.stories.svelte.d.ts +26 -0
  114. package/dist/components/button/button.svelte +35 -0
  115. package/dist/components/button/button.svelte.d.ts +3 -0
  116. package/dist/components/button/index.d.ts +1 -0
  117. package/dist/components/button/index.js +1 -0
  118. package/dist/components/button/types.d.ts +6 -0
  119. package/dist/components/button/types.js +1 -0
  120. package/dist/components/card/atoms.d.ts +8 -0
  121. package/dist/components/card/atoms.js +8 -0
  122. package/dist/components/card/attachments.svelte.d.ts +2 -0
  123. package/dist/components/card/attachments.svelte.js +5 -0
  124. package/dist/components/card/bond.svelte.d.ts +66 -0
  125. package/dist/components/card/bond.svelte.js +143 -0
  126. package/dist/components/card/card-body.svelte +55 -0
  127. package/dist/components/card/card-body.svelte.d.ts +26 -0
  128. package/dist/components/card/card-description.svelte +55 -0
  129. package/dist/components/card/card-description.svelte.d.ts +26 -0
  130. package/dist/components/card/card-footer.svelte +55 -0
  131. package/dist/components/card/card-footer.svelte.d.ts +26 -0
  132. package/dist/components/card/card-header.svelte +55 -0
  133. package/dist/components/card/card-header.svelte.d.ts +26 -0
  134. package/dist/components/card/card-media.svelte +55 -0
  135. package/dist/components/card/card-media.svelte.d.ts +26 -0
  136. package/dist/components/card/card-root.svelte +96 -0
  137. package/dist/components/card/card-root.svelte.d.ts +32 -0
  138. package/dist/components/card/card-subtitle.svelte +55 -0
  139. package/dist/components/card/card-subtitle.svelte.d.ts +26 -0
  140. package/dist/components/card/card-title.svelte +55 -0
  141. package/dist/components/card/card-title.svelte.d.ts +26 -0
  142. package/dist/components/card/card.css +27 -0
  143. package/dist/components/card/card.stories.svelte +145 -0
  144. package/dist/components/card/card.stories.svelte.d.ts +19 -0
  145. package/dist/components/card/index.d.ts +1 -0
  146. package/dist/components/card/index.js +1 -0
  147. package/dist/components/card/types.d.ts +13 -0
  148. package/dist/components/card/types.js +1 -0
  149. package/dist/components/checkbox/checkbox-checked.svelte +20 -0
  150. package/dist/components/checkbox/checkbox-checked.svelte.d.ts +3 -0
  151. package/dist/components/checkbox/checkbox.css +16 -0
  152. package/dist/components/checkbox/checkbox.stories.svelte +27 -0
  153. package/dist/components/checkbox/checkbox.stories.svelte.d.ts +6 -0
  154. package/dist/components/checkbox/checkbox.svelte +154 -0
  155. package/dist/components/checkbox/checkbox.svelte.d.ts +4 -0
  156. package/dist/components/checkbox/index.d.ts +1 -0
  157. package/dist/components/checkbox/index.js +1 -0
  158. package/dist/components/checkbox/types.d.ts +15 -0
  159. package/dist/components/checkbox/types.js +2 -0
  160. package/dist/components/collapsible/atoms.d.ts +4 -0
  161. package/dist/components/collapsible/atoms.js +4 -0
  162. package/dist/components/collapsible/attachments.svelte.d.ts +2 -0
  163. package/dist/components/collapsible/attachments.svelte.js +5 -0
  164. package/dist/components/collapsible/bond.svelte.d.ts +57 -0
  165. package/dist/components/collapsible/bond.svelte.js +96 -0
  166. package/dist/components/collapsible/collapsible-body.svelte +58 -0
  167. package/dist/components/collapsible/collapsible-body.svelte.d.ts +33 -0
  168. package/dist/components/collapsible/collapsible-header.svelte +62 -0
  169. package/dist/components/collapsible/collapsible-header.svelte.d.ts +33 -0
  170. package/dist/components/collapsible/collapsible-indicator.svelte +74 -0
  171. package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +33 -0
  172. package/dist/components/collapsible/collapsible-root.svelte +94 -0
  173. package/dist/components/collapsible/collapsible-root.svelte.d.ts +43 -0
  174. package/dist/components/collapsible/collapsible.stories.svelte +175 -0
  175. package/dist/components/collapsible/collapsible.stories.svelte.d.ts +18 -0
  176. package/dist/components/collapsible/index.d.ts +2 -0
  177. package/dist/components/collapsible/index.js +2 -0
  178. package/dist/components/combobox/atoms.d.ts +5 -0
  179. package/dist/components/combobox/atoms.js +5 -0
  180. package/dist/components/combobox/attachments.svelte.d.ts +2 -0
  181. package/dist/components/combobox/attachments.svelte.js +5 -0
  182. package/dist/components/combobox/bond.svelte.d.ts +32 -0
  183. package/dist/components/combobox/bond.svelte.js +70 -0
  184. package/dist/components/combobox/combobox-input.svelte +59 -0
  185. package/dist/components/combobox/combobox-input.svelte.d.ts +12 -0
  186. package/dist/components/combobox/combobox-root.svelte +68 -0
  187. package/dist/components/combobox/combobox-root.svelte.d.ts +43 -0
  188. package/dist/components/combobox/combobox-trigger.svelte +50 -0
  189. package/dist/components/combobox/combobox-trigger.svelte.d.ts +36 -0
  190. package/dist/components/combobox/compobox-item.svelte +73 -0
  191. package/dist/components/combobox/compobox-item.svelte.d.ts +36 -0
  192. package/dist/components/combobox/compobox.stories.svelte +53 -0
  193. package/dist/components/combobox/compobox.stories.svelte.d.ts +3 -0
  194. package/dist/components/combobox/index.d.ts +1 -0
  195. package/dist/components/combobox/index.js +1 -0
  196. package/dist/components/contaiener/container.stories.svelte +25 -0
  197. package/dist/components/contaiener/container.stories.svelte.d.ts +26 -0
  198. package/dist/components/contaiener/container.svelte +67 -0
  199. package/dist/components/contaiener/container.svelte.d.ts +3 -0
  200. package/dist/components/contaiener/index.d.ts +0 -0
  201. package/dist/components/contaiener/index.js +1 -0
  202. package/dist/components/contaiener/types.d.ts +14 -0
  203. package/dist/components/contaiener/types.js +1 -0
  204. package/dist/components/contextmenu/atoms.d.ts +0 -0
  205. package/dist/components/contextmenu/atoms.js +1 -0
  206. package/dist/components/contextmenu/contextmenu-trigger.svelte +0 -0
  207. package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +26 -0
  208. package/dist/components/contextmenu/indext.d.ts +0 -0
  209. package/dist/components/contextmenu/indext.js +1 -0
  210. package/dist/components/datagrid/atoms.d.ts +8 -0
  211. package/dist/components/datagrid/atoms.js +8 -0
  212. package/dist/components/datagrid/attachments.svelte.d.ts +2 -0
  213. package/dist/components/datagrid/attachments.svelte.js +5 -0
  214. package/dist/components/datagrid/bond.svelte.d.ts +39 -0
  215. package/dist/components/datagrid/bond.svelte.js +88 -0
  216. package/dist/components/datagrid/context.d.ts +36 -0
  217. package/dist/components/datagrid/context.js +24 -0
  218. package/dist/components/datagrid/datagrid-body.svelte +49 -0
  219. package/dist/components/datagrid/datagrid-body.svelte.d.ts +36 -0
  220. package/dist/components/datagrid/datagrid-checkbox.svelte +115 -0
  221. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +8 -0
  222. package/dist/components/datagrid/datagrid-footer.svelte +40 -0
  223. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +26 -0
  224. package/dist/components/datagrid/datagrid-header.svelte +59 -0
  225. package/dist/components/datagrid/datagrid-header.svelte.d.ts +26 -0
  226. package/dist/components/datagrid/datagrid-root.svelte +67 -0
  227. package/dist/components/datagrid/datagrid-root.svelte.d.ts +31 -0
  228. package/dist/components/datagrid/datagrid.css +47 -0
  229. package/dist/components/datagrid/datagrid.stories.svelte +75 -0
  230. package/dist/components/datagrid/datagrid.stories.svelte.d.ts +6 -0
  231. package/dist/components/datagrid/index.d.ts +3 -0
  232. package/dist/components/datagrid/index.js +3 -0
  233. package/dist/components/datagrid/td/bond.svelte.d.ts +28 -0
  234. package/dist/components/datagrid/td/bond.svelte.js +40 -0
  235. package/dist/components/datagrid/td/datagrid-td.svelte +90 -0
  236. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +39 -0
  237. package/dist/components/datagrid/td/index.d.ts +2 -0
  238. package/dist/components/datagrid/td/index.js +2 -0
  239. package/dist/components/datagrid/th/bond.svelte.d.ts +38 -0
  240. package/dist/components/datagrid/th/bond.svelte.js +66 -0
  241. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +56 -0
  242. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte.d.ts +35 -0
  243. package/dist/components/datagrid/th/datagrid-th.svelte +131 -0
  244. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +44 -0
  245. package/dist/components/datagrid/th/index.d.ts +2 -0
  246. package/dist/components/datagrid/th/index.js +2 -0
  247. package/dist/components/datagrid/tr/bond.svelte.d.ts +33 -0
  248. package/dist/components/datagrid/tr/bond.svelte.js +68 -0
  249. package/dist/components/datagrid/tr/datagrid-tr.css +7 -0
  250. package/dist/components/datagrid/tr/datagrid-tr.svelte +108 -0
  251. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +44 -0
  252. package/dist/components/datagrid/tr/index.d.ts +2 -0
  253. package/dist/components/datagrid/tr/index.js +2 -0
  254. package/dist/components/datagrid/types.d.ts +103 -0
  255. package/dist/components/datagrid/types.js +1 -0
  256. package/dist/components/dialog/atoms.d.ts +6 -0
  257. package/dist/components/dialog/atoms.js +6 -0
  258. package/dist/components/dialog/attachements.svelte.d.ts +3 -0
  259. package/dist/components/dialog/attachements.svelte.js +9 -0
  260. package/dist/components/dialog/bond.svelte.d.ts +61 -0
  261. package/dist/components/dialog/bond.svelte.js +129 -0
  262. package/dist/components/dialog/dialog-body.svelte +55 -0
  263. package/dist/components/dialog/dialog-body.svelte.d.ts +26 -0
  264. package/dist/components/dialog/dialog-close-button.svelte +69 -0
  265. package/dist/components/dialog/dialog-close-button.svelte.d.ts +26 -0
  266. package/dist/components/dialog/dialog-content.svelte +77 -0
  267. package/dist/components/dialog/dialog-content.svelte.d.ts +26 -0
  268. package/dist/components/dialog/dialog-description.svelte +51 -0
  269. package/dist/components/dialog/dialog-description.svelte.d.ts +26 -0
  270. package/dist/components/dialog/dialog-footer.svelte +55 -0
  271. package/dist/components/dialog/dialog-footer.svelte.d.ts +26 -0
  272. package/dist/components/dialog/dialog-header.svelte +55 -0
  273. package/dist/components/dialog/dialog-header.svelte.d.ts +26 -0
  274. package/dist/components/dialog/dialog-root.svelte +123 -0
  275. package/dist/components/dialog/dialog-root.svelte.d.ts +39 -0
  276. package/dist/components/dialog/dialog-title.svelte +51 -0
  277. package/dist/components/dialog/dialog-title.svelte.d.ts +26 -0
  278. package/dist/components/dialog/dialog.stories.svelte +67 -0
  279. package/dist/components/dialog/dialog.stories.svelte.d.ts +3 -0
  280. package/dist/components/dialog/index.d.ts +1 -0
  281. package/dist/components/dialog/index.js +1 -0
  282. package/dist/components/divider/divider.svelte +30 -0
  283. package/dist/components/divider/divider.svelte.d.ts +17 -0
  284. package/dist/components/divider/index.d.ts +1 -0
  285. package/dist/components/divider/index.js +1 -0
  286. package/dist/components/drawer/README.MD +98 -0
  287. package/dist/components/drawer/atoms.d.ts +8 -0
  288. package/dist/components/drawer/atoms.js +8 -0
  289. package/dist/components/drawer/attachments.svelte.d.ts +6 -0
  290. package/dist/components/drawer/attachments.svelte.js +82 -0
  291. package/dist/components/drawer/bond.svelte.d.ts +67 -0
  292. package/dist/components/drawer/bond.svelte.js +144 -0
  293. package/dist/components/drawer/drawer-backdrop.svelte +56 -0
  294. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +29 -0
  295. package/dist/components/drawer/drawer-body.svelte +62 -0
  296. package/dist/components/drawer/drawer-body.svelte.d.ts +40 -0
  297. package/dist/components/drawer/drawer-content.svelte +64 -0
  298. package/dist/components/drawer/drawer-content.svelte.d.ts +38 -0
  299. package/dist/components/drawer/drawer-description.svelte +60 -0
  300. package/dist/components/drawer/drawer-description.svelte.d.ts +38 -0
  301. package/dist/components/drawer/drawer-footer.svelte +60 -0
  302. package/dist/components/drawer/drawer-footer.svelte.d.ts +38 -0
  303. package/dist/components/drawer/drawer-header.svelte +61 -0
  304. package/dist/components/drawer/drawer-header.svelte.d.ts +38 -0
  305. package/dist/components/drawer/drawer-root.svelte +116 -0
  306. package/dist/components/drawer/drawer-root.svelte.d.ts +60 -0
  307. package/dist/components/drawer/drawer-title.svelte +60 -0
  308. package/dist/components/drawer/drawer-title.svelte.d.ts +38 -0
  309. package/dist/components/drawer/drawer.stories.svelte +224 -0
  310. package/dist/components/drawer/drawer.stories.svelte.d.ts +3 -0
  311. package/dist/components/drawer/index.d.ts +3 -0
  312. package/dist/components/drawer/index.js +3 -0
  313. package/dist/components/dropdown/atoms.d.ts +9 -0
  314. package/dist/components/dropdown/atoms.js +9 -0
  315. package/dist/components/dropdown/attachments.svelte.d.ts +2 -0
  316. package/dist/components/dropdown/attachments.svelte.js +5 -0
  317. package/dist/components/dropdown/bond.svelte.d.ts +49 -0
  318. package/dist/components/dropdown/bond.svelte.js +114 -0
  319. package/dist/components/dropdown/dropdown-placeholder.svelte +41 -0
  320. package/dist/components/dropdown/dropdown-placeholder.svelte.d.ts +34 -0
  321. package/dist/components/dropdown/dropdown-query.svelte +64 -0
  322. package/dist/components/dropdown/dropdown-query.svelte.d.ts +34 -0
  323. package/dist/components/dropdown/dropdown-root.svelte +59 -0
  324. package/dist/components/dropdown/dropdown-root.svelte.d.ts +42 -0
  325. package/dist/components/dropdown/dropdown-trigger.svelte +60 -0
  326. package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +33 -0
  327. package/dist/components/dropdown/dropdown-value.svelte +66 -0
  328. package/dist/components/dropdown/dropdown-value.svelte.d.ts +37 -0
  329. package/dist/components/dropdown/dropdown-values.svelte +17 -0
  330. package/dist/components/dropdown/dropdown-values.svelte.d.ts +6 -0
  331. package/dist/components/dropdown/dropdown.stories.svelte +74 -0
  332. package/dist/components/dropdown/dropdown.stories.svelte.d.ts +3 -0
  333. package/dist/components/dropdown/index.d.ts +2 -0
  334. package/dist/components/dropdown/index.js +2 -0
  335. package/dist/components/dropdown/item/attachments.svelte.d.ts +3 -0
  336. package/dist/components/dropdown/item/attachments.svelte.js +6 -0
  337. package/dist/components/dropdown/item/bond.svelte.d.ts +37 -0
  338. package/dist/components/dropdown/item/bond.svelte.js +87 -0
  339. package/dist/components/dropdown/item/dropdown-item.svelte +98 -0
  340. package/dist/components/dropdown/item/dropdown-item.svelte.d.ts +38 -0
  341. package/dist/components/dropdown/runes.svelte.d.ts +6 -0
  342. package/dist/components/dropdown/runes.svelte.js +15 -0
  343. package/dist/components/element/html-element.svelte +93 -0
  344. package/dist/components/element/html-element.svelte.d.ts +38 -0
  345. package/dist/components/element/index.d.ts +4 -0
  346. package/dist/components/element/index.js +4 -0
  347. package/dist/components/element/mathml-element.svelte +90 -0
  348. package/dist/components/element/mathml-element.svelte.d.ts +25 -0
  349. package/dist/components/element/svg-element.svelte +90 -0
  350. package/dist/components/element/svg-element.svelte.d.ts +38 -0
  351. package/dist/components/element/types.d.ts +29 -0
  352. package/dist/components/element/types.js +1 -0
  353. package/dist/components/form/atoms.d.ts +2 -0
  354. package/dist/components/form/atoms.js +2 -0
  355. package/dist/components/form/attachments.svelte.d.ts +2 -0
  356. package/dist/components/form/attachments.svelte.js +5 -0
  357. package/dist/components/form/bond.svelte.d.ts +28 -0
  358. package/dist/components/form/bond.svelte.js +47 -0
  359. package/dist/components/form/field/atoms.d.ts +4 -0
  360. package/dist/components/form/field/atoms.js +4 -0
  361. package/dist/components/form/field/attachments.svelte.d.ts +2 -0
  362. package/dist/components/form/field/attachments.svelte.js +5 -0
  363. package/dist/components/form/field/bond.svelte.d.ts +80 -0
  364. package/dist/components/form/field/bond.svelte.js +159 -0
  365. package/dist/components/form/field/field-control.svelte +66 -0
  366. package/dist/components/form/field/field-control.svelte.d.ts +50 -0
  367. package/dist/components/form/field/field-errors.svelte +9 -0
  368. package/dist/components/form/field/field-errors.svelte.d.ts +11 -0
  369. package/dist/components/form/field/field-label.svelte +45 -0
  370. package/dist/components/form/field/field-label.svelte.d.ts +27 -0
  371. package/dist/components/form/field/field-root.svelte +93 -0
  372. package/dist/components/form/field/field-root.svelte.d.ts +46 -0
  373. package/dist/components/form/field/index.d.ts +1 -0
  374. package/dist/components/form/field/index.js +1 -0
  375. package/dist/components/form/field/validation-adapters.d.ts +20 -0
  376. package/dist/components/form/field/validation-adapters.js +41 -0
  377. package/dist/components/form/form-root.svelte +74 -0
  378. package/dist/components/form/form-root.svelte.d.ts +50 -0
  379. package/dist/components/form/form.stories.svelte +99 -0
  380. package/dist/components/form/form.stories.svelte.d.ts +18 -0
  381. package/dist/components/form/index.d.ts +5 -0
  382. package/dist/components/form/index.js +4 -0
  383. package/dist/components/form/validation-adapters.d.ts +11 -0
  384. package/dist/components/form/validation-adapters.js +82 -0
  385. package/dist/components/icon/icon.svelte +61 -0
  386. package/dist/components/icon/icon.svelte.d.ts +32 -0
  387. package/dist/components/icon/index.d.ts +2 -0
  388. package/dist/components/icon/index.js +2 -0
  389. package/dist/components/icon/types.d.ts +7 -0
  390. package/dist/components/icon/types.js +1 -0
  391. package/dist/components/image/image.stories.svelte +23 -0
  392. package/dist/components/image/image.stories.svelte.d.ts +26 -0
  393. package/dist/components/image/image.svelte +37 -0
  394. package/dist/components/image/image.svelte.d.ts +8 -0
  395. package/dist/components/image/index.d.ts +0 -0
  396. package/dist/components/image/index.js +1 -0
  397. package/dist/components/image/types.d.ts +0 -0
  398. package/dist/components/image/types.js +1 -0
  399. package/dist/components/index.d.ts +36 -0
  400. package/dist/components/index.js +36 -0
  401. package/dist/components/input/atoms.d.ts +4 -0
  402. package/dist/components/input/atoms.js +4 -0
  403. package/dist/components/input/attachments.svelte.d.ts +2 -0
  404. package/dist/components/input/attachments.svelte.js +5 -0
  405. package/dist/components/input/bond.svelte.d.ts +49 -0
  406. package/dist/components/input/bond.svelte.js +76 -0
  407. package/dist/components/input/index.d.ts +2 -0
  408. package/dist/components/input/index.js +2 -0
  409. package/dist/components/input/input-icon.svelte +16 -0
  410. package/dist/components/input/input-icon.svelte.d.ts +4 -0
  411. package/dist/components/input/input-placeholder.svelte +61 -0
  412. package/dist/components/input/input-placeholder.svelte.d.ts +25 -0
  413. package/dist/components/input/input-root.svelte +83 -0
  414. package/dist/components/input/input-root.svelte.d.ts +30 -0
  415. package/dist/components/input/input-value.svelte +110 -0
  416. package/dist/components/input/input-value.svelte.d.ts +16 -0
  417. package/dist/components/input/input.stories.svelte +34 -0
  418. package/dist/components/input/input.stories.svelte.d.ts +18 -0
  419. package/dist/components/label/index.d.ts +1 -0
  420. package/dist/components/label/index.js +1 -0
  421. package/dist/components/label/label.stories.svelte +26 -0
  422. package/dist/components/label/label.stories.svelte.d.ts +6 -0
  423. package/dist/components/label/label.svelte +39 -0
  424. package/dist/components/label/label.svelte.d.ts +30 -0
  425. package/dist/components/layer/atoms.d.ts +2 -0
  426. package/dist/components/layer/atoms.js +2 -0
  427. package/dist/components/layer/attachments.svelte.d.ts +2 -0
  428. package/dist/components/layer/attachments.svelte.js +5 -0
  429. package/dist/components/layer/bond.svelte.d.ts +23 -0
  430. package/dist/components/layer/bond.svelte.js +48 -0
  431. package/dist/components/layer/index.d.ts +2 -0
  432. package/dist/components/layer/index.js +2 -0
  433. package/dist/components/layer/layer-inner.svelte +56 -0
  434. package/dist/components/layer/layer-inner.svelte.d.ts +25 -0
  435. package/dist/components/layer/layer-root.svelte +75 -0
  436. package/dist/components/layer/layer-root.svelte.d.ts +29 -0
  437. package/dist/components/link/index.d.ts +1 -0
  438. package/dist/components/link/index.js +1 -0
  439. package/dist/components/link/link.stories.svelte +26 -0
  440. package/dist/components/link/link.stories.svelte.d.ts +6 -0
  441. package/dist/components/link/link.svelte +27 -0
  442. package/dist/components/link/link.svelte.d.ts +25 -0
  443. package/dist/components/list/atoms.d.ts +5 -0
  444. package/dist/components/list/atoms.js +5 -0
  445. package/dist/components/list/index.d.ts +1 -0
  446. package/dist/components/list/index.js +1 -0
  447. package/dist/components/list/list-divider.svelte +29 -0
  448. package/dist/components/list/list-divider.svelte.d.ts +30 -0
  449. package/dist/components/list/list-group.svelte +28 -0
  450. package/dist/components/list/list-group.svelte.d.ts +30 -0
  451. package/dist/components/list/list-item.svelte +28 -0
  452. package/dist/components/list/list-item.svelte.d.ts +30 -0
  453. package/dist/components/list/list-root.svelte +28 -0
  454. package/dist/components/list/list-root.svelte.d.ts +30 -0
  455. package/dist/components/list/list-title.svelte +29 -0
  456. package/dist/components/list/list-title.svelte.d.ts +30 -0
  457. package/dist/components/menu/atoms.d.ts +3 -0
  458. package/dist/components/menu/atoms.js +3 -0
  459. package/dist/components/menu/attachments.svelte.d.ts +2 -0
  460. package/dist/components/menu/attachments.svelte.js +5 -0
  461. package/dist/components/menu/index.d.ts +2 -0
  462. package/dist/components/menu/index.js +2 -0
  463. package/dist/components/menu/menu-item.svelte +56 -0
  464. package/dist/components/menu/menu-item.svelte.d.ts +37 -0
  465. package/dist/components/menu/menu-list.svelte +44 -0
  466. package/dist/components/menu/menu-list.svelte.d.ts +36 -0
  467. package/dist/components/menu/menu.stories.svelte +36 -0
  468. package/dist/components/menu/menu.stories.svelte.d.ts +3 -0
  469. package/dist/components/popover/atoms.d.ts +5 -0
  470. package/dist/components/popover/atoms.js +5 -0
  471. package/dist/components/popover/attachments.svelte.d.ts +3 -0
  472. package/dist/components/popover/attachments.svelte.js +18 -0
  473. package/dist/components/popover/bond.svelte.d.ts +77 -0
  474. package/dist/components/popover/bond.svelte.js +203 -0
  475. package/dist/components/popover/index.d.ts +3 -0
  476. package/dist/components/popover/index.js +3 -0
  477. package/dist/components/popover/popover-arrow.svelte +121 -0
  478. package/dist/components/popover/popover-arrow.svelte.d.ts +26 -0
  479. package/dist/components/popover/popover-content.svelte +153 -0
  480. package/dist/components/popover/popover-content.svelte.d.ts +41 -0
  481. package/dist/components/popover/popover-indicator.svelte +48 -0
  482. package/dist/components/popover/popover-indicator.svelte.d.ts +12 -0
  483. package/dist/components/popover/popover-root.svelte +63 -0
  484. package/dist/components/popover/popover-root.svelte.d.ts +21 -0
  485. package/dist/components/popover/popover-trigger.svelte +63 -0
  486. package/dist/components/popover/popover-trigger.svelte.d.ts +32 -0
  487. package/dist/components/popover/popover.stories.svelte +66 -0
  488. package/dist/components/popover/popover.stories.svelte.d.ts +3 -0
  489. package/dist/components/portal/active-portal.svelte +16 -0
  490. package/dist/components/portal/active-portal.svelte.d.ts +13 -0
  491. package/dist/components/portal/atoms.d.ts +2 -0
  492. package/dist/components/portal/atoms.js +2 -0
  493. package/dist/components/portal/attachements.svelte.d.ts +2 -0
  494. package/dist/components/portal/attachements.svelte.js +5 -0
  495. package/dist/components/portal/bond.svelte.d.ts +27 -0
  496. package/dist/components/portal/bond.svelte.js +54 -0
  497. package/dist/components/portal/index.d.ts +7 -0
  498. package/dist/components/portal/index.js +7 -0
  499. package/dist/components/portal/portal-inner.svelte +55 -0
  500. package/dist/components/portal/portal-inner.svelte.d.ts +25 -0
  501. package/dist/components/portal/portal-root.svelte +97 -0
  502. package/dist/components/portal/portal-root.svelte.d.ts +36 -0
  503. package/dist/components/portal/portals/bond.svelte.d.ts +20 -0
  504. package/dist/components/portal/portals/bond.svelte.js +36 -0
  505. package/dist/components/portal/portals/index.d.ts +2 -0
  506. package/dist/components/portal/portals/index.js +2 -0
  507. package/dist/components/portal/portals/portals.svelte +17 -0
  508. package/dist/components/portal/portals/portals.svelte.d.ts +9 -0
  509. package/dist/components/portal/teleport.svelte +49 -0
  510. package/dist/components/portal/teleport.svelte.d.ts +29 -0
  511. package/dist/components/portal/utils.d.ts +1 -0
  512. package/dist/components/portal/utils.js +19 -0
  513. package/dist/components/radio/context.d.ts +10 -0
  514. package/dist/components/radio/context.js +8 -0
  515. package/dist/components/radio/index.d.ts +2 -0
  516. package/dist/components/radio/index.js +2 -0
  517. package/dist/components/radio/radio-group.stories.svelte +50 -0
  518. package/dist/components/radio/radio-group.stories.svelte.d.ts +6 -0
  519. package/dist/components/radio/radio-group.svelte +53 -0
  520. package/dist/components/radio/radio-group.svelte.d.ts +13 -0
  521. package/dist/components/radio/radio.stories.svelte +26 -0
  522. package/dist/components/radio/radio.stories.svelte.d.ts +6 -0
  523. package/dist/components/radio/radio.svelte +113 -0
  524. package/dist/components/radio/radio.svelte.d.ts +38 -0
  525. package/dist/components/radio/types.svelte +0 -0
  526. package/dist/components/radio/types.svelte.d.ts +26 -0
  527. package/dist/components/root/bond.svelte.d.ts +26 -0
  528. package/dist/components/root/bond.svelte.js +36 -0
  529. package/dist/components/root/index.d.ts +2 -0
  530. package/dist/components/root/index.js +2 -0
  531. package/dist/components/root/root.css +161 -0
  532. package/dist/components/root/root.svelte +108 -0
  533. package/dist/components/root/root.svelte.d.ts +8 -0
  534. package/dist/components/scrollable/atoms.d.ts +5 -0
  535. package/dist/components/scrollable/atoms.js +5 -0
  536. package/dist/components/scrollable/attachments.svelte.d.ts +2 -0
  537. package/dist/components/scrollable/attachments.svelte.js +5 -0
  538. package/dist/components/scrollable/bond.svelte.d.ts +268 -0
  539. package/dist/components/scrollable/bond.svelte.js +481 -0
  540. package/dist/components/scrollable/index.d.ts +7 -0
  541. package/dist/components/scrollable/index.js +3 -0
  542. package/dist/components/scrollable/scrollable-container.svelte +90 -0
  543. package/dist/components/scrollable/scrollable-container.svelte.d.ts +30 -0
  544. package/dist/components/scrollable/scrollable-content.svelte +60 -0
  545. package/dist/components/scrollable/scrollable-content.svelte.d.ts +30 -0
  546. package/dist/components/scrollable/scrollable-root.svelte +128 -0
  547. package/dist/components/scrollable/scrollable-root.svelte.d.ts +46 -0
  548. package/dist/components/scrollable/scrollable-thumb.svelte +91 -0
  549. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +31 -0
  550. package/dist/components/scrollable/scrollable-track.svelte +75 -0
  551. package/dist/components/scrollable/scrollable-track.svelte.d.ts +31 -0
  552. package/dist/components/scrollable/scrollable.stories.svelte +126 -0
  553. package/dist/components/scrollable/scrollable.stories.svelte.d.ts +26 -0
  554. package/dist/components/sidebar/atoms.d.ts +2 -0
  555. package/dist/components/sidebar/atoms.js +2 -0
  556. package/dist/components/sidebar/attachments.svelte.d.ts +3 -0
  557. package/dist/components/sidebar/attachments.svelte.js +21 -0
  558. package/dist/components/sidebar/bond.svelte.d.ts +35 -0
  559. package/dist/components/sidebar/bond.svelte.js +55 -0
  560. package/dist/components/sidebar/index.d.ts +2 -0
  561. package/dist/components/sidebar/index.js +2 -0
  562. package/dist/components/sidebar/sidebar-content.svelte +62 -0
  563. package/dist/components/sidebar/sidebar-content.svelte.d.ts +33 -0
  564. package/dist/components/sidebar/sidebar-root.svelte +96 -0
  565. package/dist/components/sidebar/sidebar-root.svelte.d.ts +42 -0
  566. package/dist/components/sidebar/sidebar.stories.svelte +52 -0
  567. package/dist/components/sidebar/sidebar.stories.svelte.d.ts +3 -0
  568. package/dist/components/stack/atoms.d.ts +2 -0
  569. package/dist/components/stack/atoms.js +2 -0
  570. package/dist/components/stack/index.d.ts +1 -0
  571. package/dist/components/stack/index.js +1 -0
  572. package/dist/components/stack/stack-item.svelte +28 -0
  573. package/dist/components/stack/stack-item.svelte.d.ts +30 -0
  574. package/dist/components/stack/stack-root.svelte +37 -0
  575. package/dist/components/stack/stack-root.svelte.d.ts +26 -0
  576. package/dist/components/stack/stack.css +8 -0
  577. package/dist/components/tabs/atoms.d.ts +3 -0
  578. package/dist/components/tabs/atoms.js +3 -0
  579. package/dist/components/tabs/attachments.svelte.d.ts +2 -0
  580. package/dist/components/tabs/attachments.svelte.js +5 -0
  581. package/dist/components/tabs/bond.svelte.d.ts +43 -0
  582. package/dist/components/tabs/bond.svelte.js +88 -0
  583. package/dist/components/tabs/index.d.ts +2 -0
  584. package/dist/components/tabs/index.js +2 -0
  585. package/dist/components/tabs/tab/atoms.d.ts +4 -0
  586. package/dist/components/tabs/tab/atoms.js +4 -0
  587. package/dist/components/tabs/tab/attachments.svelte.d.ts +3 -0
  588. package/dist/components/tabs/tab/attachments.svelte.js +6 -0
  589. package/dist/components/tabs/tab/bond.svelte.d.ts +53 -0
  590. package/dist/components/tabs/tab/bond.svelte.js +110 -0
  591. package/dist/components/tabs/tab/index.d.ts +1 -0
  592. package/dist/components/tabs/tab/index.js +1 -0
  593. package/dist/components/tabs/tab/tab-body.svelte +68 -0
  594. package/dist/components/tabs/tab/tab-body.svelte.d.ts +32 -0
  595. package/dist/components/tabs/tab/tab-description.svelte +53 -0
  596. package/dist/components/tabs/tab/tab-description.svelte.d.ts +32 -0
  597. package/dist/components/tabs/tab/tab-header.svelte +84 -0
  598. package/dist/components/tabs/tab/tab-header.svelte.d.ts +35 -0
  599. package/dist/components/tabs/tab/tab-root.svelte +91 -0
  600. package/dist/components/tabs/tab/tab-root.svelte.d.ts +45 -0
  601. package/dist/components/tabs/tabs-body.svelte +48 -0
  602. package/dist/components/tabs/tabs-body.svelte.d.ts +36 -0
  603. package/dist/components/tabs/tabs-header.svelte +49 -0
  604. package/dist/components/tabs/tabs-header.svelte.d.ts +36 -0
  605. package/dist/components/tabs/tabs-root.svelte +75 -0
  606. package/dist/components/tabs/tabs-root.svelte.d.ts +44 -0
  607. package/dist/components/tabs/tabs.stories.svelte +59 -0
  608. package/dist/components/tabs/tabs.stories.svelte.d.ts +3 -0
  609. package/dist/components/textarea/atoms.d.ts +2 -0
  610. package/dist/components/textarea/atoms.js +2 -0
  611. package/dist/components/textarea/index.d.ts +1 -0
  612. package/dist/components/textarea/index.js +1 -0
  613. package/dist/components/textarea/textarea-input.svelte +7 -0
  614. package/dist/components/textarea/textarea-input.svelte.d.ts +6 -0
  615. package/dist/components/textarea/textarea-root.svelte +12 -0
  616. package/dist/components/textarea/textarea-root.svelte.d.ts +13 -0
  617. package/dist/components/toast/atoms.d.ts +3 -0
  618. package/dist/components/toast/atoms.js +3 -0
  619. package/dist/components/toast/attachments.svelte.d.ts +2 -0
  620. package/dist/components/toast/attachments.svelte.js +5 -0
  621. package/dist/components/toast/bond.d.ts +35 -0
  622. package/dist/components/toast/bond.js +59 -0
  623. package/dist/components/toast/index.d.ts +1 -0
  624. package/dist/components/toast/index.js +1 -0
  625. package/dist/components/toast/toast-description.svelte +45 -0
  626. package/dist/components/toast/toast-description.svelte.d.ts +33 -0
  627. package/dist/components/toast/toast-root.svelte +77 -0
  628. package/dist/components/toast/toast-root.svelte.d.ts +42 -0
  629. package/dist/components/toast/toast-title.svelte +46 -0
  630. package/dist/components/toast/toast-title.svelte.d.ts +34 -0
  631. package/dist/components/tooltip/atoms.d.ts +2 -0
  632. package/dist/components/tooltip/atoms.js +2 -0
  633. package/dist/components/tooltip/attachments.svelte.d.ts +2 -0
  634. package/dist/components/tooltip/attachments.svelte.js +5 -0
  635. package/dist/components/tooltip/index.d.ts +1 -0
  636. package/dist/components/tooltip/index.js +1 -0
  637. package/dist/components/tooltip/tooltip-trigger.svelte +37 -0
  638. package/dist/components/tooltip/tooltip-trigger.svelte.d.ts +6 -0
  639. package/dist/components/tooltip/tooltip.stories.svelte +35 -0
  640. package/dist/components/tooltip/tooltip.stories.svelte.d.ts +3 -0
  641. package/dist/components/tree/atoms.d.ts +4 -0
  642. package/dist/components/tree/atoms.js +4 -0
  643. package/dist/components/tree/attachments.svelte.d.ts +2 -0
  644. package/dist/components/tree/attachments.svelte.js +5 -0
  645. package/dist/components/tree/bond.svelte.d.ts +48 -0
  646. package/dist/components/tree/bond.svelte.js +93 -0
  647. package/dist/components/tree/index.d.ts +1 -0
  648. package/dist/components/tree/index.js +1 -0
  649. package/dist/components/tree/tree-body.svelte +56 -0
  650. package/dist/components/tree/tree-body.svelte.d.ts +34 -0
  651. package/dist/components/tree/tree-header.svelte +76 -0
  652. package/dist/components/tree/tree-header.svelte.d.ts +35 -0
  653. package/dist/components/tree/tree-indicator.svelte +60 -0
  654. package/dist/components/tree/tree-indicator.svelte.d.ts +32 -0
  655. package/dist/components/tree/tree-root.svelte +87 -0
  656. package/dist/components/tree/tree-root.svelte.d.ts +41 -0
  657. package/dist/components/tree/tree.stories.svelte +134 -0
  658. package/dist/components/tree/tree.stories.svelte.d.ts +3 -0
  659. package/dist/components/virtual/virtual-root.svelte +258 -0
  660. package/dist/components/virtual/virtual-root.svelte.d.ts +42 -0
  661. package/dist/context/index.d.ts +1 -0
  662. package/dist/context/index.js +1 -0
  663. package/dist/context/preset.svelte.d.ts +12 -0
  664. package/dist/context/preset.svelte.js +15 -0
  665. package/dist/helpers/injector.svelte +60 -0
  666. package/dist/helpers/injector.svelte.d.ts +34 -0
  667. package/dist/icons/icon-arrow-down.svelte +11 -0
  668. package/dist/icons/icon-arrow-down.svelte.d.ts +26 -0
  669. package/dist/icons/icon-checkmark.svelte +6 -0
  670. package/dist/icons/icon-checkmark.svelte.d.ts +26 -0
  671. package/dist/icons/icon-close.svelte +9 -0
  672. package/dist/icons/icon-close.svelte.d.ts +26 -0
  673. package/dist/icons/icon-more-vert.svelte +6 -0
  674. package/dist/icons/icon-more-vert.svelte.d.ts +26 -0
  675. package/dist/index.d.ts +7 -0
  676. package/dist/index.js +8 -0
  677. package/dist/runes/color-scheme.svelte.d.ts +4 -0
  678. package/dist/runes/color-scheme.svelte.js +21 -0
  679. package/dist/runes/container.svelte.d.ts +7 -0
  680. package/dist/runes/container.svelte.js +26 -0
  681. package/dist/runes/index.d.ts +2 -0
  682. package/dist/runes/index.js +2 -0
  683. package/dist/runes/lifecycles.svelte.d.ts +3 -0
  684. package/dist/runes/lifecycles.svelte.js +14 -0
  685. package/dist/runes/viewport.svelte.d.ts +7 -0
  686. package/dist/runes/viewport.svelte.js +21 -0
  687. package/dist/shared/bond.svelte.d.ts +22 -0
  688. package/dist/shared/bond.svelte.js +39 -0
  689. package/dist/shared/dom.svelte.d.ts +0 -0
  690. package/dist/shared/dom.svelte.js +1 -0
  691. package/dist/shared/index.d.ts +2 -0
  692. package/dist/shared/index.js +2 -0
  693. package/dist/shared/motion.d.ts +8 -0
  694. package/dist/shared/motion.js +8 -0
  695. package/dist/types/index.d.ts +17 -0
  696. package/dist/types/index.js +1 -0
  697. package/dist/utils/dom.svelte.d.ts +2 -0
  698. package/dist/utils/dom.svelte.js +6 -0
  699. package/dist/utils/gsap.d.ts +2 -0
  700. package/dist/utils/gsap.js +8 -0
  701. package/dist/utils/index.d.ts +6 -0
  702. package/dist/utils/index.js +12 -0
  703. package/dist/utils/state.d.ts +3 -0
  704. package/dist/utils/state.js +18 -0
  705. package/package.json +435 -0
@@ -0,0 +1,481 @@
1
+ import { createAttachmentKey } from 'svelte/attachments';
2
+ import { getContext, setContext } from 'svelte';
3
+ import { Bond, BondState } from '../../shared/bond.svelte';
4
+ /**
5
+ * Main bond class that manages scrollable state and DOM element interactions
6
+ * Extends the base Bond class with scrollable-specific functionality
7
+ */
8
+ export class ScrollableBond extends Bond {
9
+ /** Unique key for identifying this bond type in the context system */
10
+ static CONTEXT_KEY = '@atoms/context/scrollable';
11
+ /** Reference to parent scrollable bond (for nested scrollable areas) */
12
+ #parent;
13
+ /**
14
+ * Creates a new scrollable bond instance
15
+ * @param state - The scrollable state instance to manage
16
+ */
17
+ constructor(state) {
18
+ super(state);
19
+ // Capture any existing scrollable context as parent
20
+ this.#parent = ScrollableBond.get();
21
+ }
22
+ /**
23
+ * Gets the parent scrollable bond if this is a nested scrollable
24
+ * @returns The parent bond or undefined if this is the root scrollable
25
+ */
26
+ get parent() {
27
+ return this.#parent;
28
+ }
29
+ /**
30
+ * Shares this bond instance through the context system
31
+ * Makes this bond available to child components
32
+ * @returns This bond instance for chaining
33
+ */
34
+ share() {
35
+ ScrollableBond.set(this);
36
+ return this;
37
+ }
38
+ /**
39
+ * Retrieves the current scrollable bond from context
40
+ * @returns The active scrollable bond or undefined if none exists
41
+ */
42
+ static get() {
43
+ return getContext(ScrollableBond.CONTEXT_KEY);
44
+ }
45
+ /**
46
+ * Sets the scrollable bond in context for child components
47
+ * @param bond - The bond instance to set in context
48
+ * @returns The bond that was set
49
+ */
50
+ static set(bond) {
51
+ return setContext(ScrollableBond.CONTEXT_KEY, bond);
52
+ }
53
+ /**
54
+ * Creates props for the root element with hidden overflow
55
+ * The root element contains the entire scrollable interface but doesn't scroll itself
56
+ * @param props - Additional props to merge with the generated props
57
+ * @returns Object containing all necessary props for the root element
58
+ */
59
+ root(props = {}) {
60
+ return {
61
+ 'data-atom': this.id ?? '',
62
+ 'data-kind': 'scrollable-root',
63
+ 'data-disabled': this.state.props.disabled,
64
+ 'data-open': this.state.props.open,
65
+ ...props,
66
+ // Attach the root DOM element
67
+ [createAttachmentKey()]: (node) => {
68
+ this.elements.root = node;
69
+ }
70
+ };
71
+ }
72
+ /**
73
+ * Creates props for the scrollable container element
74
+ * This element is the actual scrollable area that handles scroll events
75
+ * @param props - Additional props to merge with the generated props
76
+ * @returns Object containing all necessary props for the container element
77
+ */
78
+ container(props = {}) {
79
+ return {
80
+ 'data-atom': this.id ?? '',
81
+ 'data-kind': 'scrollable-container',
82
+ // Handle scroll events and update internal state
83
+ onscroll: (e) => {
84
+ this.updateScrollState();
85
+ if ('onscroll' in props && typeof props.onscroll === 'function') {
86
+ props.onscroll(e);
87
+ }
88
+ },
89
+ ...props,
90
+ // Attach the container DOM element and initialize scroll state
91
+ [createAttachmentKey()]: (node) => {
92
+ this.elements.container = node;
93
+ this.updateScrollState();
94
+ }
95
+ };
96
+ }
97
+ /**
98
+ * Creates props for the scrollable content wrapper element
99
+ * This element defines the boundaries and size of the scrollable content
100
+ * @param props - Additional props to merge with the generated props
101
+ * @returns Object containing all necessary props for the content element
102
+ */
103
+ content(props = {}) {
104
+ return {
105
+ 'data-atom': this.id ?? '',
106
+ 'data-kind': 'scrollable-content',
107
+ ...props,
108
+ // Attach the content DOM element for measurement and interaction
109
+ [createAttachmentKey()]: (node) => {
110
+ this.elements.content = node;
111
+ }
112
+ };
113
+ }
114
+ /**
115
+ * Creates props for the horizontal scrollbar track element
116
+ * Provides click-to-scroll functionality for horizontal navigation
117
+ * @param props - Additional props to merge with the generated props
118
+ * @returns Object containing all necessary props for the horizontal track element
119
+ */
120
+ trackX(props = {}) {
121
+ return {
122
+ 'data-atom': this.id ?? '',
123
+ 'data-kind': 'scrollable-track-x',
124
+ 'data-visible': this.canScrollX,
125
+ ...props,
126
+ // Handle click-to-scroll on the horizontal track
127
+ onclick: (e) => {
128
+ this.handleTrackClick(e, 'x');
129
+ if ('onclick' in props && typeof props.onclick === 'function') {
130
+ props.onclick(e);
131
+ }
132
+ },
133
+ // Attach the horizontal track DOM element
134
+ [createAttachmentKey()]: (node) => {
135
+ this.elements.trackX = node;
136
+ }
137
+ };
138
+ }
139
+ /**
140
+ * Creates props for the vertical scrollbar track element
141
+ * Provides click-to-scroll functionality for vertical navigation
142
+ * @param props - Additional props to merge with the generated props
143
+ * @returns Object containing all necessary props for the vertical track element
144
+ */
145
+ trackY(props = {}) {
146
+ return {
147
+ 'data-atom': this.id ?? '',
148
+ 'data-kind': 'scrollable-track-y',
149
+ 'data-visible': this.canScrollY,
150
+ ...props,
151
+ // Handle click-to-scroll on the vertical track
152
+ onclick: (e) => {
153
+ this.handleTrackClick(e, 'y');
154
+ if ('onclick' in props && typeof props.onclick === 'function') {
155
+ props.onclick(e);
156
+ }
157
+ },
158
+ // Attach the vertical track DOM element
159
+ [createAttachmentKey()]: (node) => {
160
+ this.elements.trackY = node;
161
+ }
162
+ };
163
+ }
164
+ /**
165
+ * Creates props for the horizontal scrollbar thumb element
166
+ * Provides drag-to-scroll functionality and automatic positioning/sizing
167
+ * @param props - Additional props to merge with the generated props
168
+ * @returns Object containing all necessary props for the horizontal thumb element
169
+ */
170
+ thumbX(props = {}) {
171
+ return {
172
+ 'data-atom': this.id ?? '',
173
+ 'data-kind': 'scrollable-thumb-x',
174
+ ...props,
175
+ // Dynamically position and size the thumb based on scroll state
176
+ style: `left: ${this.getThumbXPosition()}%; width: ${this.getThumbXSize()}%;`,
177
+ // Handle drag-to-scroll interaction
178
+ onmousedown: (e) => {
179
+ this.handleThumbDrag(e, 'x');
180
+ if ('onmousedown' in props && typeof props.onmousedown === 'function') {
181
+ props.onmousedown(e);
182
+ }
183
+ },
184
+ // Attach the horizontal thumb DOM element
185
+ [createAttachmentKey()]: (node) => {
186
+ this.elements.thumbX = node;
187
+ }
188
+ };
189
+ }
190
+ /**
191
+ * Creates props for the vertical scrollbar thumb element
192
+ * Provides drag-to-scroll functionality and automatic positioning/sizing
193
+ * @param props - Additional props to merge with the generated props
194
+ * @returns Object containing all necessary props for the vertical thumb element
195
+ */
196
+ thumbY(props = {}) {
197
+ return {
198
+ 'data-atom': this.id ?? '',
199
+ 'data-kind': 'scrollable-thumb-y',
200
+ ...props,
201
+ // Dynamically position and size the thumb based on scroll state
202
+ style: `top: ${this.getThumbYPosition()}%; height: ${this.getThumbYSize()}%;`,
203
+ // Handle drag-to-scroll interaction
204
+ onmousedown: (e) => {
205
+ this.handleThumbDrag(e, 'y');
206
+ if ('onmousedown' in props && typeof props.onmousedown === 'function') {
207
+ props.onmousedown(e);
208
+ }
209
+ },
210
+ // Attach the vertical thumb DOM element
211
+ [createAttachmentKey()]: (node) => {
212
+ this.elements.thumbY = node;
213
+ }
214
+ };
215
+ }
216
+ /**
217
+ * Creates props for a unified track element that can be oriented horizontally or vertically
218
+ * This method provides a single interface for both horizontal and vertical tracks
219
+ * @param orientation - The track orientation ('horizontal' or 'vertical')
220
+ * @param props - Additional props to merge with the generated props
221
+ * @returns Object containing all necessary props for the track element
222
+ */
223
+ track(orientation, props = {}) {
224
+ const isHorizontal = orientation === 'horizontal';
225
+ return {
226
+ 'data-atom': this.id ?? '',
227
+ 'data-kind': `scrollable-track-${isHorizontal ? 'x' : 'y'}`,
228
+ 'data-direction': orientation,
229
+ 'data-visible': isHorizontal ? this.canScrollX : this.canScrollY,
230
+ ...props,
231
+ // Handle click-to-scroll based on orientation
232
+ onclick: (e) => {
233
+ this.handleTrackClick(e, isHorizontal ? 'x' : 'y');
234
+ if ('onclick' in props && typeof props.onclick === 'function') {
235
+ props.onclick(e);
236
+ }
237
+ },
238
+ [createAttachmentKey()]: (node) => {
239
+ // Set both the unified track reference and the specific axis reference
240
+ if (isHorizontal) {
241
+ this.elements.trackX = node;
242
+ }
243
+ else {
244
+ this.elements.trackY = node;
245
+ }
246
+ }
247
+ };
248
+ }
249
+ /**
250
+ * Creates props for a unified thumb element that can be oriented horizontally or vertically
251
+ * This method provides a single interface for both horizontal and vertical thumbs
252
+ * @param orientation - The thumb orientation ('horizontal' or 'vertical')
253
+ * @param props - Additional props to merge with the generated props
254
+ * @returns Object containing all necessary props for the thumb element
255
+ */
256
+ thumb(orientation, props = {}) {
257
+ const isHorizontal = orientation === 'horizontal';
258
+ // Calculate position and size based on orientation
259
+ // const position = isHorizontal ? this.getThumbXPosition() : this.getThumbYPosition();
260
+ // const size = isHorizontal ? this.getThumbXSize() : this.getThumbYSize();
261
+ // const styleProperty = isHorizontal ? 'left' : 'top';
262
+ // const sizeProperty = isHorizontal ? 'width' : 'height';
263
+ return {
264
+ 'data-atom': this.id ?? '',
265
+ 'data-kind': `scrollable-thumb-${isHorizontal ? 'x' : 'y'}`,
266
+ 'data-direction': orientation,
267
+ ...props,
268
+ // Handle drag-to-scroll based on orientation
269
+ onmousedown: (e) => {
270
+ this.handleThumbDrag(e, isHorizontal ? 'x' : 'y');
271
+ if ('onmousedown' in props && typeof props.onmousedown === 'function') {
272
+ props.onmousedown(e);
273
+ }
274
+ },
275
+ [createAttachmentKey()]: (node) => {
276
+ // Set both the unified thumb reference and the specific axis reference
277
+ if (isHorizontal) {
278
+ this.elements.thumbX = node;
279
+ }
280
+ else {
281
+ this.elements.thumbY = node;
282
+ }
283
+ }
284
+ };
285
+ }
286
+ /**
287
+ * Handles click events on scrollbar tracks for jump-to-position scrolling
288
+ * Calculates the click position as a percentage and scrolls to that position
289
+ * @param e - The mouse event from the track click
290
+ * @param axis - The scroll axis ('x' for horizontal, 'y' for vertical)
291
+ */
292
+ handleTrackClick(e, axis) {
293
+ const container = this.elements.container;
294
+ const track = axis === 'x' ? this.elements.trackX : this.elements.trackY;
295
+ if (!container || !track)
296
+ return;
297
+ // Calculate click position relative to track boundaries
298
+ const rect = track.getBoundingClientRect();
299
+ const clickPosition = axis === 'x' ? e.clientX - rect.left : e.clientY - rect.top;
300
+ const trackSize = axis === 'x' ? rect.width : rect.height;
301
+ const percentage = clickPosition / trackSize;
302
+ // Apply scroll based on calculated percentage
303
+ if (axis === 'x') {
304
+ const maxScrollX = container.scrollWidth - container.clientWidth;
305
+ container.scrollLeft = percentage * maxScrollX;
306
+ }
307
+ else {
308
+ const maxScrollY = container.scrollHeight - container.clientHeight;
309
+ container.scrollTop = percentage * maxScrollY;
310
+ }
311
+ }
312
+ /**
313
+ * Handles mouse drag events on scrollbar thumbs for precise scrolling control
314
+ * Sets up mouse event listeners for drag-to-scroll functionality
315
+ * @param e - The initial mousedown event on the thumb
316
+ * @param axis - The scroll axis ('x' for horizontal, 'y' for vertical)
317
+ */
318
+ handleThumbDrag(e, axis) {
319
+ e.preventDefault();
320
+ // Set scrolling state to true
321
+ this.state.props.isScrolling = true;
322
+ const container = this.elements.container;
323
+ const track = axis === 'x' ? this.elements.trackX : this.elements.trackY;
324
+ if (!container || !track)
325
+ return;
326
+ // Capture initial state for drag calculations
327
+ const trackRect = track.getBoundingClientRect();
328
+ const startPos = axis === 'x' ? e.clientX : e.clientY;
329
+ const startScroll = axis === 'x' ? container.scrollLeft : container.scrollTop;
330
+ /**
331
+ * Handles mouse movement during thumb drag
332
+ * Calculates scroll position based on cursor movement relative to track size
333
+ */
334
+ const onMouseMove = (moveE) => {
335
+ const currentPos = axis === 'x' ? moveE.clientX : moveE.clientY;
336
+ const delta = currentPos - startPos;
337
+ const trackSize = axis === 'x' ? trackRect.width : trackRect.height;
338
+ // Apply proportional scrolling based on thumb movement
339
+ if (axis === 'x') {
340
+ const maxScrollX = container.scrollWidth - container.clientWidth;
341
+ const scrollDelta = (delta / trackSize) * maxScrollX;
342
+ container.scrollLeft = Math.max(0, Math.min(maxScrollX, startScroll + scrollDelta));
343
+ }
344
+ else {
345
+ const maxScrollY = container.scrollHeight - container.clientHeight;
346
+ const scrollDelta = (delta / trackSize) * maxScrollY;
347
+ container.scrollTop = Math.max(0, Math.min(maxScrollY, startScroll + scrollDelta));
348
+ }
349
+ };
350
+ /**
351
+ * Cleans up mouse event listeners when drag ends
352
+ */
353
+ const onMouseUp = () => {
354
+ // Set scrolling state to true
355
+ this.state.props.isScrolling = false;
356
+ document.removeEventListener('mousemove', onMouseMove);
357
+ document.removeEventListener('mouseup', onMouseUp);
358
+ };
359
+ // Set up global mouse event listeners for drag interaction
360
+ document.addEventListener('mousemove', onMouseMove);
361
+ document.addEventListener('mouseup', onMouseUp);
362
+ }
363
+ /**
364
+ * Scrolls to an absolute position in the scrollable area
365
+ * @param x - The horizontal scroll position in pixels
366
+ * @param y - The vertical scroll position in pixels
367
+ */
368
+ scrollTo(x, y) {
369
+ const container = this.elements.container;
370
+ if (container) {
371
+ container.scrollTo(x, y);
372
+ }
373
+ }
374
+ /**
375
+ * Scrolls by a relative amount from the current position
376
+ * @param x - The horizontal scroll delta in pixels
377
+ * @param y - The vertical scroll delta in pixels
378
+ */
379
+ scrollBy(x, y) {
380
+ const container = this.elements.container;
381
+ if (container) {
382
+ container.scrollBy(x, y);
383
+ }
384
+ }
385
+ /**
386
+ * Scrolls an element into view within the scrollable area
387
+ * @param element - The element to scroll into view
388
+ * @param options - Optional scroll behavior configuration
389
+ */
390
+ scrollIntoView(element, options) {
391
+ const container = this.elements.container;
392
+ if (container && container.contains(element)) {
393
+ element.scrollIntoView(options);
394
+ }
395
+ }
396
+ /**
397
+ * Updates the internal scroll state based on current DOM measurements
398
+ * This method should be called when the scroll position or content size changes
399
+ * TODO: Implement reactive binding updates for scroll properties
400
+ */
401
+ updateScrollState() {
402
+ const container = this.elements.container;
403
+ if (!container)
404
+ return;
405
+ this.state.props.scrollX = container.scrollLeft;
406
+ this.state.props.scrollY = container.scrollTop;
407
+ this.state.props.scrollWidth = container.scrollWidth;
408
+ this.state.props.scrollHeight = container.scrollHeight;
409
+ this.state.props.clientWidth = container.clientWidth;
410
+ this.state.props.clientHeight = container.clientHeight;
411
+ }
412
+ /**
413
+ * Calculates the horizontal thumb position as a percentage
414
+ * @returns The left position of the horizontal thumb (0-100%)
415
+ */
416
+ getThumbXPosition() {
417
+ const { scrollX, clientWidth, scrollWidth } = this.state.props;
418
+ if (scrollWidth <= clientWidth)
419
+ return 0;
420
+ return (scrollX / (scrollWidth - clientWidth)) * 100;
421
+ }
422
+ /**
423
+ * Calculates the vertical thumb position as a percentage
424
+ * @returns The top position of the vertical thumb (0-100%)
425
+ */
426
+ getThumbYPosition() {
427
+ const { scrollY, clientHeight, scrollHeight } = this.state.props;
428
+ if (scrollHeight <= clientHeight)
429
+ return 0;
430
+ return (scrollY / (scrollHeight - clientHeight)) * 100;
431
+ }
432
+ /**
433
+ * Calculates the horizontal thumb size as a percentage
434
+ * @returns The width of the horizontal thumb (0-100%)
435
+ */
436
+ getThumbXSize() {
437
+ const { clientWidth, scrollWidth } = this.state.props;
438
+ if (scrollWidth <= clientWidth)
439
+ return 100;
440
+ return (clientWidth / scrollWidth) * 100;
441
+ }
442
+ /**
443
+ * Calculates the vertical thumb size as a percentage
444
+ * @returns The height of the vertical thumb (0-100%)
445
+ */
446
+ getThumbYSize() {
447
+ const { clientHeight, scrollHeight } = this.state.props;
448
+ if (scrollHeight <= clientHeight)
449
+ return 100;
450
+ return (clientHeight / scrollHeight) * 100;
451
+ }
452
+ /**
453
+ * Determines if horizontal scrolling is possible
454
+ * @returns True if content width exceeds visible area width
455
+ */
456
+ get canScrollX() {
457
+ const { scrollWidth, clientWidth } = this.state.props;
458
+ return scrollWidth > clientWidth;
459
+ }
460
+ /**
461
+ * Determines if vertical scrolling is possible
462
+ * @returns True if content height exceeds visible area height
463
+ */
464
+ get canScrollY() {
465
+ const { scrollHeight, clientHeight } = this.state.props;
466
+ return scrollHeight > clientHeight;
467
+ }
468
+ }
469
+ /**
470
+ * Reactive state container for scrollable component properties
471
+ * Extends BondState to provide typed access to scroll-related data
472
+ */
473
+ export class ScrollableState extends BondState {
474
+ /**
475
+ * Creates a new scrollable state instance
476
+ * @param props - Function that returns the current state properties
477
+ */
478
+ constructor(props) {
479
+ super(props);
480
+ }
481
+ }
@@ -0,0 +1,7 @@
1
+ export * as Scrollable from './atoms';
2
+ export type * from './scrollable-root.svelte';
3
+ export type * from './scrollable-content.svelte';
4
+ export type * from './scrollable-track.svelte';
5
+ export type * from './scrollable-thumb.svelte';
6
+ export { ScrollableBond, type ScrollableDomElements, ScrollableState, type ScrollableStateProps } from './bond.svelte';
7
+ export { scrollable } from './attachments.svelte';
@@ -0,0 +1,3 @@
1
+ export * as Scrollable from './atoms';
2
+ export { ScrollableBond, ScrollableState } from './bond.svelte';
3
+ export { scrollable } from './attachments.svelte';
@@ -0,0 +1,90 @@
1
+ <script module lang="ts">
2
+ export type ScrollableContainerProps<T extends keyof HTMLElementTagNameMap> = Override<
3
+ HtmlAtomProps<T>,
4
+ {
5
+ children?: Snippet;
6
+ }
7
+ >;
8
+ </script>
9
+
10
+ <script lang="ts" generics="T extends keyof HTMLElementTagNameMap">
11
+ import type { Snippet } from 'svelte';
12
+ import { ScrollableBond } from './bond.svelte';
13
+ import type { Override } from '../../types';
14
+ import { resizeObserver } from '../../attachments/resize-observer.svelte';
15
+ import { HtmlAtom, type HtmlAtomProps } from '../atom';
16
+ import { getPreset } from '../../context';
17
+
18
+ const preset = getPreset('scrollable.content');
19
+
20
+ let {
21
+ class: klass = '',
22
+ as = preset?.as ?? 'div',
23
+ base = preset?.base as B,
24
+ children = undefined,
25
+ onmount = undefined,
26
+ ondestroy = undefined,
27
+ animate = undefined,
28
+ enter = undefined,
29
+ exit = undefined,
30
+ initial = undefined,
31
+ ...restProps
32
+ }: ScrollableContainerProps<T> = $props();
33
+
34
+ const bond = ScrollableBond.get();
35
+
36
+ if (!bond) {
37
+ throw new Error('ScrollableContainer must be used within a ScrollableRoot');
38
+ }
39
+ </script>
40
+
41
+ <HtmlAtom
42
+ {@attach (node) => {
43
+ if (!bond) return;
44
+
45
+ return resizeObserver(() => {
46
+ bond.state.props.clientWidth = node.clientWidth;
47
+ bond.state.props.clientHeight = node.clientHeight;
48
+ bond.state.props.scrollWidth = node.scrollWidth;
49
+ bond.state.props.scrollHeight = node.scrollHeight;
50
+ })(node);
51
+ }}
52
+ {as}
53
+ {base}
54
+ class={['scrollable-container border-border h-full max-h-full w-full overflow-auto', klass]}
55
+ enter={enter?.bind(bond.state)}
56
+ exit={exit?.bind(bond.state)}
57
+ initial={initial?.bind(bond.state)}
58
+ animate={animate?.bind(bond.state)}
59
+ onmount={onmount?.bind(bond.state)}
60
+ ondestroy={ondestroy?.bind(bond.state)}
61
+ {...bond.container()}
62
+ {...restProps}
63
+ >
64
+ {#if children}
65
+ {@render children()}
66
+ {/if}
67
+ </HtmlAtom>
68
+
69
+ <style>
70
+ :global(.scrollable-container) {
71
+ scrollbar-width: none; /* Firefox */
72
+ -ms-overflow-style: none; /* Internet Explorer 10+ */
73
+ }
74
+
75
+ :global(.scrollable-container::-webkit-scrollbar) {
76
+ display: none; /* WebKit */
77
+ }
78
+
79
+ :global(.scrollable-container[data-hide-scrollbar='true']) {
80
+ --scrollbar-width: 0px;
81
+ }
82
+
83
+ :global(.scrollable-container[data-hide-scrollbar='false']) {
84
+ --scrollbar-width: 16px;
85
+ /* margin-right: calc(-1 * var(--scrollbar-width, 16px));
86
+ margin-bottom: calc(-1 * var(--scrollbar-width, 16px));
87
+ padding-right: var(--scrollbar-width, 16px);
88
+ padding-bottom: var(--scrollbar-width, 16px); */
89
+ }
90
+ </style>
@@ -0,0 +1,30 @@
1
+ export type ScrollableContainerProps<T extends keyof HTMLElementTagNameMap> = Override<HtmlAtomProps<T>, {
2
+ children?: Snippet;
3
+ }>;
4
+ import type { Snippet } from 'svelte';
5
+ import type { Override } from '../../types';
6
+ import { type HtmlAtomProps } from '../atom';
7
+ declare function $$render<T extends keyof HTMLElementTagNameMap>(): {
8
+ props: ScrollableContainerProps<T>;
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap> {
15
+ props(): ReturnType<typeof $$render<T>>['props'];
16
+ events(): ReturnType<typeof $$render<T>>['events'];
17
+ slots(): ReturnType<typeof $$render<T>>['slots'];
18
+ bindings(): "";
19
+ exports(): {};
20
+ }
21
+ interface $$IsomorphicComponent {
22
+ new <T extends keyof HTMLElementTagNameMap>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
23
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
24
+ } & ReturnType<__sveltets_Render<T>['exports']>;
25
+ <T extends keyof HTMLElementTagNameMap>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
26
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
27
+ }
28
+ declare const ScrollableContainer: $$IsomorphicComponent;
29
+ type ScrollableContainer<T extends keyof HTMLElementTagNameMap> = InstanceType<typeof ScrollableContainer<T>>;
30
+ export default ScrollableContainer;
@@ -0,0 +1,60 @@
1
+ <script module lang="ts">
2
+ export type ScrollableContentProps<T extends keyof HTMLElementTagNameMap> = Override<
3
+ HtmlAtomProps<T>,
4
+ {
5
+ children?: Snippet;
6
+ }
7
+ >;
8
+ </script>
9
+
10
+ <script lang="ts" generics="T extends keyof HTMLElementTagNameMap">
11
+ import type { Snippet } from 'svelte';
12
+ import { ScrollableBond } from './bond.svelte';
13
+ import type { Override } from '../../types';
14
+ import { toClassValue } from '../../utils';
15
+ import { HtmlAtom, type HtmlAtomProps } from '../atom';
16
+ import { getPreset } from '../../context';
17
+
18
+ const bond = ScrollableBond.get();
19
+ const preset = getPreset('scrollable.content');
20
+
21
+ let {
22
+ class: klass = '',
23
+ as = preset?.as ?? 'div',
24
+ base = preset?.base as B,
25
+ children = undefined,
26
+ onmount = undefined,
27
+ ondestroy = undefined,
28
+ animate = undefined,
29
+ enter = undefined,
30
+ exit = undefined,
31
+ initial = undefined,
32
+ ...restProps
33
+ }: ScrollableContentProps<T> = $props();
34
+
35
+ if (!bond) {
36
+ throw new Error('ScrollableContent must be used within a ScrollableRoot');
37
+ }
38
+ </script>
39
+
40
+ <HtmlAtom
41
+ {as}
42
+ {base}
43
+ class={[
44
+ 'scrollable-content border-border h-full max-h-full',
45
+ toClassValue.apply(bond, [preset?.class]),
46
+ toClassValue.apply(bond, [klass])
47
+ ]}
48
+ enter={enter?.bind(bond.state)}
49
+ exit={exit?.bind(bond.state)}
50
+ initial={initial?.bind(bond.state)}
51
+ animate={animate?.bind(bond.state)}
52
+ onmount={onmount?.bind(bond.state)}
53
+ ondestroy={ondestroy?.bind(bond.state)}
54
+ {...bond.content()}
55
+ {...restProps}
56
+ >
57
+ {#if children}
58
+ {@render children()}
59
+ {/if}
60
+ </HtmlAtom>