@editora/ui-core 0.1.21 → 0.1.23

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 (348) hide show
  1. package/README.md +292 -221
  2. package/dist/{ElementBase-YlTLMsGk.mjs → ElementBase-BeZT54Hj.mjs} +3 -2
  3. package/dist/ElementBase-DxbvhLJs.js +1 -0
  4. package/dist/ElementBase.d.ts +2 -1
  5. package/dist/ElementBase.d.ts.map +1 -1
  6. package/dist/__tests__/setup.d.ts +0 -2
  7. package/dist/__tests__/setup.d.ts.map +1 -1
  8. package/dist/accordion.cjs.js +4 -4
  9. package/dist/accordion.esm.js +4 -4
  10. package/dist/alert-dialog.cjs.js +32 -32
  11. package/dist/alert-dialog.esm.js +95 -75
  12. package/dist/alert.cjs.js +7 -7
  13. package/dist/alert.esm.js +7 -7
  14. package/dist/anchor.cjs.js +3 -3
  15. package/dist/anchor.esm.js +6 -5
  16. package/dist/animated-beam.cjs.js +1 -1
  17. package/dist/animated-beam.esm.js +1 -1
  18. package/dist/animated-list.cjs.js +5 -5
  19. package/dist/animated-list.esm.js +5 -5
  20. package/dist/animated-text.cjs.js +5 -5
  21. package/dist/animated-text.esm.js +5 -5
  22. package/dist/app-header.cjs.js +4 -4
  23. package/dist/app-header.esm.js +4 -4
  24. package/dist/aspect-ratio.cjs.js +4 -4
  25. package/dist/aspect-ratio.esm.js +4 -4
  26. package/dist/avatar.cjs.js +14 -14
  27. package/dist/avatar.esm.js +31 -29
  28. package/dist/badge.cjs.js +5 -5
  29. package/dist/badge.esm.js +5 -5
  30. package/dist/block-controls.cjs.js +5 -5
  31. package/dist/block-controls.esm.js +5 -5
  32. package/dist/box.cjs.js +3 -3
  33. package/dist/box.esm.js +3 -3
  34. package/dist/breadcrumb.cjs.js +6 -6
  35. package/dist/breadcrumb.esm.js +6 -6
  36. package/dist/button.cjs.js +1 -1
  37. package/dist/button.esm.js +1 -1
  38. package/dist/{calendar-DLY4acgn.mjs → calendar-B3PUKHQm.mjs} +227 -183
  39. package/dist/{calendar-Dkof-FTK.js → calendar-D-mXMgqc.js} +74 -35
  40. package/dist/calendar.cjs.js +1 -1
  41. package/dist/calendar.esm.js +1 -1
  42. package/dist/card.cjs.js +8 -8
  43. package/dist/card.esm.js +63 -20
  44. package/dist/chart.cjs.js +5 -5
  45. package/dist/chart.esm.js +7 -7
  46. package/dist/checkbox.cjs.js +3 -3
  47. package/dist/checkbox.esm.js +3 -3
  48. package/dist/collapsible.cjs.js +8 -8
  49. package/dist/collapsible.esm.js +8 -8
  50. package/dist/collection.cjs.js +1 -1
  51. package/dist/collection.esm.js +9 -8
  52. package/dist/color-picker.cjs.js +30 -10
  53. package/dist/color-picker.esm.js +84 -62
  54. package/dist/combobox.cjs.js +29 -27
  55. package/dist/combobox.esm.js +51 -45
  56. package/dist/command-palette.cjs.js +1 -1
  57. package/dist/command-palette.esm.js +1 -1
  58. package/dist/command.cjs.js +2 -2
  59. package/dist/command.esm.js +3 -3
  60. package/dist/components/ui-alert-dialog.d.ts +1 -0
  61. package/dist/components/ui-alert-dialog.d.ts.map +1 -1
  62. package/dist/components/ui-anchor.d.ts +2 -1
  63. package/dist/components/ui-anchor.d.ts.map +1 -1
  64. package/dist/components/ui-avatar.d.ts +1 -0
  65. package/dist/components/ui-avatar.d.ts.map +1 -1
  66. package/dist/components/ui-button.d.ts +1 -0
  67. package/dist/components/ui-button.d.ts.map +1 -1
  68. package/dist/components/ui-calendar.d.ts.map +1 -1
  69. package/dist/components/ui-card.d.ts +3 -0
  70. package/dist/components/ui-card.d.ts.map +1 -1
  71. package/dist/components/ui-checkbox.d.ts.map +1 -1
  72. package/dist/components/ui-collection.d.ts +2 -1
  73. package/dist/components/ui-collection.d.ts.map +1 -1
  74. package/dist/components/ui-color-picker.d.ts.map +1 -1
  75. package/dist/components/ui-combobox.d.ts.map +1 -1
  76. package/dist/components/ui-data-table.d.ts.map +1 -1
  77. package/dist/components/ui-date-field.d.ts.map +1 -1
  78. package/dist/components/ui-date-picker.d.ts.map +1 -1
  79. package/dist/components/ui-date-range-picker.d.ts.map +1 -1
  80. package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
  81. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  82. package/dist/components/ui-dock.d.ts +1 -0
  83. package/dist/components/ui-dock.d.ts.map +1 -1
  84. package/dist/components/ui-drawer.d.ts.map +1 -1
  85. package/dist/components/ui-dropdown.d.ts.map +1 -1
  86. package/dist/components/ui-field.d.ts.map +1 -1
  87. package/dist/components/ui-file-upload.d.ts.map +1 -1
  88. package/dist/components/ui-form.d.ts +1 -0
  89. package/dist/components/ui-form.d.ts.map +1 -1
  90. package/dist/components/ui-gantt.d.ts.map +1 -1
  91. package/dist/components/ui-input.d.ts.map +1 -1
  92. package/dist/components/ui-menu.d.ts.map +1 -1
  93. package/dist/components/ui-multi-select.d.ts.map +1 -1
  94. package/dist/components/ui-number-field.d.ts.map +1 -1
  95. package/dist/components/ui-password-field.d.ts.map +1 -1
  96. package/dist/components/ui-pin-input.d.ts +1 -0
  97. package/dist/components/ui-pin-input.d.ts.map +1 -1
  98. package/dist/components/ui-placement-grid.d.ts.map +1 -1
  99. package/dist/components/ui-progress.d.ts.map +1 -1
  100. package/dist/components/ui-radio.d.ts.map +1 -1
  101. package/dist/components/ui-rating.d.ts +1 -0
  102. package/dist/components/ui-rating.d.ts.map +1 -1
  103. package/dist/components/ui-roving-focus-group.d.ts +2 -1
  104. package/dist/components/ui-roving-focus-group.d.ts.map +1 -1
  105. package/dist/components/ui-select.d.ts.map +1 -1
  106. package/dist/components/ui-sortable.d.ts.map +1 -1
  107. package/dist/components/ui-switch.d.ts.map +1 -1
  108. package/dist/components/ui-table.d.ts.map +1 -1
  109. package/dist/components/ui-tabs.d.ts +1 -0
  110. package/dist/components/ui-tabs.d.ts.map +1 -1
  111. package/dist/components/ui-tags-input.d.ts +1 -0
  112. package/dist/components/ui-tags-input.d.ts.map +1 -1
  113. package/dist/components/ui-textarea.d.ts.map +1 -1
  114. package/dist/components/ui-time-field.d.ts.map +1 -1
  115. package/dist/components/ui-toggle-group.d.ts.map +1 -1
  116. package/dist/components/ui-toggle.d.ts.map +1 -1
  117. package/dist/components/ui-tree.d.ts.map +1 -1
  118. package/dist/components/ui-wizard.d.ts.map +1 -1
  119. package/dist/container.cjs.js +1 -1
  120. package/dist/container.esm.js +1 -1
  121. package/dist/context-menu.cjs.js +3 -3
  122. package/dist/context-menu.esm.js +5 -5
  123. package/dist/control-group.cjs.js +1 -1
  124. package/dist/control-group.esm.js +1 -1
  125. package/dist/control-name-BmoI1m3a.js +1 -0
  126. package/dist/control-name-Bpj7F34X.mjs +48 -0
  127. package/dist/data-table.cjs.js +6 -3
  128. package/dist/data-table.esm.js +146 -143
  129. package/dist/date-field.cjs.js +5 -5
  130. package/dist/date-field.esm.js +34 -31
  131. package/dist/date-picker.cjs.js +16 -16
  132. package/dist/date-picker.esm.js +49 -45
  133. package/dist/date-range-picker.cjs.js +5 -5
  134. package/dist/date-range-picker.esm.js +120 -118
  135. package/dist/date-range-time-picker.cjs.js +22 -22
  136. package/dist/date-range-time-picker.esm.js +89 -85
  137. package/dist/date-time-picker.cjs.js +23 -23
  138. package/dist/date-time-picker.esm.js +103 -99
  139. package/dist/{date-time-utils-y1N2gvG2.mjs → date-time-utils-BTlxnz5j.mjs} +1 -1
  140. package/dist/{date-time-utils-Dmost5Ee.js → date-time-utils-y3AvNvGe.js} +1 -1
  141. package/dist/description.cjs.js +4 -4
  142. package/dist/description.esm.js +4 -4
  143. package/dist/dialog.cjs.js +3 -3
  144. package/dist/dialog.esm.js +3 -3
  145. package/dist/direction-provider.cjs.js +1 -1
  146. package/dist/direction-provider.esm.js +1 -1
  147. package/dist/dismissable-layer.cjs.js +1 -1
  148. package/dist/dismissable-layer.esm.js +1 -1
  149. package/dist/dock.cjs.js +12 -12
  150. package/dist/dock.esm.js +73 -75
  151. package/dist/domElement-DazSZBjV.js +1 -0
  152. package/dist/domElement-ZlSGVP0l.mjs +5 -0
  153. package/dist/domElement.d.ts +2 -0
  154. package/dist/domElement.d.ts.map +1 -0
  155. package/dist/drawer.cjs.js +19 -19
  156. package/dist/drawer.esm.js +58 -58
  157. package/dist/dropdown.cjs.js +13 -13
  158. package/dist/dropdown.esm.js +50 -49
  159. package/dist/empty-state.cjs.js +4 -4
  160. package/dist/empty-state.esm.js +4 -4
  161. package/dist/field-error.cjs.js +2 -2
  162. package/dist/field-error.esm.js +2 -2
  163. package/dist/field.cjs.js +12 -12
  164. package/dist/field.esm.js +84 -75
  165. package/dist/fieldset.cjs.js +5 -5
  166. package/dist/fieldset.esm.js +5 -5
  167. package/dist/file-upload.cjs.js +4 -4
  168. package/dist/file-upload.esm.js +6 -4
  169. package/dist/flex.cjs.js +1 -1
  170. package/dist/flex.esm.js +1 -1
  171. package/dist/floating-toolbar.cjs.js +8 -8
  172. package/dist/floating-toolbar.esm.js +10 -10
  173. package/dist/focus-scope.cjs.js +1 -1
  174. package/dist/focus-scope.esm.js +1 -1
  175. package/dist/form.cjs.js +13 -13
  176. package/dist/form.esm.js +23 -13
  177. package/dist/gantt.cjs.js +43 -32
  178. package/dist/gantt.esm.js +100 -89
  179. package/dist/grid.cjs.js +1 -1
  180. package/dist/grid.esm.js +1 -1
  181. package/dist/hover-card.cjs.js +1 -1
  182. package/dist/hover-card.esm.js +1 -1
  183. package/dist/icon-cloud.cjs.js +4 -4
  184. package/dist/icon-cloud.esm.js +4 -4
  185. package/dist/icon.cjs.js +1 -1
  186. package/dist/icon.esm.js +1 -1
  187. package/dist/index.cjs.js +1 -1
  188. package/dist/index.esm.js +121 -118
  189. package/dist/inline-edit.cjs.js +2 -2
  190. package/dist/inline-edit.esm.js +2 -2
  191. package/dist/input.cjs.js +14 -14
  192. package/dist/input.esm.js +40 -33
  193. package/dist/label.cjs.js +4 -4
  194. package/dist/label.esm.js +4 -4
  195. package/dist/layout.cjs.js +1 -1
  196. package/dist/layout.esm.js +1 -1
  197. package/dist/{listbox-B6QgECax.js → listbox-CTpRpuF7.js} +1 -1
  198. package/dist/{listbox-DJamVeFj.mjs → listbox-hMVOhKHC.mjs} +1 -1
  199. package/dist/listbox.cjs.js +1 -1
  200. package/dist/listbox.esm.js +1 -1
  201. package/dist/marquee.cjs.js +4 -4
  202. package/dist/marquee.esm.js +4 -4
  203. package/dist/masonry-grid.cjs.js +1 -1
  204. package/dist/masonry-grid.esm.js +1 -1
  205. package/dist/{menu-item-styles-CbNUEwP2.js → menu-item-styles-B4onAr4C.js} +3 -3
  206. package/dist/{menu-item-styles-CZiPwPwl.mjs → menu-item-styles-IGSFLAHu.mjs} +3 -3
  207. package/dist/menu.cjs.js +7 -7
  208. package/dist/menu.esm.js +30 -29
  209. package/dist/menubar.cjs.js +1 -1
  210. package/dist/menubar.esm.js +3 -3
  211. package/dist/meter.cjs.js +2 -2
  212. package/dist/meter.esm.js +2 -2
  213. package/dist/multi-select.cjs.js +17 -17
  214. package/dist/multi-select.esm.js +52 -44
  215. package/dist/navigation-menu.cjs.js +2 -2
  216. package/dist/navigation-menu.esm.js +2 -2
  217. package/dist/number-field.cjs.js +11 -13
  218. package/dist/number-field.esm.js +30 -28
  219. package/dist/number-ticker.cjs.js +5 -5
  220. package/dist/number-ticker.esm.js +5 -5
  221. package/dist/odometer.cjs.js +3 -3
  222. package/dist/odometer.esm.js +3 -3
  223. package/dist/orbiter.cjs.js +4 -4
  224. package/dist/orbiter.esm.js +4 -4
  225. package/dist/pagination.cjs.js +2 -2
  226. package/dist/pagination.esm.js +2 -2
  227. package/dist/{panel-group-CaD0_KQf.js → panel-group-BVHJEdfx.js} +1 -1
  228. package/dist/{panel-group-8sVNnGxg.mjs → panel-group-BxO_eNW6.mjs} +1 -1
  229. package/dist/panel-group.cjs.js +1 -1
  230. package/dist/panel-group.esm.js +1 -1
  231. package/dist/panel.cjs.js +1 -1
  232. package/dist/panel.esm.js +1 -1
  233. package/dist/password-field.cjs.js +23 -23
  234. package/dist/password-field.esm.js +48 -47
  235. package/dist/pin-input.cjs.js +8 -6
  236. package/dist/pin-input.esm.js +21 -15
  237. package/dist/placement-grid.cjs.js +4 -4
  238. package/dist/placement-grid.esm.js +58 -58
  239. package/dist/plugin-panel.cjs.js +2 -2
  240. package/dist/plugin-panel.esm.js +2 -2
  241. package/dist/popover.cjs.js +6 -6
  242. package/dist/popover.esm.js +5 -5
  243. package/dist/portal.cjs.js +1 -1
  244. package/dist/portal.esm.js +1 -1
  245. package/dist/positioner.cjs.js +1 -1
  246. package/dist/positioner.esm.js +1 -1
  247. package/dist/presence.cjs.js +1 -1
  248. package/dist/presence.esm.js +1 -1
  249. package/dist/primitives/control-name.d.ts +30 -0
  250. package/dist/primitives/control-name.d.ts.map +1 -0
  251. package/dist/primitives/trigger.d.ts +2 -0
  252. package/dist/primitives/trigger.d.ts.map +1 -0
  253. package/dist/progress.cjs.js +4 -4
  254. package/dist/progress.esm.js +20 -18
  255. package/dist/quick-actions.cjs.js +4 -4
  256. package/dist/quick-actions.esm.js +4 -4
  257. package/dist/radio-group.cjs.js +2 -2
  258. package/dist/radio-group.esm.js +2 -2
  259. package/dist/radio.cjs.js +3 -3
  260. package/dist/radio.esm.js +3 -3
  261. package/dist/rating.cjs.js +18 -17
  262. package/dist/rating.esm.js +91 -92
  263. package/dist/roving-focus-group.cjs.js +1 -1
  264. package/dist/roving-focus-group.esm.js +11 -10
  265. package/dist/{runtime-D1gFh1fS.mjs → runtime-CFnK53iC.mjs} +133 -94
  266. package/dist/runtime-DwE-tizc.js +1 -0
  267. package/dist/runtime.cjs.js +1 -1
  268. package/dist/runtime.d.ts +1 -1
  269. package/dist/runtime.d.ts.map +1 -1
  270. package/dist/runtime.esm.js +29 -26
  271. package/dist/scroll-area.cjs.js +1 -1
  272. package/dist/scroll-area.esm.js +1 -1
  273. package/dist/section.cjs.js +1 -1
  274. package/dist/section.esm.js +1 -1
  275. package/dist/select.cjs.js +20 -19
  276. package/dist/select.esm.js +37 -33
  277. package/dist/selection-popup.cjs.js +3 -3
  278. package/dist/selection-popup.esm.js +3 -3
  279. package/dist/separator.cjs.js +8 -8
  280. package/dist/separator.esm.js +8 -8
  281. package/dist/sidebar.cjs.js +9 -9
  282. package/dist/sidebar.esm.js +16 -16
  283. package/dist/skeleton.cjs.js +8 -8
  284. package/dist/skeleton.esm.js +8 -8
  285. package/dist/slider.cjs.js +4 -4
  286. package/dist/slider.esm.js +4 -4
  287. package/dist/slot.cjs.js +4 -4
  288. package/dist/slot.esm.js +4 -4
  289. package/dist/sortable.cjs.js +43 -44
  290. package/dist/sortable.esm.js +100 -101
  291. package/dist/spinning-text.cjs.js +4 -4
  292. package/dist/spinning-text.esm.js +4 -4
  293. package/dist/split-button.cjs.js +1 -1
  294. package/dist/split-button.esm.js +2 -2
  295. package/dist/splitter.cjs.js +1 -1
  296. package/dist/splitter.esm.js +1 -1
  297. package/dist/stepper.cjs.js +2 -2
  298. package/dist/stepper.esm.js +2 -2
  299. package/dist/switch.cjs.js +11 -13
  300. package/dist/switch.esm.js +11 -13
  301. package/dist/table.cjs.js +10 -7
  302. package/dist/table.esm.js +47 -44
  303. package/dist/tabs.cjs.js +21 -22
  304. package/dist/tabs.esm.js +71 -67
  305. package/dist/tags-input.cjs.js +9 -9
  306. package/dist/tags-input.esm.js +32 -25
  307. package/dist/textarea.cjs.js +10 -10
  308. package/dist/textarea.esm.js +30 -21
  309. package/dist/theme.d.ts +18 -0
  310. package/dist/theme.d.ts.map +1 -1
  311. package/dist/time-field.cjs.js +5 -5
  312. package/dist/time-field.esm.js +21 -18
  313. package/dist/time-picker.cjs.js +4 -4
  314. package/dist/time-picker.esm.js +6 -6
  315. package/dist/timeline.cjs.js +3 -3
  316. package/dist/timeline.esm.js +5 -5
  317. package/dist/toast.cjs.js +7 -7
  318. package/dist/toast.esm.js +14 -14
  319. package/dist/toggle-group.cjs.js +6 -7
  320. package/dist/toggle-group.esm.js +64 -61
  321. package/dist/toggle.cjs.js +18 -18
  322. package/dist/toggle.esm.js +32 -31
  323. package/dist/toolbar.cjs.js +1 -1
  324. package/dist/toolbar.esm.js +1 -1
  325. package/dist/tooltip.cjs.js +5 -5
  326. package/dist/tooltip.esm.js +5 -5
  327. package/dist/transfer-list.cjs.js +4 -4
  328. package/dist/transfer-list.esm.js +4 -4
  329. package/dist/{tree-B3kE8ESs.mjs → tree-B_oQput6.mjs} +35 -34
  330. package/dist/tree-SivHxcAy.js +39 -0
  331. package/dist/tree-item.cjs.js +1 -1
  332. package/dist/tree-item.esm.js +1 -1
  333. package/dist/tree.cjs.js +1 -1
  334. package/dist/tree.esm.js +1 -1
  335. package/dist/trigger-BjnxLCeQ.mjs +9 -0
  336. package/dist/trigger-DkPsKxsP.js +1 -0
  337. package/dist/{ui-button-rXQOS9QJ.js → ui-button-BPrzJScZ.js} +29 -28
  338. package/dist/{ui-button-Q0GNNWKC.mjs → ui-button-Co8Sid6t.mjs} +70 -49
  339. package/dist/{ui-icon-BzVNC_lr.js → ui-icon-D3avtxX_.js} +5 -5
  340. package/dist/{ui-icon-YI6lyuqU.mjs → ui-icon-DLhB08Fo.mjs} +3 -3
  341. package/dist/visually-hidden.cjs.js +1 -1
  342. package/dist/visually-hidden.esm.js +1 -1
  343. package/dist/wizard.cjs.js +12 -13
  344. package/dist/wizard.esm.js +18 -16
  345. package/package.json +2 -2
  346. package/dist/ElementBase-EV6mVBUV.js +0 -1
  347. package/dist/runtime-CTaOSmBj.js +0 -1
  348. package/dist/tree-Dx_kv_ih.js +0 -39
@@ -1,13 +1,16 @@
1
- import { E as C } from "./ElementBase-YlTLMsGk.mjs";
1
+ import { E as C } from "./ElementBase-BeZT54Hj.mjs";
2
2
  const A = `
3
3
  :host {
4
4
  display: block;
5
+ /* A wide table scrolls inside its own frame. Without this a grid or flex parent grows to the table's width. */
6
+ min-inline-size: 0;
7
+ max-inline-size: 100%;
5
8
  --ui-data-table-radius: 16px;
6
9
  --ui-data-table-border-color: var(--ui-color-border, rgba(15, 23, 42, 0.14));
7
10
  --ui-data-table-border: 1px solid var(--ui-data-table-border-color);
8
11
  --ui-data-table-bg: var(--ui-color-surface, rgba(255, 255, 255, 0.96));
9
12
  --ui-data-table-shadow: none;
10
- --ui-data-table-empty-color: var(--ui-color-muted, #64748b);
13
+ --ui-data-table-empty-color: var(--ui-color-muted, #526175);
11
14
  --ui-data-table-summary-color: var(--ui-color-muted, #475569);
12
15
  --ui-data-table-text: var(--ui-color-text, #0f172a);
13
16
  --ui-data-table-header-text: var(--ui-color-text, #1e293b);
@@ -839,14 +842,14 @@ class R extends C {
839
842
  return a || (t === "loading" ? "Refreshing table data" : t === "error" ? "Table data could not be loaded" : t === "success" ? "Table data is up to date" : "");
840
843
  }
841
844
  _syncStateBar() {
842
- const t = this.root.querySelector(".statebar"), a = this.root.querySelector(".state-text"), e = this.root.querySelector(".loading-text"), r = this.root.querySelector(".frame"), i = this._table;
845
+ const t = this.root.querySelector(".statebar"), a = this.root.querySelector(".state-text"), e = this.root.querySelector(".loading-text"), i = this.root.querySelector(".frame"), r = this._table;
843
846
  if (!t) return;
844
847
  const s = this._state();
845
848
  s !== "idle" ? t.removeAttribute("hidden") : t.setAttribute("hidden", ""), t.setAttribute("data-state", s), t.setAttribute("aria-live", s === "error" ? "assertive" : "polite");
846
849
  const n = this._stateText(s);
847
850
  a && (a.textContent = n), e && (e.textContent = this._stateText("loading"));
848
851
  const u = s === "loading" ? "true" : "false";
849
- r && r.setAttribute("aria-busy", u), i && i.setAttribute("aria-busy", u);
852
+ i && i.setAttribute("aria-busy", u), r && r.setAttribute("aria-busy", u);
850
853
  }
851
854
  _isInteractionBlocked() {
852
855
  return this._state() === "loading";
@@ -862,8 +865,8 @@ class R extends C {
862
865
  if (!t) return `column-${a + 1}`;
863
866
  const e = (t.getAttribute("data-key") || "").trim();
864
867
  if (e) return e;
865
- const r = p(t);
866
- return r ? r.toLowerCase().replace(/\s+/g, "_") : `column-${a + 1}`;
868
+ const i = p(t);
869
+ return i ? i.toLowerCase().replace(/\s+/g, "_") : `column-${a + 1}`;
867
870
  }
868
871
  _currentColumnOrderString() {
869
872
  return this._headerCells().map((a, e) => this._headerKey(a, e)).join(",");
@@ -891,10 +894,10 @@ class R extends C {
891
894
  const e = Number(a);
892
895
  if (Number.isInteger(e) && e >= 0 && e < t.length)
893
896
  return e;
894
- const r = a.toLowerCase();
895
- for (let i = 0; i < t.length; i += 1) {
896
- const s = t[i], o = (s.getAttribute("data-key") || "").toLowerCase(), n = p(s).toLowerCase();
897
- if (o === r || n === r) return i;
897
+ const i = a.toLowerCase();
898
+ for (let r = 0; r < t.length; r += 1) {
899
+ const s = t[r], o = (s.getAttribute("data-key") || "").toLowerCase(), n = p(s).toLowerCase();
900
+ if (o === i || n === i) return r;
898
901
  }
899
902
  return -1;
900
903
  }
@@ -902,12 +905,12 @@ class R extends C {
902
905
  if (typeof a == "number" && Number.isInteger(a) && a >= 0 && a < t.length) return a;
903
906
  const e = String(a || "").trim();
904
907
  if (!e) return -1;
905
- const r = Number(e);
906
- if (Number.isInteger(r) && r >= 0 && r < t.length) return r;
907
- const i = e.toLowerCase();
908
+ const i = Number(e);
909
+ if (Number.isInteger(i) && i >= 0 && i < t.length) return i;
910
+ const r = e.toLowerCase();
908
911
  for (let s = 0; s < t.length; s += 1) {
909
912
  const o = t[s], n = (o.getAttribute("data-key") || "").toLowerCase(), u = p(o).toLowerCase();
910
- if (n === i || u === i || this._headerKey(o, s) === i) return s;
913
+ if (n === r || u === r || this._headerKey(o, s) === r) return s;
911
914
  }
912
915
  return -1;
913
916
  }
@@ -917,14 +920,14 @@ class R extends C {
917
920
  try {
918
921
  const e = JSON.parse(a);
919
922
  if (!Array.isArray(e)) return [];
920
- const r = [];
921
- return e.forEach((i) => {
922
- if (!i || typeof i != "object") return;
923
- const s = i.column ?? i.field ?? i.key, o = this._resolveColumnIndex(t, s);
923
+ const i = [];
924
+ return e.forEach((r) => {
925
+ if (!r || typeof r != "object") return;
926
+ const s = r.column ?? r.field ?? r.key, o = this._resolveColumnIndex(t, s);
924
927
  if (o < 0) return;
925
- const n = String(i.op || i.operator || "contains").trim().toLowerCase();
926
- r.push({ columnIndex: o, op: n, value: i.value });
927
- }), r;
928
+ const n = String(r.op || r.operator || "contains").trim().toLowerCase();
929
+ i.push({ columnIndex: o, op: n, value: r.value });
930
+ }), i;
928
931
  } catch {
929
932
  return [];
930
933
  }
@@ -935,7 +938,7 @@ class R extends C {
935
938
  _parsePinColumns(t) {
936
939
  const a = this.getAttribute("pin-columns");
937
940
  if (!a) return { left: [], right: [] };
938
- const e = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = (u, h) => {
941
+ const e = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), r = (u, h) => {
939
942
  h.forEach((l) => {
940
943
  const d = this._resolveColumnIndex(t, l);
941
944
  d >= 0 && u.add(d);
@@ -944,17 +947,17 @@ class R extends C {
944
947
  try {
945
948
  const u = JSON.parse(a);
946
949
  if (u && typeof u == "object") {
947
- i(e, this._normalizePinTokens(u.left)), i(r, this._normalizePinTokens(u.right));
948
- const h = Array.from(e).sort((d, c) => d - c), l = Array.from(r).filter((d) => !e.has(d)).sort((d, c) => c - d);
950
+ r(e, this._normalizePinTokens(u.left)), r(i, this._normalizePinTokens(u.right));
951
+ const h = Array.from(e).sort((d, c) => d - c), l = Array.from(i).filter((d) => !e.has(d)).sort((d, c) => c - d);
949
952
  return { left: h, right: l };
950
953
  }
951
954
  } catch {
952
955
  }
953
956
  a.split(";").map((u) => u.trim()).filter(Boolean).forEach((u) => {
954
957
  const [h, l] = u.split(":"), d = (h || "").trim().toLowerCase(), c = this._normalizePinTokens(l || "");
955
- d === "left" && i(e, c), d === "right" && i(r, c);
958
+ d === "left" && r(e, c), d === "right" && r(i, c);
956
959
  });
957
- const o = Array.from(e).sort((u, h) => u - h), n = Array.from(r).filter((u) => !e.has(u)).sort((u, h) => h - u);
960
+ const o = Array.from(e).sort((u, h) => u - h), n = Array.from(i).filter((u) => !e.has(u)).sort((u, h) => h - u);
958
961
  return { left: o, right: n };
959
962
  }
960
963
  _setPageAttribute(t) {
@@ -980,11 +983,11 @@ class R extends C {
980
983
  _resolveColumnWidth(t, a) {
981
984
  const e = this._columnWidths.get(t);
982
985
  if (typeof e == "number" && Number.isFinite(e)) return Math.max(1, e);
983
- const r = a?.getBoundingClientRect().width || a?.offsetWidth || 0;
984
- return Number.isFinite(r) && r > 0 ? r : 120;
986
+ const i = a?.getBoundingClientRect().width || a?.offsetWidth || 0;
987
+ return Number.isFinite(i) && i > 0 ? i : 120;
985
988
  }
986
- _pinCell(t, a, e, r, i) {
987
- t && (t.setAttribute("data-pinned", a), r ? t.setAttribute("data-pin-edge", "true") : t.removeAttribute("data-pin-edge"), a === "left" ? (t.style.left = `${Math.max(0, Math.round(e))}px`, t.style.right = "") : (t.style.right = `${Math.max(0, Math.round(e))}px`, t.style.left = ""), t.style.zIndex = i ? "4" : "3");
989
+ _pinCell(t, a, e, i, r) {
990
+ t && (t.setAttribute("data-pinned", a), i ? t.setAttribute("data-pin-edge", "true") : t.removeAttribute("data-pin-edge"), a === "left" ? (t.style.left = `${Math.max(0, Math.round(e))}px`, t.style.right = "") : (t.style.right = `${Math.max(0, Math.round(e))}px`, t.style.left = ""), t.style.zIndex = r ? "4" : "3");
988
991
  }
989
992
  _applyPinnedColumns() {
990
993
  if (!this._table) return;
@@ -993,19 +996,19 @@ class R extends C {
993
996
  if (!t.length) return;
994
997
  const { left: a, right: e } = this._parsePinColumns(t);
995
998
  if (!a.length && !e.length) return;
996
- const r = Array.from(this._table.rows).filter((o) => !this._isVirtualSpacerRow(o));
997
- let i = 0;
999
+ const i = Array.from(this._table.rows).filter((o) => !this._isVirtualSpacerRow(o));
1000
+ let r = 0;
998
1001
  a.forEach((o, n) => {
999
1002
  const u = this._resolveColumnWidth(o, t[o]), h = n === a.length - 1;
1000
- r.forEach((l, d) => {
1003
+ i.forEach((l, d) => {
1001
1004
  const c = l.cells[o];
1002
- this._pinCell(c, "left", i, h, d === 0);
1003
- }), i += u;
1005
+ this._pinCell(c, "left", r, h, d === 0);
1006
+ }), r += u;
1004
1007
  });
1005
1008
  let s = 0;
1006
1009
  e.forEach((o, n) => {
1007
1010
  const u = this._resolveColumnWidth(o, t[o]), h = n === e.length - 1;
1008
- r.forEach((l, d) => {
1011
+ i.forEach((l, d) => {
1009
1012
  const c = l.cells[o];
1010
1013
  this._pinCell(c, "right", s, h, d === 0);
1011
1014
  }), s += u;
@@ -1017,40 +1020,40 @@ class R extends C {
1017
1020
  if (!t) return;
1018
1021
  const a = this._table.tHead?.rows[0], e = this._table.tBodies[0];
1019
1022
  if (!a || !e) return;
1020
- const r = Array.from(a.cells);
1021
- if (!r.length) return;
1022
- const i = t.split(",").map((l) => l.trim()).filter(Boolean);
1023
+ const i = Array.from(a.cells);
1023
1024
  if (!i.length) return;
1025
+ const r = t.split(",").map((l) => l.trim()).filter(Boolean);
1026
+ if (!r.length) return;
1024
1027
  const s = [], o = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Map();
1025
- r.forEach((l, d) => {
1028
+ i.forEach((l, d) => {
1026
1029
  const c = (l.getAttribute("data-key") || p(l)).toLowerCase().trim();
1027
1030
  c && n.set(c, d);
1028
1031
  });
1029
- for (const l of i) {
1032
+ for (const l of r) {
1030
1033
  const d = Number(l);
1031
- if (Number.isInteger(d) && d >= 0 && d < r.length) {
1034
+ if (Number.isInteger(d) && d >= 0 && d < i.length) {
1032
1035
  o.has(d) || (o.add(d), s.push(d));
1033
1036
  continue;
1034
1037
  }
1035
1038
  const c = n.get(l.toLowerCase());
1036
1039
  typeof c == "number" && !o.has(c) && (o.add(c), s.push(c));
1037
1040
  }
1038
- for (let l = 0; l < r.length; l += 1)
1041
+ for (let l = 0; l < i.length; l += 1)
1039
1042
  o.has(l) || s.push(l);
1040
1043
  if (s.every((l, d) => l === d)) return;
1041
- s.map((l) => r[l]).forEach((l) => a.appendChild(l)), Array.from(e.rows).filter((l) => !this._isVirtualSpacerRow(l)).forEach((l) => {
1044
+ s.map((l) => i[l]).forEach((l) => a.appendChild(l)), Array.from(e.rows).filter((l) => !this._isVirtualSpacerRow(l)).forEach((l) => {
1042
1045
  const d = Array.from(l.cells);
1043
1046
  s.map((f) => d[f]).filter(Boolean).forEach((f) => l.appendChild(f));
1044
1047
  }), this._columnWidths.clear();
1045
1048
  }
1046
1049
  _moveColumn(t, a) {
1047
1050
  if (!this._table) return !1;
1048
- const e = this._table.tHead?.rows[0], r = this._table.tBodies[0];
1049
- if (!e || !r) return !1;
1050
- const i = Array.from(e.cells), s = i.length;
1051
+ const e = this._table.tHead?.rows[0], i = this._table.tBodies[0];
1052
+ if (!e || !i) return !1;
1053
+ const r = Array.from(e.cells), s = r.length;
1051
1054
  if (!s || t < 0 || t >= s || a < 0 || a >= s || t === a) return !1;
1052
1055
  const o = Array.from({ length: s }, (l, d) => d), [n] = o.splice(t, 1);
1053
- o.splice(a, 0, n), o.map((l) => i[l]).forEach((l) => e.appendChild(l)), Array.from(r.rows).filter((l) => !this._isVirtualSpacerRow(l)).forEach((l) => {
1056
+ o.splice(a, 0, n), o.map((l) => r[l]).forEach((l) => e.appendChild(l)), Array.from(i.rows).filter((l) => !this._isVirtualSpacerRow(l)).forEach((l) => {
1054
1057
  const d = Array.from(l.cells);
1055
1058
  o.map((f) => d[f]).filter(Boolean).forEach((f) => l.appendChild(f));
1056
1059
  });
@@ -1073,7 +1076,7 @@ class R extends C {
1073
1076
  sourceIndex: t,
1074
1077
  targetIndex: a,
1075
1078
  order: e,
1076
- keys: this._headerCells().map((r, i) => this._headerKey(r, i))
1079
+ keys: this._headerCells().map((i, r) => this._headerKey(i, r))
1077
1080
  },
1078
1081
  bubbles: !0
1079
1082
  })
@@ -1084,14 +1087,14 @@ class R extends C {
1084
1087
  e && e.focus();
1085
1088
  }
1086
1089
  _focusSelectableRow(t, a) {
1087
- const e = this._bodyRows().filter((o) => !o.hidden), r = e.indexOf(t);
1088
- if (r < 0) return;
1089
- const i = Math.min(e.length - 1, Math.max(0, r + a)), s = e[i];
1090
+ const e = this._bodyRows().filter((o) => !o.hidden), i = e.indexOf(t);
1091
+ if (i < 0) return;
1092
+ const r = Math.min(e.length - 1, Math.max(0, i + a)), s = e[r];
1090
1093
  s && s.focus();
1091
1094
  }
1092
1095
  _headerKeyboardShortcuts(t, a) {
1093
- const e = this._isRtl(), r = e ? "ArrowRight" : "ArrowLeft", i = e ? "ArrowLeft" : "ArrowRight", s = [r, i, "Home", "End"];
1094
- return t && s.push("Enter", "Space"), a && s.push(`Alt+${r}`, `Alt+${i}`), s.join(" ");
1096
+ const e = this._isRtl(), i = e ? "ArrowRight" : "ArrowLeft", r = e ? "ArrowLeft" : "ArrowRight", s = [i, r, "Home", "End"];
1097
+ return t && s.push("Enter", "Space"), a && s.push(`Alt+${i}`, `Alt+${r}`), s.join(" ");
1095
1098
  }
1096
1099
  _syncStructure() {
1097
1100
  if (!this._isSyncing) {
@@ -1112,9 +1115,9 @@ class R extends C {
1112
1115
  }
1113
1116
  }
1114
1117
  _syncHeaderState() {
1115
- const t = this.hasAttribute("sortable"), a = this.hasAttribute("draggable-columns"), e = this.hasAttribute("resizable-columns"), r = this._headerKeyboardShortcuts(t, a);
1118
+ const t = this.hasAttribute("sortable"), a = this.hasAttribute("draggable-columns"), e = this.hasAttribute("resizable-columns"), i = this._headerKeyboardShortcuts(t, a);
1116
1119
  this._headerCells().forEach((s, o) => {
1117
- if (s.setAttribute("data-col-index", String(o)), s.setAttribute("scope", "col"), s.setAttribute("aria-colindex", String(o + 1)), t || a ? s.setAttribute("aria-keyshortcuts", r) : s.removeAttribute("aria-keyshortcuts"), t ? s.setAttribute("data-sortable", "true") : s.removeAttribute("data-sortable"), t || a ? s.hasAttribute("tabindex") || s.setAttribute("tabindex", "0") : s.getAttribute("tabindex") === "0" && s.removeAttribute("tabindex"), o === this._sortColumnIndex && t ? s.setAttribute("aria-sort", this._sortDirection === "asc" ? "ascending" : "descending") : t ? s.setAttribute("aria-sort", "none") : s.removeAttribute("aria-sort"), a ? (s.setAttribute("data-draggable", "true"), s.setAttribute("draggable", "true"), s.setAttribute("aria-description", "Draggable column header")) : (s.removeAttribute("data-draggable"), s.removeAttribute("draggable"), s.removeAttribute("data-dragging"), s.removeAttribute("data-drag-over"), s.removeAttribute("aria-description")), e) {
1120
+ if (s.setAttribute("data-col-index", String(o)), s.setAttribute("scope", "col"), s.setAttribute("aria-colindex", String(o + 1)), t || a ? s.setAttribute("aria-keyshortcuts", i) : s.removeAttribute("aria-keyshortcuts"), t ? s.setAttribute("data-sortable", "true") : s.removeAttribute("data-sortable"), t || a ? s.hasAttribute("tabindex") || s.setAttribute("tabindex", "0") : s.getAttribute("tabindex") === "0" && s.removeAttribute("tabindex"), o === this._sortColumnIndex && t ? s.setAttribute("aria-sort", this._sortDirection === "asc" ? "ascending" : "descending") : t ? s.setAttribute("aria-sort", "none") : s.removeAttribute("aria-sort"), a ? (s.setAttribute("data-draggable", "true"), s.setAttribute("draggable", "true"), s.setAttribute("aria-description", "Draggable column header")) : (s.removeAttribute("data-draggable"), s.removeAttribute("draggable"), s.removeAttribute("data-dragging"), s.removeAttribute("data-drag-over"), s.removeAttribute("aria-description")), e) {
1118
1121
  s.setAttribute("data-resizable", "true");
1119
1122
  let n = s.querySelector(".resize-handle");
1120
1123
  n || (n = document.createElement("button"), n.type = "button", n.className = "resize-handle", n.setAttribute("aria-hidden", "true"), n.tabIndex = -1, s.appendChild(n)), n.setAttribute("data-col-index", String(o));
@@ -1130,7 +1133,7 @@ class R extends C {
1130
1133
  _applyPagination(t) {
1131
1134
  const a = this._bodyRows();
1132
1135
  this._pageSize = this._parsePageSize(), this._totalRows = a.length;
1133
- const e = this._parseFilterQuery(), r = this._headerCells(), i = this._resolveFilterColumnIndex(r), s = this._parseFilters(r), o = a.filter((d) => this._rowMatchesFilter(d, e, i, s));
1136
+ const e = this._parseFilterQuery(), i = this._headerCells(), r = this._resolveFilterColumnIndex(i), s = this._parseFilters(i), o = a.filter((d) => this._rowMatchesFilter(d, e, r, s));
1134
1137
  this._filteredRows = o.length, this._table?.setAttribute("aria-rowcount", String(this._filteredRows));
1135
1138
  const n = this._parsePage();
1136
1139
  this._pageCount = Math.max(1, Math.ceil(o.length / this._pageSize)), this._page = Math.min(this._pageCount, Math.max(1, n)), this._page !== n && this._setPageAttribute(this._page);
@@ -1168,15 +1171,15 @@ class R extends C {
1168
1171
  if (!a) return null;
1169
1172
  const e = t === "top" ? this._virtualTopSpacer : this._virtualBottomSpacer;
1170
1173
  if (e && e.isConnected) return e;
1171
- const r = document.createElement("tr");
1172
- r.setAttribute("data-virtual-spacer", t), r.setAttribute("aria-hidden", "true"), r.setAttribute("role", "presentation"), r.style.pointerEvents = "none";
1173
- const i = document.createElement("td");
1174
- return i.style.padding = "0", i.style.border = "0", i.style.height = "0px", i.style.lineHeight = "0", i.style.fontSize = "0", i.innerHTML = "&nbsp;", r.appendChild(i), t === "top" ? (a.insertBefore(r, a.firstChild), this._virtualTopSpacer = r) : (a.appendChild(r), this._virtualBottomSpacer = r), r;
1174
+ const i = document.createElement("tr");
1175
+ i.setAttribute("data-virtual-spacer", t), i.setAttribute("aria-hidden", "true"), i.setAttribute("role", "presentation"), i.style.pointerEvents = "none";
1176
+ const r = document.createElement("td");
1177
+ return r.style.padding = "0", r.style.border = "0", r.style.height = "0px", r.style.lineHeight = "0", r.style.fontSize = "0", r.innerHTML = "&nbsp;", i.appendChild(r), t === "top" ? (a.insertBefore(i, a.firstChild), this._virtualTopSpacer = i) : (a.appendChild(i), this._virtualBottomSpacer = i), i;
1175
1178
  }
1176
1179
  _setVirtualSpacerHeight(t, a, e) {
1177
1180
  if (!t) return;
1178
- const r = t.cells[0] || t.appendChild(document.createElement("td"));
1179
- r.colSpan !== Math.max(1, e) && (r.colSpan = Math.max(1, e)), r.style.padding = "0", r.style.border = "0", r.style.height = `${Math.max(0, Math.round(a))}px`, r.style.lineHeight = "0", r.style.fontSize = "0";
1181
+ const i = t.cells[0] || t.appendChild(document.createElement("td"));
1182
+ i.colSpan !== Math.max(1, e) && (i.colSpan = Math.max(1, e)), i.style.padding = "0", i.style.border = "0", i.style.height = `${Math.max(0, Math.round(a))}px`, i.style.lineHeight = "0", i.style.fontSize = "0";
1180
1183
  }
1181
1184
  _applyVirtualization(t) {
1182
1185
  if (!this.hasAttribute("virtualize") || !this._frameEl || !this._table) {
@@ -1188,7 +1191,7 @@ class R extends C {
1188
1191
  this._clearVirtualization(!0);
1189
1192
  return;
1190
1193
  }
1191
- const r = this._parseRowHeight(), i = this._parseOverscan(), s = this._frameEl.clientHeight || r * 8, o = this._frameEl.scrollTop, n = Math.max(0, Math.floor(o / r) - i), u = Math.min(e.length, Math.ceil((o + s) / r) + i), h = n * r, l = Math.max(0, (e.length - u) * r), d = Math.max(1, this._headerCells().length || e[0]?.cells.length || 1), c = this._ensureVirtualSpacer("top"), f = this._ensureVirtualSpacer("bottom");
1194
+ const i = this._parseRowHeight(), r = this._parseOverscan(), s = this._frameEl.clientHeight || i * 8, o = this._frameEl.scrollTop, n = Math.max(0, Math.floor(o / i) - r), u = Math.min(e.length, Math.ceil((o + s) / i) + r), h = n * i, l = Math.max(0, (e.length - u) * i), d = Math.max(1, this._headerCells().length || e[0]?.cells.length || 1), c = this._ensureVirtualSpacer("top"), f = this._ensureVirtualSpacer("bottom");
1192
1195
  this._setVirtualSpacerHeight(c, h, d), this._setVirtualSpacerHeight(f, l, d);
1193
1196
  const y = (g, v) => {
1194
1197
  v ? (g.style.display === "none" && (g.style.display = ""), g.removeAttribute("data-hidden-by-virtual")) : (g.style.display !== "none" && (g.style.display = "none"), g.setAttribute("data-hidden-by-virtual", ""));
@@ -1236,12 +1239,12 @@ class R extends C {
1236
1239
  t.textContent = "No records";
1237
1240
  return;
1238
1241
  }
1239
- const r = (this._page - 1) * this._pageSize + 1, i = Math.min(this._page * this._pageSize, e);
1242
+ const i = (this._page - 1) * this._pageSize + 1, r = Math.min(this._page * this._pageSize, e);
1240
1243
  if (e === a) {
1241
- t.textContent = `Showing ${r}-${i} of ${a}`;
1244
+ t.textContent = `Showing ${i}-${r} of ${a}`;
1242
1245
  return;
1243
1246
  }
1244
- t.textContent = `Showing ${r}-${i} of ${e} filtered records (${a} total)`;
1247
+ t.textContent = `Showing ${i}-${r} of ${e} filtered records (${a} total)`;
1245
1248
  }
1246
1249
  _syncEmptyText() {
1247
1250
  const t = this.root.querySelector(".empty");
@@ -1273,45 +1276,45 @@ class R extends C {
1273
1276
  return /^-?\d+(\.\d+)?$/.test(a) ? Number(a) : t.toLowerCase();
1274
1277
  }
1275
1278
  _rulePasses(t, a) {
1276
- const e = a.op, r = a.value, i = t.trim(), s = i.toLowerCase();
1277
- if (e === "empty") return i.length === 0;
1278
- if (e === "notempty" || e === "not-empty") return i.length > 0;
1279
- if (e === "equals" || e === "eq") return s === String(r ?? "").toLowerCase();
1280
- if (e === "neq" || e === "not-equals") return s !== String(r ?? "").toLowerCase();
1281
- if (e === "startswith" || e === "starts-with") return s.startsWith(String(r ?? "").toLowerCase());
1282
- if (e === "endswith" || e === "ends-with") return s.endsWith(String(r ?? "").toLowerCase());
1279
+ const e = a.op, i = a.value, r = t.trim(), s = r.toLowerCase();
1280
+ if (e === "empty") return r.length === 0;
1281
+ if (e === "notempty" || e === "not-empty") return r.length > 0;
1282
+ if (e === "equals" || e === "eq") return s === String(i ?? "").toLowerCase();
1283
+ if (e === "neq" || e === "not-equals") return s !== String(i ?? "").toLowerCase();
1284
+ if (e === "startswith" || e === "starts-with") return s.startsWith(String(i ?? "").toLowerCase());
1285
+ if (e === "endswith" || e === "ends-with") return s.endsWith(String(i ?? "").toLowerCase());
1283
1286
  if (e === "in")
1284
- return (Array.isArray(r) ? r.map((n) => String(n).toLowerCase()) : String(r ?? "").split(",").map((n) => n.trim().toLowerCase()).filter(Boolean)).includes(s);
1287
+ return (Array.isArray(i) ? i.map((n) => String(n).toLowerCase()) : String(i ?? "").split(",").map((n) => n.trim().toLowerCase()).filter(Boolean)).includes(s);
1285
1288
  if (e === "gt" || e === "gte" || e === "lt" || e === "lte" || e === "between") {
1286
- const o = this._parseComparable(i);
1289
+ const o = this._parseComparable(r);
1287
1290
  if (typeof o != "number") return !1;
1288
1291
  if (e === "between") {
1289
- const u = Array.isArray(r) ? r : String(r ?? "").split(","), h = Number(u[0]), l = Number(u[1]);
1292
+ const u = Array.isArray(i) ? i : String(i ?? "").split(","), h = Number(u[0]), l = Number(u[1]);
1290
1293
  return !Number.isFinite(h) || !Number.isFinite(l) ? !1 : o >= Math.min(h, l) && o <= Math.max(h, l);
1291
1294
  }
1292
- const n = Number(r);
1295
+ const n = Number(i);
1293
1296
  return Number.isFinite(n) ? e === "gt" ? o > n : e === "gte" ? o >= n : e === "lt" ? o < n : o <= n : !1;
1294
1297
  }
1295
- return s.includes(String(r ?? "").toLowerCase());
1298
+ return s.includes(String(i ?? "").toLowerCase());
1296
1299
  }
1297
- _rowMatchesFilter(t, a, e, r) {
1300
+ _rowMatchesFilter(t, a, e, i) {
1298
1301
  if (a) {
1299
- const i = e >= 0 ? p(t.cells[e]) : Array.from(t.cells).map((n) => p(n)).join(" ");
1300
- if (!i) return !1;
1301
- const s = i.toLowerCase(), o = a.split(/\s+/).filter(Boolean);
1302
+ const r = e >= 0 ? p(t.cells[e]) : Array.from(t.cells).map((n) => p(n)).join(" ");
1303
+ if (!r) return !1;
1304
+ const s = r.toLowerCase(), o = a.split(/\s+/).filter(Boolean);
1302
1305
  if (o.length && !o.every((n) => s.includes(n))) return !1;
1303
1306
  }
1304
- return r.length ? r.every((i) => {
1305
- const s = t.cells[i.columnIndex];
1306
- return this._rulePasses(p(s), i);
1307
+ return i.length ? i.every((r) => {
1308
+ const s = t.cells[r.columnIndex];
1309
+ return this._rulePasses(p(s), r);
1307
1310
  }) : !0;
1308
1311
  }
1309
1312
  _setColumnWidth(t, a, e = !0) {
1310
1313
  if (!this._table) return;
1311
- const r = Math.max(72, Math.round(a));
1312
- if (this._columnWidths.set(t, r), Array.from(this._table.rows).forEach((o) => {
1314
+ const i = Math.max(72, Math.round(a));
1315
+ if (this._columnWidths.set(t, i), Array.from(this._table.rows).forEach((o) => {
1313
1316
  const n = o.cells[t];
1314
- n && (n.style.width = `${r}px`, n.style.minWidth = `${r}px`, n.style.maxWidth = `${r}px`, n.style.boxSizing = "border-box");
1317
+ n && (n.style.width = `${i}px`, n.style.minWidth = `${i}px`, n.style.maxWidth = `${i}px`, n.style.boxSizing = "border-box");
1315
1318
  }), !e) return;
1316
1319
  this._applyPinnedColumns();
1317
1320
  const s = this._headerCells()[t];
@@ -1320,7 +1323,7 @@ class R extends C {
1320
1323
  detail: {
1321
1324
  columnIndex: t,
1322
1325
  key: s?.getAttribute("data-key") || p(s) || `column-${t + 1}`,
1323
- width: r
1326
+ width: i
1324
1327
  },
1325
1328
  bubbles: !0
1326
1329
  })
@@ -1330,14 +1333,14 @@ class R extends C {
1330
1333
  if (!this.hasAttribute("resizable-columns") || !this._table) return;
1331
1334
  const e = t.target.closest(".resize-handle");
1332
1335
  if (!e || !this._table.contains(e)) return;
1333
- const r = Number(e.getAttribute("data-col-index"));
1334
- if (!Number.isInteger(r) || r < 0) return;
1335
- const i = this._headerCells()[r];
1336
- if (!i) return;
1336
+ const i = Number(e.getAttribute("data-col-index"));
1337
+ if (!Number.isInteger(i) || i < 0) return;
1338
+ const r = this._headerCells()[i];
1339
+ if (!r) return;
1337
1340
  t.preventDefault();
1338
- const s = i.getBoundingClientRect().width;
1341
+ const s = r.getBoundingClientRect().width;
1339
1342
  this._resizeState = {
1340
- columnIndex: r,
1343
+ columnIndex: i,
1341
1344
  startX: t.clientX,
1342
1345
  startWidth: s
1343
1346
  }, window.addEventListener("pointermove", this._onPointerMove), window.addEventListener("pointerup", this._onPointerUp);
@@ -1370,58 +1373,58 @@ class R extends C {
1370
1373
  }
1371
1374
  const e = a.closest("th");
1372
1375
  if (!e || !this._table.contains(e)) return;
1373
- const i = this._headerCells().indexOf(e);
1374
- i < 0 || (this._dragColumnIndex = i, this._dragOverColumnIndex = i, this._clearDragMarkers(), e.setAttribute("data-dragging", "true"), t.dataTransfer && (t.dataTransfer.effectAllowed = "move", t.dataTransfer.setData("text/plain", String(i))));
1376
+ const r = this._headerCells().indexOf(e);
1377
+ r < 0 || (this._dragColumnIndex = r, this._dragOverColumnIndex = r, this._clearDragMarkers(), e.setAttribute("data-dragging", "true"), t.dataTransfer && (t.dataTransfer.effectAllowed = "move", t.dataTransfer.setData("text/plain", String(r))));
1375
1378
  }
1376
1379
  _onDragOver(t) {
1377
1380
  if (!this.hasAttribute("draggable-columns") || !this._table || this._dragColumnIndex < 0) return;
1378
1381
  const e = t.target.closest("th");
1379
1382
  if (!e || !this._table.contains(e)) return;
1380
- const r = this._headerCells(), i = r.indexOf(e);
1381
- if (i < 0 || (t.preventDefault(), this._dragOverColumnIndex === i)) return;
1382
- this._clearDragMarkers(), this._dragOverColumnIndex = i, e.setAttribute("data-drag-over", "true");
1383
- const s = r[this._dragColumnIndex];
1383
+ const i = this._headerCells(), r = i.indexOf(e);
1384
+ if (r < 0 || (t.preventDefault(), this._dragOverColumnIndex === r)) return;
1385
+ this._clearDragMarkers(), this._dragOverColumnIndex = r, e.setAttribute("data-drag-over", "true");
1386
+ const s = i[this._dragColumnIndex];
1384
1387
  s && s.setAttribute("data-dragging", "true");
1385
1388
  }
1386
1389
  _onDrop(t) {
1387
1390
  if (!this.hasAttribute("draggable-columns") || !this._table || this._dragColumnIndex < 0) return;
1388
1391
  const e = t.target.closest("th");
1389
1392
  if (!e || !this._table.contains(e)) return;
1390
- const i = this._headerCells().indexOf(e);
1391
- if (i < 0) return;
1393
+ const r = this._headerCells().indexOf(e);
1394
+ if (r < 0) return;
1392
1395
  t.preventDefault();
1393
- const s = this._dragColumnIndex, o = this._moveColumn(s, i);
1394
- this._clearDragMarkers(), this._dragColumnIndex = -1, this._ignoreHeaderClickUntil = Date.now() + 220, o && (this._applyVirtualization(!1), this._emitColumnOrderChange(s, i));
1396
+ const s = this._dragColumnIndex, o = this._moveColumn(s, r);
1397
+ this._clearDragMarkers(), this._dragColumnIndex = -1, this._ignoreHeaderClickUntil = Date.now() + 220, o && (this._applyVirtualization(!1), this._emitColumnOrderChange(s, r));
1395
1398
  }
1396
1399
  _onDragEnd() {
1397
1400
  this._clearDragMarkers(), this._dragColumnIndex = -1;
1398
1401
  }
1399
1402
  _rowValues(t) {
1400
- const a = this._headerCells(), e = Array.from(t.cells), r = {};
1401
- return e.forEach((i, s) => {
1403
+ const a = this._headerCells(), e = Array.from(t.cells), i = {};
1404
+ return e.forEach((r, s) => {
1402
1405
  const o = a[s], n = (o?.getAttribute("data-key") || p(o || void 0) || `col_${s + 1}`).toLowerCase().replace(/[^a-z0-9_]+/g, "_").replace(/^_+|_+$/g, "");
1403
- r[n || `col_${s + 1}`] = p(i);
1404
- }), r;
1406
+ i[n || `col_${s + 1}`] = p(r);
1407
+ }), i;
1405
1408
  }
1406
1409
  _syncRowSelectionState() {
1407
1410
  const t = this.hasAttribute("selectable"), a = this._bodyRows();
1408
1411
  for (const e of Array.from(this._selectedRows))
1409
1412
  a.includes(e) || this._selectedRows.delete(e);
1410
1413
  a.forEach((e) => {
1411
- const r = !e.hidden;
1412
- t && r ? (e.setAttribute("aria-selected", this._selectedRows.has(e) ? "true" : "false"), e.setAttribute("aria-keyshortcuts", "ArrowUp ArrowDown Home End Enter Space"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", "0"), this._selectedRows.has(e) ? e.setAttribute("data-selected", "true") : e.removeAttribute("data-selected")) : (e.removeAttribute("aria-selected"), e.removeAttribute("aria-keyshortcuts"), e.removeAttribute("data-selected"), e.getAttribute("tabindex") === "0" && e.removeAttribute("tabindex"));
1414
+ const i = !e.hidden;
1415
+ t && i ? (e.setAttribute("aria-selected", this._selectedRows.has(e) ? "true" : "false"), e.setAttribute("aria-keyshortcuts", "ArrowUp ArrowDown Home End Enter Space"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", "0"), this._selectedRows.has(e) ? e.setAttribute("data-selected", "true") : e.removeAttribute("data-selected")) : (e.removeAttribute("aria-selected"), e.removeAttribute("aria-keyshortcuts"), e.removeAttribute("data-selected"), e.getAttribute("tabindex") === "0" && e.removeAttribute("tabindex"));
1413
1416
  });
1414
1417
  }
1415
1418
  _toggleRowSelection(t) {
1416
1419
  const a = this.hasAttribute("multi-select"), e = this._selectedRows.has(t);
1417
1420
  a || this._selectedRows.clear(), e && a ? this._selectedRows.delete(t) : this._selectedRows.add(t), this._syncRowSelectionState(), this._updateBulkActions();
1418
- const r = this._bodyRows(), i = r.flatMap((o, n) => this._selectedRows.has(o) ? [n] : []), s = r.filter((o) => this._selectedRows.has(o)).map((o) => this._rowValues(o));
1421
+ const i = this._bodyRows(), r = i.flatMap((o, n) => this._selectedRows.has(o) ? [n] : []), s = i.filter((o) => this._selectedRows.has(o)).map((o) => this._rowValues(o));
1419
1422
  this.dispatchEvent(
1420
1423
  new CustomEvent("row-select", {
1421
1424
  detail: {
1422
- index: r.indexOf(t),
1425
+ index: i.indexOf(t),
1423
1426
  selected: this._selectedRows.has(t),
1424
- indices: i,
1427
+ indices: r,
1425
1428
  rows: s,
1426
1429
  page: this._page
1427
1430
  },
@@ -1474,29 +1477,29 @@ class R extends C {
1474
1477
  }
1475
1478
  _onClick(t) {
1476
1479
  if (!this._table) return;
1477
- const e = t.composedPath().find((i) => i instanceof HTMLElement) || t.target;
1480
+ const e = t.composedPath().find((r) => r instanceof HTMLElement) || t.target;
1478
1481
  if (e.closest(".bulk-clear")) {
1479
- const i = this._selectedRows.size;
1480
- i > 0 && (this._selectedRows.clear(), this._syncRowSelectionState(), this._updateBulkActions(), this.dispatchEvent(new CustomEvent("bulk-clear", { detail: { count: i, page: this._page }, bubbles: !0 })));
1482
+ const r = this._selectedRows.size;
1483
+ r > 0 && (this._selectedRows.clear(), this._syncRowSelectionState(), this._updateBulkActions(), this.dispatchEvent(new CustomEvent("bulk-clear", { detail: { count: r, page: this._page }, bubbles: !0 })));
1481
1484
  return;
1482
1485
  }
1483
1486
  if (!e.closest(".resize-handle") && !(e.closest("th") && Date.now() < this._ignoreHeaderClickUntil) && !this._isInteractionBlocked()) {
1484
1487
  if (this.hasAttribute("sortable")) {
1485
- const i = e.closest("th");
1486
- if (i && this._table.contains(i)) {
1487
- if (e !== i && this._isInteractiveTarget(e)) return;
1488
- const o = this._headerCells().indexOf(i);
1488
+ const r = e.closest("th");
1489
+ if (r && this._table.contains(r)) {
1490
+ if (e !== r && this._isInteractiveTarget(e)) return;
1491
+ const o = this._headerCells().indexOf(r);
1489
1492
  if (o >= 0) {
1490
- this._sortByColumn(o, i);
1493
+ this._sortByColumn(o, r);
1491
1494
  return;
1492
1495
  }
1493
1496
  }
1494
1497
  }
1495
1498
  if (this.hasAttribute("selectable")) {
1496
- const i = e.closest("tbody tr");
1497
- if (i && this._table.contains(i) && !i.hidden && !this._isVirtualSpacerRow(i)) {
1498
- if (e !== i && this._isInteractiveTarget(e)) return;
1499
- this._toggleRowSelection(i);
1499
+ const r = e.closest("tbody tr");
1500
+ if (r && this._table.contains(r) && !r.hidden && !this._isVirtualSpacerRow(r)) {
1501
+ if (e !== r && this._isInteractiveTarget(e)) return;
1502
+ this._toggleRowSelection(r);
1500
1503
  }
1501
1504
  }
1502
1505
  }
@@ -1505,19 +1508,19 @@ class R extends C {
1505
1508
  if (!this._table) return;
1506
1509
  const a = t.key, e = t.target;
1507
1510
  if (a === "Escape" && this._selectedRows.size) {
1508
- const i = this._selectedRows.size;
1509
- this._selectedRows.clear(), this._syncRowSelectionState(), this._updateBulkActions(), this.dispatchEvent(new CustomEvent("bulk-clear", { detail: { count: i, page: this._page }, bubbles: !0 }));
1511
+ const r = this._selectedRows.size;
1512
+ this._selectedRows.clear(), this._syncRowSelectionState(), this._updateBulkActions(), this.dispatchEvent(new CustomEvent("bulk-clear", { detail: { count: r, page: this._page }, bubbles: !0 }));
1510
1513
  return;
1511
1514
  }
1512
1515
  if (this._isInteractionBlocked()) return;
1513
- const r = e.closest("th");
1514
- if (r && this._table.contains(r)) {
1515
- const i = this._headerCells(), s = i.indexOf(r);
1516
+ const i = e.closest("th");
1517
+ if (i && this._table.contains(i)) {
1518
+ const r = this._headerCells(), s = r.indexOf(i);
1516
1519
  if (s >= 0) {
1517
1520
  const n = this._isRtl() ? -1 : 1, u = -n;
1518
1521
  if (a === "ArrowRight" || a === "ArrowLeft") {
1519
1522
  t.preventDefault();
1520
- const h = a === "ArrowRight" ? n : u, l = Math.max(0, Math.min(i.length - 1, s + h));
1523
+ const h = a === "ArrowRight" ? n : u, l = Math.max(0, Math.min(r.length - 1, s + h));
1521
1524
  if (t.altKey && this.hasAttribute("draggable-columns") && l !== s) {
1522
1525
  this._moveColumn(s, l) && (this._ignoreHeaderClickUntil = Date.now() + 220, this._emitColumnOrderChange(s, l), this._applyVirtualization(!1), this._focusHeaderAt(l));
1523
1526
  return;
@@ -1526,22 +1529,22 @@ class R extends C {
1526
1529
  return;
1527
1530
  }
1528
1531
  if (a === "Home" || a === "End") {
1529
- t.preventDefault(), this._focusHeaderAt(a === "Home" ? 0 : i.length - 1);
1532
+ t.preventDefault(), this._focusHeaderAt(a === "Home" ? 0 : r.length - 1);
1530
1533
  return;
1531
1534
  }
1532
1535
  if ((a === "Enter" || a === " ") && this.hasAttribute("sortable")) {
1533
- if (e !== r && this._isInteractiveTarget(e)) return;
1534
- t.preventDefault(), this._sortByColumn(s, r);
1536
+ if (e !== i && this._isInteractiveTarget(e)) return;
1537
+ t.preventDefault(), this._sortByColumn(s, i);
1535
1538
  return;
1536
1539
  }
1537
1540
  }
1538
1541
  }
1539
1542
  if (this.hasAttribute("selectable")) {
1540
- const i = e.closest("tbody tr");
1541
- if (i && this._table.contains(i) && !i.hidden && !this._isVirtualSpacerRow(i)) {
1542
- if (e !== i && this._isInteractiveTarget(e)) return;
1543
+ const r = e.closest("tbody tr");
1544
+ if (r && this._table.contains(r) && !r.hidden && !this._isVirtualSpacerRow(r)) {
1545
+ if (e !== r && this._isInteractiveTarget(e)) return;
1543
1546
  if (a === "ArrowDown" || a === "ArrowUp") {
1544
- t.preventDefault(), this._focusSelectableRow(i, a === "ArrowDown" ? 1 : -1);
1547
+ t.preventDefault(), this._focusSelectableRow(r, a === "ArrowDown" ? 1 : -1);
1545
1548
  return;
1546
1549
  }
1547
1550
  if (a === "Home" || a === "End") {
@@ -1550,7 +1553,7 @@ class R extends C {
1550
1553
  o && o.focus();
1551
1554
  return;
1552
1555
  }
1553
- (a === "Enter" || a === " ") && (t.preventDefault(), this._toggleRowSelection(i));
1556
+ (a === "Enter" || a === " ") && (t.preventDefault(), this._toggleRowSelection(r));
1554
1557
  }
1555
1558
  }
1556
1559
  }
@@ -1563,8 +1566,8 @@ class R extends C {
1563
1566
  return;
1564
1567
  }
1565
1568
  t.removeAttribute("hidden");
1566
- const i = this.getAttribute("bulk-actions-label") || "{count} selected", s = this.getAttribute("bulk-clear-label") || "Clear selection", o = t.querySelector(".bulk-count");
1567
- o && (o.textContent = i.replace("{count}", String(e)));
1569
+ const r = this.getAttribute("bulk-actions-label") || "{count} selected", s = this.getAttribute("bulk-clear-label") || "Clear selection", o = t.querySelector(".bulk-count");
1570
+ o && (o.textContent = r.replace("{count}", String(e)));
1568
1571
  const n = t.querySelector(".bulk-clear");
1569
1572
  n && (n.textContent = s);
1570
1573
  }