@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 +1,2 @@
1
1
  export { default as Link } from './link.svelte';
2
+ export type { LinkSnippetProps, LinkChildren } from './types';
@@ -1,8 +1,7 @@
1
- import type { HtmlAtomProps, Base } from '../atom';
2
- /**
3
- * Extend this interface to add custom link properties in your application.
4
- */
5
- export interface LinkExtendProps {
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
3
+ export interface LinkSnippetProps extends SnippetProps {
6
4
  }
7
- export interface LinkProps<E extends keyof HTMLElementTagNameMap = 'a', B extends Base = Base> extends HtmlAtomProps<E, B>, LinkExtendProps {
5
+ export type LinkChildren = Snippet<[LinkSnippetProps]>;
6
+ export interface LinkProps<E extends keyof HTMLElementTagNameMap = 'a', B extends Base = Base> extends HtmlAtomProps<E, B, LinkChildren> {
8
7
  }
@@ -1 +1,2 @@
1
1
  export * as List from './atoms';
2
+ export type { ListSnippetProps, ListChildren } from './types';
@@ -1,8 +1,7 @@
1
- import type { HtmlAtomProps, Base } from '../atom';
2
- /**
3
- * Extend this interface to add custom list properties in your application.
4
- */
5
- export interface ListExtendProps {
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
3
+ export interface ListSnippetProps extends SnippetProps {
6
4
  }
7
- export interface ListRootProps<E extends keyof HTMLElementTagNameMap = 'ul', B extends Base = Base> extends HtmlAtomProps<E, B>, ListExtendProps {
5
+ export type ListChildren = Snippet<[ListSnippetProps]>;
6
+ export interface ListRootProps<E extends keyof HTMLElementTagNameMap = 'ul', B extends Base = Base> extends HtmlAtomProps<E, B, ListChildren> {
8
7
  }
@@ -1,9 +1,4 @@
1
- export { default as Root } from './menu-root.svelte';
2
- export { default as Content } from './menu-content.svelte';
3
1
  /**
4
- * @deprecated Use Menu.Content instead
2
+ * @deprecated Import from `dropdown-menu` instead. This module will be removed in a future version.
5
3
  */
6
- export { default as List } from './menu-content.svelte';
7
- export { default as Item } from './item/menu-item.svelte';
8
- export { Trigger, Arrow, Indicator } from '../popover/atoms';
9
- export { Divider, Group, Title } from '../list/atoms';
4
+ export * from '../dropdown-menu/atoms';
@@ -1,9 +1,4 @@
1
- export { default as Root } from './menu-root.svelte';
2
- export { default as Content } from './menu-content.svelte';
3
1
  /**
4
- * @deprecated Use Menu.Content instead
2
+ * @deprecated Import from `dropdown-menu` instead. This module will be removed in a future version.
5
3
  */
6
- export { default as List } from './menu-content.svelte';
7
- export { default as Item } from './item/menu-item.svelte';
8
- export { Trigger, Arrow, Indicator } from '../popover/atoms';
9
- export { Divider, Group, Title } from '../list/atoms';
4
+ export * from '../dropdown-menu/atoms';
@@ -1,5 +1,6 @@
1
1
  import { PopoverBond, PopoverState, type PopoverDomElements, type PopoverStateProps } from '../popover/bond.svelte';
2
2
  import type { MenuItemControllerInterface } from './item/controller.svelte';
3
+ import type { MenuItemAtom } from './item/bond.svelte';
3
4
  export type MenuBondProps = PopoverStateProps;
4
5
  export type MenuBondElements = PopoverDomElements;
5
6
  export declare class MenuBond<Props extends MenuBondProps = MenuBondProps, State extends MenuBondState<Props> = MenuBondState<Props>, Elements extends MenuBondElements = MenuBondElements> extends PopoverBond<Props, State, Elements> {
@@ -9,27 +10,10 @@ export declare class MenuBond<Props extends MenuBondProps = MenuBondProps, State
9
10
  'aria-activedescendant': string | undefined;
10
11
  'aria-orientation': "vertical";
11
12
  onkeydown: (ev: KeyboardEvent) => void;
12
- id: string;
13
- 'aria-modal': boolean;
14
- 'aria-labelledby': string;
15
- inert: boolean | undefined;
16
- tabindex: number;
17
- 'data-atom': string;
18
- 'data-kind': string;
19
- 'data-active': boolean;
20
13
  };
21
14
  trigger(): {
22
15
  'aria-haspopup': "menu";
23
16
  onkeydown: (ev: KeyboardEvent) => void;
24
- id: string;
25
- role: string;
26
- disabled: boolean | undefined;
27
- tabindex: number;
28
- 'aria-expanded': boolean;
29
- 'aria-disabled': boolean;
30
- 'aria-controls': string;
31
- 'data-kind': string;
32
- onclick: (ev: PointerEvent) => void;
33
17
  };
34
18
  item(): {
35
19
  role: string;
@@ -41,14 +25,16 @@ export declare class MenuBond<Props extends MenuBondProps = MenuBondProps, State
41
25
  export declare class MenuBondState<Props extends MenuBondProps = MenuBondProps> extends PopoverState<Props> {
42
26
  #private;
43
27
  constructor(props: () => Props);
44
- get items(): Map<string, MenuItemControllerInterface<Record<string, any>>>;
28
+ get items(): Map<string, MenuItemControllerInterface<Record<string, any>> | MenuItemAtom<MenuBond<PopoverStateProps, MenuBondState<PopoverStateProps>, PopoverDomElements>>>;
45
29
  get highlightedId(): string | null;
46
- get highlightedItem(): MenuItemControllerInterface<Record<string, any>> | null;
30
+ get highlightedItem(): MenuItemControllerInterface<Record<string, any>> | MenuItemAtom<MenuBond<PopoverStateProps, MenuBondState<PopoverStateProps>, PopoverDomElements>> | null;
47
31
  get navigation(): {
48
- next: () => MenuItemControllerInterface<Record<string, any>> | null;
49
- previous: () => MenuItemControllerInterface<Record<string, any>> | null;
32
+ next: () => MenuItemControllerInterface<Record<string, any>> | MenuItemAtom<MenuBond<PopoverStateProps, MenuBondState<PopoverStateProps>, PopoverDomElements>> | null;
33
+ previous: () => MenuItemControllerInterface<Record<string, any>> | MenuItemAtom<MenuBond<PopoverStateProps, MenuBondState<PopoverStateProps>, PopoverDomElements>> | null;
50
34
  };
51
- mountItem(id: string, item: MenuItemControllerInterface<Record<string, any>>): () => void;
35
+ mountItem(id: string, item: MenuItemControllerInterface<Record<string, any>> | MenuItemAtom): () => void;
52
36
  unmountItem(id: string): void;
53
- item(id: string): MenuItemControllerInterface<Record<string, any>> | undefined;
37
+ item(id: string): MenuItemControllerInterface<Record<string, any>> | MenuItemAtom<MenuBond<PopoverStateProps, MenuBondState<PopoverStateProps>, PopoverDomElements>> | undefined;
38
+ registerItem(id: string, atom: MenuItemAtom): void;
39
+ unregisterItem(id: string): void;
54
40
  }
@@ -131,4 +131,10 @@ export class MenuBondState extends PopoverState {
131
131
  item(id) {
132
132
  return this.#items.get(id);
133
133
  }
134
+ registerItem(id, atom) {
135
+ this.#items.set(id, atom);
136
+ }
137
+ unregisterItem(id) {
138
+ this.#items.delete(id);
139
+ }
134
140
  }
@@ -1,5 +1,41 @@
1
- export * as Menu from './atoms';
2
- export * from './types';
3
- export { PopoverBond, type PopoverDomElements, type PopoverParams, PopoverState, type PopoverStateProps, type TriggerParams } from '../popover';
4
- export type { AnimatePopoverContentParams as AnimateMenuContentParams, animatePopoverContent as animateMenuContent } from '../popover/motion';
1
+ /**
2
+ * @deprecated Import from `dropdown-menu` instead. This module will be removed in a future version.
3
+ */
4
+ export {
5
+ /**
6
+ * @deprecated Use `DropdownMenu` instead.
7
+ */
8
+ DropdownMenu as Menu } from '../dropdown-menu';
9
+ export {
10
+ /**
11
+ * @deprecated Use `DropdownMenuBond` instead.
12
+ */
13
+ DropdownMenuBond as MenuBond,
14
+ /**
15
+ * @deprecated Use `DropdownMenuBondState` instead.
16
+ */
17
+ DropdownMenuBondState as MenuBondState,
18
+ /**
19
+ * @deprecated Use `DropdownMenuBondProps` instead.
20
+ */
21
+ type DropdownMenuBondProps as MenuBondProps,
22
+ /**
23
+ * @deprecated Use `DropdownMenuBondElements` instead.
24
+ */
25
+ type DropdownMenuBondElements as MenuBondElements } from '../dropdown-menu/bond.svelte';
26
+ export {
27
+ /**
28
+ * @deprecated Use `dropdownMenu` instead.
29
+ */
30
+ dropdownMenu as menu } from '../dropdown-menu/attachments.svelte';
31
+ export type {
32
+ /**
33
+ * @deprecated Use `AnimateDropdownMenuContentParams` instead.
34
+ */
35
+ AnimateDropdownMenuContentParams as AnimateMenuContentParams } from '../dropdown-menu';
36
+ export type {
37
+ /**
38
+ * @deprecated Use `DropdownMenuListProps` instead.
39
+ */
40
+ DropdownMenuListProps as MenuListProps } from '../dropdown-menu/types';
5
41
  export * from './item';
@@ -1,4 +1,27 @@
1
- export * as Menu from './atoms';
2
- export * from './types';
3
- export { PopoverBond, PopoverState } from '../popover';
1
+ /**
2
+ * @deprecated Import from `dropdown-menu` instead. This module will be removed in a future version.
3
+ */
4
+ // Namespace — DropdownMenu is the canonical export; Menu remains for backward compat
5
+ export {
6
+ /**
7
+ * @deprecated Use `DropdownMenu` instead.
8
+ */
9
+ DropdownMenu as Menu } from '../dropdown-menu';
10
+ // Bond classes
11
+ export {
12
+ /**
13
+ * @deprecated Use `DropdownMenuBond` instead.
14
+ */
15
+ DropdownMenuBond as MenuBond,
16
+ /**
17
+ * @deprecated Use `DropdownMenuBondState` instead.
18
+ */
19
+ DropdownMenuBondState as MenuBondState } from '../dropdown-menu/bond.svelte';
20
+ // Attachment function
21
+ export {
22
+ /**
23
+ * @deprecated Use `dropdownMenu` instead.
24
+ */
25
+ dropdownMenu as menu } from '../dropdown-menu/attachments.svelte';
26
+ // Item exports (already shimmed in item/index.ts)
4
27
  export * from './item';
@@ -0,0 +1,27 @@
1
+ import { BondAtom } from '../../../shared/bond.svelte';
2
+ import type { MenuBond } from '../bond.svelte';
3
+ export type MenuItemAtomProps = {
4
+ id: string;
5
+ disabled?: boolean;
6
+ };
7
+ export declare class MenuItemAtom<B extends MenuBond = MenuBond> extends BondAtom<B, HTMLElement> {
8
+ #private;
9
+ constructor(props: () => MenuItemAtomProps, menuBond: B);
10
+ get id(): string;
11
+ get createdAt(): Date;
12
+ get props(): MenuItemAtomProps;
13
+ get isHighlighted(): boolean;
14
+ get attrs(): {
15
+ id: string;
16
+ role: string;
17
+ 'data-highlighted': boolean;
18
+ 'aria-disabled': boolean | undefined;
19
+ tabIndex: number;
20
+ };
21
+ get handlers(): {
22
+ onclick: () => void;
23
+ };
24
+ close(): void;
25
+ mount(): () => void;
26
+ unmount(): void;
27
+ }
@@ -0,0 +1,54 @@
1
+ import { BondAtom } from '../../../shared/bond.svelte';
2
+ import { nanoid } from 'nanoid';
3
+ export class MenuItemAtom extends BondAtom {
4
+ #id;
5
+ #props;
6
+ #menuBond;
7
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity
8
+ #createdAt = new Date();
9
+ constructor(props, menuBond) {
10
+ super(menuBond, `item-${props().id}`);
11
+ this.#props = props;
12
+ this.#menuBond = menuBond;
13
+ this.#id = props().id ?? nanoid();
14
+ }
15
+ get id() {
16
+ return this.#id;
17
+ }
18
+ get createdAt() {
19
+ return this.#createdAt;
20
+ }
21
+ get props() {
22
+ return this.#props();
23
+ }
24
+ get isHighlighted() {
25
+ return this.#menuBond.state.highlightedId === this.#id;
26
+ }
27
+ get attrs() {
28
+ const itemId = `menu-item-${this.#id}`;
29
+ return {
30
+ ...super.attrs,
31
+ id: itemId,
32
+ role: 'menuitem',
33
+ 'data-highlighted': this.isHighlighted,
34
+ 'aria-disabled': this.#props().disabled ? true : undefined,
35
+ tabIndex: this.#props().disabled ? -1 : 0
36
+ };
37
+ }
38
+ get handlers() {
39
+ return {
40
+ onclick: () => {
41
+ this.#menuBond?.state.close();
42
+ }
43
+ };
44
+ }
45
+ close() {
46
+ this.#menuBond?.state.close();
47
+ }
48
+ mount() {
49
+ return this.#menuBond?.state?.mountItem?.(this.#id, this);
50
+ }
51
+ unmount() {
52
+ // Items are unregistered via unmount hook
53
+ }
54
+ }
@@ -22,7 +22,7 @@ export declare class MenuItemController implements MenuItemControllerInterface<M
22
22
  get createdAt(): Date;
23
23
  get props(): MenuItemControllerProps;
24
24
  get element(): HTMLElement | null;
25
- get menu(): MenuBond<import("..").PopoverStateProps, MenuBondState<import("..").PopoverStateProps>, import("..").PopoverDomElements> | undefined;
25
+ get menu(): MenuBond<import("../..").PopoverStateProps, MenuBondState<import("../..").PopoverStateProps>, import("../..").PopoverDomElements> | undefined;
26
26
  get isHighlighted(): boolean;
27
27
  mount(): () => void;
28
28
  unmount(): void;
@@ -1,2 +1,5 @@
1
- export { MenuItemController, type MenuItemControllerProps } from './controller.svelte';
2
- export * from './types';
1
+ /**
2
+ * @deprecated Import from `dropdown-menu/item` instead. This module will be removed in a future version.
3
+ */
4
+ export { DropdownMenuItemController as MenuItemController, type DropdownMenuItemControllerProps as MenuItemControllerProps, type DropdownMenuItemControllerInterface as MenuItemControllerInterface } from '../../dropdown-menu/item/controller.svelte';
5
+ export type { DropdownMenuItemProps as MenuItemProps } from '../../dropdown-menu/item/types';
@@ -1,2 +1,4 @@
1
- export { MenuItemController } from './controller.svelte';
2
- export * from './types';
1
+ /**
2
+ * @deprecated Import from `dropdown-menu/item` instead. This module will be removed in a future version.
3
+ */
4
+ export { DropdownMenuItemController as MenuItemController } from '../../dropdown-menu/item/controller.svelte';
@@ -1,103 +1,87 @@
1
- <script
2
- lang="ts"
3
- generics="D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base"
4
- >
5
- import { defineProperty, defineState } from '../../../utils';
6
- import type { Base } from '../../atom';
7
- import { MenuItemController, type MenuItemControllerProps } from './controller.svelte';
8
- import { MenuBond } from '../bond.svelte';
9
- import { List } from '../../list';
10
- import type { MenuItemProps } from './types';
11
-
12
- const menu = MenuBond.get();
13
-
14
- if (!menu) {
15
- throw new Error('<MenuItem> must be used within a <Menu>.');
16
- }
17
-
18
- const ID = $props.id();
19
-
20
- let {
21
- class: klass = '',
22
- id = ID,
23
- preset: presetKey = 'menu.item',
24
- children = undefined,
25
- onclick = undefined,
26
- disabled = undefined,
27
- onmount = undefined,
28
- ondestroy = undefined,
29
- animate = undefined,
30
- enter = undefined,
31
- exit = undefined,
32
- initial = undefined,
33
- factory = _factory,
34
- ...restProps
35
- }: MenuItemProps = $props();
36
-
37
- const controller = factory().share();
38
-
39
- const itemProps = $derived({
40
- ...menu?.item?.(),
41
- ...controller?.elementProps(),
42
- ...restProps
43
- });
44
-
45
- $effect(() => {
46
- return () => {
47
- controller.destroy();
48
- };
49
- });
50
-
51
- function _factory() {
52
- const item = menu?.state?.item?.(id);
53
-
54
- if (item) {
55
- return item as MenuItemController;
56
- }
57
-
58
- const bondProps = defineState<MenuItemControllerProps>([defineProperty('id', () => id)]);
59
- const controller = new MenuItemController(() => bondProps);
60
-
61
- controller.mount();
62
-
63
- return controller;
64
- }
65
-
66
- function handleClick(ev: MouseEvent) {
67
- onclick?.(ev);
68
-
69
- if (ev.defaultPrevented) {
70
- return;
71
- }
72
-
73
- ev.preventDefault();
74
-
75
- controller?.menu?.state.close();
76
- }
77
-
78
- export function getController() {
79
- return controller;
80
- }
81
- </script>
82
-
83
- <List.Item
84
- bond={controller}
85
- preset={presetKey}
86
- class={[
87
- 'border-border last:border-b-none hover:bg-foreground/5 active:bg-foreground/10 outline-primary cursor-pointer border-b',
88
- '$preset',
89
- klass
90
- ]}
91
- onmount={onmount?.bind(controller) as any}
92
- ondestroy={ondestroy?.bind(controller) as any}
93
- enter={enter?.bind(controller) as any}
94
- exit={exit?.bind(controller) as any}
95
- initial={initial?.bind(controller) as any}
96
- animate={animate?.bind(controller) as any}
97
- aria-disabled={disabled ? true : undefined}
98
- tabIndex={disabled ? -1 : 0}
99
- onclick={handleClick}
100
- {...itemProps}
101
- >
102
- {@render children?.({ menuItem: controller })}
103
- </List.Item>
1
+ <script
2
+ lang="ts"
3
+ generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base"
4
+ >
5
+ import type { Base } from '../../atom';
6
+ import { MenuItemAtom, type MenuItemAtomProps } from './bond.svelte';
7
+ import { MenuBond } from '../bond.svelte';
8
+ import { HtmlAtom } from '../../atom';
9
+ import type { MenuItemProps } from './types';
10
+
11
+ const menu = MenuBond.get();
12
+
13
+ if (!menu) {
14
+ throw new Error('<MenuItem> must be used within a <Menu>.');
15
+ }
16
+
17
+ let {
18
+ class: klass = '',
19
+ id,
20
+ preset: presetKey = 'menu.item',
21
+ disabled = undefined,
22
+ children = undefined,
23
+ onclick = undefined,
24
+ ...restProps
25
+ }: MenuItemProps = $props();
26
+
27
+ // Create reactive props object for the atom
28
+ const itemProps = $derived<MenuItemAtomProps>({
29
+ id: id ?? '',
30
+ disabled
31
+ });
32
+
33
+ // Create the atom instance
34
+ const atom = new MenuItemAtom<typeof menu>(() => itemProps, menu);
35
+
36
+ // Derived reactive properties
37
+ const isHighlighted = $derived(atom.isHighlighted);
38
+
39
+ // Merge atom attrs with custom props
40
+ const itemAttrs = $derived({
41
+ ...atom.attrs,
42
+ ...restProps
43
+ });
44
+
45
+ // Register item with menu state and handle mounting
46
+ $effect.pre(() => {
47
+ menu.state.registerItem(id ?? '', atom as any);
48
+
49
+ const unmount = atom.mount();
50
+ return () => {
51
+ unmount?.();
52
+ atom.unmount();
53
+ menu.state.unregisterItem(id ?? '');
54
+ };
55
+ });
56
+
57
+ function handleClick(ev: MouseEvent) {
58
+ onclick?.(ev);
59
+
60
+ if (ev.defaultPrevented) {
61
+ return;
62
+ }
63
+
64
+ ev.preventDefault();
65
+
66
+ atom.close();
67
+ }
68
+
69
+ export function getController() {
70
+ return atom;
71
+ }
72
+ </script>
73
+
74
+ <HtmlAtom
75
+ preset={presetKey}
76
+ class={[
77
+ 'border-border last:border-b-none hover:bg-foreground/5 active:bg-foreground/10 outline-primary cursor-pointer border-b',
78
+ '$preset',
79
+ klass
80
+ ]
81
+ .filter(Boolean)
82
+ .join(' ')}
83
+ {...itemAttrs}
84
+ onclick={handleClick}
85
+ >
86
+ {@render children?.({ menuItem: atom })}
87
+ </HtmlAtom>
@@ -1,31 +1,32 @@
1
1
  import type { Base } from '../../atom';
2
- import { MenuItemController } from './controller.svelte';
2
+ import { MenuItemAtom } from './bond.svelte';
3
+ import { MenuBond } from '../bond.svelte';
3
4
  import type { MenuItemProps } from './types';
4
- declare function $$render<D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
5
+ declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
5
6
  props: MenuItemProps;
6
7
  exports: {
7
- getController: () => MenuItemController;
8
+ getController: () => MenuItemAtom<MenuBond<import("../..").PopoverStateProps, import("../bond.svelte").MenuBondState<import("../..").PopoverStateProps>, import("../..").PopoverDomElements>>;
8
9
  };
9
10
  bindings: "";
10
11
  slots: {};
11
12
  events: {};
12
13
  };
13
- declare class __sveltets_Render<D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
14
- props(): ReturnType<typeof $$render<D, E, B>>['props'];
15
- events(): ReturnType<typeof $$render<D, E, B>>['events'];
16
- slots(): ReturnType<typeof $$render<D, E, B>>['slots'];
14
+ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
15
+ props(): ReturnType<typeof $$render<E, B>>['props'];
16
+ events(): ReturnType<typeof $$render<E, B>>['events'];
17
+ slots(): ReturnType<typeof $$render<E, B>>['slots'];
17
18
  bindings(): "";
18
19
  exports(): {
19
- getController: () => MenuItemController;
20
+ getController: () => MenuItemAtom<MenuBond<import("../..").PopoverStateProps, import("../bond.svelte").MenuBondState<import("../..").PopoverStateProps>, import("../..").PopoverDomElements>>;
20
21
  };
21
22
  }
22
23
  interface $$IsomorphicComponent {
23
- new <D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<D, E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<D, E, B>['props']>, ReturnType<__sveltets_Render<D, E, B>['events']>, ReturnType<__sveltets_Render<D, E, B>['slots']>> & {
24
- $$bindings?: ReturnType<__sveltets_Render<D, E, B>['bindings']>;
25
- } & ReturnType<__sveltets_Render<D, E, B>['exports']>;
26
- <D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<D, E, B>['props']> & {}): ReturnType<__sveltets_Render<D, E, B>['exports']>;
27
- z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
24
+ new <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(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']>> & {
25
+ $$bindings?: ReturnType<__sveltets_Render<E, B>['bindings']>;
26
+ } & ReturnType<__sveltets_Render<E, B>['exports']>;
27
+ <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
28
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
28
29
  }
29
30
  declare const MenuItem: $$IsomorphicComponent;
30
- type MenuItem<D, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof MenuItem<D, E, B>>;
31
+ type MenuItem<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof MenuItem<E, B>>;
31
32
  export default MenuItem;
@@ -1,13 +1,12 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { MenuItemController } from './controller.svelte';
3
3
  import type { ClassValue } from '../../../utils';
4
- import type { Base, HtmlAtomProps } from '../../atom';
5
- /**
6
- * Extend this interface to add custom menu list properties in your application.
7
- */
8
- export interface MenuItemExtendProps {
4
+ import type { Base, HtmlAtomProps, SnippetProps } from '../../atom';
5
+ export interface MenuItemSnippetProps extends SnippetProps {
6
+ menuItem: MenuItemController;
9
7
  }
10
- export interface MenuItemProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, MenuItemExtendProps {
8
+ export type MenuItemChildren = Snippet<[MenuItemSnippetProps]>;
9
+ export interface MenuItemProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, MenuItemChildren> {
11
10
  /**
12
11
  * Custom CSS class(es) to apply to the menu item
13
12
  */
@@ -53,10 +52,4 @@ export interface MenuItemProps<E extends keyof HTMLElementTagNameMap = 'div', B
53
52
  * Factory function to create a custom MenuItemController instance
54
53
  */
55
54
  factory?: () => MenuItemController;
56
- /**
57
- * Render prop for children
58
- */
59
- children?: Snippet<[{
60
- menuItem: MenuItemController;
61
- }]>;
62
55
  }