@svelte-atoms/core 1.0.0-alpha.41 → 1.0.0-alpha.44

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 (628) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +67 -197
  3. package/dist/attachments/clickout.svelte.d.ts +4 -1
  4. package/dist/attachments/clickout.svelte.js +2 -1
  5. package/dist/components/accordion/accordion-root.svelte +61 -66
  6. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -2
  7. package/dist/components/accordion/bond.svelte.d.ts +11 -10
  8. package/dist/components/accordion/bond.svelte.js +26 -16
  9. package/dist/components/accordion/item/accordion-item-body.svelte +3 -1
  10. package/dist/components/accordion/item/accordion-item-header.svelte +1 -1
  11. package/dist/components/accordion/item/accordion-item-indicator.svelte +1 -1
  12. package/dist/components/accordion/item/accordion-item-root.svelte +3 -2
  13. package/dist/components/accordion/item/bond.svelte.d.ts +32 -18
  14. package/dist/components/accordion/item/bond.svelte.js +88 -64
  15. package/dist/components/accordion/item/types.d.ts +4 -24
  16. package/dist/components/accordion/types.d.ts +5 -9
  17. package/dist/components/alert/alert-root.svelte +68 -68
  18. package/dist/components/alert/types.d.ts +12 -46
  19. package/dist/components/atom/html-atom.svelte +84 -95
  20. package/dist/components/atom/html-atom.svelte.d.ts +1 -2
  21. package/dist/components/atom/index.d.ts +1 -0
  22. package/dist/components/atom/index.js +1 -0
  23. package/dist/components/atom/types.d.ts +52 -10
  24. package/dist/components/atom/types.js +1 -1
  25. package/dist/components/atom/utils.d.ts +10 -3
  26. package/dist/components/atom/utils.js +112 -45
  27. package/dist/components/avatar/types.d.ts +1 -6
  28. package/dist/components/badge/index.d.ts +1 -0
  29. package/dist/components/badge/types.d.ts +4 -7
  30. package/dist/components/button/button.svelte +31 -31
  31. package/dist/components/button/types.d.ts +9 -6
  32. package/dist/components/calendar/calendar-body.svelte +0 -1
  33. package/dist/components/calendar/calendar-day.svelte +99 -99
  34. package/dist/components/calendar/calendar-header.svelte +1 -1
  35. package/dist/components/calendar/calendar-root.svelte +206 -206
  36. package/dist/components/calendar/calendar-root.svelte.d.ts +1 -1
  37. package/dist/components/calendar/calendar-week-day.svelte +33 -33
  38. package/dist/components/calendar/types.d.ts +7 -10
  39. package/dist/components/card/card-root.svelte +92 -92
  40. package/dist/components/card/types.d.ts +12 -51
  41. package/dist/components/checkbox/checkbox.svelte +65 -55
  42. package/dist/components/checkbox/checkbox.svelte.d.ts +1 -3
  43. package/dist/components/checkbox/index.d.ts +2 -0
  44. package/dist/components/checkbox/index.js +1 -0
  45. package/dist/components/checkbox/motion.d.ts +17 -0
  46. package/dist/components/checkbox/motion.js +34 -0
  47. package/dist/components/checkbox/types.d.ts +14 -7
  48. package/dist/components/chip/chip-close-button.svelte +33 -0
  49. package/dist/components/chip/chip-close-button.svelte.d.ts +4 -0
  50. package/dist/components/chip/chip.svelte +34 -41
  51. package/dist/components/chip/chip.svelte.d.ts +1 -3
  52. package/dist/components/chip/index.d.ts +2 -0
  53. package/dist/components/chip/index.js +2 -0
  54. package/dist/components/chip/types.d.ts +15 -8
  55. package/dist/components/collapsible/bond.svelte.d.ts +34 -24
  56. package/dist/components/collapsible/bond.svelte.js +73 -60
  57. package/dist/components/collapsible/collapsible-body.svelte +1 -1
  58. package/dist/components/collapsible/collapsible-header.svelte +1 -1
  59. package/dist/components/collapsible/collapsible-indicator.svelte +1 -1
  60. package/dist/components/collapsible/collapsible-root.svelte +67 -67
  61. package/dist/components/collapsible/types.d.ts +10 -22
  62. package/dist/components/combobox/bond.svelte.d.ts +13 -8
  63. package/dist/components/combobox/bond.svelte.js +30 -20
  64. package/dist/components/combobox/combobox-control.svelte +66 -66
  65. package/dist/components/combobox/combobox-item.svelte +62 -62
  66. package/dist/components/combobox/combobox-root.svelte +65 -65
  67. package/dist/components/combobox/combobox-root.svelte.d.ts +2 -2
  68. package/dist/components/combobox/combobox-selections.svelte +17 -17
  69. package/dist/components/combobox/combobox-trigger.svelte +34 -34
  70. package/dist/components/combobox/types.d.ts +6 -10
  71. package/dist/components/container/index.d.ts +1 -0
  72. package/dist/components/container/types.d.ts +6 -12
  73. package/dist/components/context-menu/atoms.d.ts +4 -0
  74. package/dist/components/context-menu/atoms.js +4 -0
  75. package/dist/components/context-menu/context-menu-content.svelte +52 -0
  76. package/dist/components/context-menu/context-menu-content.svelte.d.ts +27 -0
  77. package/dist/components/context-menu/context-menu-root.svelte +8 -0
  78. package/dist/components/context-menu/context-menu-root.svelte.d.ts +4 -0
  79. package/dist/components/context-menu/context-menu-trigger.svelte +59 -0
  80. package/dist/components/context-menu/context-menu-trigger.svelte.d.ts +27 -0
  81. package/dist/components/context-menu/index.d.ts +2 -0
  82. package/dist/components/context-menu/index.js +2 -0
  83. package/dist/components/{contextmenu → context-menu}/types.d.ts +1 -6
  84. package/dist/components/datagrid/atoms.d.ts +11 -5
  85. package/dist/components/datagrid/atoms.js +11 -5
  86. package/dist/components/datagrid/bond.svelte.d.ts +29 -14
  87. package/dist/components/datagrid/bond.svelte.js +45 -33
  88. package/dist/components/datagrid/cell/bond.svelte.d.ts +29 -0
  89. package/dist/components/datagrid/cell/bond.svelte.js +42 -0
  90. package/dist/components/datagrid/cell/datagrid-cell.svelte +49 -0
  91. package/dist/components/datagrid/cell/datagrid-cell.svelte.d.ts +26 -0
  92. package/dist/components/datagrid/cell/index.d.ts +4 -0
  93. package/dist/components/datagrid/cell/index.js +4 -0
  94. package/dist/components/datagrid/col/index.d.ts +4 -0
  95. package/dist/components/datagrid/col/index.js +4 -0
  96. package/dist/components/datagrid/column/bond.svelte.d.ts +45 -0
  97. package/dist/components/datagrid/column/bond.svelte.js +76 -0
  98. package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte → column/datagrid-column-sort-icon.svelte} +3 -3
  99. package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte.d.ts → column/datagrid-column-sort-icon.svelte.d.ts} +3 -3
  100. package/dist/components/datagrid/{th/datagrid-th.svelte → column/datagrid-column.svelte} +27 -36
  101. package/dist/components/datagrid/column/datagrid-column.svelte.d.ts +26 -0
  102. package/dist/components/datagrid/column/index.d.ts +4 -0
  103. package/dist/components/datagrid/column/index.js +4 -0
  104. package/dist/components/datagrid/context.d.ts +2 -29
  105. package/dist/components/datagrid/context.js +4 -18
  106. package/dist/components/datagrid/datagrid-body.svelte +7 -20
  107. package/dist/components/datagrid/datagrid-body.svelte.d.ts +8 -15
  108. package/dist/components/datagrid/datagrid-checkbox.svelte +60 -63
  109. package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +1 -3
  110. package/dist/components/datagrid/datagrid-footer.svelte +27 -34
  111. package/dist/components/datagrid/datagrid-footer.svelte.d.ts +12 -12
  112. package/dist/components/datagrid/datagrid-header.svelte +10 -17
  113. package/dist/components/datagrid/datagrid-header.svelte.d.ts +12 -12
  114. package/dist/components/datagrid/datagrid-root.svelte +49 -59
  115. package/dist/components/datagrid/datagrid-root.svelte.d.ts +15 -14
  116. package/dist/components/datagrid/row/bond.svelte.d.ts +42 -0
  117. package/dist/components/datagrid/row/bond.svelte.js +72 -0
  118. package/dist/components/datagrid/{tr/datagrid-tr.css → row/datagrid-row.css} +1 -1
  119. package/dist/components/datagrid/row/datagrid-row.svelte +64 -0
  120. package/dist/components/datagrid/row/datagrid-row.svelte.d.ts +27 -0
  121. package/dist/components/datagrid/row/index.d.ts +4 -0
  122. package/dist/components/datagrid/row/index.js +4 -0
  123. package/dist/components/datagrid/types.d.ts +56 -116
  124. package/dist/components/date-picker/bond.svelte.d.ts +0 -12
  125. package/dist/components/date-picker/date-picker-calendar.svelte +58 -58
  126. package/dist/components/date-picker/date-picker-months.svelte +1 -1
  127. package/dist/components/date-picker/date-picker-root.svelte +96 -96
  128. package/dist/components/date-picker/date-picker-root.svelte.d.ts +1 -1
  129. package/dist/components/date-picker/date-picker-years.svelte +1 -1
  130. package/dist/components/date-picker/types.d.ts +6 -3
  131. package/dist/components/dialog/atoms.d.ts +1 -1
  132. package/dist/components/dialog/atoms.js +1 -1
  133. package/dist/components/dialog/bond.svelte.d.ts +66 -28
  134. package/dist/components/dialog/bond.svelte.js +136 -117
  135. package/dist/components/dialog/dialog-body.svelte +1 -1
  136. package/dist/components/dialog/dialog-close.svelte +58 -0
  137. package/dist/components/dialog/dialog-close.svelte.d.ts +26 -0
  138. package/dist/components/dialog/dialog-content.svelte +2 -2
  139. package/dist/components/dialog/dialog-description.svelte +1 -1
  140. package/dist/components/dialog/dialog-footer.svelte +1 -1
  141. package/dist/components/dialog/dialog-header.svelte +1 -1
  142. package/dist/components/dialog/dialog-root.svelte +102 -82
  143. package/dist/components/dialog/dialog-title.svelte +1 -1
  144. package/dist/components/dialog/motion.svelte.js +68 -26
  145. package/dist/components/dialog/types.d.ts +16 -51
  146. package/dist/components/divider/types.d.ts +1 -6
  147. package/dist/components/drawer/bond.svelte.d.ts +61 -36
  148. package/dist/components/drawer/bond.svelte.js +149 -121
  149. package/dist/components/drawer/drawer-backdrop.svelte +2 -1
  150. package/dist/components/drawer/drawer-body.svelte +1 -1
  151. package/dist/components/drawer/drawer-content.svelte +5 -5
  152. package/dist/components/drawer/drawer-content.svelte.d.ts +4 -1
  153. package/dist/components/drawer/drawer-description.svelte +1 -1
  154. package/dist/components/drawer/drawer-footer.svelte +1 -1
  155. package/dist/components/drawer/drawer-header.svelte +1 -1
  156. package/dist/components/drawer/drawer-root.svelte +96 -87
  157. package/dist/components/drawer/drawer-title.svelte +1 -1
  158. package/dist/components/drawer/motion.d.ts +59 -5
  159. package/dist/components/drawer/motion.js +133 -15
  160. package/dist/components/drawer/types.d.ts +15 -24
  161. package/dist/components/dropdown/atoms.d.ts +4 -8
  162. package/dist/components/dropdown/atoms.js +4 -9
  163. package/dist/components/dropdown/bond.svelte.d.ts +4 -53
  164. package/dist/components/dropdown/bond.svelte.js +4 -89
  165. package/dist/components/dropdown/dropdown-query.svelte +43 -43
  166. package/dist/components/dropdown/dropdown-root.svelte +79 -79
  167. package/dist/components/dropdown/dropdown-root.svelte.d.ts +4 -4
  168. package/dist/components/dropdown/dropdown-selection.svelte +55 -55
  169. package/dist/components/dropdown/dropdown-selections.svelte +70 -70
  170. package/dist/components/dropdown/dropdown-trigger.svelte +30 -30
  171. package/dist/components/dropdown/index.d.ts +43 -7
  172. package/dist/components/dropdown/index.js +34 -6
  173. package/dist/components/dropdown/item/bond.svelte.d.ts +36 -0
  174. package/dist/components/dropdown/item/bond.svelte.js +85 -0
  175. package/dist/components/dropdown/item/controller.svelte.d.ts +1 -1
  176. package/dist/components/dropdown/item/dropdown-item.svelte +81 -107
  177. package/dist/components/dropdown/item/index.d.ts +11 -3
  178. package/dist/components/dropdown/item/index.js +10 -3
  179. package/dist/components/dropdown/types.d.ts +2 -67
  180. package/dist/components/dropdown-menu/atoms.d.ts +9 -0
  181. package/dist/components/dropdown-menu/atoms.js +9 -0
  182. package/dist/components/dropdown-menu/attachments.svelte.d.ts +2 -0
  183. package/dist/components/dropdown-menu/attachments.svelte.js +5 -0
  184. package/dist/components/dropdown-menu/bond.svelte.d.ts +72 -0
  185. package/dist/components/dropdown-menu/bond.svelte.js +173 -0
  186. package/dist/components/dropdown-menu/dropdown-menu-content.svelte +40 -0
  187. package/dist/components/dropdown-menu/dropdown-menu-content.svelte.d.ts +37 -0
  188. package/dist/components/dropdown-menu/dropdown-menu-root.svelte +14 -0
  189. package/dist/components/dropdown-menu/dropdown-menu-root.svelte.d.ts +4 -0
  190. package/dist/components/dropdown-menu/index.d.ts +7 -0
  191. package/dist/components/dropdown-menu/index.js +6 -0
  192. package/dist/components/dropdown-menu/item/bond.svelte.d.ts +26 -0
  193. package/dist/components/dropdown-menu/item/bond.svelte.js +54 -0
  194. package/dist/components/dropdown-menu/item/controller.svelte.d.ts +39 -0
  195. package/dist/components/dropdown-menu/item/controller.svelte.js +73 -0
  196. package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte +75 -0
  197. package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte.d.ts +32 -0
  198. package/dist/components/dropdown-menu/item/index.d.ts +3 -0
  199. package/dist/components/dropdown-menu/item/index.js +3 -0
  200. package/dist/components/dropdown-menu/item/types.d.ts +57 -0
  201. package/dist/components/dropdown-menu/item/types.js +1 -0
  202. package/dist/components/dropdown-menu/types.d.ts +3 -0
  203. package/dist/components/dropdown-menu/types.js +1 -0
  204. package/dist/components/element/html-element.svelte +114 -85
  205. package/dist/components/element/html-element.svelte.d.ts +1 -1
  206. package/dist/components/element/svg-element.svelte +88 -88
  207. package/dist/components/element/types.d.ts +32 -20
  208. package/dist/components/form/field/atoms.d.ts +1 -1
  209. package/dist/components/form/field/atoms.js +1 -1
  210. package/dist/components/form/field/bond.svelte.js +0 -6
  211. package/dist/components/form/field/field-control.svelte +30 -9
  212. package/dist/components/form/field/field-control.svelte.d.ts +12 -22
  213. package/dist/components/form/field/field-helper-text.svelte +23 -0
  214. package/dist/components/form/field/field-helper-text.svelte.d.ts +26 -0
  215. package/dist/components/form/field/field-label.svelte +5 -7
  216. package/dist/components/form/field/field-label.svelte.d.ts +2 -2
  217. package/dist/components/form/field/field-root.svelte +17 -8
  218. package/dist/components/form/form-root.svelte +66 -66
  219. package/dist/components/form/types.d.ts +34 -58
  220. package/dist/components/icon/icon.svelte +40 -40
  221. package/dist/components/icon/types.d.ts +4 -7
  222. package/dist/components/image/index.d.ts +2 -0
  223. package/dist/components/image/index.js +2 -1
  224. package/dist/components/index.d.ts +11 -0
  225. package/dist/components/index.js +11 -0
  226. package/dist/components/input/atoms.d.ts +19 -1
  227. package/dist/components/input/atoms.js +19 -1
  228. package/dist/components/input/color/color-control.svelte +197 -0
  229. package/dist/components/input/color/color-control.svelte.d.ts +4 -0
  230. package/dist/components/input/color/index.d.ts +5 -0
  231. package/dist/components/input/color/index.js +5 -0
  232. package/dist/components/input/color/segment.svelte +240 -0
  233. package/dist/components/input/color/segment.svelte.d.ts +6 -0
  234. package/dist/components/input/color/shared.d.ts +23 -0
  235. package/dist/components/input/color/shared.js +349 -0
  236. package/dist/components/input/color/swatch.svelte +23 -0
  237. package/dist/components/input/color/swatch.svelte.d.ts +8 -0
  238. package/dist/components/input/color/types.d.ts +56 -0
  239. package/dist/components/input/color/types.js +2 -0
  240. package/dist/components/input/index.d.ts +1 -0
  241. package/dist/components/input/index.js +1 -0
  242. package/dist/components/input/input-control.svelte +3 -1
  243. package/dist/components/input/input-currency-control.svelte +189 -0
  244. package/dist/components/input/input-currency-control.svelte.d.ts +4 -0
  245. package/dist/components/input/input-email-control.svelte +128 -0
  246. package/dist/components/input/input-email-control.svelte.d.ts +4 -0
  247. package/dist/components/input/input-file-control.svelte +127 -0
  248. package/dist/components/input/input-file-control.svelte.d.ts +4 -0
  249. package/dist/components/input/input-icon.svelte.d.ts +1 -1
  250. package/dist/components/input/input-location.svelte +335 -0
  251. package/dist/components/input/input-location.svelte.d.ts +4 -0
  252. package/dist/components/input/input-number-control.svelte +114 -0
  253. package/dist/components/input/input-number-control.svelte.d.ts +6 -0
  254. package/dist/components/input/input-otp-control.svelte +206 -0
  255. package/dist/components/input/input-otp-control.svelte.d.ts +4 -0
  256. package/dist/components/input/input-password-control.svelte +91 -0
  257. package/dist/components/input/input-password-control.svelte.d.ts +3 -0
  258. package/dist/components/input/input-phone-control.svelte +394 -0
  259. package/dist/components/input/input-phone-control.svelte.d.ts +4 -0
  260. package/dist/components/input/input-placeholder.svelte.d.ts +1 -1
  261. package/dist/components/input/input-root.svelte +74 -74
  262. package/dist/components/input/input-text-control.svelte +59 -0
  263. package/dist/components/input/input-text-control.svelte.d.ts +4 -0
  264. package/dist/components/input/input-url-control.svelte +218 -0
  265. package/dist/components/input/input-url-control.svelte.d.ts +4 -0
  266. package/dist/components/input/time/datetime-control.svelte +281 -0
  267. package/dist/components/input/time/datetime-control.svelte.d.ts +5 -0
  268. package/dist/components/input/time/index.d.ts +6 -0
  269. package/dist/components/input/time/index.js +6 -0
  270. package/dist/components/input/time/segment.svelte +143 -0
  271. package/dist/components/input/time/segment.svelte.d.ts +6 -0
  272. package/dist/components/input/time/shared.d.ts +29 -0
  273. package/dist/components/input/time/shared.js +150 -0
  274. package/dist/components/input/time/time-control.svelte +237 -0
  275. package/dist/components/input/time/time-control.svelte.d.ts +3 -0
  276. package/dist/components/input/time/types.d.ts +34 -0
  277. package/dist/components/input/time/types.js +4 -0
  278. package/dist/components/input/types.d.ts +355 -17
  279. package/dist/components/label/types.d.ts +4 -7
  280. package/dist/components/layer/bond.svelte.d.ts +2 -2
  281. package/dist/components/layer/bond.svelte.js +1 -1
  282. package/dist/components/layer/index.d.ts +1 -0
  283. package/dist/components/layer/layer-inner.svelte.d.ts +1 -1
  284. package/dist/components/layer/layer-root.svelte +65 -65
  285. package/dist/components/layer/layer-root.svelte.d.ts +1 -1
  286. package/dist/components/layer/types.d.ts +6 -6
  287. package/dist/components/lazy/index.d.ts +1 -0
  288. package/dist/components/lazy/lazy.svelte +29 -29
  289. package/dist/components/lazy/types.d.ts +4 -4
  290. package/dist/components/link/index.d.ts +1 -0
  291. package/dist/components/link/types.d.ts +5 -6
  292. package/dist/components/list/index.d.ts +1 -0
  293. package/dist/components/list/types.d.ts +5 -6
  294. package/dist/components/menu/atoms.d.ts +2 -7
  295. package/dist/components/menu/atoms.js +2 -7
  296. package/dist/components/menu/bond.svelte.d.ts +9 -23
  297. package/dist/components/menu/bond.svelte.js +6 -0
  298. package/dist/components/menu/index.d.ts +40 -4
  299. package/dist/components/menu/index.js +26 -3
  300. package/dist/components/menu/item/bond.svelte.d.ts +27 -0
  301. package/dist/components/menu/item/bond.svelte.js +54 -0
  302. package/dist/components/menu/item/controller.svelte.d.ts +1 -1
  303. package/dist/components/menu/item/index.d.ts +5 -2
  304. package/dist/components/menu/item/index.js +4 -2
  305. package/dist/components/menu/item/menu-item.svelte +87 -103
  306. package/dist/components/menu/item/menu-item.svelte.d.ts +15 -14
  307. package/dist/components/menu/item/types.d.ts +5 -12
  308. package/dist/components/menu/menu-content.svelte +40 -40
  309. package/dist/components/menu/menu-root.svelte +15 -15
  310. package/dist/components/menu/menu-root.svelte.d.ts +1 -1
  311. package/dist/components/menu/types.d.ts +2 -6
  312. package/dist/components/popover/bond.svelte.d.ts +67 -39
  313. package/dist/components/popover/bond.svelte.js +159 -197
  314. package/dist/components/popover/index.d.ts +3 -1
  315. package/dist/components/popover/index.js +3 -1
  316. package/dist/components/popover/motion.d.ts +29 -1
  317. package/dist/components/popover/motion.js +128 -50
  318. package/dist/components/popover/popover-arrow.svelte +97 -110
  319. package/dist/components/popover/popover-arrow.svelte.d.ts +1 -2
  320. package/dist/components/popover/popover-content.svelte +159 -123
  321. package/dist/components/popover/popover-engine.svelte +118 -0
  322. package/dist/components/popover/popover-engine.svelte.d.ts +3 -0
  323. package/dist/components/popover/popover-indicator.svelte +2 -13
  324. package/dist/components/popover/popover-indicator.svelte.d.ts +0 -6
  325. package/dist/components/popover/popover-root.svelte +87 -49
  326. package/dist/components/popover/popover-root.svelte.d.ts +2 -1
  327. package/dist/components/popover/popover-trigger.svelte +35 -35
  328. package/dist/components/popover/strategies/floating.svelte +109 -0
  329. package/dist/components/popover/strategies/floating.svelte.d.ts +3 -0
  330. package/dist/components/popover/strategies/index.d.ts +1 -0
  331. package/dist/components/popover/strategies/index.js +1 -0
  332. package/dist/components/popover/strategy-types.d.ts +40 -0
  333. package/dist/components/popover/strategy-types.js +1 -0
  334. package/dist/components/popover/types.d.ts +10 -36
  335. package/dist/components/portal/active-portal.svelte +5 -4
  336. package/dist/components/portal/bond.svelte.d.ts +12 -8
  337. package/dist/components/portal/bond.svelte.js +25 -27
  338. package/dist/components/portal/index.d.ts +1 -0
  339. package/dist/components/portal/index.js +1 -0
  340. package/dist/components/portal/portal-inner.svelte +1 -1
  341. package/dist/components/portal/portal-inner.svelte.d.ts +1 -1
  342. package/dist/components/portal/portal-root.svelte +76 -76
  343. package/dist/components/portal/portal-root.svelte.d.ts +1 -1
  344. package/dist/components/portal/portals/bond.svelte.d.ts +2 -2
  345. package/dist/components/portal/portals/bond.svelte.js +2 -2
  346. package/dist/components/portal/teleport.svelte +47 -49
  347. package/dist/components/portal/teleport.svelte.d.ts +1 -2
  348. package/dist/components/portal/types.d.ts +7 -25
  349. package/dist/components/portal/utils.js +3 -3
  350. package/dist/components/portal/zlayer.svelte.d.ts +16 -0
  351. package/dist/components/portal/zlayer.svelte.js +25 -0
  352. package/dist/components/radio/index.d.ts +2 -0
  353. package/dist/components/radio/index.js +1 -0
  354. package/dist/components/radio/motion.d.ts +24 -0
  355. package/dist/components/radio/motion.js +59 -0
  356. package/dist/components/radio/radio.svelte +22 -12
  357. package/dist/components/radio/types.d.ts +5 -14
  358. package/dist/components/root/bond.svelte.d.ts +2 -2
  359. package/dist/components/root/bond.svelte.js +1 -1
  360. package/dist/components/root/root.svelte +82 -92
  361. package/dist/components/root/root.svelte.d.ts +2 -2
  362. package/dist/components/root/types.d.ts +4 -15
  363. package/dist/components/scrollable/atoms.d.ts +1 -0
  364. package/dist/components/scrollable/atoms.js +1 -0
  365. package/dist/components/scrollable/bond.svelte.d.ts +73 -189
  366. package/dist/components/scrollable/bond.svelte.js +195 -371
  367. package/dist/components/scrollable/scrollable-container.css +22 -22
  368. package/dist/components/scrollable/scrollable-container.svelte +66 -61
  369. package/dist/components/scrollable/scrollable-container.svelte.d.ts +12 -12
  370. package/dist/components/scrollable/scrollable-content.svelte +22 -17
  371. package/dist/components/scrollable/scrollable-content.svelte.d.ts +12 -12
  372. package/dist/components/scrollable/scrollable-root.svelte +106 -101
  373. package/dist/components/scrollable/scrollable-root.svelte.d.ts +12 -12
  374. package/dist/components/scrollable/scrollable-thumb.svelte +21 -45
  375. package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +12 -12
  376. package/dist/components/scrollable/scrollable-track.svelte +21 -22
  377. package/dist/components/scrollable/scrollable-track.svelte.d.ts +12 -12
  378. package/dist/components/scrollable/types.d.ts +15 -38
  379. package/dist/components/select/atoms.d.ts +8 -0
  380. package/dist/components/select/atoms.js +8 -0
  381. package/dist/components/select/attachments.svelte.d.ts +2 -0
  382. package/dist/components/select/attachments.svelte.js +5 -0
  383. package/dist/components/select/bond.svelte.d.ts +56 -0
  384. package/dist/components/select/bond.svelte.js +112 -0
  385. package/dist/components/select/index.d.ts +11 -0
  386. package/dist/components/select/index.js +10 -0
  387. package/dist/components/select/item/attachments.svelte.d.ts +3 -0
  388. package/dist/components/select/item/attachments.svelte.js +6 -0
  389. package/dist/components/select/item/bond.svelte.d.ts +33 -0
  390. package/dist/components/select/item/bond.svelte.js +77 -0
  391. package/dist/components/select/item/controller.svelte.d.ts +39 -0
  392. package/dist/components/select/item/controller.svelte.js +105 -0
  393. package/dist/components/select/item/index.d.ts +5 -0
  394. package/dist/components/select/item/index.js +5 -0
  395. package/dist/components/select/item/select-item.svelte +81 -0
  396. package/dist/components/select/item/select-item.svelte.d.ts +25 -0
  397. package/dist/components/select/item/types.d.ts +29 -0
  398. package/dist/components/select/item/types.js +1 -0
  399. package/dist/components/select/runes.svelte.d.ts +10 -0
  400. package/dist/components/select/runes.svelte.js +15 -0
  401. package/dist/components/select/select-placeholder.svelte +40 -0
  402. package/dist/components/select/select-placeholder.svelte.d.ts +34 -0
  403. package/dist/components/select/select-root.svelte +80 -0
  404. package/dist/components/select/select-root.svelte.d.ts +30 -0
  405. package/dist/components/select/select-selection.svelte +55 -0
  406. package/dist/components/select/select-selection.svelte.d.ts +26 -0
  407. package/dist/components/select/select-selections.svelte +70 -0
  408. package/dist/components/select/select-selections.svelte.d.ts +5 -0
  409. package/dist/components/select/select-trigger.svelte +30 -0
  410. package/dist/components/select/select-trigger.svelte.d.ts +26 -0
  411. package/dist/components/select/types.d.ts +61 -0
  412. package/dist/components/select/types.js +1 -0
  413. package/dist/components/sidebar/bond.svelte.d.ts +10 -7
  414. package/dist/components/sidebar/bond.svelte.js +20 -15
  415. package/dist/components/sidebar/sidebar-content.svelte +1 -1
  416. package/dist/components/sidebar/sidebar-root.svelte +50 -41
  417. package/dist/components/sidebar/types.d.ts +10 -15
  418. package/dist/components/slider/index.d.ts +2 -0
  419. package/dist/components/slider/index.js +2 -0
  420. package/dist/components/slider/slider.svelte +164 -0
  421. package/dist/components/slider/slider.svelte.d.ts +6 -0
  422. package/dist/components/slider/types.d.ts +78 -0
  423. package/dist/components/slider/types.js +1 -0
  424. package/dist/components/stack/bond.svelte.d.ts +50 -0
  425. package/dist/components/stack/bond.svelte.js +174 -0
  426. package/dist/components/stack/index.d.ts +2 -0
  427. package/dist/components/stack/index.js +2 -0
  428. package/dist/components/stack/stack-item.svelte +40 -4
  429. package/dist/components/stack/stack-item.svelte.d.ts +6 -5
  430. package/dist/components/stack/stack-root.svelte +33 -4
  431. package/dist/components/stack/stack-root.svelte.d.ts +14 -5
  432. package/dist/components/stack/types.d.ts +11 -10
  433. package/dist/components/stepper/bond.svelte.d.ts +8 -7
  434. package/dist/components/stepper/bond.svelte.js +14 -11
  435. package/dist/components/stepper/step/README.md +97 -97
  436. package/dist/components/stepper/step/bond.svelte.d.ts +74 -63
  437. package/dist/components/stepper/step/bond.svelte.js +105 -69
  438. package/dist/components/stepper/step/step-body.svelte +39 -39
  439. package/dist/components/stepper/step/step-description.svelte +33 -33
  440. package/dist/components/stepper/step/step-header.svelte +34 -34
  441. package/dist/components/stepper/step/step-indicator.svelte +62 -62
  442. package/dist/components/stepper/step/step-root.svelte +42 -42
  443. package/dist/components/stepper/step/step-separator.svelte +48 -48
  444. package/dist/components/stepper/step/step-title.svelte +33 -33
  445. package/dist/components/stepper/step/types.d.ts +13 -57
  446. package/dist/components/stepper/stepper-body.svelte +31 -43
  447. package/dist/components/stepper/stepper-content.svelte +45 -45
  448. package/dist/components/stepper/stepper-footer.svelte +31 -31
  449. package/dist/components/stepper/stepper-header.svelte +27 -39
  450. package/dist/components/stepper/stepper-root.svelte +55 -61
  451. package/dist/components/stepper/types.d.ts +10 -36
  452. package/dist/components/swatch/index.d.ts +1 -0
  453. package/dist/components/swatch/index.js +1 -0
  454. package/dist/components/swatch/swatch.svelte +57 -0
  455. package/dist/components/swatch/swatch.svelte.d.ts +9 -0
  456. package/dist/components/switch/index.d.ts +2 -0
  457. package/dist/components/switch/index.js +2 -0
  458. package/dist/components/switch/switch.svelte +76 -0
  459. package/dist/components/switch/switch.svelte.d.ts +6 -0
  460. package/dist/components/switch/types.d.ts +43 -0
  461. package/dist/components/switch/types.js +1 -0
  462. package/dist/components/tabs/bond.svelte.d.ts +38 -19
  463. package/dist/components/tabs/bond.svelte.js +53 -46
  464. package/dist/components/tabs/tab/attachments.svelte.d.ts +5 -2
  465. package/dist/components/tabs/tab/attachments.svelte.js +4 -3
  466. package/dist/components/tabs/tab/bond.svelte.d.ts +35 -23
  467. package/dist/components/tabs/tab/bond.svelte.js +81 -56
  468. package/dist/components/tabs/tab/tab-body.svelte +61 -43
  469. package/dist/components/tabs/tab/tab-description.svelte +33 -33
  470. package/dist/components/tabs/tab/tab-header.svelte +61 -61
  471. package/dist/components/tabs/tab/tab-root.svelte +49 -50
  472. package/dist/components/tabs/tab/tab-root.svelte.d.ts +13 -35
  473. package/dist/components/tabs/tabs-body.svelte +39 -35
  474. package/dist/components/tabs/tabs-body.svelte.d.ts +1 -1
  475. package/dist/components/tabs/tabs-content.svelte +32 -51
  476. package/dist/components/tabs/tabs-header.svelte +32 -32
  477. package/dist/components/tabs/tabs-root.svelte +56 -56
  478. package/dist/components/tabs/types.d.ts +20 -37
  479. package/dist/components/textarea/types.d.ts +6 -12
  480. package/dist/components/toast/atoms.d.ts +1 -0
  481. package/dist/components/toast/atoms.js +1 -0
  482. package/dist/components/toast/index.d.ts +1 -0
  483. package/dist/components/toast/index.js +1 -0
  484. package/dist/components/toast/manager.svelte.d.ts +38 -0
  485. package/dist/components/toast/manager.svelte.js +82 -0
  486. package/dist/components/toast/toast-description.svelte.d.ts +1 -1
  487. package/dist/components/toast/toast-root-managed.svelte +64 -0
  488. package/dist/components/toast/toast-root-managed.svelte.d.ts +7 -0
  489. package/dist/components/toast/toast-root.svelte.d.ts +1 -1
  490. package/dist/components/toast/toast-title.svelte.d.ts +1 -1
  491. package/dist/components/toast/toast-toaster.svelte +42 -0
  492. package/dist/components/toast/toast-toaster.svelte.d.ts +4 -0
  493. package/dist/components/toast/types.d.ts +22 -31
  494. package/dist/components/tooltip/index.d.ts +1 -0
  495. package/dist/components/tooltip/tooltip-trigger.svelte +39 -39
  496. package/dist/components/tooltip/types.d.ts +5 -8
  497. package/dist/components/tree/bond.svelte.d.ts +28 -19
  498. package/dist/components/tree/bond.svelte.js +62 -53
  499. package/dist/components/tree/tree-body.svelte +1 -1
  500. package/dist/components/tree/tree-header.svelte +1 -1
  501. package/dist/components/tree/tree-header.svelte.d.ts +1 -1
  502. package/dist/components/tree/tree-indicator.svelte +1 -1
  503. package/dist/components/tree/tree-root.svelte +66 -66
  504. package/dist/components/tree/types.d.ts +4 -28
  505. package/dist/components/virtual/index.d.ts +2 -0
  506. package/dist/components/virtual/index.js +2 -0
  507. package/dist/components/virtual/types.d.ts +1 -6
  508. package/dist/constants/motion.d.ts +9 -0
  509. package/dist/constants/motion.js +9 -0
  510. package/dist/context/index.d.ts +1 -1
  511. package/dist/context/preset.svelte.d.ts +169 -2
  512. package/dist/runes/color-scheme.svelte.js +17 -5
  513. package/dist/shared/bond.svelte.d.ts +29 -3
  514. package/dist/shared/bond.svelte.js +126 -4
  515. package/dist/shared/index.d.ts +1 -1
  516. package/dist/shared/index.js +1 -1
  517. package/dist/shared/motion.d.ts +1 -0
  518. package/dist/shared/motion.js +2 -8
  519. package/dist/types/index.d.ts +4 -0
  520. package/dist/utils/index.d.ts +1 -1
  521. package/dist/utils/index.js +1 -1
  522. package/dist/utils/promise.svelte.d.ts +5 -0
  523. package/dist/utils/promise.svelte.js +17 -0
  524. package/dist/utils/variant.d.ts +10 -1
  525. package/dist/utils/variant.js +11 -1
  526. package/package.json +171 -48
  527. package/dist/components/accordion/accordion.stories.svelte +0 -70
  528. package/dist/components/accordion/accordion.stories.svelte.d.ts +0 -18
  529. package/dist/components/alert/alert.stories.svelte +0 -400
  530. package/dist/components/alert/alert.stories.svelte.d.ts +0 -3
  531. package/dist/components/avatar/avatar.stories.svelte +0 -22
  532. package/dist/components/avatar/avatar.stories.svelte.d.ts +0 -26
  533. package/dist/components/badge/badge.stories.svelte +0 -12
  534. package/dist/components/badge/badge.stories.svelte.d.ts +0 -26
  535. package/dist/components/breadcrumb/breadcrumb.stories.svelte +0 -16
  536. package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +0 -26
  537. package/dist/components/button/button.stories.svelte +0 -27
  538. package/dist/components/button/button.stories.svelte.d.ts +0 -18
  539. package/dist/components/calendar/calendar.stories.svelte +0 -26
  540. package/dist/components/calendar/calendar.stories.svelte.d.ts +0 -26
  541. package/dist/components/card/card.stories.svelte +0 -133
  542. package/dist/components/card/card.stories.svelte.d.ts +0 -19
  543. package/dist/components/checkbox/checkbox.stories.svelte +0 -22
  544. package/dist/components/checkbox/checkbox.stories.svelte.d.ts +0 -6
  545. package/dist/components/collapsible/collapsible.stories.svelte +0 -172
  546. package/dist/components/collapsible/collapsible.stories.svelte.d.ts +0 -18
  547. package/dist/components/combobox/combobox.stories.svelte +0 -63
  548. package/dist/components/combobox/combobox.stories.svelte.d.ts +0 -3
  549. package/dist/components/container/container.stories.svelte +0 -20
  550. package/dist/components/container/container.stories.svelte.d.ts +0 -26
  551. package/dist/components/contextmenu/atoms.d.ts +0 -0
  552. package/dist/components/contextmenu/atoms.js +0 -1
  553. package/dist/components/contextmenu/contextmenu-trigger.svelte +0 -0
  554. package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +0 -26
  555. package/dist/components/contextmenu/indext.d.ts +0 -0
  556. package/dist/components/contextmenu/indext.js +0 -1
  557. package/dist/components/datagrid/datagrid.stories.svelte +0 -72
  558. package/dist/components/datagrid/datagrid.stories.svelte.d.ts +0 -6
  559. package/dist/components/datagrid/td/bond.svelte.d.ts +0 -28
  560. package/dist/components/datagrid/td/bond.svelte.js +0 -40
  561. package/dist/components/datagrid/td/datagrid-td.svelte +0 -66
  562. package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +0 -30
  563. package/dist/components/datagrid/td/index.d.ts +0 -2
  564. package/dist/components/datagrid/td/index.js +0 -2
  565. package/dist/components/datagrid/th/bond.svelte.d.ts +0 -38
  566. package/dist/components/datagrid/th/bond.svelte.js +0 -66
  567. package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +0 -26
  568. package/dist/components/datagrid/th/index.d.ts +0 -2
  569. package/dist/components/datagrid/th/index.js +0 -2
  570. package/dist/components/datagrid/tr/bond.svelte.d.ts +0 -37
  571. package/dist/components/datagrid/tr/bond.svelte.js +0 -72
  572. package/dist/components/datagrid/tr/datagrid-tr.svelte +0 -90
  573. package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +0 -28
  574. package/dist/components/datagrid/tr/index.d.ts +0 -2
  575. package/dist/components/datagrid/tr/index.js +0 -2
  576. package/dist/components/date-picker/date-picker.stories.svelte +0 -35
  577. package/dist/components/date-picker/date-picker.stories.svelte.d.ts +0 -3
  578. package/dist/components/dialog/dialog.stories.svelte +0 -64
  579. package/dist/components/dialog/dialog.stories.svelte.d.ts +0 -3
  580. package/dist/components/drawer/drawer.stories.svelte +0 -141
  581. package/dist/components/drawer/drawer.stories.svelte.d.ts +0 -3
  582. package/dist/components/dropdown/dropdown.stories.svelte +0 -127
  583. package/dist/components/dropdown/dropdown.stories.svelte.d.ts +0 -3
  584. package/dist/components/element/element.stories.svelte +0 -37
  585. package/dist/components/element/element.stories.svelte.d.ts +0 -3
  586. package/dist/components/form/field/field-errors.svelte +0 -9
  587. package/dist/components/form/field/field-errors.svelte.d.ts +0 -11
  588. package/dist/components/form/form.stories.svelte +0 -96
  589. package/dist/components/form/form.stories.svelte.d.ts +0 -18
  590. package/dist/components/image/image.stories.svelte +0 -20
  591. package/dist/components/image/image.stories.svelte.d.ts +0 -26
  592. package/dist/components/input/input.stories.svelte +0 -35
  593. package/dist/components/input/input.stories.svelte.d.ts +0 -18
  594. package/dist/components/label/label.stories.svelte +0 -15
  595. package/dist/components/label/label.stories.svelte.d.ts +0 -26
  596. package/dist/components/lazy/lazy.stories.svelte +0 -28
  597. package/dist/components/lazy/lazy.stories.svelte.d.ts +0 -19
  598. package/dist/components/link/link.stories.svelte +0 -15
  599. package/dist/components/link/link.stories.svelte.d.ts +0 -26
  600. package/dist/components/menu/menu.stories.svelte +0 -33
  601. package/dist/components/menu/menu.stories.svelte.d.ts +0 -3
  602. package/dist/components/popover/popover.stories.svelte +0 -37
  603. package/dist/components/popover/popover.stories.svelte.d.ts +0 -3
  604. package/dist/components/qr-code/qr-code.stories.svelte +0 -18
  605. package/dist/components/qr-code/qr-code.stories.svelte.d.ts +0 -26
  606. package/dist/components/radio/radio-group.stories.svelte +0 -41
  607. package/dist/components/radio/radio-group.stories.svelte.d.ts +0 -6
  608. package/dist/components/radio/radio.stories.svelte +0 -17
  609. package/dist/components/radio/radio.stories.svelte.d.ts +0 -6
  610. package/dist/components/root/l0-portal.svelte +0 -8
  611. package/dist/components/root/l0-portal.svelte.d.ts +0 -26
  612. package/dist/components/root/l1-portal.svelte +0 -7
  613. package/dist/components/root/l1-portal.svelte.d.ts +0 -26
  614. package/dist/components/root/toasts-portal.svelte +0 -7
  615. package/dist/components/root/toasts-portal.svelte.d.ts +0 -26
  616. package/dist/components/scrollable/scrollable.stories.svelte +0 -116
  617. package/dist/components/scrollable/scrollable.stories.svelte.d.ts +0 -26
  618. package/dist/components/sidebar/sidebar.stories.svelte +0 -43
  619. package/dist/components/sidebar/sidebar.stories.svelte.d.ts +0 -3
  620. package/dist/components/stepper/stepper.stories.svelte +0 -264
  621. package/dist/components/stepper/stepper.stories.svelte.d.ts +0 -4
  622. package/dist/components/tabs/tabs.stories.svelte +0 -70
  623. package/dist/components/tabs/tabs.stories.svelte.d.ts +0 -3
  624. package/dist/components/tooltip/tooltip.stories.svelte +0 -32
  625. package/dist/components/tooltip/tooltip.stories.svelte.d.ts +0 -3
  626. package/dist/components/tree/tree.stories.svelte +0 -142
  627. package/dist/components/tree/tree.stories.svelte.d.ts +0 -3
  628. /package/dist/components/{contextmenu → context-menu}/types.js +0 -0
@@ -1,20 +1,20 @@
1
- <script lang="ts" generics="T extends keyof HTMLElementTagNameMap">
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond">
2
2
  import { HtmlAtom } from '../atom';
3
3
  import { ScrollableBond } from './bond.svelte';
4
4
  import type { ScrollableThumbProps } from './types';
5
5
 
6
6
  let {
7
7
  class: klass = '',
8
- children = undefined,
9
- orientation,
10
- onmount = undefined,
11
- ondestroy = undefined,
12
- animate = _animate,
13
- enter = undefined,
14
- exit = undefined,
15
- initial = undefined,
8
+ children,
9
+ orientation = 'vertical',
10
+ onmount,
11
+ ondestroy,
12
+ animate,
13
+ enter,
14
+ exit,
15
+ initial,
16
16
  ...restProps
17
- }: ScrollableThumbProps<T> = $props();
17
+ }: ScrollableThumbProps<E, B> = $props();
18
18
 
19
19
  const bond = ScrollableBond.get();
20
20
 
@@ -22,38 +22,15 @@
22
22
  throw new Error('ScrollableThumb must be used within a ScrollableRoot');
23
23
  }
24
24
 
25
- const scrollX = $derived(bond.state.props.scrollX);
26
- const scrollY = $derived(bond.state.props.scrollY);
27
-
28
- const clientWidth = $derived(bond.state.props.clientWidth);
29
- const clientHeight = $derived(bond.state.props.clientHeight);
30
-
31
- const scrollWidth = $derived(bond.state.props.scrollWidth);
32
- const scrollHeight = $derived(bond.state.props.scrollHeight);
33
-
34
- const thumbX = $derived((scrollX / scrollWidth) * 100);
35
- const thumbY = $derived((scrollY / scrollHeight) * 100);
36
-
37
- const thumbWidth = $derived((clientWidth / scrollWidth) * 100);
38
- const thumbHeight = $derived((clientHeight / scrollHeight) * 100);
39
-
40
- const thumbProps = $derived(bond.thumb(orientation));
41
-
42
- function _animate(node: HTMLElement) {
43
- if (orientation === 'horizontal') {
44
- node.style.left = thumbX + '%';
45
- node.style.transform = `translateZ(1px)`;
46
- node.style.width = thumbWidth + '%';
47
- } else {
48
- node.style.top = thumbY + '%';
49
- node.style.transform = `translateZ(1px)`;
50
- node.style.height = thumbHeight + '%';
51
- }
52
- }
25
+ const thumbProps = $derived({
26
+ ...(orientation === 'horizontal' ? bond.thumbX().spread : bond.thumbY().spread),
27
+ ...restProps
28
+ });
53
29
  </script>
54
30
 
55
31
  <HtmlAtom
56
32
  {bond}
33
+ as="div"
57
34
  preset="scrollable.thumb"
58
35
  class={[
59
36
  'scrollable-thumb border-border bg-foreground/10 hover:bg-foreground/20 absolute cursor-grab rounded-md active:cursor-grabbing',
@@ -62,14 +39,13 @@
62
39
  '$preset',
63
40
  klass
64
41
  ]}
65
- enter={enter?.bind(bond.state)}
66
- exit={exit?.bind(bond.state)}
67
- initial={initial?.bind(bond.state)}
68
- animate={animate?.bind(bond.state)}
69
- onmount={onmount?.bind(bond.state)}
70
- ondestroy={ondestroy?.bind(bond.state)}
42
+ {enter}
43
+ {exit}
44
+ {initial}
45
+ {animate}
46
+ {onmount}
47
+ {ondestroy}
71
48
  {...thumbProps}
72
- {...restProps}
73
49
  >
74
50
  {@render children?.()}
75
51
  </HtmlAtom>
@@ -1,25 +1,25 @@
1
1
  import type { ScrollableThumbProps } from './types';
2
- declare function $$render<T extends keyof HTMLElementTagNameMap>(): {
3
- props: ScrollableThumbProps<T>;
2
+ declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond>(): {
3
+ props: ScrollableThumbProps<E, B>;
4
4
  exports: {};
5
5
  bindings: "";
6
6
  slots: {};
7
7
  events: {};
8
8
  };
9
- declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap> {
10
- props(): ReturnType<typeof $$render<T>>['props'];
11
- events(): ReturnType<typeof $$render<T>>['events'];
12
- slots(): ReturnType<typeof $$render<T>>['slots'];
9
+ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond> {
10
+ props(): ReturnType<typeof $$render<E, B>>['props'];
11
+ events(): ReturnType<typeof $$render<E, B>>['events'];
12
+ slots(): ReturnType<typeof $$render<E, B>>['slots'];
13
13
  bindings(): "";
14
14
  exports(): {};
15
15
  }
16
16
  interface $$IsomorphicComponent {
17
- 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']>> & {
18
- $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
19
- } & ReturnType<__sveltets_Render<T>['exports']>;
20
- <T extends keyof HTMLElementTagNameMap>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
21
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
17
+ new <E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<E, B>['props']>, ReturnType<__sveltets_Render<E, B>['events']>, ReturnType<__sveltets_Render<E, B>['slots']>> & {
18
+ $$bindings?: ReturnType<__sveltets_Render<E, B>['bindings']>;
19
+ } & ReturnType<__sveltets_Render<E, B>['exports']>;
20
+ <E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
21
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
22
22
  }
23
23
  declare const ScrollableThumb: $$IsomorphicComponent;
24
- type ScrollableThumb<T extends keyof HTMLElementTagNameMap> = InstanceType<typeof ScrollableThumb<T>>;
24
+ type ScrollableThumb<E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond> = InstanceType<typeof ScrollableThumb<E, B>>;
25
25
  export default ScrollableThumb;
@@ -1,21 +1,20 @@
1
- <script lang="ts" generics="T extends keyof HTMLElementTagNameMap">
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond">
2
2
  import type { ScrollableTrackProps } from './types';
3
3
  import { ScrollableBond } from './bond.svelte';
4
4
  import { HtmlAtom } from '../atom';
5
5
 
6
6
  let {
7
7
  class: klass = '',
8
-
9
- orientation = undefined,
10
- children = undefined,
11
- onmount = undefined,
12
- ondestroy = undefined,
13
- animate = undefined,
14
- enter = undefined,
15
- exit = undefined,
16
- initial = undefined,
8
+ orientation = 'vertical',
9
+ children,
10
+ onmount,
11
+ ondestroy,
12
+ animate,
13
+ enter,
14
+ exit,
15
+ initial,
17
16
  ...restProps
18
- }: ScrollableTrackProps<T> = $props();
17
+ }: ScrollableTrackProps<E, B> = $props();
19
18
 
20
19
  const bond = ScrollableBond.get();
21
20
 
@@ -25,19 +24,20 @@
25
24
 
26
25
  const hasYScroll = $derived(bond.state.props.scrollHeight > bond.state.props.clientHeight);
27
26
  const hasXScroll = $derived(bond.state.props.scrollWidth > bond.state.props.clientWidth);
28
-
29
27
  const hasScroll = $derived(hasXScroll || hasYScroll);
30
-
31
28
  const isOpen = $derived(bond?.state?.props?.open ?? true);
32
-
33
29
  const isScrolling = $derived(bond?.state?.props?.isScrolling ?? false);
34
30
 
35
- const trackProps = $derived(bond.track(orientation));
31
+ const trackProps = $derived({
32
+ ...(orientation === 'horizontal' ? bond.trackX().spread : bond.trackY().spread),
33
+ ...restProps
34
+ });
36
35
  </script>
37
36
 
38
37
  {#if (isOpen || isScrolling) && hasScroll}
39
38
  <HtmlAtom
40
39
  {bond}
40
+ as="div"
41
41
  preset="scrollable.track"
42
42
  class={[
43
43
  'scrollable-track bg-foreground/10 hover:bg-foreground/15 border-border absolute z-10 rounded transition-opacity',
@@ -45,14 +45,13 @@
45
45
  '$preset',
46
46
  klass
47
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)}
48
+ {enter}
49
+ {exit}
50
+ {initial}
51
+ {animate}
52
+ {onmount}
53
+ {ondestroy}
54
54
  {...trackProps}
55
- {...restProps}
56
55
  >
57
56
  {@render children?.()}
58
57
  </HtmlAtom>
@@ -1,25 +1,25 @@
1
1
  import type { ScrollableTrackProps } from './types';
2
- declare function $$render<T extends keyof HTMLElementTagNameMap>(): {
3
- props: ScrollableTrackProps<T>;
2
+ declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond>(): {
3
+ props: ScrollableTrackProps<E, B>;
4
4
  exports: {};
5
5
  bindings: "";
6
6
  slots: {};
7
7
  events: {};
8
8
  };
9
- declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap> {
10
- props(): ReturnType<typeof $$render<T>>['props'];
11
- events(): ReturnType<typeof $$render<T>>['events'];
12
- slots(): ReturnType<typeof $$render<T>>['slots'];
9
+ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond> {
10
+ props(): ReturnType<typeof $$render<E, B>>['props'];
11
+ events(): ReturnType<typeof $$render<E, B>>['events'];
12
+ slots(): ReturnType<typeof $$render<E, B>>['slots'];
13
13
  bindings(): "";
14
14
  exports(): {};
15
15
  }
16
16
  interface $$IsomorphicComponent {
17
- 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']>> & {
18
- $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
19
- } & ReturnType<__sveltets_Render<T>['exports']>;
20
- <T extends keyof HTMLElementTagNameMap>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
21
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
17
+ new <E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<E, B>['props']>, ReturnType<__sveltets_Render<E, B>['events']>, ReturnType<__sveltets_Render<E, B>['slots']>> & {
18
+ $$bindings?: ReturnType<__sveltets_Render<E, B>['bindings']>;
19
+ } & ReturnType<__sveltets_Render<E, B>['exports']>;
20
+ <E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
21
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
22
22
  }
23
23
  declare const ScrollableTrack: $$IsomorphicComponent;
24
- type ScrollableTrack<T extends keyof HTMLElementTagNameMap> = InstanceType<typeof ScrollableTrack<T>>;
24
+ type ScrollableTrack<E extends keyof HTMLElementTagNameMap = 'div', B extends import('./bond.svelte').ScrollableBond = import('./bond.svelte').ScrollableBond> = InstanceType<typeof ScrollableTrack<E, B>>;
25
25
  export default ScrollableTrack;
@@ -1,37 +1,14 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { HtmlAtomProps, Base } from '../atom';
2
+ import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
3
3
  import type { Factory, Override } from '../../types';
4
4
  import type { ScrollableBond } from './bond.svelte';
5
- /**
6
- * Extend this interface to add custom scrollable root properties in your application.
7
- */
8
- export interface ScrollableExtendProps {
5
+ export interface ScrollableSnippetProps extends SnippetProps {
6
+ scrollable: ScrollableBond;
9
7
  }
10
- /**
11
- * Extend this interface to add custom scrollable container properties in your application.
12
- */
13
- export interface ScrollableContainerExtendProps {
14
- }
15
- /**
16
- * Extend this interface to add custom scrollable content properties in your application.
17
- */
18
- export interface ScrollableContentExtendProps {
19
- }
20
- /**
21
- * Extend this interface to add custom scrollable track properties in your application.
22
- */
23
- export interface ScrollableTrackExtendProps {
24
- }
25
- /**
26
- * Extend this interface to add custom scrollable thumb properties in your application.
27
- */
28
- export interface ScrollableThumbExtendProps {
29
- }
30
- export interface ScrollableRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
31
- children?: Snippet<[{
32
- scrollable: ScrollableBond;
33
- }]>;
34
- }>, ScrollableExtendProps {
8
+ export type ScrollableChildren = Snippet<[ScrollableSnippetProps]>;
9
+ export interface ScrollableRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B, ScrollableChildren>, {
10
+ children?: ScrollableChildren;
11
+ }> {
35
12
  factory?: Factory<ScrollableBond>;
36
13
  scrollX?: number;
37
14
  scrollY?: number;
@@ -42,21 +19,21 @@ export interface ScrollableRootProps<E extends keyof HTMLElementTagNameMap = 'di
42
19
  disabled?: boolean;
43
20
  open?: boolean;
44
21
  }
45
- export interface ScrollableContainerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
22
+ export interface ScrollableContainerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B, ScrollableChildren>, {
46
23
  children?: Snippet;
47
- }>, ScrollableContainerExtendProps {
24
+ }> {
48
25
  }
49
- export interface ScrollableContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
26
+ export interface ScrollableContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B, ScrollableChildren>, {
50
27
  children?: Snippet;
51
- }>, ScrollableContentExtendProps {
28
+ }> {
52
29
  }
53
- export interface ScrollableTrackProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
30
+ export interface ScrollableTrackProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B, ScrollableChildren>, {
54
31
  children?: Snippet;
55
- }>, ScrollableTrackExtendProps {
32
+ }> {
56
33
  orientation: 'horizontal' | 'vertical';
57
34
  }
58
- export interface ScrollableThumbProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
35
+ export interface ScrollableThumbProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B, ScrollableChildren>, {
59
36
  children?: Snippet;
60
- }>, ScrollableThumbExtendProps {
37
+ }> {
61
38
  orientation: 'horizontal' | 'vertical';
62
39
  }
@@ -0,0 +1,8 @@
1
+ export { default as Root } from './select-root.svelte';
2
+ export { default as Item } from './item/select-item.svelte';
3
+ export { default as Trigger } from './select-trigger.svelte';
4
+ export { default as Placeholder } from './select-placeholder.svelte';
5
+ export { default as Selection } from './select-selection.svelte';
6
+ export { default as Selections } from './select-selections.svelte';
7
+ export { Arrow, Indicator } from '../popover/atoms';
8
+ export { Content, List, Divider, Title, Group } from '../dropdown-menu/atoms';
@@ -0,0 +1,8 @@
1
+ export { default as Root } from './select-root.svelte';
2
+ export { default as Item } from './item/select-item.svelte';
3
+ export { default as Trigger } from './select-trigger.svelte';
4
+ export { default as Placeholder } from './select-placeholder.svelte';
5
+ export { default as Selection } from './select-selection.svelte';
6
+ export { default as Selections } from './select-selections.svelte';
7
+ export { Arrow, Indicator } from '../popover/atoms';
8
+ export { Content, List, Divider, Title, Group } from '../dropdown-menu/atoms';
@@ -0,0 +1,2 @@
1
+ import { SelectBond } from './bond.svelte';
2
+ export declare function select(callback: (node: HTMLElement, bond?: SelectBond) => any): (node: HTMLElement) => any;
@@ -0,0 +1,5 @@
1
+ import { SelectBond } from './bond.svelte';
2
+ export function select(callback) {
3
+ const bond = SelectBond.get();
4
+ return (node) => callback(node, bond);
5
+ }
@@ -0,0 +1,56 @@
1
+ import { DropdownMenuBond, DropdownMenuBondState, DropdownMenuContentAtom, type DropdownMenuBondElements, type DropdownMenuBondProps } from '../dropdown-menu/bond.svelte';
2
+ import { BondAtom } from '../../shared/bond.svelte';
3
+ import type { SelectItemAtom } from './item/bond.svelte';
4
+ export type SelectStateProps = DropdownMenuBondProps & {
5
+ values?: string[];
6
+ value?: string;
7
+ labels?: string[];
8
+ label?: string;
9
+ multiple?: boolean;
10
+ keys?: string[];
11
+ readonly rest?: Record<string, unknown>;
12
+ };
13
+ export type SelectBondElements = DropdownMenuBondElements & {
14
+ placeholder?: HTMLElement;
15
+ };
16
+ declare class SelectContentAtom extends DropdownMenuContentAtom {
17
+ constructor(bond: SelectBond);
18
+ protected bond: SelectBond;
19
+ get attrs(): {
20
+ role: "listbox";
21
+ 'aria-multiselectable': boolean;
22
+ 'aria-activedescendant': string | undefined;
23
+ 'aria-orientation': "vertical";
24
+ 'aria-modal': boolean;
25
+ 'aria-labelledby': string;
26
+ inert: boolean | undefined;
27
+ tabindex: number;
28
+ 'data-active': boolean;
29
+ };
30
+ }
31
+ declare class SelectPlaceholderAtom extends BondAtom<SelectBond, HTMLElement> {
32
+ constructor(bond: SelectBond);
33
+ get attrs(): {
34
+ role: "group";
35
+ };
36
+ }
37
+ export declare class SelectBond<Props extends SelectStateProps = SelectStateProps, State extends SelectBondState<Props, any> = SelectBondState<Props, any>, Elements extends SelectBondElements = SelectBondElements, ItemData = unknown> extends DropdownMenuBond<Props, State, Elements> {
38
+ state: State & SelectBondState<Props, ItemData>;
39
+ constructor(state: State);
40
+ content(): SelectContentAtom;
41
+ item(): SelectItemAtom<unknown, SelectBond<SelectStateProps, SelectBondState<SelectStateProps, any>, SelectBondElements, unknown>>;
42
+ placeholder(): SelectPlaceholderAtom;
43
+ static get<Props extends SelectStateProps = SelectStateProps, State extends SelectBondState<Props, any> = SelectBondState<Props, any>, Elements extends SelectBondElements = SelectBondElements, ItemData = unknown>(): SelectBond<Props, State, Elements, ItemData> | undefined;
44
+ static set<Props extends SelectStateProps = SelectStateProps, State extends SelectBondState<Props, any> = SelectBondState<Props, any>, Elements extends SelectBondElements = SelectBondElements, ItemData = unknown>(context: SelectBond<Props, State, Elements, ItemData>): SelectBond<Props, State, Elements, ItemData>;
45
+ }
46
+ export declare class SelectBondState<Props extends SelectStateProps = SelectStateProps, ItemData = unknown> extends DropdownMenuBondState<Props> {
47
+ #private;
48
+ constructor(props: () => Props);
49
+ get selections(): SelectItemAtom<ItemData, SelectBond<SelectStateProps, SelectBondState<SelectStateProps, any>, SelectBondElements, unknown>>[];
50
+ registerItem(value: string, atom: SelectItemAtom<ItemData>): void;
51
+ unregisterItem(value: string): void;
52
+ select(ids: string[]): void;
53
+ unselect(ids: string[]): void;
54
+ protected updateLabels(): void;
55
+ }
56
+ export {};
@@ -0,0 +1,112 @@
1
+ import { untrack } from 'svelte';
2
+ import { SvelteMap } from 'svelte/reactivity';
3
+ import { DropdownMenuBond, DropdownMenuBondState, DropdownMenuContentAtom } from '../dropdown-menu/bond.svelte';
4
+ import { BondAtom } from '../../shared/bond.svelte';
5
+ const SELECT_ELEMENTS_KIND = {
6
+ placeholder: 'select-placeholder',
7
+ arrow: 'popover-arrow',
8
+ trigger: 'popover-trigger',
9
+ content: 'popover-content',
10
+ indicator: 'popover-indicator'
11
+ };
12
+ class SelectContentAtom extends DropdownMenuContentAtom {
13
+ constructor(bond) {
14
+ super(bond);
15
+ }
16
+ get attrs() {
17
+ const isMultiselect = untrack(() => this.bond.state.props).multiple ?? false;
18
+ const highlightedId = this.bond.state.highlightedItem?.id;
19
+ return {
20
+ ...super.attrs,
21
+ role: 'listbox',
22
+ 'aria-multiselectable': isMultiselect,
23
+ 'aria-activedescendant': highlightedId ? `item-${highlightedId}` : undefined,
24
+ 'aria-orientation': 'vertical'
25
+ };
26
+ }
27
+ }
28
+ // class SelectItemAtom extends DropdownMenuItemAtom<SelectBond> {
29
+ // constructor(bond: SelectBond) {
30
+ // super(bond);
31
+ // }
32
+ // declare protected bond: SelectBond;
33
+ // override get attrs() {
34
+ // return {
35
+ // ...super.attrs,
36
+ // role: 'option' as const
37
+ // };
38
+ // }
39
+ // }
40
+ class SelectPlaceholderAtom extends BondAtom {
41
+ constructor(bond) {
42
+ super(bond, 'placeholder');
43
+ }
44
+ get attrs() {
45
+ return {
46
+ ...super.attrs,
47
+ role: 'group'
48
+ };
49
+ }
50
+ }
51
+ export class SelectBond extends DropdownMenuBond {
52
+ constructor(state) {
53
+ super(state);
54
+ }
55
+ content() {
56
+ return this.atom('content', () => new SelectContentAtom(this));
57
+ }
58
+ item() {
59
+ return this.atom('item', () => new SelectItemAtom(this));
60
+ }
61
+ placeholder() {
62
+ return this.atom('placeholder', () => new SelectPlaceholderAtom(this));
63
+ }
64
+ static get() {
65
+ return DropdownMenuBond.get();
66
+ }
67
+ static set(context) {
68
+ return DropdownMenuBond.set(context);
69
+ }
70
+ }
71
+ export class SelectBondState extends DropdownMenuBondState {
72
+ #selectItems = new SvelteMap();
73
+ #selections = $derived(this.props.values?.map((value) => this.#selectItems.get(value)).filter(Boolean) ?? []);
74
+ constructor(props) {
75
+ super(props);
76
+ }
77
+ get selections() {
78
+ return this.#selections;
79
+ }
80
+ registerItem(value, atom) {
81
+ this.#selectItems.set(value, atom);
82
+ }
83
+ unregisterItem(value) {
84
+ this.#selectItems.delete(value);
85
+ }
86
+ select(ids) {
87
+ if (untrack(() => this.props.multiple)) {
88
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity
89
+ const sequence = new Set(untrack(() => [...ids, ...(this.props.values ?? [])]));
90
+ this.props.values = [...sequence];
91
+ }
92
+ else {
93
+ const value = ids[0];
94
+ this.props.values = value ? [value] : [];
95
+ }
96
+ this.updateLabels();
97
+ }
98
+ unselect(ids) {
99
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity
100
+ const sequence = new Set(untrack(() => this.props.values ?? []));
101
+ for (const v of ids) {
102
+ sequence.delete(v);
103
+ }
104
+ this.props.values = [...sequence];
105
+ this.updateLabels();
106
+ }
107
+ updateLabels() {
108
+ const labels = this.#selections.map((s) => s.label);
109
+ this.props.labels = labels;
110
+ this.props.label = labels[0] ?? '';
111
+ }
112
+ }
@@ -0,0 +1,11 @@
1
+ export * as Select from './atoms';
2
+ export { SelectBond, type SelectBondElements, SelectBondState, type SelectStateProps } from './bond.svelte';
3
+ export * from './item';
4
+ export { filterSelectData } from './runes.svelte';
5
+ /**
6
+ * @deprecated Use `filterSelectData` instead.
7
+ */
8
+ export { filterSelectData as filter } from './runes.svelte';
9
+ export * from './types';
10
+ export type { AnimatePopoverContentParams as AnimateSelectContentParams, animatePopoverContent as animateSelectContent } from '../popover/motion';
11
+ export { select } from './attachments.svelte';
@@ -0,0 +1,10 @@
1
+ export * as Select from './atoms';
2
+ export { SelectBond, SelectBondState } from './bond.svelte';
3
+ export * from './item';
4
+ export { filterSelectData } from './runes.svelte';
5
+ /**
6
+ * @deprecated Use `filterSelectData` instead.
7
+ */
8
+ export { filterSelectData as filter } from './runes.svelte';
9
+ export * from './types';
10
+ export { select } from './attachments.svelte';
@@ -0,0 +1,3 @@
1
+ import type { SelectBond } from '../bond.svelte';
2
+ import { SelectItemController } from './controller.svelte';
3
+ export declare function selectItem(callback: (node: HTMLElement, item?: SelectItemController, select?: SelectBond) => any): (node: HTMLElement) => any;
@@ -0,0 +1,6 @@
1
+ import { SelectItemController } from './controller.svelte';
2
+ export function selectItem(callback) {
3
+ const item = SelectItemController.get();
4
+ const bond = item?.select;
5
+ return (node) => callback(node, item, bond);
6
+ }
@@ -0,0 +1,33 @@
1
+ import { BondAtom } from '../../../shared/bond.svelte';
2
+ import type { SelectBond } from '../bond.svelte';
3
+ export type SelectItemAtomProps<T = unknown> = {
4
+ value: string;
5
+ label?: string;
6
+ data?: T;
7
+ id?: string;
8
+ };
9
+ export declare class SelectItemAtom<Data = unknown, B extends SelectBond = SelectBond> extends BondAtom<B, HTMLElement> {
10
+ #private;
11
+ constructor(props: () => SelectItemAtomProps<Data>, selectBond: B);
12
+ get id(): string;
13
+ get createdAt(): Date;
14
+ get props(): SelectItemAtomProps<Data>;
15
+ get value(): string;
16
+ get data(): Data | undefined;
17
+ get label(): string;
18
+ get isHighlighted(): boolean;
19
+ get isSelected(): boolean;
20
+ get attrs(): {
21
+ id: string;
22
+ role: string;
23
+ 'aria-selected': boolean;
24
+ 'data-selected': boolean;
25
+ 'data-highlighted': boolean;
26
+ };
27
+ get handlers(): {};
28
+ select(): void;
29
+ unselect(): void;
30
+ toggle(): void;
31
+ close(): void;
32
+ onmount(): () => void;
33
+ }