@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
@@ -0,0 +1,8 @@
1
+ <script lang="ts">
2
+ import {Root} from '../dropdown-menu/atoms'
3
+ import type { PopoverRootProps } from '../popover';
4
+
5
+ let {placement = 'bottom-start', ...restProps}: PopoverRootProps = $props();
6
+ </script>
7
+
8
+ <Root {placement} {...restProps} />
@@ -0,0 +1,4 @@
1
+ import type { PopoverRootProps } from '../popover';
2
+ declare const ContextMenuRoot: import("svelte").Component<PopoverRootProps, {}, "">;
3
+ type ContextMenuRoot = ReturnType<typeof ContextMenuRoot>;
4
+ export default ContextMenuRoot;
@@ -0,0 +1,59 @@
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import type { Base } from '../atom';
3
+ import type { HTMLAttributes } from 'svelte/elements';
4
+ import { Trigger } from '../popover/atoms';
5
+ import { DropdownMenuBond } from '../dropdown-menu/bond.svelte';
6
+ import type { ContextMenuTriggerProps } from './types';
7
+ import type { BondVirtualElement } from '../../shared/bond.svelte';
8
+
9
+ type ElementType = HTMLElementTagNameMap[E];
10
+
11
+ const bond = DropdownMenuBond.get();
12
+
13
+ if (!bond) {
14
+ throw new Error('<ContextMenu.Trigger /> must be used within a <ContextMenu.Root />');
15
+ }
16
+
17
+ const dropdownMenuBond = bond;
18
+
19
+ const virtualTriggerAtom = dropdownMenuBond.virtualTrigger();
20
+
21
+ let {
22
+ preset = 'context-menu.trigger',
23
+ onclick = null,
24
+ oncontextmenu = undefined,
25
+ class: klass = '',
26
+ ...restProps
27
+ }: HTMLAttributes<ElementType> & ContextMenuTriggerProps<E, B> = $props();
28
+
29
+ function handleContextMenu(ev: MouseEvent) {
30
+ ev.preventDefault();
31
+
32
+ const event = new MouseEvent('contextmenu', ev) as MouseEvent & {
33
+ currentTarget: MouseEvent & ElementType;
34
+ };
35
+ oncontextmenu?.(event);
36
+
37
+ if (event.defaultPrevented) return;
38
+
39
+ const virtualElement = {
40
+ getBoundingClientRect: () => ({
41
+ width: 0,
42
+ height: 0,
43
+ x: ev.clientX,
44
+ y: ev.clientY,
45
+ top: ev.clientY,
46
+ left: ev.clientX,
47
+ right: ev.clientX,
48
+ bottom: ev.clientY
49
+ } as DOMRect),
50
+ contains: () => false
51
+ } as BondVirtualElement;
52
+
53
+ virtualTriggerAtom.element = virtualElement;
54
+
55
+ dropdownMenuBond.state.open();
56
+ }
57
+ </script>
58
+
59
+ <Trigger {preset} class={['cursor-context-menu', klass]} onclick={onclick ?? undefined} oncontextmenu={handleContextMenu} {...restProps} />
@@ -0,0 +1,27 @@
1
+ import type { Base } from '../atom';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { ContextMenuTriggerProps } from './types';
4
+ declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
5
+ props: HTMLAttributes<HTMLElementTagNameMap[E]> & ContextMenuTriggerProps<E, B>;
6
+ exports: {};
7
+ bindings: "";
8
+ slots: {};
9
+ events: {};
10
+ };
11
+ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
12
+ props(): ReturnType<typeof $$render<E, B>>['props'];
13
+ events(): ReturnType<typeof $$render<E, B>>['events'];
14
+ slots(): ReturnType<typeof $$render<E, B>>['slots'];
15
+ bindings(): "";
16
+ exports(): {};
17
+ }
18
+ interface $$IsomorphicComponent {
19
+ 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']>> & {
20
+ $$bindings?: ReturnType<__sveltets_Render<E, B>['bindings']>;
21
+ } & ReturnType<__sveltets_Render<E, B>['exports']>;
22
+ <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
23
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
24
+ }
25
+ declare const ContextMenuTrigger: $$IsomorphicComponent;
26
+ type ContextMenuTrigger<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof ContextMenuTrigger<E, B>>;
27
+ export default ContextMenuTrigger;
@@ -0,0 +1,2 @@
1
+ export * as ContextMenu from './atoms';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * as ContextMenu from './atoms';
2
+ export * from './types';
@@ -1,8 +1,3 @@
1
1
  import type { HtmlAtomProps, Base } from '../atom';
2
- /**
3
- * Extend this interface to add custom contextmenu properties in your application.
4
- */
5
- export interface ContextMenuExtendProps {
6
- }
7
- export interface ContextMenuTriggerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, ContextMenuExtendProps {
2
+ export interface ContextMenuTriggerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
8
3
  }
@@ -1,8 +1,14 @@
1
1
  export { default as Body } from './datagrid-body.svelte';
2
2
  export { default as Checkbox } from './datagrid-checkbox.svelte';
3
- export { default as Footer } from './datagrid-footer.svelte';
4
- export { default as Header } from './datagrid-header.svelte';
5
3
  export { default as Root } from './datagrid-root.svelte';
6
- export { Tr } from './tr';
7
- export { Th } from './th';
8
- export { Td } from './td';
4
+ /** @deprecated Use `Row` instead */
5
+ export { Tr } from './row';
6
+ /** @deprecated Use `Column` instead */
7
+ export { Th } from './column';
8
+ /** @deprecated Use `Cell` instead */
9
+ export { Td } from './cell';
10
+ export { default as Header } from './datagrid-header.svelte';
11
+ export { default as Footer } from './datagrid-footer.svelte';
12
+ export { Row } from './row';
13
+ export { Column } from './column';
14
+ export { Cell } from './cell';
@@ -1,8 +1,14 @@
1
1
  export { default as Body } from './datagrid-body.svelte';
2
2
  export { default as Checkbox } from './datagrid-checkbox.svelte';
3
- export { default as Footer } from './datagrid-footer.svelte';
4
- export { default as Header } from './datagrid-header.svelte';
5
3
  export { default as Root } from './datagrid-root.svelte';
6
- export { Tr } from './tr';
7
- export { Th } from './th';
8
- export { Td } from './td';
4
+ /** @deprecated Use `Row` instead */
5
+ export { Tr } from './row';
6
+ /** @deprecated Use `Column` instead */
7
+ export { Th } from './column';
8
+ /** @deprecated Use `Cell` instead */
9
+ export { Td } from './cell';
10
+ export { default as Header } from './datagrid-header.svelte';
11
+ export { default as Footer } from './datagrid-footer.svelte';
12
+ export { Row } from './row';
13
+ export { Column } from './column';
14
+ export { Cell } from './cell';
@@ -1,6 +1,6 @@
1
- import { Bond, BondState, type BondStateProps } from '../../shared/bond.svelte';
2
- import type { DataGridTrBond } from './tr/bond.svelte';
3
- import type { DataGridThBond } from './th/bond.svelte';
1
+ import { Bond, BondState, BondAtom, type BondStateProps } from '../../shared/bond.svelte';
2
+ import type { DataGridRowBond } from './row/bond.svelte';
3
+ import type { DataGridColumnBond } from './column/bond.svelte';
4
4
  export type DataGridStateProps<T> = BondStateProps & {
5
5
  multiple?: boolean;
6
6
  template?: string;
@@ -13,27 +13,42 @@ export type DataGridElements = {
13
13
  body: HTMLElement;
14
14
  footer: HTMLElement;
15
15
  };
16
+ declare class DataGridRootAtom<T = unknown> extends BondAtom<DataGridBond<T>, HTMLElement> {
17
+ constructor(bond: DataGridBond<T>);
18
+ }
19
+ declare class DataGridHeaderAtom<T = unknown> extends BondAtom<DataGridBond<T>, HTMLElement> {
20
+ constructor(bond: DataGridBond<T>);
21
+ }
22
+ declare class DataGridBodyAtom<T = unknown> extends BondAtom<DataGridBond<T>, HTMLElement> {
23
+ constructor(bond: DataGridBond<T>);
24
+ }
25
+ declare class DataGridFooterAtom<T = unknown> extends BondAtom<DataGridBond<T>, HTMLElement> {
26
+ constructor(bond: DataGridBond<T>);
27
+ }
16
28
  export declare class DataGridBond<T = unknown> extends Bond<DataGridStateProps<T>, DataGridBondState<T>, DataGridElements> {
17
29
  static CONTEXT_KEY: string;
18
30
  constructor(s: DataGridBondState<T>);
19
31
  get id(): string;
20
32
  share(): this;
21
- static get(): DataGridBond | undefined;
22
- static set(bond: DataGridBond): DataGridBond;
33
+ root(): DataGridRootAtom<T>;
34
+ header(): DataGridHeaderAtom<T>;
35
+ body(): DataGridBodyAtom<T>;
36
+ footer(): DataGridFooterAtom<T>;
37
+ static get<T = unknown>(): DataGridBond<T> | undefined;
38
+ static set<T = unknown>(bond: DataGridBond<T>): DataGridBond<T>;
23
39
  }
24
40
  export declare class DataGridBondState<T> extends BondState<DataGridStateProps<T>> {
25
41
  #private;
26
42
  constructor(props: () => DataGridStateProps<T>);
27
43
  get id(): string;
28
- get rows(): Map<string, DataGridTrBond<T, import("./tr").DataGridTrBondProps<T>, import("./tr").DataGridTrBondState<T, import("./tr").DataGridTrBondProps<T>>, import("./tr").DataGridTrBondElements>>;
29
- get columns(): Map<string, DataGridThBond<T>>;
30
- get selectedRows(): DataGridTrBond<T, import("./tr").DataGridTrBondProps<T>, import("./tr").DataGridTrBondState<T, import("./tr").DataGridTrBondProps<T>>, import("./tr").DataGridTrBondElements>[];
31
- get sortableColumns(): any;
32
- get template(): any;
33
- mountColumn(id: string, item: DataGridThBond<T>): () => void;
34
- unmountColumn(id: string): void;
35
- mountRow(id: string, item: DataGridTrBond<T>): () => void;
36
- unmountRow(id: string): void;
44
+ get rows(): ReadonlyMap<string, DataGridRowBond<T>>;
45
+ get columns(): ReadonlyMap<string, DataGridColumnBond<T>>;
46
+ get selectedRows(): readonly DataGridRowBond<T>[];
47
+ get sortableColumns(): readonly DataGridColumnBond<T>[];
48
+ get template(): string;
49
+ mountColumn(id: string, item: DataGridColumnBond<T>): () => void;
50
+ mountRow(id: string, item: DataGridRowBond<T>): () => void;
37
51
  select(ids: string[]): void;
38
52
  unselect(ids: string[]): void;
39
53
  }
54
+ export {};
@@ -1,11 +1,31 @@
1
1
  import { SvelteMap } from 'svelte/reactivity';
2
2
  import { getContext, setContext } from 'svelte';
3
- import { Bond, BondState } from '../../shared/bond.svelte';
3
+ import { Bond, BondState, BondAtom } from '../../shared/bond.svelte';
4
4
  import { nanoid } from 'nanoid';
5
+ class DataGridRootAtom extends BondAtom {
6
+ constructor(bond) {
7
+ super(bond, 'root');
8
+ }
9
+ }
10
+ class DataGridHeaderAtom extends BondAtom {
11
+ constructor(bond) {
12
+ super(bond, 'header');
13
+ }
14
+ }
15
+ class DataGridBodyAtom extends BondAtom {
16
+ constructor(bond) {
17
+ super(bond, 'body');
18
+ }
19
+ }
20
+ class DataGridFooterAtom extends BondAtom {
21
+ constructor(bond) {
22
+ super(bond, 'footer');
23
+ }
24
+ }
5
25
  export class DataGridBond extends Bond {
6
26
  static CONTEXT_KEY = '@atoms/context/datagrid';
7
27
  constructor(s) {
8
- super(s);
28
+ super(s, 'datagrid');
9
29
  }
10
30
  get id() {
11
31
  return this.state.id;
@@ -13,6 +33,18 @@ export class DataGridBond extends Bond {
13
33
  share() {
14
34
  return DataGridBond.set(this);
15
35
  }
36
+ root() {
37
+ return this.atom('root', () => new DataGridRootAtom(this));
38
+ }
39
+ header() {
40
+ return this.atom('header', () => new DataGridHeaderAtom(this));
41
+ }
42
+ body() {
43
+ return this.atom('body', () => new DataGridBodyAtom(this));
44
+ }
45
+ footer() {
46
+ return this.atom('footer', () => new DataGridFooterAtom(this));
47
+ }
16
48
  static get() {
17
49
  return getContext(DataGridBond.CONTEXT_KEY);
18
50
  }
@@ -24,10 +56,12 @@ export class DataGridBondState extends BondState {
24
56
  #id = nanoid();
25
57
  #rows = new SvelteMap();
26
58
  #columns = new SvelteMap();
27
- #sortableColumns = $derived(this.#columns.values().filter((d) => d.state.props.sortable));
28
59
  #selectedRows = $derived((this.props.values ?? [])
29
60
  .map((value) => this.#rows.get(value))
30
- .filter(Boolean));
61
+ .filter((r) => r !== undefined));
62
+ #sortableColumns = $derived([...this.#columns.values()].filter((col) => col.state.props.sortable));
63
+ #template = $derived(this.props.template ||
64
+ [...this.#columns.values()].map((col) => col.state.props.width ?? '1fr').join(' '));
31
65
  constructor(props) {
32
66
  super(props);
33
67
  }
@@ -35,10 +69,10 @@ export class DataGridBondState extends BondState {
35
69
  return this.#id;
36
70
  }
37
71
  get rows() {
38
- return new Map(this.#rows);
72
+ return this.#rows;
39
73
  }
40
74
  get columns() {
41
- return new Map(this.#columns);
75
+ return this.#columns;
42
76
  }
43
77
  get selectedRows() {
44
78
  return this.#selectedRows;
@@ -47,42 +81,20 @@ export class DataGridBondState extends BondState {
47
81
  return this.#sortableColumns;
48
82
  }
49
83
  get template() {
50
- return (this.props.template ||
51
- this.#columns
52
- .values()
53
- .map((col) => col.state.props.width)
54
- .toArray()
55
- .join(' '));
84
+ return this.#template;
56
85
  }
57
86
  mountColumn(id, item) {
58
87
  this.#columns.set(id, item);
59
- return () => this.unmountColumn(id);
60
- }
61
- unmountColumn(id) {
62
- this.#columns.delete(id);
88
+ return () => this.#columns.delete(id);
63
89
  }
64
90
  mountRow(id, item) {
65
- if (this.#rows.size && !this.props.value) {
66
- this.props.value = item.state.props.value;
67
- }
68
91
  this.#rows.set(id, item);
69
- return () => this.unmountRow(id);
70
- }
71
- unmountRow(id) {
72
- this.#rows.delete(id);
92
+ return () => this.#rows.delete(id);
73
93
  }
74
94
  select(ids) {
75
- const sequence = new Set(this.props.values ?? []);
76
- for (const id of ids) {
77
- sequence.add(id);
78
- }
79
- this.props.values = sequence.values().toArray();
95
+ this.props.values = [...(this.props.values ?? []), ...ids].filter((value, index, array) => array.indexOf(value) === index);
80
96
  }
81
97
  unselect(ids) {
82
- const sequence = new Set(this.props.values ?? []);
83
- for (const id of ids) {
84
- sequence.delete(id);
85
- }
86
- this.props.values = sequence.values().toArray();
98
+ this.props.values = (this.props.values ?? []).filter((value) => !ids.includes(value));
87
99
  }
88
100
  }
@@ -0,0 +1,29 @@
1
+ import { Bond, BondState, BondAtom, type BondStateProps } from '../../../shared/bond.svelte';
2
+ export type DataGridCellBondProps<T = unknown> = BondStateProps & {
3
+ data?: T;
4
+ };
5
+ export type DataGridCellElements = {
6
+ root: HTMLElement;
7
+ };
8
+ export declare class DataGridCellRootAtom<T = unknown> extends BondAtom<DataGridCellBond<T>> {
9
+ constructor(bond: DataGridCellBond<T>);
10
+ get attrs(): {
11
+ 'data-kind': string;
12
+ };
13
+ }
14
+ export declare class DataGridCellBond<T = unknown> extends Bond<DataGridCellBondProps<T>, DataGridCellBondState<T>, DataGridCellElements> {
15
+ static CONTEXT_KEY: string;
16
+ constructor(s: DataGridCellBondState<T>);
17
+ share(): this;
18
+ root(): DataGridCellRootAtom<T>;
19
+ static get<T = unknown>(): DataGridCellBond<T> | undefined;
20
+ static set<T = unknown>(bond: DataGridCellBond<T>): DataGridCellBond<T>;
21
+ }
22
+ export declare class DataGridCellBondState<T = unknown> extends BondState<DataGridCellBondProps<T>> {
23
+ #private;
24
+ constructor(props: () => DataGridCellBondProps<T>);
25
+ get datagrid(): import("..").DataGridBondState<T> | undefined;
26
+ }
27
+ export type DataGridTdBondProps<T = unknown> = DataGridCellBondProps<T>;
28
+ export type DataGridTdElements = DataGridCellElements;
29
+ export { DataGridCellBond as DataGridTdBond, DataGridCellBondState as DataGridTdBondState };
@@ -0,0 +1,42 @@
1
+ import { getContext, setContext } from 'svelte';
2
+ import { Bond, BondState, BondAtom } from '../../../shared/bond.svelte';
3
+ import { DataGridBond } from '../bond.svelte';
4
+ export class DataGridCellRootAtom extends BondAtom {
5
+ constructor(bond) {
6
+ super(bond, 'root');
7
+ }
8
+ get attrs() {
9
+ return {
10
+ ...super.attrs,
11
+ 'data-kind': 'datagrid-cell'
12
+ };
13
+ }
14
+ }
15
+ export class DataGridCellBond extends Bond {
16
+ static CONTEXT_KEY = '@atoms/context/datagrid/cell';
17
+ constructor(s) {
18
+ super(s, 'datagrid-cell');
19
+ }
20
+ share() {
21
+ return DataGridCellBond.set(this);
22
+ }
23
+ root() {
24
+ return this.atom('root', () => new DataGridCellRootAtom(this));
25
+ }
26
+ static get() {
27
+ return getContext(DataGridCellBond.CONTEXT_KEY);
28
+ }
29
+ static set(bond) {
30
+ return setContext(DataGridCellBond.CONTEXT_KEY, bond);
31
+ }
32
+ }
33
+ export class DataGridCellBondState extends BondState {
34
+ #datagrid = DataGridBond.get();
35
+ constructor(props) {
36
+ super(props);
37
+ }
38
+ get datagrid() {
39
+ return this.#datagrid?.state;
40
+ }
41
+ }
42
+ export { DataGridCellBond as DataGridTdBond, DataGridCellBondState as DataGridTdBondState };
@@ -0,0 +1,49 @@
1
+ <script lang="ts" generics="T = unknown, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { DataGridBond } from '../bond.svelte';
3
+ import { HtmlAtom, type Base } from '../../atom';
4
+ import type { DatagridCellProps } from '../types';
5
+
6
+ const bond = DataGridBond.get<T>();
7
+
8
+ let {
9
+ class: klass = '',
10
+ children = undefined,
11
+ onclick = undefined,
12
+ ...restProps
13
+ }: DatagridCellProps<T, E, B> = $props();
14
+
15
+ let element = $state<HTMLElement | undefined>();
16
+
17
+ // Find the matching column by this cell's DOM index
18
+ const column = $derived.by(() => {
19
+ if (!element || !bond) return undefined;
20
+
21
+ const index = Array.from(element.parentElement?.children ?? []).indexOf(element);
22
+ if (index === -1) return undefined;
23
+
24
+ for (const col of bond.state.columns.values()) {
25
+ if (col.index === index) return col;
26
+ }
27
+
28
+ return undefined;
29
+ });
30
+
31
+ const isHidden = $derived(column?.state.props.hidden ?? false);
32
+
33
+ function handleClick(ev: Event) {
34
+ onclick?.(ev, { ...(bond && { cell: bond }) });
35
+ }
36
+ </script>
37
+
38
+ {#if !isHidden}
39
+ <HtmlAtom
40
+ {@attach (node) => { element = node; }}
41
+ {bond}
42
+ preset="datagrid.cell"
43
+ class={['border-border flex h-full items-center py-2 text-left', '$preset', klass]}
44
+ onclick={handleClick}
45
+ {...restProps}
46
+ >
47
+ {@render children?.({ datagrid: bond })}
48
+ </HtmlAtom>
49
+ {/if}
@@ -0,0 +1,26 @@
1
+ import { type Base } from '../../atom';
2
+ import type { DatagridCellProps } from '../types';
3
+ declare function $$render<T = unknown, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
4
+ props: DatagridCellProps<T, E, B>;
5
+ exports: {};
6
+ bindings: "";
7
+ slots: {};
8
+ events: {};
9
+ };
10
+ declare class __sveltets_Render<T = unknown, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
11
+ props(): ReturnType<typeof $$render<T, E, B>>['props'];
12
+ events(): ReturnType<typeof $$render<T, E, B>>['events'];
13
+ slots(): ReturnType<typeof $$render<T, E, B>>['slots'];
14
+ bindings(): "";
15
+ exports(): {};
16
+ }
17
+ interface $$IsomorphicComponent {
18
+ new <T = unknown, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, E, B>['props']>, ReturnType<__sveltets_Render<T, E, B>['events']>, ReturnType<__sveltets_Render<T, E, B>['slots']>> & {
19
+ $$bindings?: ReturnType<__sveltets_Render<T, E, B>['bindings']>;
20
+ } & ReturnType<__sveltets_Render<T, E, B>['exports']>;
21
+ <T = unknown, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<T, E, B>['props']> & {}): ReturnType<__sveltets_Render<T, E, B>['exports']>;
22
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
23
+ }
24
+ declare const DatagridCell: $$IsomorphicComponent;
25
+ type DatagridCell<T = unknown, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof DatagridCell<T, E, B>>;
26
+ export default DatagridCell;
@@ -0,0 +1,4 @@
1
+ /** @deprecated Use `Cell` instead */
2
+ export { default as Td } from './datagrid-cell.svelte';
3
+ export * from './bond.svelte';
4
+ export { default as Cell } from './datagrid-cell.svelte';
@@ -0,0 +1,4 @@
1
+ /** @deprecated Use `Cell` instead */
2
+ export { default as Td } from './datagrid-cell.svelte';
3
+ export * from './bond.svelte';
4
+ export { default as Cell } from './datagrid-cell.svelte';
@@ -0,0 +1,4 @@
1
+ /** @deprecated Use `Column` instead */
2
+ export { default as Th } from '../column/datagrid-column.svelte';
3
+ export * from '../column/bond.svelte';
4
+ export { default as Column } from '../column/datagrid-column.svelte';
@@ -0,0 +1,4 @@
1
+ /** @deprecated Use `Column` instead */
2
+ export { default as Th } from '../column/datagrid-column.svelte';
3
+ export * from '../column/bond.svelte';
4
+ export { default as Column } from '../column/datagrid-column.svelte';
@@ -0,0 +1,45 @@
1
+ import type { Direction, SortableType } from '../../../types';
2
+ import { DataGridBond } from '../bond.svelte';
3
+ import { Bond, BondState, BondAtom, type BondStateProps } from '../../../shared/bond.svelte';
4
+ export type DataGridColumnBondProps = BondStateProps & {
5
+ id: string;
6
+ width?: string;
7
+ screen?: string;
8
+ sortable?: boolean | SortableType;
9
+ hidden?: boolean;
10
+ direction: Direction;
11
+ };
12
+ export type DataGridColumnElements = {
13
+ root: HTMLElement;
14
+ };
15
+ export declare class DataGridColumnRootAtom<T = unknown> extends BondAtom<DataGridColumnBond<T>> {
16
+ constructor(bond: DataGridColumnBond<T>);
17
+ get attrs(): {
18
+ 'data-kind': string;
19
+ 'data-sortable': string | undefined;
20
+ 'data-direction': Direction;
21
+ };
22
+ }
23
+ export declare class DataGridColumnBond<T = unknown> extends Bond<DataGridColumnBondProps, DataGridColumnBondState<T>, DataGridColumnElements> {
24
+ #private;
25
+ static CONTEXT_KEY: string;
26
+ constructor(s: DataGridColumnBondState<T>);
27
+ get isHidden(): boolean;
28
+ get index(): number;
29
+ get text(): string;
30
+ get datagrid(): DataGridBond<T>;
31
+ share(): this;
32
+ mount(): () => void;
33
+ root(): DataGridColumnRootAtom<T>;
34
+ static get<T = unknown>(): DataGridColumnBond<T> | undefined;
35
+ static set<T = unknown>(bond: DataGridColumnBond<T>): DataGridColumnBond<T>;
36
+ }
37
+ export declare class DataGridColumnBondState<T = unknown> extends BondState<DataGridColumnBondProps> {
38
+ constructor(props: () => DataGridColumnBondProps);
39
+ get isSortable(): boolean | SortableType | undefined;
40
+ asc(): void;
41
+ desc(): void;
42
+ }
43
+ export type DataGridThBondProps = DataGridColumnBondProps;
44
+ export type DataGridThElements = DataGridColumnElements;
45
+ export { DataGridColumnBond as DataGridThBond, DataGridColumnBondState as DataGridThBondState };
@@ -0,0 +1,76 @@
1
+ import { getContext, setContext } from 'svelte';
2
+ import { DataGridBond } from '../bond.svelte';
3
+ import { Bond, BondState, BondAtom } from '../../../shared/bond.svelte';
4
+ export class DataGridColumnRootAtom extends BondAtom {
5
+ constructor(bond) {
6
+ super(bond, 'root');
7
+ }
8
+ get attrs() {
9
+ const props = this.bond.state.props;
10
+ return {
11
+ ...super.attrs,
12
+ 'data-kind': 'datagrid-column',
13
+ 'data-sortable': props.sortable ? 'true' : undefined,
14
+ 'data-direction': props.direction
15
+ };
16
+ }
17
+ }
18
+ export class DataGridColumnBond extends Bond {
19
+ static CONTEXT_KEY = '@atoms/context/datagrid/column';
20
+ #datagrid;
21
+ constructor(s) {
22
+ super(s, 'datagrid-column');
23
+ this.#datagrid = DataGridBond.get();
24
+ }
25
+ get isHidden() {
26
+ const el = this.elements.root;
27
+ if (!(el instanceof HTMLElement))
28
+ return false;
29
+ return Boolean(el.hidden) || getComputedStyle(el).display === 'none';
30
+ }
31
+ get index() {
32
+ const el = this.elements.root;
33
+ return el ? Array.from(el.parentElement?.children ?? []).indexOf(el) : -1;
34
+ }
35
+ get text() {
36
+ const el = this.elements.root;
37
+ return el instanceof HTMLElement ? el.innerText : '';
38
+ }
39
+ get datagrid() {
40
+ return this.#datagrid;
41
+ }
42
+ share() {
43
+ return DataGridColumnBond.set(this);
44
+ }
45
+ mount() {
46
+ return this.#datagrid.state.mountColumn(this.state.id, this);
47
+ }
48
+ root() {
49
+ return this.atom('root', () => new DataGridColumnRootAtom(this));
50
+ }
51
+ static get() {
52
+ return getContext(DataGridColumnBond.CONTEXT_KEY);
53
+ }
54
+ static set(bond) {
55
+ return setContext(DataGridColumnBond.CONTEXT_KEY, bond);
56
+ }
57
+ }
58
+ export class DataGridColumnBondState extends BondState {
59
+ constructor(props) {
60
+ super(props);
61
+ const datagrid = DataGridBond.get();
62
+ if (!datagrid) {
63
+ throw new Error('DataGridColumnBond must be used within a DataGridBond context.');
64
+ }
65
+ }
66
+ get isSortable() {
67
+ return this.props.sortable;
68
+ }
69
+ asc() {
70
+ this.props.direction = 'asc';
71
+ }
72
+ desc() {
73
+ this.props.direction = 'desc';
74
+ }
75
+ }
76
+ export { DataGridColumnBond as DataGridThBond, DataGridColumnBondState as DataGridThBondState };