@techsio/ui-kit 0.54.0 → 0.54.2

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 (486) hide show
  1. package/README.md +16 -10
  2. package/dist/atoms/button.js +3 -2
  3. package/dist/atoms/checkbox.js +4 -4
  4. package/dist/atoms/hotkeys.js +1 -1
  5. package/dist/atoms/input.js +6 -2
  6. package/dist/atoms/numeric-input.js +6 -6
  7. package/dist/atoms/skeleton.js +1 -5
  8. package/dist/atoms/textarea.js +6 -2
  9. package/dist/atoms/tooltip.js +20 -5
  10. package/dist/internal/organisms/sidebar.styles.js +1 -1
  11. package/dist/molecules/accordion.js +13 -6
  12. package/dist/molecules/carousel.js +16 -16
  13. package/dist/molecules/cascade-select.js +2 -2
  14. package/dist/molecules/chart.js +99 -41
  15. package/dist/molecules/color-select.js +5 -5
  16. package/dist/molecules/combobox.js +13 -9
  17. package/dist/molecules/date-picker.js +7 -7
  18. package/dist/molecules/dialog.js +4 -15
  19. package/dist/molecules/file-upload.js +1 -1
  20. package/dist/molecules/form-checkbox.js +2 -2
  21. package/dist/molecules/form-numeric-input.js +4 -2
  22. package/dist/molecules/menu.js +79 -113
  23. package/dist/molecules/pagination.js +2 -1
  24. package/dist/molecules/phone-input.js +8 -6
  25. package/dist/molecules/popover.js +31 -6
  26. package/dist/molecules/radio-card.js +7 -7
  27. package/dist/molecules/radio-group.js +1 -1
  28. package/dist/molecules/search-form.js +1 -1
  29. package/dist/molecules/select.js +7 -7
  30. package/dist/molecules/slider.js +1 -1
  31. package/dist/molecules/steps.js +11 -6
  32. package/dist/molecules/tabs.js +3 -3
  33. package/dist/molecules/toast.js +1 -1
  34. package/dist/molecules/tour.js +2 -2
  35. package/dist/molecules/tree-view.js +2 -2
  36. package/dist/organisms/data-table.js +234 -123
  37. package/dist/organisms/footer.js +1 -1
  38. package/dist/organisms/gallery.js +23 -21
  39. package/dist/organisms/table.js +4 -4
  40. package/dist/src/atoms/action-icon.d.ts +12 -12
  41. package/dist/src/atoms/action-icon.d.ts.map +1 -1
  42. package/dist/src/atoms/badge.d.ts +3 -3
  43. package/dist/src/atoms/badge.d.ts.map +1 -1
  44. package/dist/src/atoms/button.d.ts +52 -52
  45. package/dist/src/atoms/button.d.ts.map +1 -1
  46. package/dist/src/atoms/checkbox.d.ts +2 -2
  47. package/dist/src/atoms/checkbox.d.ts.map +1 -1
  48. package/dist/src/atoms/hotkeys.d.ts +6 -6
  49. package/dist/src/atoms/hotkeys.d.ts.map +1 -1
  50. package/dist/src/atoms/icon.d.ts +42 -42
  51. package/dist/src/atoms/icon.d.ts.map +1 -1
  52. package/dist/src/atoms/image.d.ts +18 -18
  53. package/dist/src/atoms/image.d.ts.map +1 -1
  54. package/dist/src/atoms/input.d.ts +28 -28
  55. package/dist/src/atoms/input.d.ts.map +1 -1
  56. package/dist/src/atoms/label.d.ts +18 -18
  57. package/dist/src/atoms/label.d.ts.map +1 -1
  58. package/dist/src/atoms/link-button.d.ts +117 -117
  59. package/dist/src/atoms/link-button.d.ts.map +1 -1
  60. package/dist/src/atoms/link.d.ts +2 -2
  61. package/dist/src/atoms/link.d.ts.map +1 -1
  62. package/dist/src/atoms/numeric-input.d.ts +10 -9
  63. package/dist/src/atoms/numeric-input.d.ts.map +1 -1
  64. package/dist/src/atoms/rating.d.ts +3 -3
  65. package/dist/src/atoms/rating.d.ts.map +1 -1
  66. package/dist/src/atoms/skeleton.d.ts +6 -5
  67. package/dist/src/atoms/skeleton.d.ts.map +1 -1
  68. package/dist/src/atoms/status-text.d.ts +15 -15
  69. package/dist/src/atoms/status-text.d.ts.map +1 -1
  70. package/dist/src/atoms/textarea.d.ts +34 -34
  71. package/dist/src/atoms/textarea.d.ts.map +1 -1
  72. package/dist/src/atoms/tooltip.d.ts +3 -3
  73. package/dist/src/atoms/tooltip.d.ts.map +1 -1
  74. package/dist/src/hotkeys.d.ts.map +1 -1
  75. package/dist/src/internal/molecules/drawer.context.d.ts +3 -3
  76. package/dist/src/internal/molecules/drawer.context.d.ts.map +1 -1
  77. package/dist/src/internal/molecules/drawer.styles.d.ts +2 -2
  78. package/dist/src/internal/molecules/drawer.styles.d.ts.map +1 -1
  79. package/dist/src/internal/molecules/vertical-navigation.styles.d.ts +2 -2
  80. package/dist/src/internal/molecules/vertical-navigation.styles.d.ts.map +1 -1
  81. package/dist/src/internal/organisms/sidebar.context.d.ts +2 -2
  82. package/dist/src/internal/organisms/sidebar.context.d.ts.map +1 -1
  83. package/dist/src/internal/organisms/sidebar.styles.d.ts +2 -2
  84. package/dist/src/internal/organisms/sidebar.styles.d.ts.map +1 -1
  85. package/dist/src/molecules/accordion.d.ts +12 -12
  86. package/dist/src/molecules/accordion.d.ts.map +1 -1
  87. package/dist/src/molecules/availability-status.d.ts +1 -1
  88. package/dist/src/molecules/availability-status.d.ts.map +1 -1
  89. package/dist/src/molecules/breadcrumb.d.ts +14 -13
  90. package/dist/src/molecules/breadcrumb.d.ts.map +1 -1
  91. package/dist/src/molecules/carousel.d.ts +29 -29
  92. package/dist/src/molecules/carousel.d.ts.map +1 -1
  93. package/dist/src/molecules/cascade-select.d.ts +23 -20
  94. package/dist/src/molecules/cascade-select.d.ts.map +1 -1
  95. package/dist/src/molecules/chart.d.ts +1 -1
  96. package/dist/src/molecules/chart.d.ts.map +1 -1
  97. package/dist/src/molecules/color-select.d.ts +5 -5
  98. package/dist/src/molecules/color-select.d.ts.map +1 -1
  99. package/dist/src/molecules/combobox.d.ts +4 -4
  100. package/dist/src/molecules/combobox.d.ts.map +1 -1
  101. package/dist/src/molecules/command.d.ts +17 -15
  102. package/dist/src/molecules/command.d.ts.map +1 -1
  103. package/dist/src/molecules/date-picker.d.ts +19 -18
  104. package/dist/src/molecules/date-picker.d.ts.map +1 -1
  105. package/dist/src/molecules/dialog.d.ts +3 -3
  106. package/dist/src/molecules/dialog.d.ts.map +1 -1
  107. package/dist/src/molecules/drawer.d.ts +24 -22
  108. package/dist/src/molecules/drawer.d.ts.map +1 -1
  109. package/dist/src/molecules/file-upload.d.ts +18 -17
  110. package/dist/src/molecules/file-upload.d.ts.map +1 -1
  111. package/dist/src/molecules/form-checkbox.d.ts +1 -1
  112. package/dist/src/molecules/form-checkbox.d.ts.map +1 -1
  113. package/dist/src/molecules/form-error-summary.d.ts +1 -1
  114. package/dist/src/molecules/form-error-summary.d.ts.map +1 -1
  115. package/dist/src/molecules/form-input.d.ts +2 -2
  116. package/dist/src/molecules/form-input.d.ts.map +1 -1
  117. package/dist/src/molecules/form-numeric-input.d.ts +2 -2
  118. package/dist/src/molecules/form-numeric-input.d.ts.map +1 -1
  119. package/dist/src/molecules/form-textarea.d.ts +2 -2
  120. package/dist/src/molecules/form-textarea.d.ts.map +1 -1
  121. package/dist/src/molecules/menu.d.ts +17 -30
  122. package/dist/src/molecules/menu.d.ts.map +1 -1
  123. package/dist/src/molecules/pagination.d.ts +4 -4
  124. package/dist/src/molecules/pagination.d.ts.map +1 -1
  125. package/dist/src/molecules/phone-input.d.ts +29 -28
  126. package/dist/src/molecules/phone-input.d.ts.map +1 -1
  127. package/dist/src/molecules/popover.d.ts +14 -14
  128. package/dist/src/molecules/popover.d.ts.map +1 -1
  129. package/dist/src/molecules/price-block.d.ts +1 -1
  130. package/dist/src/molecules/price-block.d.ts.map +1 -1
  131. package/dist/src/molecules/product-card.d.ts +13 -12
  132. package/dist/src/molecules/product-card.d.ts.map +1 -1
  133. package/dist/src/molecules/quantity-field.d.ts +1 -1
  134. package/dist/src/molecules/quantity-field.d.ts.map +1 -1
  135. package/dist/src/molecules/radio-card.d.ts +18 -17
  136. package/dist/src/molecules/radio-card.d.ts.map +1 -1
  137. package/dist/src/molecules/radio-group.d.ts +17 -16
  138. package/dist/src/molecules/radio-group.d.ts.map +1 -1
  139. package/dist/src/molecules/search-form.d.ts +12 -11
  140. package/dist/src/molecules/search-form.d.ts.map +1 -1
  141. package/dist/src/molecules/select.d.ts +19 -18
  142. package/dist/src/molecules/select.d.ts.map +1 -1
  143. package/dist/src/molecules/slider.d.ts +3 -3
  144. package/dist/src/molecules/slider.d.ts.map +1 -1
  145. package/dist/src/molecules/steps.d.ts +26 -23
  146. package/dist/src/molecules/steps.d.ts.map +1 -1
  147. package/dist/src/molecules/switch.d.ts +24 -24
  148. package/dist/src/molecules/switch.d.ts.map +1 -1
  149. package/dist/src/molecules/tabs.d.ts +7 -7
  150. package/dist/src/molecules/tabs.d.ts.map +1 -1
  151. package/dist/src/molecules/toast.d.ts +31 -31
  152. package/dist/src/molecules/toast.d.ts.map +1 -1
  153. package/dist/src/molecules/tour.d.ts +20 -20
  154. package/dist/src/molecules/tour.d.ts.map +1 -1
  155. package/dist/src/molecules/tree-view.d.ts +33 -32
  156. package/dist/src/molecules/tree-view.d.ts.map +1 -1
  157. package/dist/src/molecules/vertical-navigation.d.ts +14 -14
  158. package/dist/src/molecules/vertical-navigation.d.ts.map +1 -1
  159. package/dist/src/organisms/data-table.d.ts +32 -9
  160. package/dist/src/organisms/data-table.d.ts.map +1 -1
  161. package/dist/src/organisms/data-table.fields.d.ts +1 -1
  162. package/dist/src/organisms/data-table.fields.d.ts.map +1 -1
  163. package/dist/src/organisms/data-table.helpers.d.ts +1 -1
  164. package/dist/src/organisms/data-table.helpers.d.ts.map +1 -1
  165. package/dist/src/organisms/footer.d.ts +15 -12
  166. package/dist/src/organisms/footer.d.ts.map +1 -1
  167. package/dist/src/organisms/gallery.d.ts +11 -10
  168. package/dist/src/organisms/gallery.d.ts.map +1 -1
  169. package/dist/src/organisms/header.d.ts +11 -11
  170. package/dist/src/organisms/header.d.ts.map +1 -1
  171. package/dist/src/organisms/sidebar.d.ts +21 -21
  172. package/dist/src/organisms/sidebar.d.ts.map +1 -1
  173. package/dist/src/organisms/table.d.ts +13 -12
  174. package/dist/src/organisms/table.d.ts.map +1 -1
  175. package/dist/src/templates/accordion.d.ts +2 -2
  176. package/dist/src/templates/accordion.d.ts.map +1 -1
  177. package/dist/src/templates/breadcrumb.d.ts +2 -2
  178. package/dist/src/templates/breadcrumb.d.ts.map +1 -1
  179. package/dist/src/templates/carousel.d.ts +2 -2
  180. package/dist/src/templates/carousel.d.ts.map +1 -1
  181. package/dist/src/templates/facet-filter-panel.d.ts +2 -2
  182. package/dist/src/templates/facet-filter-panel.d.ts.map +1 -1
  183. package/dist/src/templates/gallery.d.ts +2 -2
  184. package/dist/src/templates/gallery.d.ts.map +1 -1
  185. package/dist/src/templates/numeric-input.d.ts +2 -2
  186. package/dist/src/templates/numeric-input.d.ts.map +1 -1
  187. package/dist/src/templates/popover.d.ts +2 -2
  188. package/dist/src/templates/popover.d.ts.map +1 -1
  189. package/dist/src/templates/product-card.d.ts +2 -2
  190. package/dist/src/templates/product-card.d.ts.map +1 -1
  191. package/dist/src/templates/search-suggestions.d.ts +1 -1
  192. package/dist/src/templates/search-suggestions.d.ts.map +1 -1
  193. package/dist/src/templates/select.d.ts +2 -2
  194. package/dist/src/templates/select.d.ts.map +1 -1
  195. package/dist/src/templates/tabs.d.ts +2 -2
  196. package/dist/src/templates/tabs.d.ts.map +1 -1
  197. package/dist/src/theme/theme-config.d.ts.map +1 -1
  198. package/dist/src/theme/theme-provider.d.ts +2 -2
  199. package/dist/src/theme/theme-provider.d.ts.map +1 -1
  200. package/dist/src/theme/theme-toggle.d.ts +1 -1
  201. package/dist/src/theme/theme-toggle.d.ts.map +1 -1
  202. package/dist/templates/numeric-input.js +9 -3
  203. package/dist/theme/theme-toggle.js +1 -1
  204. package/package.json +88 -84
  205. package/src/tokens/_base.css +14 -7
  206. package/src/tokens/_reset.css +66 -0
  207. package/src/tokens/_semantic.css +33 -43
  208. package/src/tokens/_tokens-base.css +3 -0
  209. package/src/tokens/_typography.css +5 -0
  210. package/src/tokens/components/_popup-surface.css +13 -3
  211. package/src/tokens/components/atoms/_badge.css +1 -1
  212. package/src/tokens/components/molecules/_drawer.css +5 -5
  213. package/src/tokens/components/molecules/_vertical-navigation.css +1 -1
  214. package/src/tokens/components/organisms/_data-table.css +1 -1
  215. package/src/tokens/figma/brand-overrides.css +15 -15
  216. package/src/tokens/figma/variables.css +11 -11
  217. package/src/tokens/index.css +1 -1
  218. package/src/tokens/theme.css +1 -1
  219. package/dist/.storybook/decorator.d.ts +0 -12
  220. package/dist/.storybook/decorator.d.ts.map +0 -1
  221. package/dist/.storybook/main.d.ts +0 -4
  222. package/dist/.storybook/main.d.ts.map +0 -1
  223. package/dist/.storybook/manager.d.ts +0 -2
  224. package/dist/.storybook/manager.d.ts.map +0 -1
  225. package/dist/.storybook/preview.d.ts +0 -5
  226. package/dist/.storybook/preview.d.ts.map +0 -1
  227. package/dist/.storybook/test-runner.d.ts +0 -12
  228. package/dist/.storybook/test-runner.d.ts.map +0 -1
  229. package/dist/stories/atoms/badge.stories.d.ts +0 -12
  230. package/dist/stories/atoms/badge.stories.d.ts.map +0 -1
  231. package/dist/stories/atoms/button.stories.d.ts +0 -12
  232. package/dist/stories/atoms/button.stories.d.ts.map +0 -1
  233. package/dist/stories/atoms/checkbox.stories.d.ts +0 -56
  234. package/dist/stories/atoms/checkbox.stories.d.ts.map +0 -1
  235. package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts +0 -6
  236. package/dist/stories/atoms/hotkeys-hydration.fixture.d.ts.map +0 -1
  237. package/dist/stories/atoms/hotkeys.stories.d.ts +0 -336
  238. package/dist/stories/atoms/hotkeys.stories.d.ts.map +0 -1
  239. package/dist/stories/atoms/icon.stories.d.ts +0 -11
  240. package/dist/stories/atoms/icon.stories.d.ts.map +0 -1
  241. package/dist/stories/atoms/image.stories.d.ts +0 -8
  242. package/dist/stories/atoms/image.stories.d.ts.map +0 -1
  243. package/dist/stories/atoms/input.stories.d.ts +0 -8
  244. package/dist/stories/atoms/input.stories.d.ts.map +0 -1
  245. package/dist/stories/atoms/numeric-input.stories.d.ts +0 -27
  246. package/dist/stories/atoms/numeric-input.stories.d.ts.map +0 -1
  247. package/dist/stories/atoms/rating.stories.d.ts +0 -10
  248. package/dist/stories/atoms/rating.stories.d.ts.map +0 -1
  249. package/dist/stories/atoms/skeleton.stories.d.ts +0 -34
  250. package/dist/stories/atoms/skeleton.stories.d.ts.map +0 -1
  251. package/dist/stories/atoms/status-text.stories.d.ts +0 -15
  252. package/dist/stories/atoms/status-text.stories.d.ts.map +0 -1
  253. package/dist/stories/atoms/textarea.stories.d.ts +0 -12
  254. package/dist/stories/atoms/textarea.stories.d.ts.map +0 -1
  255. package/dist/stories/atoms/tooltip.stories.d.ts +0 -28
  256. package/dist/stories/atoms/tooltip.stories.d.ts.map +0 -1
  257. package/dist/stories/changelog/changelog.stories.d.ts +0 -6
  258. package/dist/stories/changelog/changelog.stories.d.ts.map +0 -1
  259. package/dist/stories/helpers/icon-options.d.ts +0 -4
  260. package/dist/stories/helpers/icon-options.d.ts.map +0 -1
  261. package/dist/stories/molecules/accordion.stories.d.ts +0 -14
  262. package/dist/stories/molecules/accordion.stories.d.ts.map +0 -1
  263. package/dist/stories/molecules/availability-status.stories.d.ts +0 -14
  264. package/dist/stories/molecules/availability-status.stories.d.ts.map +0 -1
  265. package/dist/stories/molecules/breadcrumb.stories.d.ts +0 -14
  266. package/dist/stories/molecules/breadcrumb.stories.d.ts.map +0 -1
  267. package/dist/stories/molecules/carousel.stories.d.ts +0 -19
  268. package/dist/stories/molecules/carousel.stories.d.ts.map +0 -1
  269. package/dist/stories/molecules/cascade-select.stories.d.ts +0 -254
  270. package/dist/stories/molecules/cascade-select.stories.d.ts.map +0 -1
  271. package/dist/stories/molecules/chart.stories.d.ts +0 -24
  272. package/dist/stories/molecules/chart.stories.d.ts.map +0 -1
  273. package/dist/stories/molecules/color-select.stories.d.ts +0 -12
  274. package/dist/stories/molecules/color-select.stories.d.ts.map +0 -1
  275. package/dist/stories/molecules/combobox.stories.d.ts +0 -17
  276. package/dist/stories/molecules/combobox.stories.d.ts.map +0 -1
  277. package/dist/stories/molecules/command-hotkeys.stories.d.ts +0 -38
  278. package/dist/stories/molecules/command-hotkeys.stories.d.ts.map +0 -1
  279. package/dist/stories/molecules/command.stories.d.ts +0 -74
  280. package/dist/stories/molecules/command.stories.d.ts.map +0 -1
  281. package/dist/stories/molecules/date-picker.stories.d.ts +0 -141
  282. package/dist/stories/molecules/date-picker.stories.d.ts.map +0 -1
  283. package/dist/stories/molecules/dialog.stories.d.ts +0 -19
  284. package/dist/stories/molecules/dialog.stories.d.ts.map +0 -1
  285. package/dist/stories/molecules/drawer.stories.d.ts +0 -158
  286. package/dist/stories/molecules/drawer.stories.d.ts.map +0 -1
  287. package/dist/stories/molecules/file-upload.stories.d.ts +0 -105
  288. package/dist/stories/molecules/file-upload.stories.d.ts.map +0 -1
  289. package/dist/stories/molecules/form-checkbox.stories.d.ts +0 -17
  290. package/dist/stories/molecules/form-checkbox.stories.d.ts.map +0 -1
  291. package/dist/stories/molecules/form-error-summary.stories.d.ts +0 -11
  292. package/dist/stories/molecules/form-error-summary.stories.d.ts.map +0 -1
  293. package/dist/stories/molecules/form-input.stories.d.ts +0 -12
  294. package/dist/stories/molecules/form-input.stories.d.ts.map +0 -1
  295. package/dist/stories/molecules/form-numeric-input.stories.d.ts +0 -18
  296. package/dist/stories/molecules/form-numeric-input.stories.d.ts.map +0 -1
  297. package/dist/stories/molecules/form-textarea.stories.d.ts +0 -12
  298. package/dist/stories/molecules/form-textarea.stories.d.ts.map +0 -1
  299. package/dist/stories/molecules/menu.stories.d.ts +0 -22
  300. package/dist/stories/molecules/menu.stories.d.ts.map +0 -1
  301. package/dist/stories/molecules/pagination.stories.d.ts +0 -13
  302. package/dist/stories/molecules/pagination.stories.d.ts.map +0 -1
  303. package/dist/stories/molecules/phone-input.stories.d.ts +0 -19
  304. package/dist/stories/molecules/phone-input.stories.d.ts.map +0 -1
  305. package/dist/stories/molecules/popover.stories.d.ts +0 -140
  306. package/dist/stories/molecules/popover.stories.d.ts.map +0 -1
  307. package/dist/stories/molecules/price-block.stories.d.ts +0 -14
  308. package/dist/stories/molecules/price-block.stories.d.ts.map +0 -1
  309. package/dist/stories/molecules/product-card.stories.d.ts +0 -41
  310. package/dist/stories/molecules/product-card.stories.d.ts.map +0 -1
  311. package/dist/stories/molecules/quantity-field.stories.d.ts +0 -16
  312. package/dist/stories/molecules/quantity-field.stories.d.ts.map +0 -1
  313. package/dist/stories/molecules/radio-card.stories.d.ts +0 -13
  314. package/dist/stories/molecules/radio-card.stories.d.ts.map +0 -1
  315. package/dist/stories/molecules/radio-group.stories.d.ts +0 -13
  316. package/dist/stories/molecules/radio-group.stories.d.ts.map +0 -1
  317. package/dist/stories/molecules/search-form.stories.d.ts +0 -17
  318. package/dist/stories/molecules/search-form.stories.d.ts.map +0 -1
  319. package/dist/stories/molecules/select.stories.d.ts +0 -19
  320. package/dist/stories/molecules/select.stories.d.ts.map +0 -1
  321. package/dist/stories/molecules/slider.stories.d.ts +0 -20
  322. package/dist/stories/molecules/slider.stories.d.ts.map +0 -1
  323. package/dist/stories/molecules/steps.stories.d.ts +0 -19
  324. package/dist/stories/molecules/steps.stories.d.ts.map +0 -1
  325. package/dist/stories/molecules/switch.stories.d.ts +0 -13
  326. package/dist/stories/molecules/switch.stories.d.ts.map +0 -1
  327. package/dist/stories/molecules/tabs.stories.d.ts +0 -18
  328. package/dist/stories/molecules/tabs.stories.d.ts.map +0 -1
  329. package/dist/stories/molecules/toast.stories.d.ts +0 -11
  330. package/dist/stories/molecules/toast.stories.d.ts.map +0 -1
  331. package/dist/stories/molecules/tour.stories.d.ts +0 -58
  332. package/dist/stories/molecules/tour.stories.d.ts.map +0 -1
  333. package/dist/stories/molecules/tree-view.stories.d.ts +0 -17
  334. package/dist/stories/molecules/tree-view.stories.d.ts.map +0 -1
  335. package/dist/stories/molecules/vertical-navigation.stories.d.ts +0 -75
  336. package/dist/stories/molecules/vertical-navigation.stories.d.ts.map +0 -1
  337. package/dist/stories/organisms/data-table.stories.d.ts +0 -145
  338. package/dist/stories/organisms/data-table.stories.d.ts.map +0 -1
  339. package/dist/stories/organisms/footer.stories.d.ts +0 -12
  340. package/dist/stories/organisms/footer.stories.d.ts.map +0 -1
  341. package/dist/stories/organisms/gallery.stories.d.ts +0 -73
  342. package/dist/stories/organisms/gallery.stories.d.ts.map +0 -1
  343. package/dist/stories/organisms/header.stories.d.ts +0 -12
  344. package/dist/stories/organisms/header.stories.d.ts.map +0 -1
  345. package/dist/stories/organisms/sidebar.stories.d.ts +0 -66
  346. package/dist/stories/organisms/sidebar.stories.d.ts.map +0 -1
  347. package/dist/stories/organisms/table.stories.d.ts +0 -63
  348. package/dist/stories/organisms/table.stories.d.ts.map +0 -1
  349. package/dist/stories/overview/apca-contrast-test.stories.d.ts +0 -8
  350. package/dist/stories/overview/apca-contrast-test.stories.d.ts.map +0 -1
  351. package/dist/stories/overview/color-palette.stories.d.ts +0 -8
  352. package/dist/stories/overview/color-palette.stories.d.ts.map +0 -1
  353. package/dist/stories/overview/component-comparison.stories.d.ts +0 -6
  354. package/dist/stories/overview/component-comparison.stories.d.ts.map +0 -1
  355. package/dist/stories/pages/akros/banner.stories.d.ts +0 -6
  356. package/dist/stories/pages/akros/banner.stories.d.ts.map +0 -1
  357. package/dist/stories/pages/akros/carts.stories.d.ts +0 -7
  358. package/dist/stories/pages/akros/carts.stories.d.ts.map +0 -1
  359. package/dist/stories/pages/akros/categories.stories.d.ts +0 -6
  360. package/dist/stories/pages/akros/categories.stories.d.ts.map +0 -1
  361. package/dist/stories/pages/akros/content.stories.d.ts +0 -7
  362. package/dist/stories/pages/akros/content.stories.d.ts.map +0 -1
  363. package/dist/stories/pages/akros/customers.stories.d.ts +0 -8
  364. package/dist/stories/pages/akros/customers.stories.d.ts.map +0 -1
  365. package/dist/stories/pages/akros/dashboard.stories.d.ts +0 -7
  366. package/dist/stories/pages/akros/dashboard.stories.d.ts.map +0 -1
  367. package/dist/stories/pages/akros/data.d.ts +0 -250
  368. package/dist/stories/pages/akros/data.d.ts.map +0 -1
  369. package/dist/stories/pages/akros/emails.stories.d.ts +0 -7
  370. package/dist/stories/pages/akros/emails.stories.d.ts.map +0 -1
  371. package/dist/stories/pages/akros/feeds.stories.d.ts +0 -6
  372. package/dist/stories/pages/akros/feeds.stories.d.ts.map +0 -1
  373. package/dist/stories/pages/akros/order-detail.stories.d.ts +0 -8
  374. package/dist/stories/pages/akros/order-detail.stories.d.ts.map +0 -1
  375. package/dist/stories/pages/akros/orders.stories.d.ts +0 -8
  376. package/dist/stories/pages/akros/orders.stories.d.ts.map +0 -1
  377. package/dist/stories/pages/akros/products.stories.d.ts +0 -9
  378. package/dist/stories/pages/akros/products.stories.d.ts.map +0 -1
  379. package/dist/stories/pages/akros/shared.d.ts +0 -69
  380. package/dist/stories/pages/akros/shared.d.ts.map +0 -1
  381. package/dist/stories/pages/akros/shipping-payments.stories.d.ts +0 -7
  382. package/dist/stories/pages/akros/shipping-payments.stories.d.ts.map +0 -1
  383. package/dist/stories/pages/auth.stories.d.ts +0 -9
  384. package/dist/stories/pages/auth.stories.d.ts.map +0 -1
  385. package/dist/stories/pages/board.stories.d.ts +0 -7
  386. package/dist/stories/pages/board.stories.d.ts.map +0 -1
  387. package/dist/stories/pages/checkout.stories.d.ts +0 -7
  388. package/dist/stories/pages/checkout.stories.d.ts.map +0 -1
  389. package/dist/stories/pages/cms-content-list.stories.d.ts +0 -8
  390. package/dist/stories/pages/cms-content-list.stories.d.ts.map +0 -1
  391. package/dist/stories/pages/cms-record-editor.stories.d.ts +0 -7
  392. package/dist/stories/pages/cms-record-editor.stories.d.ts.map +0 -1
  393. package/dist/stories/pages/crm-customer-workspace.stories.d.ts +0 -6
  394. package/dist/stories/pages/crm-customer-workspace.stories.d.ts.map +0 -1
  395. package/dist/stories/pages/crud-workflow.stories.d.ts +0 -6
  396. package/dist/stories/pages/crud-workflow.stories.d.ts.map +0 -1
  397. package/dist/stories/pages/dashboard.stories.d.ts +0 -7
  398. package/dist/stories/pages/dashboard.stories.d.ts.map +0 -1
  399. package/dist/stories/pages/data.d.ts +0 -183
  400. package/dist/stories/pages/data.d.ts.map +0 -1
  401. package/dist/stories/pages/ecommerce-orders.stories.d.ts +0 -6
  402. package/dist/stories/pages/ecommerce-orders.stories.d.ts.map +0 -1
  403. package/dist/stories/pages/frame.d.ts +0 -102
  404. package/dist/stories/pages/frame.d.ts.map +0 -1
  405. package/dist/stories/pages/layouts.stories.d.ts +0 -15
  406. package/dist/stories/pages/layouts.stories.d.ts.map +0 -1
  407. package/dist/stories/pages/media-library.stories.d.ts +0 -6
  408. package/dist/stories/pages/media-library.stories.d.ts.map +0 -1
  409. package/dist/stories/pages/order-detail.stories.d.ts +0 -6
  410. package/dist/stories/pages/order-detail.stories.d.ts.map +0 -1
  411. package/dist/stories/pages/settings.stories.d.ts +0 -6
  412. package/dist/stories/pages/settings.stories.d.ts.map +0 -1
  413. package/dist/stories/pages/shell.d.ts +0 -115
  414. package/dist/stories/pages/shell.d.ts.map +0 -1
  415. package/dist/stories/pages/storefront-category.stories.d.ts +0 -7
  416. package/dist/stories/pages/storefront-category.stories.d.ts.map +0 -1
  417. package/dist/stories/pages/storefront-product.stories.d.ts +0 -6
  418. package/dist/stories/pages/storefront-product.stories.d.ts.map +0 -1
  419. package/dist/stories/pages/system-states.stories.d.ts +0 -12
  420. package/dist/stories/pages/system-states.stories.d.ts.map +0 -1
  421. package/dist/stories/templates/accordion.stories.d.ts +0 -8
  422. package/dist/stories/templates/accordion.stories.d.ts.map +0 -1
  423. package/dist/stories/templates/breadcrumb.stories.d.ts +0 -12
  424. package/dist/stories/templates/breadcrumb.stories.d.ts.map +0 -1
  425. package/dist/stories/templates/carousel.stories.d.ts +0 -8
  426. package/dist/stories/templates/carousel.stories.d.ts.map +0 -1
  427. package/dist/stories/templates/comprehensive-form.stories.d.ts +0 -26
  428. package/dist/stories/templates/comprehensive-form.stories.d.ts.map +0 -1
  429. package/dist/stories/templates/facet-filter-panel.stories.d.ts +0 -17
  430. package/dist/stories/templates/facet-filter-panel.stories.d.ts.map +0 -1
  431. package/dist/stories/templates/gallery.stories.d.ts +0 -7
  432. package/dist/stories/templates/gallery.stories.d.ts.map +0 -1
  433. package/dist/stories/templates/numeric-input.stories.d.ts +0 -8
  434. package/dist/stories/templates/numeric-input.stories.d.ts.map +0 -1
  435. package/dist/stories/templates/popover.stories.d.ts +0 -55
  436. package/dist/stories/templates/popover.stories.d.ts.map +0 -1
  437. package/dist/stories/templates/product-card.stories.d.ts +0 -10
  438. package/dist/stories/templates/product-card.stories.d.ts.map +0 -1
  439. package/dist/stories/templates/search-suggestions.stories.d.ts +0 -119
  440. package/dist/stories/templates/search-suggestions.stories.d.ts.map +0 -1
  441. package/dist/stories/templates/select.stories.d.ts +0 -10
  442. package/dist/stories/templates/select.stories.d.ts.map +0 -1
  443. package/dist/stories/templates/tabs.stories.d.ts +0 -8
  444. package/dist/stories/templates/tabs.stories.d.ts.map +0 -1
  445. package/dist/test/cascade-select.behavior.spec.d.ts +0 -2
  446. package/dist/test/cascade-select.behavior.spec.d.ts.map +0 -1
  447. package/dist/test/combobox.behavior.spec.d.ts +0 -2
  448. package/dist/test/combobox.behavior.spec.d.ts.map +0 -1
  449. package/dist/test/command-hotkeys.spec.d.ts +0 -2
  450. package/dist/test/command-hotkeys.spec.d.ts.map +0 -1
  451. package/dist/test/command.spec.d.ts +0 -2
  452. package/dist/test/command.spec.d.ts.map +0 -1
  453. package/dist/test/date-picker.behavior.spec.d.ts +0 -2
  454. package/dist/test/date-picker.behavior.spec.d.ts.map +0 -1
  455. package/dist/test/drawer.behavior.spec.d.ts +0 -2
  456. package/dist/test/drawer.behavior.spec.d.ts.map +0 -1
  457. package/dist/test/facet-filter-panel.spec.d.ts +0 -2
  458. package/dist/test/facet-filter-panel.spec.d.ts.map +0 -1
  459. package/dist/test/form-error-summary.ids.test.d.ts +0 -2
  460. package/dist/test/form-error-summary.ids.test.d.ts.map +0 -1
  461. package/dist/test/hotkeys.spec.d.ts +0 -2
  462. package/dist/test/hotkeys.spec.d.ts.map +0 -1
  463. package/dist/test/numeric-input.spec.d.ts +0 -2
  464. package/dist/test/numeric-input.spec.d.ts.map +0 -1
  465. package/dist/test/price-availability.spec.d.ts +0 -2
  466. package/dist/test/price-availability.spec.d.ts.map +0 -1
  467. package/dist/test/quantity-field.spec.d.ts +0 -2
  468. package/dist/test/quantity-field.spec.d.ts.map +0 -1
  469. package/dist/test/search-suggestions.spec.d.ts +0 -2
  470. package/dist/test/search-suggestions.spec.d.ts.map +0 -1
  471. package/dist/test/sidebar.behavior.spec.d.ts +0 -2
  472. package/dist/test/sidebar.behavior.spec.d.ts.map +0 -1
  473. package/dist/test/sidebar.ssr.bun.d.ts +0 -2
  474. package/dist/test/sidebar.ssr.bun.d.ts.map +0 -1
  475. package/dist/test/tour.playwright.config.d.ts +0 -4
  476. package/dist/test/tour.playwright.config.d.ts.map +0 -1
  477. package/dist/test/tour.spec.d.ts +0 -2
  478. package/dist/test/tour.spec.d.ts.map +0 -1
  479. package/dist/test/tour.typecheck.d.ts +0 -11
  480. package/dist/test/tour.typecheck.d.ts.map +0 -1
  481. package/dist/test/vertical-navigation.behavior.spec.d.ts +0 -2
  482. package/dist/test/vertical-navigation.behavior.spec.d.ts.map +0 -1
  483. package/dist/test/vertical-navigation.playwright.config.d.ts +0 -4
  484. package/dist/test/vertical-navigation.playwright.config.d.ts.map +0 -1
  485. package/dist/test/visual.spec.d.ts +0 -2
  486. package/dist/test/visual.spec.d.ts.map +0 -1
@@ -39,14 +39,14 @@ const treeViewVariants = tv({
39
39
  branchIndicator: [
40
40
  "group-hover:text-tree-view-fg-hover",
41
41
  "data-[state=open]:token-icon-tree-indicator-open cursor-pointer hover:scale-125",
42
- "transition-all duration-200 motion-reduce:transition-none"
42
+ "transition duration-200 motion-reduce:transition-none"
43
43
  ],
44
44
  branchContent: [
45
45
  "relative",
46
46
  "data-[state=closed]:hidden"
47
47
  ],
48
48
  indentGuide: [
49
- "absolute start-1 top-0 bottom-0",
49
+ "absolute inset-s-1 inset-y-0",
50
50
  "w-tree-view-indent-width bg-tree-view-indent-bg",
51
51
  "opacity-tree-view-indent"
52
52
  ],
@@ -1,8 +1,13 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { DndContext, KeyboardSensor, PointerSensor, closestCenter, useSensor, useSensors } from "@dnd-kit/core";
3
- import { restrictToHorizontalAxis, restrictToVerticalAxis } from "@dnd-kit/modifiers";
4
- import { SortableContext, arrayMove, horizontalListSortingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy } from "@dnd-kit/sortable";
5
- import { CSS } from "@dnd-kit/utilities";
2
+ import { CollisionPriority, CollisionType } from "@dnd-kit/abstract";
3
+ import { RestrictToHorizontalAxis, RestrictToVerticalAxis } from "@dnd-kit/abstract/modifiers";
4
+ import { closestCenter } from "@dnd-kit/collision";
5
+ import { Accessibility, PointerActivationConstraints, PointerSensor } from "@dnd-kit/dom";
6
+ import { OptimisticSortingPlugin } from "@dnd-kit/dom/sortable";
7
+ import { getFirstScrollableAncestor, isHTMLElement, isKeyboardEvent, scrollIntoViewIfNeeded } from "@dnd-kit/dom/utilities";
8
+ import { arrayMove } from "@dnd-kit/helpers";
9
+ import { DragDropProvider, useDragOperation } from "@dnd-kit/react";
10
+ import { useSortable } from "@dnd-kit/react/sortable";
6
11
  import { flexRender, useTable } from "@tanstack/react-table";
7
12
  import { useVirtualizer } from "@tanstack/react-virtual";
8
13
  import { Fragment as external_react_Fragment, createContext, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
@@ -44,7 +49,7 @@ const dataTableVariants = tv({
44
49
  ],
45
50
  sortButton: [
46
51
  "inline-flex items-center gap-100 whitespace-nowrap",
47
- "cursor-pointer select-none bg-transparent text-left",
52
+ "cursor-pointer select-none bg-transparent text-start",
48
53
  "data-[disabled=true]:cursor-default"
49
54
  ],
50
55
  sortIcon: [
@@ -61,7 +66,7 @@ const dataTableVariants = tv({
61
66
  "active:cursor-grabbing"
62
67
  ],
63
68
  resizeHandle: [
64
- "w-(length:--size-data-table-resize-handle) absolute end-0 top-0 h-full cursor-col-resize touch-none select-none",
69
+ "w-(length:--size-data-table-resize-handle) absolute inset-e-0 top-0 h-full cursor-col-resize touch-none select-none",
65
70
  "opacity-0 transition-opacity duration-200 motion-reduce:transition-none",
66
71
  "bg-data-table-resize-handle-bg hover:opacity-100 focus-visible:opacity-100",
67
72
  "group-hover/header:opacity-100"
@@ -132,80 +137,192 @@ function useControllable(controlled, initial, callback) {
132
137
  onChange
133
138
  ];
134
139
  }
140
+ const tableSortablePlugins = (defaults)=>defaults.filter((plugin)=>plugin !== OptimisticSortingPlugin);
141
+ const tableDragAccessibility = {
142
+ screenReaderInstructions: {
143
+ draggable: "To reorder, focus a drag handle and press Space or Enter. Use Up and Down for rows, or Left and Right for columns. Press Space or Enter to drop, or Escape to cancel."
144
+ },
145
+ announcements: {
146
+ dragstart: ({ operation: { source } })=>source ? `Picked up ${source.data.label}, position ${source.data.index + 1}.` : void 0,
147
+ dragover: ({ operation: { source, target } })=>{
148
+ if (!(source && target) || source.id === target.id) return;
149
+ const side = source.data.index < target.data.index ? "after" : "before";
150
+ return `${source.data.label} will move ${side} ${target.data.label}.`;
151
+ },
152
+ dragend: ({ canceled, operation: { source, target } })=>{
153
+ if (!source) return;
154
+ if (canceled || !target) return `Reordering ${source.data.label} canceled.`;
155
+ return `Dropped ${source.data.label}, position ${target.data.index + 1}.`;
156
+ }
157
+ }
158
+ };
159
+ const tableDragPlugins = (defaults)=>defaults.map((plugin)=>plugin === Accessibility ? Accessibility.configure(tableDragAccessibility) : plugin);
160
+ const tableDragSensors = (defaults)=>defaults.map((sensor)=>sensor === PointerSensor ? PointerSensor.configure({
161
+ activationConstraints: [
162
+ new PointerActivationConstraints.Distance({
163
+ value: 5
164
+ })
165
+ ]
166
+ }) : sensor);
167
+ const tableCollisionDetector = (input)=>{
168
+ const { dragOperation, droppable } = input;
169
+ if (!isKeyboardEvent(dragOperation.activatorEvent)) return closestCenter(input);
170
+ const targetId = dragOperation.target?.id ?? dragOperation.source?.id;
171
+ return droppable.id === targetId ? {
172
+ id: droppable.id,
173
+ value: 1,
174
+ type: CollisionType.Collision,
175
+ priority: CollisionPriority.Normal
176
+ } : null;
177
+ };
178
+ function tableDragScrollBounds(cell, scroller) {
179
+ const viewport = scroller.getBoundingClientRect();
180
+ let left = viewport.left + scroller.clientLeft;
181
+ let right = left + scroller.clientWidth;
182
+ for (const sibling of cell.parentElement?.children ?? []){
183
+ const style = getComputedStyle(sibling);
184
+ if ("sticky" !== style.position) continue;
185
+ const rect = sibling.getBoundingClientRect();
186
+ if ("auto" !== style.left) left = Math.max(left, rect.right);
187
+ if ("auto" !== style.right) right = Math.min(right, rect.left);
188
+ }
189
+ return {
190
+ left,
191
+ right
192
+ };
193
+ }
194
+ function revealTableDragHandle(element) {
195
+ const cell = element.closest("td, th");
196
+ if (!(cell && element.isConnected) || "fixed" === getComputedStyle(cell).position || cell.parentElement && "fixed" === getComputedStyle(cell.parentElement).position) return;
197
+ const cellStyle = getComputedStyle(cell);
198
+ if ("sticky" === cellStyle.position && ("auto" !== cellStyle.left || "auto" !== cellStyle.right)) return;
199
+ const scroller = getFirstScrollableAncestor(cell);
200
+ if (!isHTMLElement(scroller) || scroller.scrollWidth <= scroller.clientWidth) return;
201
+ const { left, right } = tableDragScrollBounds(cell, scroller);
202
+ if (right <= left) return;
203
+ const cellRect = cell.getBoundingClientRect();
204
+ const rect = cellRect.width <= right - left ? cellRect : element.getBoundingClientRect();
205
+ let delta = 0;
206
+ if (rect.width > right - left) delta = (rect.left + rect.right - left - right) / 2;
207
+ else if (rect.left < left) delta = rect.left - left;
208
+ else if (rect.right > right) delta = rect.right - right;
209
+ scroller.scrollLeft += delta;
210
+ }
211
+ function handleTableDragFocus(event) {
212
+ if (event.currentTarget.matches(":focus-visible")) revealTableDragHandle(event.currentTarget);
213
+ }
214
+ function useTableDragHandleReveal(sortable) {
215
+ const { sortable: entity, isDragging, isDropping } = sortable;
216
+ useLayoutEffect(()=>{
217
+ const handle = entity.draggable.handle;
218
+ if (!(isDragging || isDropping) && handle && handle.ownerDocument.activeElement === handle && handle.matches(":focus-visible")) revealTableDragHandle(handle);
219
+ }, [
220
+ entity,
221
+ isDragging,
222
+ isDropping
223
+ ]);
224
+ }
225
+ const handleTableKeyboardMove = (event, manager)=>{
226
+ const { source, target } = manager.dragOperation;
227
+ if (!(source && isKeyboardEvent(event.nativeEvent) && event.by)) return;
228
+ event.preventDefault();
229
+ const column = "column" === source.data.kind;
230
+ let direction = Math.sign(column ? event.by.x : event.by.y);
231
+ if (column && source.element && "rtl" === getComputedStyle(source.element).direction) direction *= -1;
232
+ if (!direction) return;
233
+ const index = target?.data.index ?? source.data.index;
234
+ const next = [
235
+ ...manager.registry.droppables
236
+ ].filter((entry)=>!entry.disabled && entry.element?.isConnected && entry.accepts(source) && entry.data.kind === source.data.kind && (entry.data.index - index) * direction > 0).sort((a, b)=>(a.data.index - b.data.index) * direction)[0];
237
+ if (!next?.element) return;
238
+ const controller = manager.dragOperation.controller;
239
+ manager.actions.setDropTarget(next.id).then(()=>{
240
+ const operation = manager.dragOperation;
241
+ if (!operation.status.dragging || operation.controller !== controller || controller?.signal.aborted || operation.target?.id !== next.id || !next.element?.isConnected || !operation.shape) return;
242
+ scrollIntoViewIfNeeded(next.element, {
243
+ block: column ? "none" : "nearest",
244
+ inline: column ? "nearest" : "none"
245
+ });
246
+ if (column) revealTableDragHandle(next.element.querySelector("button") ?? next.element);
247
+ const rect = next.element.getBoundingClientRect();
248
+ const center = operation.shape.current.center;
249
+ manager.actions.move({
250
+ by: {
251
+ x: column ? rect.left + rect.width / 2 - center.x : 0,
252
+ y: column ? 0 : rect.top + rect.height / 2 - center.y
253
+ }
254
+ });
255
+ });
256
+ };
135
257
  function dropEdge(sortable, edges) {
136
- if (!sortable.isOver || sortable.isDragging) return;
258
+ if (!sortable.isDropTarget || sortable.isDragging) return;
137
259
  return sortable.activeIndex < sortable.overIndex ? edges.after : edges.before;
138
260
  }
139
- function SortableHeaderContent({ columnId, children }) {
261
+ function useTableSortable(kind, id, index, label, edges) {
140
262
  const sortable = useSortable({
141
- id: columnId,
263
+ id: `${kind}:${id}`,
264
+ index,
265
+ type: kind,
266
+ accept: kind,
267
+ group: `${kind}s`,
142
268
  data: {
143
- type: "column"
144
- }
269
+ kind,
270
+ id,
271
+ index,
272
+ label
273
+ },
274
+ modifiers: [
275
+ "column" === kind ? RestrictToHorizontalAxis : RestrictToVerticalAxis
276
+ ],
277
+ collisionDetector: tableCollisionDetector,
278
+ plugins: tableSortablePlugins
145
279
  });
146
- const style = {
147
- transform: CSS.Translate.toString(sortable.transform),
148
- transition: sortable.transition,
149
- opacity: sortable.isDragging ? 0.4 : 1
150
- };
280
+ useTableDragHandleReveal(sortable);
281
+ const { source } = useDragOperation();
151
282
  const dropSide = dropEdge({
152
- isOver: sortable.isOver,
283
+ isDropTarget: sortable.isDropTarget,
153
284
  isDragging: sortable.isDragging,
154
- activeIndex: sortable.activeIndex ?? 0,
155
- overIndex: sortable.overIndex ?? 0
156
- }, {
285
+ activeIndex: source?.data.index ?? index,
286
+ overIndex: index
287
+ }, edges);
288
+ return {
289
+ sortable,
290
+ dropSide
291
+ };
292
+ }
293
+ function SortableHeaderContent({ columnId, index, label, children }) {
294
+ const { sortable, dropSide } = useTableSortable("column", columnId, index, label, {
157
295
  after: "end",
158
296
  before: "start"
159
297
  });
160
- return /*#__PURE__*/ jsx(Fragment, {
161
- children: children({
162
- setActivatorNodeRef: sortable.setActivatorNodeRef,
163
- listeners: sortable.listeners,
164
- style,
165
- setNodeRef: sortable.setNodeRef,
166
- isDragging: sortable.isDragging,
167
- dropSide,
168
- attributes: sortable.attributes
169
- })
298
+ return children({
299
+ handleRef: sortable.handleRef,
300
+ nodeRef: sortable.ref,
301
+ style: {
302
+ opacity: sortable.isDragging ? 0.4 : 1
303
+ },
304
+ isDragging: sortable.isDragging,
305
+ dropSide
170
306
  });
171
307
  }
172
- function SortableRow({ row, enabled, children }) {
173
- const sortable = useSortable({
174
- id: row.id,
175
- disabled: !enabled,
176
- data: {
177
- type: "row"
178
- }
179
- });
180
- const style = {
181
- transform: CSS.Transform.toString(sortable.transform),
182
- transition: sortable.transition,
183
- opacity: sortable.isDragging ? 0.4 : 1,
184
- position: "relative",
185
- zIndex: sortable.isDragging ? 1 : void 0
186
- };
187
- const dropSide = dropEdge({
188
- isOver: sortable.isOver,
189
- isDragging: sortable.isDragging,
190
- activeIndex: sortable.activeIndex ?? 0,
191
- overIndex: sortable.overIndex ?? 0
192
- }, {
308
+ function SortableRow({ row, index, label, children }) {
309
+ const { sortable, dropSide } = useTableSortable("row", row.id, index, label, {
193
310
  after: "bottom",
194
311
  before: "top"
195
312
  });
196
- const dragHandleProps = {
197
- ref: sortable.setActivatorNodeRef,
198
- ...sortable.attributes,
199
- ...sortable.listeners
200
- };
201
- return /*#__PURE__*/ jsx(Fragment, {
202
- children: children({
203
- setNodeRef: sortable.setNodeRef,
204
- style,
205
- dragHandleProps,
206
- isDragging: sortable.isDragging,
207
- dropSide
208
- })
313
+ return children({
314
+ nodeRef: sortable.ref,
315
+ style: {
316
+ opacity: sortable.isDragging ? 0.4 : 1,
317
+ position: "relative",
318
+ zIndex: sortable.isDragging ? 1 : void 0
319
+ },
320
+ dragHandleProps: {
321
+ onFocus: handleTableDragFocus,
322
+ ref: sortable.handleRef
323
+ },
324
+ isDragging: sortable.isDragging,
325
+ dropSide
209
326
  });
210
327
  }
211
328
  const DataTableContext = /*#__PURE__*/ createContext(null);
@@ -226,6 +343,8 @@ const DEFAULT_TRANSLATIONS = {
226
343
  actionsLabel: "Actions",
227
344
  filtersLabel: "Column filters",
228
345
  selectAllLabel: "Select all rows",
346
+ selectionLabel: "Select rows",
347
+ reorderLabel: "Reorder rows",
229
348
  loadingLabel: "Loading data",
230
349
  operatorLabels: {},
231
350
  editingLabel: "Editing a row — other table controls are locked",
@@ -250,14 +369,13 @@ function pinClass(column, kind) {
250
369
  isFirstEndPinned(column) ? "border-s-(length:--border-width-data-table) border-data-table-border" : ""
251
370
  ].join(" ");
252
371
  }
253
- function HeaderDragHandle({ styles, setActivatorNodeRef, listeners, attributes, label }) {
372
+ function HeaderDragHandle({ styles, handleRef, label }) {
254
373
  return /*#__PURE__*/ jsx("button", {
255
374
  "aria-label": `Drag to reorder ${label}`,
256
375
  className: styles.dragHandle(),
257
- ref: setActivatorNodeRef,
376
+ onFocus: handleTableDragFocus,
377
+ ref: handleRef,
258
378
  type: "button",
259
- ...attributes,
260
- ...listeners,
261
379
  children: /*#__PURE__*/ jsx(Icon, {
262
380
  icon: "icon-[mdi--drag-vertical]",
263
381
  size: "current"
@@ -459,7 +577,7 @@ function editingRowElementId(editingRowId, instanceId, rowId) {
459
577
  }
460
578
  function composeRowRef(dnd, consumerRef) {
461
579
  return (node)=>{
462
- dnd?.setNodeRef(node);
580
+ dnd?.nodeRef(node);
463
581
  if ("function" == typeof consumerRef) consumerRef(node);
464
582
  else if (consumerRef) consumerRef.current = node;
465
583
  };
@@ -598,6 +716,8 @@ function DataTable(props) {
598
716
  locked,
599
717
  getRowLabel,
600
718
  selectAllLabel: translations.selectAllLabel,
719
+ selectionLabel: translations.selectionLabel,
720
+ reorderLabel: translations.reorderLabel,
601
721
  showSelectAll: "multiple" === selectionMode && null == maxSelectedRows
602
722
  }), [
603
723
  userColumns,
@@ -606,6 +726,8 @@ function DataTable(props) {
606
726
  locked,
607
727
  getRowLabel,
608
728
  translations.selectAllLabel,
729
+ translations.selectionLabel,
730
+ translations.reorderLabel,
609
731
  selectionMode,
610
732
  maxSelectedRows
611
733
  ]);
@@ -875,10 +997,6 @@ function DataTable(props) {
875
997
  row,
876
998
  index
877
999
  }));
878
- const [activeDragAxis, setActiveDragAxis] = useState(null);
879
- const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
880
- coordinateGetter: sortableKeyboardCoordinates
881
- }));
882
1000
  useEffect(()=>{
883
1001
  if (!onReachEnd || maxHeight) return;
884
1002
  const onWindowScroll = ()=>{
@@ -929,29 +1047,29 @@ function DataTable(props) {
929
1047
  checkReachEnd(distance, reachEndThreshold, reachedEndRef, fireReachEnd);
930
1048
  };
931
1049
  const handleColumnDragEnd = (event)=>{
932
- const { active, over } = event;
933
- if (!over || active.id === over.id) return;
934
- const current = table.state.columnOrder.length ? table.state.columnOrder : table.getAllLeafColumns().map((c)=>c.id);
935
- const from = current.indexOf(active.id);
936
- const to = current.indexOf(over.id);
1050
+ const { source, target } = event.operation;
1051
+ if (event.canceled || locked || !(source && target) || source.id === target.id || "column" !== source.data.kind || "column" !== target.data.kind || !reorderableLeafIds.includes(source.data.id) || !reorderableLeafIds.includes(target.data.id)) return;
1052
+ const current = table.getAllLeafColumns().map((column)=>column.id);
1053
+ const from = current.indexOf(source.data.id);
1054
+ const to = current.indexOf(target.data.id);
937
1055
  if (-1 === from || -1 === to) return;
938
1056
  const next = arrayMove(current, from, to);
939
1057
  setColumnOrder(next);
940
1058
  const publicBefore = current.filter((id)=>!BUILTIN_COLUMN_IDS.has(id));
941
1059
  const publicOrder = next.filter((id)=>!BUILTIN_COLUMN_IDS.has(id));
942
1060
  onColumnReorder?.({
943
- from: publicBefore.indexOf(active.id),
944
- to: publicOrder.indexOf(active.id),
945
- columnId: active.id,
1061
+ from: publicBefore.indexOf(source.data.id),
1062
+ to: publicOrder.indexOf(source.data.id),
1063
+ columnId: source.data.id,
946
1064
  order: publicOrder
947
1065
  });
948
1066
  };
949
1067
  const handleRowDragEnd = (event)=>{
950
- const { active, over } = event;
951
- if (!over || active.id === over.id) return;
1068
+ const { source, target } = event.operation;
1069
+ if (event.canceled || !rowReorderActive || !(source && target) || source.id === target.id || "row" !== source.data.kind || "row" !== target.data.kind || !rootRowIds.includes(source.data.id) || !rootRowIds.includes(target.data.id)) return;
952
1070
  const coreRowsById = table.getCoreRowModel().rowsById;
953
- const from = coreRowsById[active.id]?.index;
954
- const to = coreRowsById[over.id]?.index;
1071
+ const from = coreRowsById[source.data.id]?.index;
1072
+ const to = coreRowsById[target.data.id]?.index;
955
1073
  if (void 0 === from || void 0 === to) return;
956
1074
  const next = arrayMove([
957
1075
  ...data
@@ -959,7 +1077,7 @@ function DataTable(props) {
959
1077
  onRowReorder?.({
960
1078
  from,
961
1079
  to,
962
- rowId: active.id,
1080
+ rowId: source.data.id,
963
1081
  data: next
964
1082
  });
965
1083
  };
@@ -1023,7 +1141,7 @@ function DataTable(props) {
1023
1141
  colSpan: header.colSpan,
1024
1142
  "data-dragging": dnd?.isDragging || void 0,
1025
1143
  "data-pinned": column.getIsPinned() || void 0,
1026
- ref: dnd?.setNodeRef,
1144
+ ref: dnd?.nodeRef,
1027
1145
  style: {
1028
1146
  ...OPAQUE_HEADER_BG,
1029
1147
  ...stickyRowOffset(stickyHeader, headerOffsets, groupIndex),
@@ -1036,10 +1154,8 @@ function DataTable(props) {
1036
1154
  className: styles.headerLabel(),
1037
1155
  children: [
1038
1156
  dnd && /*#__PURE__*/ jsx(HeaderDragHandle, {
1039
- attributes: dnd.attributes,
1157
+ handleRef: dnd.handleRef,
1040
1158
  label: columnLabel(column),
1041
- listeners: dnd.listeners,
1042
- setActivatorNodeRef: dnd.setActivatorNodeRef,
1043
1159
  styles: styles
1044
1160
  }),
1045
1161
  /*#__PURE__*/ jsx(HeaderSortLabel, {
@@ -1074,11 +1190,13 @@ function DataTable(props) {
1074
1190
  const reorderable = enableColumnReorder && !locked && 0 === header.subHeaders.length && !header.column.getIsPinned() && !BUILTIN_COLUMN_IDS.has(header.column.id);
1075
1191
  return reorderable ? /*#__PURE__*/ jsx(SortableHeaderContent, {
1076
1192
  columnId: header.column.id,
1193
+ index: reorderableLeafIds.indexOf(header.column.id),
1194
+ label: columnLabel(header.column),
1077
1195
  children: (dnd)=>renderHeaderCell(header, groupIndex, dnd)
1078
1196
  }, header.id) : renderHeaderCell(header, groupIndex);
1079
1197
  }),
1080
1198
  hasActionsColumn && 0 === groupIndex && /*#__PURE__*/ jsx(Table.ColumnHeader, {
1081
- className: stickyActions ? "sticky end-0" : void 0,
1199
+ className: stickyActions ? "sticky inset-e-0" : void 0,
1082
1200
  numeric: true,
1083
1201
  rowSpan: table.getHeaderGroups().length,
1084
1202
  style: {
@@ -1116,7 +1234,7 @@ function DataTable(props) {
1116
1234
  })
1117
1235
  }, column.id)),
1118
1236
  hasActionsColumn && /*#__PURE__*/ jsx("td", {
1119
- className: stickyActions ? `${styles.filterCell()} sticky end-0 bg-data-table-filter-row-bg` : styles.filterCell(),
1237
+ className: stickyActions ? `${styles.filterCell()} sticky inset-e-0 bg-data-table-filter-row-bg` : styles.filterCell(),
1120
1238
  style: {
1121
1239
  ...OPAQUE_FILTER_ROW_BG,
1122
1240
  ...stickyHeader ? {
@@ -1207,7 +1325,7 @@ function DataTable(props) {
1207
1325
  };
1208
1326
  const expandAriaControls = (rowId)=>renderExpandedRow ? `${instanceId}-detail-${rowId}` : void 0;
1209
1327
  const renderActionsCell = (row)=>/*#__PURE__*/ jsx(Table.Cell, {
1210
- className: stickyActions ? "data-table-frozen-cell sticky end-0" : void 0,
1328
+ className: stickyActions ? "data-table-frozen-cell sticky inset-e-0" : void 0,
1211
1329
  numeric: true,
1212
1330
  style: stickyActions ? {
1213
1331
  zIndex: DATA_TABLE_Z.stickyActionsCell
@@ -1332,7 +1450,8 @@ function DataTable(props) {
1332
1450
  };
1333
1451
  const rowReorderActive = enableRowReorder && !locked && 0 === sorting.length && 0 === columnFilters.length && !globalFilter;
1334
1452
  const bodyRows = renderRows.map(({ row, index: rowIndex })=>rowReorderActive && 0 === row.depth ? /*#__PURE__*/ jsx(SortableRow, {
1335
- enabled: enableRowReorder,
1453
+ index: rootRowIds.indexOf(row.id),
1454
+ label: getRowLabel?.(row) ?? `row ${row.id}`,
1336
1455
  row: row,
1337
1456
  children: (dnd)=>renderBodyRow(row, rowIndex, dnd)
1338
1457
  }, row.id) : renderBodyRow(row, rowIndex));
@@ -1348,7 +1467,7 @@ function DataTable(props) {
1348
1467
  })
1349
1468
  }, `${rowKey}-${column.id}`)),
1350
1469
  hasActionsColumn && /*#__PURE__*/ jsx(Table.Cell, {
1351
- className: stickyActions ? "data-table-frozen-cell sticky end-0" : void 0,
1470
+ className: stickyActions ? "data-table-frozen-cell sticky inset-e-0" : void 0,
1352
1471
  numeric: true,
1353
1472
  style: stickyActions ? {
1354
1473
  zIndex: DATA_TABLE_Z.stickyActionsCell
@@ -1429,7 +1548,7 @@ function DataTable(props) {
1429
1548
  children: header.isPlaceholder ? null : flexRender(header.column.columnDef.footer, header.getContext())
1430
1549
  }, header.id)),
1431
1550
  hasActionsColumn && /*#__PURE__*/ jsx(Table.Cell, {
1432
- className: stickyActions ? "sticky end-0 bg-data-table-footer-bg" : void 0,
1551
+ className: stickyActions ? "sticky inset-e-0 bg-data-table-footer-bg" : void 0,
1433
1552
  numeric: true,
1434
1553
  style: stickyActions ? {
1435
1554
  zIndex: DATA_TABLE_Z.stickyActionsCell
@@ -1455,36 +1574,22 @@ function DataTable(props) {
1455
1574
  caption && /*#__PURE__*/ jsx(Table.Caption, {
1456
1575
  children: caption
1457
1576
  }),
1458
- enableColumnReorder ? /*#__PURE__*/ jsx(SortableContext, {
1459
- items: reorderableLeafIds,
1460
- strategy: horizontalListSortingStrategy,
1461
- children: headerContent
1462
- }) : headerContent,
1463
- rowReorderActive ? /*#__PURE__*/ jsx(SortableContext, {
1464
- items: rootRowIds,
1465
- strategy: verticalListSortingStrategy,
1466
- children: bodyContent
1467
- }) : bodyContent,
1577
+ headerContent,
1578
+ bodyContent,
1468
1579
  footerContent
1469
1580
  ]
1470
1581
  });
1471
- const isColumnDrag = (event)=>event.active.data.current?.type === "column";
1472
1582
  const handleDragEnd = (event)=>{
1473
- if (enableColumnReorder && isColumnDrag(event)) return void handleColumnDragEnd(event);
1474
- if (rowReorderActive) handleRowDragEnd(event);
1583
+ if (event.canceled) return;
1584
+ if (enableColumnReorder && event.operation.source?.data.kind === "column") handleColumnDragEnd(event);
1585
+ else if (rowReorderActive) handleRowDragEnd(event);
1475
1586
  };
1476
1587
  let scrollBody = tableEl;
1477
- if (enableColumnReorder || rowReorderActive) scrollBody = /*#__PURE__*/ jsx(DndContext, {
1478
- collisionDetection: closestCenter,
1479
- modifiers: [
1480
- "column" === activeDragAxis ? restrictToHorizontalAxis : restrictToVerticalAxis
1481
- ],
1482
- onDragEnd: (event)=>{
1483
- handleDragEnd(event);
1484
- setActiveDragAxis(null);
1485
- },
1486
- onDragStart: (event)=>setActiveDragAxis(enableColumnReorder && isColumnDrag(event) ? "column" : "row"),
1487
- sensors: sensors,
1588
+ if (enableColumnReorder || rowReorderActive) scrollBody = /*#__PURE__*/ jsx(DragDropProvider, {
1589
+ onDragEnd: handleDragEnd,
1590
+ onDragMove: handleTableKeyboardMove,
1591
+ plugins: tableDragPlugins,
1592
+ sensors: tableDragSensors,
1488
1593
  children: scrollBody
1489
1594
  });
1490
1595
  const ctxValue = {
@@ -1537,11 +1642,14 @@ function DataTable(props) {
1537
1642
  })
1538
1643
  });
1539
1644
  }
1540
- function buildColumns({ userColumns, enableRowReorder, enableRowSelection, locked, getRowLabel, selectAllLabel, showSelectAll }) {
1645
+ function buildColumns({ userColumns, enableRowReorder, enableRowSelection, locked, getRowLabel, selectAllLabel, selectionLabel, reorderLabel, showSelectAll }) {
1541
1646
  const leading = [];
1542
1647
  if (enableRowReorder) leading.push({
1543
1648
  id: DRAG_COLUMN_ID,
1544
- header: ()=>null,
1649
+ header: ()=>/*#__PURE__*/ jsx("span", {
1650
+ className: "sr-only",
1651
+ children: reorderLabel
1652
+ }),
1545
1653
  cell: ()=>null,
1546
1654
  enableSorting: false,
1547
1655
  enableColumnFilter: false,
@@ -1558,7 +1666,10 @@ function buildColumns({ userColumns, enableRowReorder, enableRowSelection, locke
1558
1666
  disabled: locked,
1559
1667
  indeterminate: table.getIsSomeRowsSelected() && !table.getIsAllRowsSelected(),
1560
1668
  onChange: table.getToggleAllRowsSelectedHandler()
1561
- }) : null,
1669
+ }) : /*#__PURE__*/ jsx("span", {
1670
+ className: "sr-only",
1671
+ children: selectionLabel
1672
+ }),
1562
1673
  cell: ({ row })=>/*#__PURE__*/ jsx(Checkbox, {
1563
1674
  "aria-label": `Select ${getRowLabel?.(row) ?? `row ${row.id}`}`,
1564
1675
  checked: row.getIsSelected(),
@@ -8,7 +8,7 @@ const footerVariants = tv({
8
8
  container: "w-full max-w-footer-max bg-footer-container-bg",
9
9
  section: "bg-footer-section-bg",
10
10
  list: "flex list-none flex-col gap-footer-list bg-footer-list-bg",
11
- bottom: "flex w-full items-center justify-between border-t-(length:--border-footer-width) bg-footer-bottom-bg pt-footer-bottom",
11
+ bottom: "border-t-(length:--border-footer-width) flex w-full items-center justify-between bg-footer-bottom-bg pt-footer-bottom",
12
12
  title: "font-footer-title text-footer-title-fg transition-footer-title hover:text-footer-title-fg-hover",
13
13
  link: "font-footer-link text-footer-link-fg transition-footer-link hover:text-footer-link-fg-hover",
14
14
  text: "text-footer-text-fg",
@@ -7,15 +7,15 @@ import { tv } from "../utils.js";
7
7
  const galleryVariants = tv({
8
8
  slots: {
9
9
  root: "w-full gap-gallery-root",
10
- main: "relative flex min-w-0 h-fit",
10
+ main: "relative flex h-fit min-w-0",
11
11
  thumbnails: "shrink-0",
12
- thumbnailsScrollArea: "scrollbar-thin",
12
+ thumbnailsScrollArea: "scrollbar-auto",
13
13
  thumbnailsList: "flex gap-gallery-sm",
14
14
  thumbnailTrigger: [
15
15
  "relative shrink-0",
16
16
  "size-(--gallery-thumbnail-size)",
17
17
  "aspect-square",
18
- "overflow-hidden rounded-gallery-trigger border border-gallery-trigger-border bg-gallery-trigger-bg",
18
+ "min-w-0 overflow-clip rounded-gallery-trigger border border-gallery-trigger-border bg-gallery-trigger-bg",
19
19
  "cursor-pointer p-gallery-trigger",
20
20
  "focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width)",
21
21
  "focus-visible:outline-gallery-trigger-ring",
@@ -25,8 +25,8 @@ const galleryVariants = tv({
25
25
  "shadow-gallery-trigger",
26
26
  "brightness-gallery-trigger",
27
27
  "hover:brightness-gallery-trigger-active data-active:brightness-gallery-trigger-active",
28
- "transition-all duration-200 motion-reduce:transition-none",
29
- "*:h-full *:w-full *:object-cover"
28
+ "transition duration-200 motion-reduce:transition-none",
29
+ "*:size-full *:object-cover"
30
30
  ]
31
31
  },
32
32
  variants: {
@@ -42,7 +42,7 @@ const galleryVariants = tv({
42
42
  root: "flex flex-col md:grid md:grid-cols-[minmax(0,1fr)_auto] md:items-start",
43
43
  main: "order-1 md:col-start-1 md:row-start-1",
44
44
  thumbnails: "order-2 md:col-start-2 md:row-start-1",
45
- thumbnailsScrollArea: "w-full overflow-x-auto overflow-y-hidden md:max-h-gallery md:overflow-x-hidden md:overflow-y-auto",
45
+ thumbnailsScrollArea: "w-full overflow-x-auto overflow-y-hidden md:max-h-gallery md:overflow-y-auto md:overflow-x-hidden",
46
46
  thumbnailsList: "flex-row items-center py-gallery-sm md:flex-col md:items-stretch md:px-gallery-xs md:py-0"
47
47
  }
48
48
  }
@@ -175,6 +175,22 @@ Gallery.Thumbnail = function({ index, children, imageAs, imageClassName, classNa
175
175
  "--gallery-thumbnail-size": `${thumbnailSize}px`,
176
176
  ...style
177
177
  };
178
+ let fallbackThumbnail = null;
179
+ if (thumbnailSource) fallbackThumbnail = hasCustomThumbnailComponent ? /*#__PURE__*/ jsx(CustomThumbnailComponent, {
180
+ alt: thumbnailAlt,
181
+ className: imageClassName,
182
+ height: thumbnailSize,
183
+ src: thumbnailSource,
184
+ width: thumbnailSize,
185
+ ...item.thumbnailImageProps
186
+ }) : /*#__PURE__*/ jsx(Image, {
187
+ alt: thumbnailAlt,
188
+ className: imageClassName,
189
+ height: thumbnailSize,
190
+ src: thumbnailSource,
191
+ width: thumbnailSize,
192
+ ...item.thumbnailImageProps
193
+ });
178
194
  return /*#__PURE__*/ jsx(Button, {
179
195
  "aria-current": isActive ? "true" : void 0,
180
196
  "aria-label": getThumbnailAriaLabel({
@@ -191,21 +207,7 @@ Gallery.Thumbnail = function({ index, children, imageAs, imageClassName, classNa
191
207
  theme: "unstyled",
192
208
  type: "button",
193
209
  ...props,
194
- children: children ?? item.thumbnailContent ?? (thumbnailSource ? hasCustomThumbnailComponent ? /*#__PURE__*/ jsx(CustomThumbnailComponent, {
195
- alt: thumbnailAlt,
196
- className: imageClassName,
197
- height: thumbnailSize,
198
- src: thumbnailSource,
199
- width: thumbnailSize,
200
- ...item.thumbnailImageProps
201
- }) : /*#__PURE__*/ jsx(Image, {
202
- alt: thumbnailAlt,
203
- className: imageClassName,
204
- height: thumbnailSize,
205
- src: thumbnailSource,
206
- width: thumbnailSize,
207
- ...item.thumbnailImageProps
208
- }) : null)
210
+ children: children ?? item.thumbnailContent ?? fallbackThumbnail
209
211
  });
210
212
  };
211
213
  Gallery.Carousel = function({ children, onPageChange, ...props }) {