@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,22 +1,20 @@
1
- import type { HTMLInputTypeAttribute } from 'svelte/elements';
2
- import type { Base, HtmlAtomProps } from '../atom';
1
+ import type { Base, HtmlAtomProps, SnippetProps } from '../atom';
3
2
  import type { Snippet } from 'svelte';
4
3
  import type { Override } from '../../types';
5
- /**
6
- * Extend this interface to add custom input root properties in your application.
7
- */
8
- export interface InputRootExtendProps {
4
+ export interface InputSnippetProps extends SnippetProps {
9
5
  }
10
- /**
11
- * Extend this interface to add custom input control properties in your application.
12
- */
13
- export interface InputControlExtendProps {
14
- }
15
- export interface InputRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, InputRootExtendProps {
6
+ export type InputChildren = Snippet<[InputSnippetProps]>;
7
+ export type HourAmPmDigits = `0${number}` | `1${0 | 1 | 2}`;
8
+ export type HourDigits = `${0 | 1}${number}` | `2${0 | 1 | 2 | 3}`;
9
+ export type MinuteDigits = `${0 | 1 | 2 | 3 | 4 | 5}${number}`;
10
+ export type SecondDigits = MinuteDigits;
11
+ export type Time = `${HourAmPmDigits}:${MinuteDigits}`;
12
+ export type TimeFull = `${HourDigits}:${MinuteDigits}`;
13
+ export type InputControlType = 'text' | 'number' | 'email' | 'url' | 'tel' | 'file' | 'time' | 'datetime-local' | 'date' | 'color' | 'otp' | 'currency' | 'location' | null;
14
+ export interface InputRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, InputChildren> {
16
15
  value?: string | number | string[] | null;
17
16
  checked?: boolean;
18
17
  files?: File[] | null;
19
- children?: Snippet<[]>;
20
18
  }
21
19
  interface InputControlBaseProps {
22
20
  value?: any;
@@ -25,9 +23,349 @@ interface InputControlBaseProps {
25
23
  number?: number;
26
24
  checked?: boolean;
27
25
  class?: string;
28
- type?: HTMLInputTypeAttribute | null;
29
- children?: Snippet<[]>;
26
+ type?: InputControlType | null;
27
+ children?: InputChildren;
28
+ }
29
+ export interface InputControlProps<B extends Base = Base> extends Override<HtmlAtomProps<'input', B>, InputControlBaseProps> {
30
+ }
31
+ export interface InputNumber12HourControlProps {
32
+ hourFormat: 12;
33
+ min?: Time;
34
+ max?: Time;
35
+ }
36
+ export interface InputNumber24HourControlProps {
37
+ hourFormat: 24;
38
+ min?: TimeFull;
39
+ max?: TimeFull;
40
+ }
41
+ export interface InputNumberControlProps {
42
+ /** Current numeric value */
43
+ number?: number;
44
+ /**
45
+ * Step increment/decrement amount
46
+ * @default 1
47
+ */
48
+ step?: number;
49
+ disabled?: boolean;
50
+ placeholder?: string;
51
+ showControls?: boolean;
52
+ /** Custom decrement button snippet */
53
+ decrementContent?: Snippet<[{
54
+ decrement: () => void;
55
+ disabled: boolean;
56
+ }]>;
57
+ /** Custom increment button snippet */
58
+ incrementContent?: Snippet<[{
59
+ increment: () => void;
60
+ disabled: boolean;
61
+ }]>;
62
+ onchange?: (ev?: Event, options?: {
63
+ number: number;
64
+ }) => void;
65
+ }
66
+ export interface InputNumberControlProps {
67
+ /** HH:MM or HH:MM:SS string (always 24h format internally) */
68
+ value?: string;
69
+ /** Optional Date object to sync time with (bindable) */
70
+ date?: Date | undefined;
71
+ /**
72
+ * Hour display format
73
+ * @default 24
74
+ */
75
+ hourFormat?: 12 | 24;
76
+ /** Show the seconds segment
77
+ * @default false
78
+ */
79
+ withSeconds?: boolean;
80
+ /** Minimum allowed time as HH:MM string (e.g. "08:00") */
81
+ min?: string;
82
+ /** Maximum allowed time as HH:MM string (e.g. "18:00") */
83
+ max?: string;
84
+ disabled?: boolean;
85
+ readonly?: boolean;
86
+ class?: string;
87
+ preset?: string;
88
+ onchange?: (ev: Event, options: {
89
+ value: string;
90
+ }) => void;
91
+ oninput?: (ev: Event, options: {
92
+ value: string;
93
+ }) => void;
94
+ }
95
+ export interface InputDateTimeControlProps {
96
+ /** datetime-local string value (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS) */
97
+ value?: string;
98
+ /** Parsed Date object (bindable, derived from value) */
99
+ date?: Date | null;
100
+ /** Render mode: 'datetime' shows date + time segments, 'date' shows date segments only
101
+ * @default 'datetime'
102
+ */
103
+ mode?: 'datetime';
104
+ /** Show the seconds segment
105
+ * @default false
106
+ */
107
+ withSeconds?: boolean;
108
+ disabled?: boolean;
109
+ readonly?: boolean;
110
+ class?: string;
111
+ preset?: string;
112
+ onchange?: (ev: Event, options: {
113
+ value: string;
114
+ date: Date | null;
115
+ }) => void;
116
+ oninput?: (ev: Event, options: {
117
+ value: string;
118
+ date: Date | null;
119
+ }) => void;
120
+ }
121
+ export interface InputDateControlProps {
122
+ /** date string value (YYYY-MM-DD) */
123
+ value?: string;
124
+ /** Parsed Date object (bindable, derived from value) */
125
+ date?: Date | null;
126
+ /** Always 'date' — set this to use date-only mode */
127
+ mode: 'date';
128
+ /** Ignored in date mode, kept for API compatibility */
129
+ withSeconds?: boolean;
130
+ disabled?: boolean;
131
+ readonly?: boolean;
132
+ class?: string;
133
+ preset?: string;
134
+ onchange?: (ev: Event, options: {
135
+ value: string;
136
+ date: Date | null;
137
+ }) => void;
138
+ oninput?: (ev: Event, options: {
139
+ value: string;
140
+ date: Date | null;
141
+ }) => void;
142
+ }
143
+ export interface InputFileControlProps {
144
+ /** Selected files (bindable) */
145
+ files?: File[];
146
+ /** Accepted MIME types / extensions (e.g. "image/*,.pdf") */
147
+ accept?: string;
148
+ multiple?: boolean;
149
+ disabled?: boolean;
150
+ placeholder?: string;
151
+ class?: string;
152
+ preset?: string;
153
+ /** Custom trigger content snippet */
154
+ triggerContent?: Snippet<[{
155
+ files: File[];
156
+ hasFiles: boolean;
157
+ open: () => void;
158
+ }]>;
159
+ onchange?: (ev: Event, options: {
160
+ files: File[];
161
+ }) => void;
162
+ }
163
+ export interface InputUrlControlProps {
164
+ /** Full URL string */
165
+ value?: string;
166
+ placeholder?: string;
167
+ disabled?: boolean;
168
+ readonly?: boolean;
169
+ class?: string;
170
+ preset?: string;
171
+ onchange?: (ev: Event, options: {
172
+ value: string;
173
+ }) => void;
174
+ oninput?: (ev: Event, options: {
175
+ value: string;
176
+ }) => void;
177
+ }
178
+ export interface InputEmailControlProps {
179
+ /** Email address string */
180
+ value?: string;
181
+ placeholder?: string;
182
+ disabled?: boolean;
183
+ readonly?: boolean;
184
+ class?: string;
185
+ preset?: string;
186
+ onchange?: (ev: Event, options: {
187
+ value: string;
188
+ }) => void;
189
+ oninput?: (ev: Event, options: {
190
+ value: string;
191
+ }) => void;
192
+ }
193
+ export interface InputTextControlProps {
194
+ /** Text value */
195
+ value?: string;
196
+ /**
197
+ * Input type. Supports `text`, `search`, and `password`.
198
+ * For a dedicated password control with a show/hide toggle, use `Input.PasswordControl`.
199
+ * @default 'text'
200
+ */
201
+ type?: 'text' | 'search' | 'password';
202
+ placeholder?: string;
203
+ disabled?: boolean;
204
+ readonly?: boolean;
205
+ class?: string;
206
+ preset?: string;
207
+ onchange?: (ev: Event, options: {
208
+ value: string;
209
+ }) => void;
210
+ oninput?: (ev: Event, options: {
211
+ value: string;
212
+ }) => void;
30
213
  }
31
- export interface InputControlProps<B extends Base = Base> extends Override<HtmlAtomProps<'input', B>, InputControlBaseProps>, InputControlExtendProps {
214
+ export interface InputLocationControlProps {
215
+ /**
216
+ * Raw string representation of the coordinate pair (e.g. "40.7128, -74.0060").
217
+ * Bindable — the component normalises pasted / typed input into this form.
218
+ */
219
+ value?: string;
220
+ /** Latitude in decimal degrees (bindable, derived from value) */
221
+ lat?: number;
222
+ /** Longitude in decimal degrees (bindable, derived from value) */
223
+ lng?: number;
224
+ /**
225
+ * Display / overlay format.
226
+ * - `"dd"` — decimal degrees (default): `40.712800°, -74.006000°`
227
+ * - `"dms"` — degrees, minutes, seconds: `40°42'46.08"N, 74°00'21.60"W`
228
+ */
229
+ format?: 'dd' | 'dms';
230
+ /**
231
+ * Number of decimal places shown in `"dd"` mode.
232
+ * @default 6
233
+ */
234
+ precision?: number;
235
+ /**
236
+ * Show the crosshair "locate me" button (uses `navigator.geolocation`).
237
+ * @default true
238
+ */
239
+ locate?: boolean;
240
+ placeholder?: string;
241
+ disabled?: boolean;
242
+ readonly?: boolean;
243
+ class?: string;
244
+ preset?: string;
245
+ onchange?: (ev: Event, options: {
246
+ lat: number | undefined;
247
+ lng: number | undefined;
248
+ value: string;
249
+ }) => void;
250
+ oninput?: (ev: Event, options: {
251
+ lat: number | undefined;
252
+ lng: number | undefined;
253
+ value: string;
254
+ }) => void;
255
+ }
256
+ export interface InputPhoneControlProps {
257
+ /** Clean digits only (no format chars). In free mode: full string. */
258
+ value?: string;
259
+ /**
260
+ * Input mask — `#` = required digit, `[#]` = optional digit, all other chars are literals.
261
+ *
262
+ * Optional digits and the literals between them are hidden when empty,
263
+ * shown as normal once filled. Digits fill left-to-right across all slots.
264
+ *
265
+ * Examples:
266
+ * "(###) ###-####" → fixed US format
267
+ * "(+[#][#][#]) ### ###-####" → 1–3 digit country code, rest fixed
268
+ * "+[#][#][#] (###) ###-####" → international with optional country digits
269
+ */
270
+ format?: string;
271
+ /**
272
+ * Optional segment color map — defines how digit slots are grouped and colored.
273
+ * Keys are segment names, values are digit counts.
274
+ * Must sum to the total number of `#` in format.
275
+ * Example: { country: 1, area: 3, prefix: 3, line: 4 }
276
+ * Available segment names: country (blue), area (bold), prefix, line, other
277
+ */
278
+ segments?: Record<string, number>;
279
+ placeholder?: string;
280
+ disabled?: boolean;
281
+ readonly?: boolean;
282
+ class?: string;
283
+ preset?: string;
284
+ onchange?: (ev: Event, options: {
285
+ value: string;
286
+ }) => void;
287
+ oninput?: (ev: Event, options: {
288
+ value: string;
289
+ }) => void;
290
+ /**
291
+ * Optional snippet to render each overlay span.
292
+ * - `text`: the characters in this span
293
+ * - `class`: default Tailwind class (can be ignored)
294
+ * - `type`: segment type — `'country' | 'area' | 'prefix' | 'line' | 'other' | 'lit' | 'empty'`
295
+ * @example
296
+ * ```svelte
297
+ * {#snippet span({ text, class, type })}
298
+ * <span class={type === 'country' ? 'text-green-500' : class}>{text}</span>
299
+ * {/snippet}
300
+ * ```
301
+ */
302
+ span?: Snippet<[PhoneSpan]>;
303
+ }
304
+ export interface InputCurrencyControlProps {
305
+ /** Raw decimal string value (bindable) e.g. "1234.50" */
306
+ value?: string;
307
+ /** Parsed number amount (bindable) */
308
+ amount?: number | undefined;
309
+ /** ISO 4217 currency code
310
+ * @default 'USD'
311
+ */
312
+ currency?: string;
313
+ /** BCP 47 locale for formatting
314
+ * @default 'en-US'
315
+ */
316
+ locale?: string;
317
+ /** Decimal precision
318
+ * @default 2
319
+ */
320
+ precision?: number;
321
+ /** Minimum allowed amount */
322
+ min?: number;
323
+ /** Maximum allowed amount */
324
+ max?: number;
325
+ /** Step size for arrow up/down. Defaults to 10^(-precision) */
326
+ step?: number;
327
+ placeholder?: string;
328
+ disabled?: boolean;
329
+ readonly?: boolean;
330
+ class?: string;
331
+ preset?: string;
332
+ onchange?: (ev: Event, options: {
333
+ value: string;
334
+ amount: number | undefined;
335
+ }) => void;
336
+ oninput?: (ev: Event, options: {
337
+ value: string;
338
+ amount: number | undefined;
339
+ }) => void;
340
+ }
341
+ export type { InputColorControlExtendProps, InputColorControlProps } from './color/types';
342
+ export interface InputOtpControlProps {
343
+ /** Current OTP value — a string of entered characters (bindable) */
344
+ value?: string;
345
+ /** Number of slots
346
+ * @default 6
347
+ */
348
+ length?: number;
349
+ /** Character type constraint
350
+ * @default 'numeric'
351
+ */
352
+ type?: 'numeric' | 'alpha' | 'alphanumeric';
353
+ /** Group slots visually with a separator every N slots (e.g. 3 for "123—456") */
354
+ groupSize?: number;
355
+ /** Placeholder character shown in empty slots
356
+ * @default '·'
357
+ */
358
+ placeholder?: string;
359
+ disabled?: boolean;
360
+ readonly?: boolean;
361
+ class?: string;
362
+ preset?: string;
363
+ onchange?: (ev: Event, options: {
364
+ value: string;
365
+ }) => void;
366
+ oninput?: (ev: Event, options: {
367
+ value: string;
368
+ }) => void;
369
+ /** Fired when all slots are filled */
370
+ oncomplete?: (value: string) => void;
32
371
  }
33
- export {};
@@ -1,11 +1,8 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { HtmlAtomProps, Base } from '../atom';
3
- /**
4
- * Extend this interface to add custom label properties in your application.
5
- */
6
- export interface LabelExtendProps {
2
+ import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
3
+ export interface LabelSnippetProps extends SnippetProps {
7
4
  }
8
- export interface LabelProps<E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base> extends HtmlAtomProps<E, B>, LabelExtendProps {
5
+ export type LabelChildren = Snippet<[LabelSnippetProps]>;
6
+ export interface LabelProps<E extends keyof HTMLElementTagNameMap = 'label', B extends Base = Base> extends HtmlAtomProps<E, B, LabelChildren> {
9
7
  for?: string | null;
10
- children?: Snippet<[]>;
11
8
  }
@@ -1,4 +1,4 @@
1
- import { Bond, BondState, type BondElements, type BondStateProps } from '../../shared/bond.svelte.js';
1
+ import { Bond, BondState, type BondElements, type BondStateProps } from '../../shared/bond.svelte';
2
2
  export type LayerBondProps = BondStateProps & {
3
3
  readonly rest?: Record<string, unknown>;
4
4
  };
@@ -9,7 +9,7 @@ export type LayerBondElements = BondElements & {
9
9
  export declare class LayerBond extends Bond<LayerBondProps, LayerBondState, LayerBondElements> {
10
10
  static CONTEXT_KEY: string;
11
11
  constructor(atom: LayerBondState);
12
- get targetElement(): HTMLElement | undefined;
12
+ get targetElement(): Element | import("@floating-ui/dom").VirtualElement | undefined;
13
13
  root(props?: Record<string, unknown>): {
14
14
  'data-kind': string;
15
15
  };
@@ -1,6 +1,6 @@
1
1
  import { createAttachmentKey } from 'svelte/attachments';
2
2
  import { getContext, setContext } from 'svelte';
3
- import { Bond, BondState } from '../../shared/bond.svelte.js';
3
+ import { Bond, BondState } from '../../shared/bond.svelte';
4
4
  const LAYER_ELEMENTS_KIND = {
5
5
  root: 'layer-root',
6
6
  inner: 'layer-inner'
@@ -1,2 +1,3 @@
1
1
  export * as Layer from './atoms';
2
2
  export { LayerBond as LayerAtom, LayerBondState, type LayerBondProps } from './bond.svelte';
3
+ export type { LayerSnippetProps, LayerChildren } from './types';
@@ -1,7 +1,7 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
2
  import { type ElementType, type HtmlAtomProps, type Base } from '../atom';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
- props: HtmlAtomProps<E, B> & HTMLAttributes<ElementType<E>>;
4
+ props: HtmlAtomProps<E, B, import("svelte").Snippet<[]>> & HTMLAttributes<ElementType<E>>;
5
5
  exports: {};
6
6
  bindings: "";
7
7
  slots: {};
@@ -1,65 +1,65 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import type { HTMLAttributes } from 'svelte/elements';
3
- import { LayerBond, LayerBondState } from './bond.svelte';
4
- import { RootBond } from '../root/bond.svelte';
5
- import {
6
- HtmlAtom,
7
- type ElementType,
8
- type HtmlAtomProps,
9
- type Base
10
- } from '../atom';
11
- import { defineProperty, defineState } from '../../utils';
12
-
13
- type Element = ElementType<E>;
14
-
15
- const rootAtom = RootBond.get();
16
-
17
- let {
18
- class: klass = '',
19
- factory = _factory,
20
- children = undefined,
21
- onmount = undefined,
22
- ondestroy = undefined,
23
- animate = undefined,
24
- enter = undefined,
25
- exit = undefined,
26
- initial = undefined,
27
- ...restProps
28
- }: HtmlAtomProps<E, B> & HTMLAttributes<Element> = $props();
29
-
30
- if (!rootAtom) {
31
- throw new Error('Root atom is not found');
32
- }
33
-
34
- const bondProps = defineState([defineProperty('rest', () => restProps)], () => ({}));
35
-
36
- const bond = factory().share();
37
-
38
- const rootProps = $derived({
39
- ...bond.root(),
40
- ...restProps
41
- });
42
-
43
- function _factory(props: typeof bondProps) {
44
- const layerAtomState = new LayerBondState(() => props);
45
- return new LayerBond(layerAtomState);
46
- }
47
-
48
- export function getBond() {
49
- return bond;
50
- }
51
- </script>
52
-
53
- <HtmlAtom
54
- preset="layer"
55
- class={['pointer-events-none absolute inset-0', '$preset', klass]}
56
- enter={enter?.bind(bond.state)}
57
- exit={exit?.bind(bond.state)}
58
- initial={initial?.bind(bond.state)}
59
- animate={animate?.bind(bond.state)}
60
- onmount={onmount?.bind(bond.state)}
61
- ondestroy={ondestroy?.bind(bond.state)}
62
- {...rootProps}
63
- >
64
- {@render children?.()}
65
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import { LayerBond, LayerBondState } from './bond.svelte';
4
+ import { RootBond } from '../root/bond.svelte';
5
+ import {
6
+ HtmlAtom,
7
+ type ElementType,
8
+ type HtmlAtomProps,
9
+ type Base
10
+ } from '../atom';
11
+ import { defineProperty, defineState } from '../../utils';
12
+
13
+ type Element = ElementType<E>;
14
+
15
+ const rootAtom = RootBond.get();
16
+
17
+ let {
18
+ class: klass = '',
19
+ factory = _factory,
20
+ children = undefined,
21
+ onmount = undefined,
22
+ ondestroy = undefined,
23
+ animate = undefined,
24
+ enter = undefined,
25
+ exit = undefined,
26
+ initial = undefined,
27
+ ...restProps
28
+ }: HtmlAtomProps<E, B> & HTMLAttributes<Element> = $props();
29
+
30
+ if (!rootAtom) {
31
+ throw new Error('Root atom is not found');
32
+ }
33
+
34
+ const bondProps = defineState([defineProperty('rest', () => restProps)], () => ({}));
35
+
36
+ const bond = factory().share();
37
+
38
+ const rootProps = $derived({
39
+ ...bond.root(),
40
+ ...restProps
41
+ });
42
+
43
+ function _factory(props: typeof bondProps) {
44
+ const layerAtomState = new LayerBondState(() => props);
45
+ return new LayerBond(layerAtomState);
46
+ }
47
+
48
+ export function getBond() {
49
+ return bond;
50
+ }
51
+ </script>
52
+
53
+ <HtmlAtom
54
+ preset="layer"
55
+ class={['pointer-events-none absolute inset-0', '$preset', klass]}
56
+ enter={enter?.bind(bond.state)}
57
+ exit={exit?.bind(bond.state)}
58
+ initial={initial?.bind(bond.state)}
59
+ animate={animate?.bind(bond.state)}
60
+ onmount={onmount?.bind(bond.state)}
61
+ ondestroy={ondestroy?.bind(bond.state)}
62
+ {...rootProps}
63
+ >
64
+ {@render children?.()}
65
+ </HtmlAtom>
@@ -1,7 +1,7 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
2
  import { type ElementType, type HtmlAtomProps, type Base } from '../atom';
3
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
- props: HtmlAtomProps<E, B> & HTMLAttributes<ElementType<E>>;
4
+ props: HtmlAtomProps<E, B, import("svelte").Snippet<[]>> & HTMLAttributes<ElementType<E>>;
5
5
  exports: {
6
6
  getBond: () => any;
7
7
  };
@@ -1,11 +1,11 @@
1
- import type { HtmlAtomProps, Base } from '../atom';
1
+ import type { Snippet } from 'svelte';
2
+ import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
2
3
  import type { Factory } from '../../types';
3
4
  import type { LayerBond } from './bond.svelte';
4
- /**
5
- * Extend this interface to add custom layer properties in your application.
6
- */
7
- export interface LayerExtendProps {
5
+ export interface LayerSnippetProps extends SnippetProps {
6
+ layer: LayerBond;
8
7
  }
9
- export interface LayerRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, LayerExtendProps {
8
+ export type LayerChildren = Snippet<[LayerSnippetProps]>;
9
+ export interface LayerRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, LayerChildren> {
10
10
  factory?: Factory<LayerBond>;
11
11
  }
@@ -1 +1,2 @@
1
1
  export { default as Lazy } from './lazy.svelte';
2
+ export type { LazySnippetProps, LazyChildren } from './types';
@@ -1,29 +1,29 @@
1
- <script lang="ts">
2
- import { untrack, type Component } from 'svelte';
3
- import type { LazyProps } from './types';
4
-
5
- let { promise, children, loading, error, ...restProps }: LazyProps = $props();
6
-
7
- let Lazy: Component | null = $state(null);
8
-
9
- let err = $state();
10
-
11
- untrack(() => promise
12
- .then((c) => {
13
- Lazy = c;
14
- })
15
- .catch((r) => {
16
- err = r;
17
- }
18
- ));
19
- </script>
20
-
21
- <Lazy {...restProps}>
22
- {@render children?.()}
23
- </Lazy>
24
-
25
- {#if err && error}
26
- {@render error?.(err)}
27
- {:else if !Lazy}
28
- {@render loading?.()}
29
- {/if}
1
+ <script lang="ts">
2
+ import { untrack, type Component } from 'svelte';
3
+ import type { LazyProps } from './types';
4
+
5
+ let { promise, children, loading, error, ...restProps }: LazyProps = $props();
6
+
7
+ let Lazy: Component | null = $state(null);
8
+
9
+ let err = $state();
10
+
11
+ untrack(() => promise
12
+ .then((c) => {
13
+ Lazy = c;
14
+ })
15
+ .catch((r) => {
16
+ err = r;
17
+ }
18
+ ));
19
+ </script>
20
+
21
+ <Lazy {...restProps}>
22
+ {@render children?.()}
23
+ </Lazy>
24
+
25
+ {#if err && error}
26
+ {@render error?.(err)}
27
+ {:else if !Lazy}
28
+ {@render loading?.()}
29
+ {/if}
@@ -1,10 +1,10 @@
1
1
  import type { Component, Snippet } from 'svelte';
2
- import type { HtmlAtomProps } from '../atom';
3
- export interface LazyExtendProps {
2
+ import type { HtmlAtomProps, SnippetProps } from '../atom';
3
+ export interface LazySnippetProps extends SnippetProps {
4
4
  }
5
- export interface LazyProps extends HtmlAtomProps<'button'>, LazyExtendProps {
5
+ export type LazyChildren = Snippet<[LazySnippetProps]>;
6
+ export interface LazyProps extends HtmlAtomProps<'button', never, LazyChildren> {
6
7
  promise: Promise<Component>;
7
- children?: Snippet;
8
8
  error?: Snippet<[error: unknown]>;
9
9
  loading?: Snippet;
10
10
  }