@vielzeug/refine 2.3.0 → 3.0.0

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 (314) hide show
  1. package/README.md +5 -18
  2. package/dist/accordion-item.cjs +1 -1
  3. package/dist/accordion-item.cjs.map +1 -1
  4. package/dist/accordion-item.js +1 -1
  5. package/dist/accordion-item.js.map +1 -1
  6. package/dist/accordion.cjs.map +1 -1
  7. package/dist/accordion.js.map +1 -1
  8. package/dist/async.cjs +1 -1
  9. package/dist/async.cjs.map +1 -1
  10. package/dist/async.js +3 -3
  11. package/dist/async.js.map +1 -1
  12. package/dist/box.cjs.map +1 -1
  13. package/dist/box.js.map +1 -1
  14. package/dist/card.cjs +1 -1
  15. package/dist/card.cjs.map +1 -1
  16. package/dist/card.js +3 -3
  17. package/dist/card.js.map +1 -1
  18. package/dist/chat-message.cjs +1 -1
  19. package/dist/chat-message.cjs.map +1 -1
  20. package/dist/chat-message.js +1 -1
  21. package/dist/chat-message.js.map +1 -1
  22. package/dist/checkbox-group.cjs +1 -1
  23. package/dist/checkbox-group.cjs.map +1 -1
  24. package/dist/checkbox-group.js +1 -1
  25. package/dist/checkbox-group.js.map +1 -1
  26. package/dist/combobox.cjs +10 -8
  27. package/dist/combobox.cjs.map +1 -1
  28. package/dist/combobox.js +62 -51
  29. package/dist/combobox.js.map +1 -1
  30. package/dist/command-palette.cjs +1 -1
  31. package/dist/command-palette.cjs.map +1 -1
  32. package/dist/command-palette.js +6 -2
  33. package/dist/command-palette.js.map +1 -1
  34. package/dist/content/card/card.css.cjs +1 -1
  35. package/dist/content/card/card.css.cjs.map +1 -1
  36. package/dist/content/card/card.css.js +1 -1
  37. package/dist/content/card/card.css.js.map +1 -1
  38. package/dist/content/card/card.d.ts +2 -2
  39. package/dist/content/card/card.d.ts.map +1 -1
  40. package/dist/content/index.d.ts +2 -0
  41. package/dist/content/index.d.ts.map +1 -1
  42. package/dist/content/list/list-item.css.cjs +1 -1
  43. package/dist/content/list/list-item.css.cjs.map +1 -1
  44. package/dist/content/list/list-item.css.js +1 -1
  45. package/dist/content/list/list-item.css.js.map +1 -1
  46. package/dist/content/list/list-item.d.ts +9 -0
  47. package/dist/content/list/list-item.d.ts.map +1 -1
  48. package/dist/content/pagination/pagination.css.cjs +1 -1
  49. package/dist/content/pagination/pagination.css.cjs.map +1 -1
  50. package/dist/content/pagination/pagination.css.js +1 -1
  51. package/dist/content/pagination/pagination.css.js.map +1 -1
  52. package/dist/content/stats/stats.css.cjs +2 -0
  53. package/dist/content/stats/stats.css.cjs.map +1 -0
  54. package/dist/content/stats/stats.css.js +6 -0
  55. package/dist/content/stats/stats.css.js.map +1 -0
  56. package/dist/content/stats/stats.d.ts +72 -0
  57. package/dist/content/stats/stats.d.ts.map +1 -0
  58. package/dist/core/auto-resize.cjs +1 -1
  59. package/dist/core/auto-resize.cjs.map +1 -1
  60. package/dist/core/auto-resize.js +1 -1
  61. package/dist/core/auto-resize.js.map +1 -1
  62. package/dist/core/field-base.cjs +1 -1
  63. package/dist/core/field-base.cjs.map +1 -1
  64. package/dist/core/field-base.d.ts +1 -1
  65. package/dist/core/field-base.js +1 -1
  66. package/dist/core/field-base.js.map +1 -1
  67. package/dist/core/nav.cjs +1 -1
  68. package/dist/core/nav.cjs.map +1 -1
  69. package/dist/core/nav.d.ts +4 -1
  70. package/dist/core/nav.d.ts.map +1 -1
  71. package/dist/core/nav.js +41 -28
  72. package/dist/core/nav.js.map +1 -1
  73. package/dist/core/option-list.cjs +1 -1
  74. package/dist/core/option-list.cjs.map +1 -1
  75. package/dist/core/option-list.d.ts.map +1 -1
  76. package/dist/core/option-list.js +30 -28
  77. package/dist/core/option-list.js.map +1 -1
  78. package/dist/core/slider.cjs +1 -1
  79. package/dist/core/slider.cjs.map +1 -1
  80. package/dist/core/slider.js +1 -1
  81. package/dist/core/slider.js.map +1 -1
  82. package/dist/core/spinner.cjs +1 -1
  83. package/dist/core/spinner.cjs.map +1 -1
  84. package/dist/core/spinner.js +1 -1
  85. package/dist/core/spinner.js.map +1 -1
  86. package/dist/custom-elements.json +5471 -4977
  87. package/dist/datagrid.cjs +219 -199
  88. package/dist/datagrid.cjs.map +1 -1
  89. package/dist/datagrid.js +415 -302
  90. package/dist/datagrid.js.map +1 -1
  91. package/dist/disclosure/accordion/accordion.css.cjs +1 -1
  92. package/dist/disclosure/accordion/accordion.css.cjs.map +1 -1
  93. package/dist/disclosure/accordion/accordion.css.js +1 -1
  94. package/dist/disclosure/accordion/accordion.css.js.map +1 -1
  95. package/dist/disclosure/accordion/accordion.d.ts +5 -5
  96. package/dist/disclosure/accordion/accordion.d.ts.map +1 -1
  97. package/dist/disclosure/accordion-item/accordion-item.css.cjs +1 -1
  98. package/dist/disclosure/accordion-item/accordion-item.css.cjs.map +1 -1
  99. package/dist/disclosure/accordion-item/accordion-item.css.js +1 -1
  100. package/dist/disclosure/accordion-item/accordion-item.css.js.map +1 -1
  101. package/dist/disclosure/accordion-item/accordion-item.d.ts +3 -3
  102. package/dist/disclosure/accordion-item/accordion-item.d.ts.map +1 -1
  103. package/dist/disclosure/tab-item/tab-item.css.cjs +1 -1
  104. package/dist/disclosure/tab-item/tab-item.css.cjs.map +1 -1
  105. package/dist/disclosure/tab-item/tab-item.css.js +1 -1
  106. package/dist/disclosure/tab-item/tab-item.css.js.map +1 -1
  107. package/dist/disclosure/tab-item/tab-item.d.ts +6 -3
  108. package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
  109. package/dist/disclosure/tabs/tabs.css.cjs +1 -1
  110. package/dist/disclosure/tabs/tabs.css.cjs.map +1 -1
  111. package/dist/disclosure/tabs/tabs.css.js +1 -1
  112. package/dist/disclosure/tabs/tabs.css.js.map +1 -1
  113. package/dist/disclosure/tabs/tabs.d.ts +9 -5
  114. package/dist/disclosure/tabs/tabs.d.ts.map +1 -1
  115. package/dist/drawer.cjs +1 -1
  116. package/dist/drawer.cjs.map +1 -1
  117. package/dist/drawer.js +1 -1
  118. package/dist/drawer.js.map +1 -1
  119. package/dist/feedback/toast/toast.d.ts.map +1 -1
  120. package/dist/file-input.cjs +1 -1
  121. package/dist/file-input.cjs.map +1 -1
  122. package/dist/file-input.js +2 -2
  123. package/dist/file-input.js.map +1 -1
  124. package/dist/frameworks/elements.d.ts +4 -85
  125. package/dist/frameworks/react.d.ts +5 -4
  126. package/dist/frameworks/vue.d.ts +4 -4
  127. package/dist/grid.cjs +2 -2
  128. package/dist/grid.cjs.map +1 -1
  129. package/dist/grid.js +21 -18
  130. package/dist/grid.js.map +1 -1
  131. package/dist/icon.cjs +1 -1
  132. package/dist/icon.cjs.map +1 -1
  133. package/dist/icon.js +1 -1
  134. package/dist/icon.js.map +1 -1
  135. package/dist/input.cjs +5 -4
  136. package/dist/input.cjs.map +1 -1
  137. package/dist/input.js +14 -8
  138. package/dist/input.js.map +1 -1
  139. package/dist/inputs/combobox/combobox-options.cjs +1 -1
  140. package/dist/inputs/combobox/combobox-options.cjs.map +1 -1
  141. package/dist/inputs/combobox/combobox-options.d.ts.map +1 -1
  142. package/dist/inputs/combobox/combobox-options.js +1 -0
  143. package/dist/inputs/combobox/combobox-options.js.map +1 -1
  144. package/dist/inputs/combobox/combobox.css.cjs +1 -1
  145. package/dist/inputs/combobox/combobox.css.cjs.map +1 -1
  146. package/dist/inputs/combobox/combobox.css.js +1 -1
  147. package/dist/inputs/combobox/combobox.css.js.map +1 -1
  148. package/dist/inputs/combobox/combobox.d.ts +13 -1
  149. package/dist/inputs/combobox/combobox.d.ts.map +1 -1
  150. package/dist/inputs/combobox/combobox.types.d.ts +7 -0
  151. package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
  152. package/dist/inputs/datagrid/datagrid-model.cjs +1 -1
  153. package/dist/inputs/datagrid/datagrid-model.cjs.map +1 -1
  154. package/dist/inputs/datagrid/datagrid-model.d.ts +17 -3
  155. package/dist/inputs/datagrid/datagrid-model.d.ts.map +1 -1
  156. package/dist/inputs/datagrid/datagrid-model.js +93 -70
  157. package/dist/inputs/datagrid/datagrid-model.js.map +1 -1
  158. package/dist/inputs/datagrid/datagrid.css.cjs +1 -1
  159. package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -1
  160. package/dist/inputs/datagrid/datagrid.css.js +1 -1
  161. package/dist/inputs/datagrid/datagrid.css.js.map +1 -1
  162. package/dist/inputs/datagrid/datagrid.d.ts +78 -36
  163. package/dist/inputs/datagrid/datagrid.d.ts.map +1 -1
  164. package/dist/inputs/file-input/file-input-upload.cjs +1 -1
  165. package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
  166. package/dist/inputs/file-input/file-input-upload.js +1 -1
  167. package/dist/inputs/file-input/file-input-upload.js.map +1 -1
  168. package/dist/inputs/index.d.ts +3 -4
  169. package/dist/inputs/index.d.ts.map +1 -1
  170. package/dist/inputs/input/input.css.cjs +1 -1
  171. package/dist/inputs/input/input.css.cjs.map +1 -1
  172. package/dist/inputs/input/input.css.js +1 -1
  173. package/dist/inputs/input/input.css.js.map +1 -1
  174. package/dist/inputs/input/input.d.ts +3 -0
  175. package/dist/inputs/input/input.d.ts.map +1 -1
  176. package/dist/inputs/select/select.css.cjs +1 -1
  177. package/dist/inputs/select/select.css.cjs.map +1 -1
  178. package/dist/inputs/select/select.css.js +1 -1
  179. package/dist/inputs/select/select.css.js.map +1 -1
  180. package/dist/inputs/select/select.d.ts +5 -0
  181. package/dist/inputs/select/select.d.ts.map +1 -1
  182. package/dist/inputs/shared/field-binding.cjs +1 -1
  183. package/dist/inputs/shared/field-binding.cjs.map +1 -1
  184. package/dist/inputs/shared/field-binding.js +6 -6
  185. package/dist/inputs/shared/field-binding.js.map +1 -1
  186. package/dist/layout/box/box.css.cjs +1 -1
  187. package/dist/layout/box/box.css.cjs.map +1 -1
  188. package/dist/layout/box/box.css.js +1 -1
  189. package/dist/layout/box/box.css.js.map +1 -1
  190. package/dist/layout/box/box.d.ts +3 -3
  191. package/dist/layout/box/box.d.ts.map +1 -1
  192. package/dist/layout/grid/grid.d.ts.map +1 -1
  193. package/dist/layout/navbar/navbar.css.cjs +1 -1
  194. package/dist/layout/navbar/navbar.css.cjs.map +1 -1
  195. package/dist/layout/navbar/navbar.css.js +1 -1
  196. package/dist/layout/navbar/navbar.css.js.map +1 -1
  197. package/dist/layout/navbar/navbar.d.ts +3 -1
  198. package/dist/layout/navbar/navbar.d.ts.map +1 -1
  199. package/dist/layout/sidebar/sidebar.css.cjs +1 -1
  200. package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
  201. package/dist/layout/sidebar/sidebar.css.js +1 -1
  202. package/dist/layout/sidebar/sidebar.css.js.map +1 -1
  203. package/dist/layout/sidebar/sidebar.d.ts +8 -0
  204. package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
  205. package/dist/list-item.cjs +6 -5
  206. package/dist/list-item.cjs.map +1 -1
  207. package/dist/list-item.js +23 -17
  208. package/dist/list-item.js.map +1 -1
  209. package/dist/list.cjs +1 -1
  210. package/dist/list.cjs.map +1 -1
  211. package/dist/list.js +1 -1
  212. package/dist/list.js.map +1 -1
  213. package/dist/menu.cjs +1 -1
  214. package/dist/menu.cjs.map +1 -1
  215. package/dist/menu.js +7 -7
  216. package/dist/menu.js.map +1 -1
  217. package/dist/navbar.cjs +2 -2
  218. package/dist/navbar.cjs.map +1 -1
  219. package/dist/navbar.js +91 -87
  220. package/dist/navbar.js.map +1 -1
  221. package/dist/navigation-menu.cjs +1 -1
  222. package/dist/navigation-menu.cjs.map +1 -1
  223. package/dist/navigation-menu.js +2 -2
  224. package/dist/navigation-menu.js.map +1 -1
  225. package/dist/number-input.cjs +1 -1
  226. package/dist/number-input.cjs.map +1 -1
  227. package/dist/number-input.js +1 -1
  228. package/dist/number-input.js.map +1 -1
  229. package/dist/overlay/popover/popover.css.cjs +1 -1
  230. package/dist/overlay/popover/popover.css.cjs.map +1 -1
  231. package/dist/overlay/popover/popover.css.js +1 -1
  232. package/dist/overlay/popover/popover.css.js.map +1 -1
  233. package/dist/overlay/popover/popover.d.ts +1 -0
  234. package/dist/overlay/popover/popover.d.ts.map +1 -1
  235. package/dist/overlay/shared/use-dialog.cjs +1 -1
  236. package/dist/overlay/shared/use-dialog.cjs.map +1 -1
  237. package/dist/overlay/shared/use-dialog.js +1 -1
  238. package/dist/overlay/shared/use-dialog.js.map +1 -1
  239. package/dist/overlay/shared/use-floating-trigger.cjs +1 -1
  240. package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
  241. package/dist/overlay/shared/use-floating-trigger.js +1 -1
  242. package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
  243. package/dist/overlay/tooltip/tooltip.d.ts.map +1 -1
  244. package/dist/popover.cjs +1 -1
  245. package/dist/popover.cjs.map +1 -1
  246. package/dist/popover.js +6 -6
  247. package/dist/popover.js.map +1 -1
  248. package/dist/radio-group.cjs +1 -1
  249. package/dist/radio-group.cjs.map +1 -1
  250. package/dist/radio-group.js +1 -1
  251. package/dist/radio-group.js.map +1 -1
  252. package/dist/radio.cjs +1 -1
  253. package/dist/radio.cjs.map +1 -1
  254. package/dist/radio.js +15 -13
  255. package/dist/radio.js.map +1 -1
  256. package/dist/rating.cjs +1 -1
  257. package/dist/rating.cjs.map +1 -1
  258. package/dist/rating.js +2 -2
  259. package/dist/rating.js.map +1 -1
  260. package/dist/refine.cjs +373 -324
  261. package/dist/refine.cjs.map +1 -1
  262. package/dist/refine.iife.js +382 -333
  263. package/dist/refine.iife.js.map +1 -1
  264. package/dist/refine.js +417 -368
  265. package/dist/refine.js.map +1 -1
  266. package/dist/select.cjs +16 -14
  267. package/dist/select.cjs.map +1 -1
  268. package/dist/select.js +118 -112
  269. package/dist/select.js.map +1 -1
  270. package/dist/shared/types.d.ts +0 -2
  271. package/dist/shared/types.d.ts.map +1 -1
  272. package/dist/sidebar.cjs +28 -23
  273. package/dist/sidebar.cjs.map +1 -1
  274. package/dist/sidebar.js +143 -108
  275. package/dist/sidebar.js.map +1 -1
  276. package/dist/skeleton.cjs +1 -1
  277. package/dist/skeleton.cjs.map +1 -1
  278. package/dist/skeleton.js +11 -9
  279. package/dist/skeleton.js.map +1 -1
  280. package/dist/slider.cjs +1 -1
  281. package/dist/slider.cjs.map +1 -1
  282. package/dist/slider.js +21 -21
  283. package/dist/slider.js.map +1 -1
  284. package/dist/stats.cjs +18 -0
  285. package/dist/stats.cjs.map +1 -0
  286. package/dist/stats.js +88 -0
  287. package/dist/stats.js.map +1 -0
  288. package/dist/stepper.cjs +1 -1
  289. package/dist/stepper.cjs.map +1 -1
  290. package/dist/stepper.js +1 -1
  291. package/dist/stepper.js.map +1 -1
  292. package/dist/styles/mixins/animation.css.cjs +2 -0
  293. package/dist/styles/mixins/animation.css.cjs.map +1 -1
  294. package/dist/styles/mixins/animation.css.d.ts.map +1 -1
  295. package/dist/styles/mixins/animation.css.js +2 -0
  296. package/dist/styles/mixins/animation.css.js.map +1 -1
  297. package/dist/tab-item.cjs +1 -1
  298. package/dist/tab-item.cjs.map +1 -1
  299. package/dist/tab-item.js +3 -2
  300. package/dist/tab-item.js.map +1 -1
  301. package/dist/tabs.cjs +1 -1
  302. package/dist/tabs.cjs.map +1 -1
  303. package/dist/tabs.js +3 -1
  304. package/dist/tabs.js.map +1 -1
  305. package/dist/toast.cjs +8 -8
  306. package/dist/toast.cjs.map +1 -1
  307. package/dist/toast.js +32 -33
  308. package/dist/toast.js.map +1 -1
  309. package/dist/tooltip.cjs +1 -1
  310. package/dist/tooltip.cjs.map +1 -1
  311. package/dist/tooltip.js +2 -2
  312. package/dist/tooltip.js.map +1 -1
  313. package/dist/types/elements.d.ts +207 -0
  314. package/package.json +70 -62
package/dist/datagrid.js CHANGED
@@ -1,27 +1,78 @@
1
1
  import { tableBaseMixin as e } from "./styles/mixins/table-base.css.js";
2
- import "./_dev.js";
3
- import { disablableBundle as t, loadableBundle as n } from "./shared/prop-bundles.js";
4
- import r from "./inputs/datagrid/datagrid.css.js";
5
- import { COLUMN_OBSERVED_ATTRS as i, COLUMN_TAG as a, parseColumnChildren as o } from "./inputs/datagrid/datagrid-column.js";
6
- import { createDataGridModel as s } from "./inputs/datagrid/datagrid-model.js";
7
- import { createGridNav as c } from "./inputs/datagrid/datagrid-nav.js";
8
- import { define as l, getHost as u, html as d, onCleanup as f, onMounted as p, prop as m, unsafeHtml as h, useEmit as g, useSlots as ee } from "@vielzeug/ore";
2
+ import { warn as t } from "./_dev.js";
3
+ import { disablableBundle as n, loadableBundle as r } from "./shared/prop-bundles.js";
4
+ import i from "./inputs/datagrid/datagrid.css.js";
5
+ import { COLUMN_OBSERVED_ATTRS as a, COLUMN_TAG as o, parseColumnChildren as s } from "./inputs/datagrid/datagrid-column.js";
6
+ import { createDataGridModel as c } from "./inputs/datagrid/datagrid-model.js";
7
+ import { createGridNav as ee } from "./inputs/datagrid/datagrid-nav.js";
8
+ import { define as l, getHost as u, html as d, onCleanup as f, onMounted as p, prop as m, unsafeHtml as h, useEmit as g, useSlots as te } from "@vielzeug/ore";
9
9
  import { computed as _, signal as v, watch as y } from "@vielzeug/ripple";
10
- import { debounce as te } from "@vielzeug/arsenal/function";
10
+ import { debounce as b } from "@vielzeug/arsenal";
11
11
  //#region src/inputs/datagrid/datagrid.ts
12
- function b(e, t) {
12
+ var x = {
13
+ activeFilters: (e) => `${e} active filter${e === 1 ? "" : "s"}`,
14
+ addFilter: "Add filter…",
15
+ ascending: "A → Z",
16
+ clearAllFilters: "Clear all filters",
17
+ clearFiltersAndSearch: "Clear all filters & search",
18
+ clearSort: "Clear sort",
19
+ closeSearch: "Close search",
20
+ collapseRow: "Collapse row",
21
+ columnOptions: "Column options",
22
+ columnVisibility: "Column visibility",
23
+ comfortableDensity: "Density: Comfortable",
24
+ compactDensity: "Density: Compact",
25
+ contains: "Contains",
26
+ cozyDensity: "Density: Cozy",
27
+ data: "Data",
28
+ descending: "Z → A",
29
+ emptyValue: "(empty)",
30
+ equals: "Equals",
31
+ expandRow: "Expand row",
32
+ filter: "Filter",
33
+ filterBy: "Filter by",
34
+ filterOperator: (e) => `${e} operator`,
35
+ greaterThan: "Greater than",
36
+ hiddenColumns: (e) => `${e} hidden column${e === 1 ? "" : "s"}`,
37
+ lessThan: "Less than",
38
+ nextPage: "Next page",
39
+ numericAscending: "0 → 9",
40
+ numericDescending: "9 → 0",
41
+ pageNavigation: "Page navigation",
42
+ pagination: "Pagination",
43
+ previousPage: "Previous page",
44
+ property: "Property",
45
+ range: (e, t, n) => `${e} to ${t} of ${n}`,
46
+ removeFilter: "Remove filter",
47
+ resetColumns: "Reset",
48
+ rowDetails: "Row details",
49
+ rows: (e) => `${e} row${e === 1 ? "" : "s"}`,
50
+ rowsPerPage: "Rows per page",
51
+ search: "Search",
52
+ selectAllRows: "Select all rows on this page",
53
+ selectRow: "Select row",
54
+ sort: "Sort",
55
+ sortBy: "Sort by",
56
+ views: "Views",
57
+ visibleColumns: (e, t) => `${e} of ${t} visible`
58
+ };
59
+ function S(e, t) {
13
60
  return e.key !== t || e.direction === "none" ? "chevrons-up-down" : e.direction === "asc" ? "chevron-up" : "chevron-down";
14
61
  }
15
- function x(e, t) {
62
+ function C(e, t) {
16
63
  return e.key !== t || e.direction === "none" ? "none" : e.direction === "asc" ? "ascending" : "descending";
17
64
  }
18
- var S = "ore-datagrid";
19
- l(S, {
65
+ function w(e) {
66
+ let t = e.detail;
67
+ return Array.isArray(t?.values) ? t.values : (e.target.value ?? "").split(",").filter(Boolean);
68
+ }
69
+ var T = "ore-datagrid";
70
+ l(T, {
20
71
  props: {
21
72
  activeView: m.string(),
22
73
  density: m.string(),
23
- ...t,
24
74
  ...n,
75
+ ...r,
25
76
  columns: m.data(),
26
77
  emptyText: m.string("No data"),
27
78
  expandable: m.bool(!1),
@@ -29,11 +80,12 @@ l(S, {
29
80
  fullwidth: m.bool(!1),
30
81
  getRowKey: m.data(),
31
82
  label: m.string(),
83
+ labels: m.data(),
32
84
  pageSize: m.number(10),
33
85
  pageSizeOptions: m.data(),
34
86
  rows: m.data(),
35
87
  searchLabel: m.data(),
36
- searchPlaceholder: m.string("Search…"),
88
+ searchPlaceholder: m.string(),
37
89
  selectedKeys: m.data(),
38
90
  selectionMode: m.string("none"),
39
91
  sortMode: m.string("client"),
@@ -42,154 +94,207 @@ l(S, {
42
94
  views: m.data()
43
95
  },
44
96
  setup(e) {
45
- let t = u(), n = g(), r = ee(), a = _(() => e.disabled.value === !0), l = _(() => e.selectionMode.value ?? "none"), m = v(/* @__PURE__ */ new Set()), S = _(() => e.expandable.value === !0 && E.value.some((e) => typeof e.renderExpanded == "function")), C = _(() => +(l.value === "multi")), w = v(e.pageSize.value ?? 10);
97
+ let n = u(), r = g(), i = te(), o = _(() => ({
98
+ ...x,
99
+ ...e.labels.value
100
+ })), l = _(() => e.disabled.value === !0), m = _(() => e.selectionMode.value ?? "none"), T = v(/* @__PURE__ */ new Set()), E = _(() => e.expandable.value === !0 && A.value.some((e) => typeof e.renderExpanded == "function")), D = _(() => +(m.value === "multi")), O = v(e.pageSize.value ?? 10);
46
101
  y(e.pageSize, (e) => {
47
- e != null && (w.value = e);
102
+ e != null && (O.value = e);
48
103
  });
49
- let T = v([]);
104
+ let k = v([]);
50
105
  p(() => {
51
- T.value = o(t);
106
+ k.value = s(n);
52
107
  let e = new MutationObserver(() => {
53
- T.value = o(t);
108
+ k.value = s(n);
54
109
  });
55
- return e.observe(t, {
56
- attributeFilter: i,
110
+ return e.observe(n, {
111
+ attributeFilter: a,
57
112
  attributes: !0,
58
113
  childList: !0,
59
114
  subtree: !0
60
115
  }), () => e.disconnect();
61
116
  });
62
- let E = _(() => {
117
+ let A = _(() => {
63
118
  let t = e.columns.value;
64
- return t === void 0 ? T.value : t;
65
- }), D = (t) => {
119
+ return t === void 0 ? k.value : t;
120
+ }), ne = _(() => {
121
+ let t = A.value.map((e) => ({
122
+ label: e.label,
123
+ value: e.key
124
+ })), n = new Set(t.map((e) => e.value));
125
+ for (let r of e.filterOptions.value ?? []) n.has(r.key) || t.push({
126
+ label: r.label,
127
+ value: r.key
128
+ });
129
+ return t;
130
+ }), j = (t) => {
66
131
  let n = e.getRowKey.value;
67
132
  if (n) return n(t);
68
133
  let r = t.id;
69
134
  return r == null ? `__missing_${Math.random().toString(36).slice(2)}` : String(r);
70
- }, O = _(() => e.source.value != null), k = v([]), A = v({
135
+ }, M = _(() => e.source.value != null), N = v([]), P = v({
71
136
  error: null,
72
137
  isLoading: !1,
73
138
  pageCount: 1,
74
139
  pageNumber: 1,
75
- pageSize: w.value,
140
+ pageSize: O.value,
76
141
  totalItems: 0
77
- }), j = null;
142
+ }), F = null;
78
143
  f(() => {
79
- j?.(), j = null;
144
+ F?.(), F = null;
80
145
  }), y(e.source, (e) => {
81
- if (j?.(), j = null, !e) {
82
- k.value = [], A.value = {
146
+ if (F?.(), F = null, !e) {
147
+ N.value = [], P.value = {
83
148
  error: null,
84
149
  isLoading: !1,
85
150
  pageCount: 1,
86
151
  pageNumber: 1,
87
- pageSize: w.value,
152
+ pageSize: O.value,
88
153
  totalItems: 0
89
154
  };
90
155
  return;
91
156
  }
92
- let t = (t = e.snapshot) => {
93
- k.value = t.data, A.value = {
157
+ let t = (t = e.state) => {
158
+ N.value = t.items, P.value = {
94
159
  error: t.error,
95
- isLoading: t.isFetching,
96
- pageCount: t.pagination.count,
97
- pageNumber: t.pagination.index,
98
- pageSize: t.pagination.size,
99
- totalItems: t.pagination.total
160
+ isLoading: t.loading,
161
+ pageCount: t.pagination.pageCount,
162
+ pageNumber: t.pagination.page,
163
+ pageSize: t.pagination.pageSize,
164
+ totalItems: t.pagination.totalItems
100
165
  };
101
166
  };
102
- t(), j = e.subscribe(t);
167
+ t(), F = e.subscribe(t);
103
168
  }, { immediate: !0 });
104
- let M = s({
105
- clientSide: _(() => !O.value),
106
- columns: E,
169
+ let I = c({
170
+ activeView: _(() => (e.views.value ?? []).find((t) => t.id === e.activeView.value)),
171
+ clientSide: _(() => !M.value),
172
+ columns: A,
173
+ emptyValueLabel: _(() => o.value.emptyValue),
174
+ filterOperators: _(() => [
175
+ {
176
+ label: o.value.contains,
177
+ value: "contains"
178
+ },
179
+ {
180
+ label: o.value.equals,
181
+ value: "equals"
182
+ },
183
+ {
184
+ label: o.value.greaterThan,
185
+ value: "gt"
186
+ },
187
+ {
188
+ label: o.value.lessThan,
189
+ value: "lt"
190
+ }
191
+ ]),
107
192
  filterOptions: e.filterOptions,
108
- getRowKey: D,
109
- items: _(() => O.value ? k.value : e.rows.value ?? []),
193
+ getRowKey: j,
194
+ items: _(() => M.value ? N.value : e.rows.value ?? []),
110
195
  onSelectionChange: (e) => {
111
- n("selection-change", {
196
+ r("selection-change", {
112
197
  keys: [...e],
113
- rows: M.selectedRows.value
198
+ rows: I.selectedRows.value
114
199
  });
115
200
  },
116
201
  onSortChange: (e) => {
117
- n("sort-change", e);
202
+ r("sort-change", e);
118
203
  },
119
- pageSize: _(() => O.value ? 0 : w.value),
120
- selectionMode: l,
204
+ pageSize: _(() => M.value ? 0 : O.value),
205
+ selectionMode: m,
121
206
  sortMode: _(() => e.sortMode.value ?? "client")
122
- }), N = te((t) => {
123
- let n = e.source.value;
124
- n?.setQuery ? n.setQuery({ search: t }) : M.setSearchQuery(t);
207
+ }), L = _(() => {
208
+ let e = A.value.find((e) => e.key === I.sortState.value.key);
209
+ if (e?.sortType) return e.sortType;
210
+ let t = I.filteredRows.value.find((t) => t[e?.key ?? ""] != null);
211
+ return t && typeof t[e?.key ?? ""] == "number" ? "number" : "text";
212
+ }), re = _(() => L.value === "number" ? [{
213
+ label: o.value.numericAscending,
214
+ value: "asc"
215
+ }, {
216
+ label: o.value.numericDescending,
217
+ value: "desc"
218
+ }] : [{
219
+ label: o.value.ascending,
220
+ value: "asc"
221
+ }, {
222
+ label: o.value.descending,
223
+ value: "desc"
224
+ }]), R = (e) => {
225
+ e && e.catch((e) => /* @__PURE__ */ t(`ore-datagrid: source command failed: ${String(e)}`));
226
+ }, z = (t) => {
227
+ R(e.source.value?.setParams?.(t));
228
+ }, B = b((t) => {
229
+ e.source.value?.setParams ? z(t) : I.setSearchQuery(t);
125
230
  }, 250);
126
- y(e.selectedKeys, (e) => {
127
- Array.isArray(e) && M.setSelection(new Set(e));
231
+ f(B.cancel), y(e.selectedKeys, (e) => {
232
+ Array.isArray(e) && I.setSelection(new Set(e));
128
233
  }, { immediate: !0 });
129
- let P = v({}), ne = (e, t) => (n) => {
234
+ let V = v({}), H = (e, t) => (n) => {
130
235
  n.preventDefault();
131
236
  let r = n.clientX, i = t.getBoundingClientRect().width, a = new AbortController(), { signal: o } = a;
132
237
  window.addEventListener("pointermove", (t) => {
133
- P.value = {
134
- ...P.value,
238
+ V.value = {
239
+ ...V.value,
135
240
  [e]: Math.max(40, i + t.clientX - r)
136
241
  };
137
242
  }, { signal: o }), window.addEventListener("pointerup", () => a.abort(), { signal: o });
138
- }, F = M.visibleColumns, I = (e, t) => {
243
+ }, U = I.visibleColumns, W = (e, t) => {
139
244
  if (e.cell) return e.cell(t);
140
245
  let n = t[e.key];
141
246
  return n == null ? "" : String(n);
142
247
  };
143
- function L(t) {
144
- let r = e.source.value;
145
- if (r) {
146
- t === "prev" ? r.page?.previous() : r.page?.next();
248
+ function G(t) {
249
+ let n = e.source.value;
250
+ if (n) {
251
+ R(t === "prev" ? n.previous() : n.next());
147
252
  return;
148
253
  }
149
- t === "prev" ? M.prevPage() : M.nextPage(), n("page-change", {
150
- pageIndex: M.pageIndex.value,
151
- pageSize: w.value
254
+ t === "prev" ? I.prevPage() : I.nextPage(), r("page-change", {
255
+ pageIndex: I.pageIndex.value,
256
+ pageSize: O.value
152
257
  });
153
258
  }
154
- let R = _(() => {
155
- let e = M.currentPageItems.value;
156
- return !e.length || M.isAllSelected() ? !1 : e.some((e) => M.selectedKeys.value.has(D(e)));
157
- }), z = _(() => F.value.length + +(l.value === "multi") + +!!S.value), B = _(() => O.value ? A.value.pageCount > 1 : w.value > 0), V = _(() => {
158
- if (O.value) {
159
- let { pageNumber: e, pageSize: t, totalItems: n } = A.value, r = Math.max(1, t);
160
- if (!B.value) return `${n} row${n === 1 ? "" : "s"}`;
161
- if (n === 0) return "0 to 0 of 0";
162
- let i = (e - 1) * r + 1;
163
- return `${i} to ${Math.min(i + r - 1, n)} of ${n}`;
259
+ let K = _(() => {
260
+ let e = I.currentPageItems.value;
261
+ return !e.length || I.isAllSelected() ? !1 : e.some((e) => I.selectedKeys.value.has(j(e)));
262
+ }), q = _(() => U.value.length + +(m.value === "multi") + +!!E.value), J = _(() => M.value ? P.value.pageCount > 1 : O.value > 0), Y = _(() => {
263
+ if (M.value) {
264
+ let { pageNumber: e, pageSize: t, totalItems: n } = P.value, r = Math.max(1, t);
265
+ if (!J.value) return o.value.rows(n);
266
+ if (n === 0) return o.value.range(0, 0, 0);
267
+ let i = (e - 1) * r + 1, a = Math.min(i + r - 1, n);
268
+ return o.value.range(i, a, n);
164
269
  }
165
- let e = M.totalItems.value;
166
- if (!B.value) return `${e} row${e === 1 ? "" : "s"}`;
167
- if (e === 0) return "0 to 0 of 0";
168
- let t = M.pageIndex.value * w.value + 1;
169
- return `${t} to ${Math.min(t + w.value - 1, e)} of ${e}`;
170
- }), H = _(() => e.loading.value === !0 || O.value && A.value.isLoading), U = _(() => O.value ? A.value.pageNumber > 1 : M.hasPrevPage.value), W = _(() => O.value ? A.value.pageNumber < A.value.pageCount : M.hasNextPage.value), G = _(() => O.value ? A.value.totalItems === 0 ? "0 / 0" : `${A.value.pageNumber} / ${A.value.pageCount}` : `${M.pageIndex.value + 1} / ${M.pageCount.value}`), K = [
270
+ let e = I.totalItems.value;
271
+ if (!J.value) return o.value.rows(e);
272
+ if (e === 0) return o.value.range(0, 0, 0);
273
+ let t = I.pageIndex.value * O.value + 1, n = Math.min(t + O.value - 1, e);
274
+ return o.value.range(t, n, e);
275
+ }), ie = _(() => e.loading.value === !0 || M.value && P.value.isLoading), ae = _(() => M.value ? P.value.pageNumber > 1 : I.hasPrevPage.value), oe = _(() => M.value ? P.value.pageNumber < P.value.pageCount : I.hasNextPage.value), se = _(() => M.value ? P.value.totalItems === 0 ? "0 / 0" : `${P.value.pageNumber} / ${P.value.pageCount}` : `${I.pageIndex.value + 1} / ${I.pageCount.value}`), X = [
171
276
  "compact",
172
277
  "cozy",
173
278
  "comfortable"
174
- ], q = {
279
+ ], ce = {
175
280
  comfortable: "rows-2",
176
281
  compact: "rows-4",
177
282
  cozy: "rows-3"
178
- }, J = {
179
- comfortable: "Density: Comfortable",
180
- compact: "Density: Compact",
181
- cozy: "Density: Cozy"
182
- }, Y = v(e.density.value ?? "cozy");
283
+ }, le = _(() => ({
284
+ comfortable: o.value.comfortableDensity,
285
+ compact: o.value.compactDensity,
286
+ cozy: o.value.cozyDensity
287
+ })), Z = v(e.density.value ?? "cozy");
183
288
  y(e.density, (e) => {
184
- e && (Y.value = e);
289
+ e && (Z.value = e);
185
290
  });
186
- let X = () => {
187
- let e = K.indexOf(Y.value), r = K[(e + 1) % K.length];
188
- Y.value = r, t.setAttribute("density", r), n("density-change", { density: r });
189
- }, Z = v(!1), Q = (e) => {
190
- let t = new Set(m.value), r = !t.has(e);
191
- r ? t.add(e) : t.delete(e), m.value = t, n("row-expand", {
192
- expanded: r,
291
+ let ue = () => {
292
+ let e = X.indexOf(Z.value), t = X[(e + 1) % X.length];
293
+ Z.value = t, n.setAttribute("density", t), r("density-change", { density: t });
294
+ }, Q = (e) => {
295
+ let t = new Set(T.value), n = !t.has(e);
296
+ n ? t.add(e) : t.delete(e), T.value = t, r("row-expand", {
297
+ expanded: n,
193
298
  key: e
194
299
  });
195
300
  }, $ = {
@@ -200,18 +305,18 @@ l(S, {
200
305
  focusCell: () => {}
201
306
  };
202
307
  p(() => {
203
- let e = t.shadowRoot, n = e.querySelector(".dg-table");
204
- if (!n) return;
205
- let { cleanup: r, handle: i } = c(n, e);
308
+ let e = n.shadowRoot, t = e.querySelector(".dg-table");
309
+ if (!t) return;
310
+ let { cleanup: r, handle: i } = ee(t, e);
206
311
  return $ = i, r;
207
- }), t.focusCell = (e) => $.focusCell(e);
208
- let re = () => {
209
- let t = e.views.value ?? [], r = e.activeView.value;
312
+ }), n.focusCell = (e) => $.focusCell(e);
313
+ let de = () => {
314
+ let t = e.views.value ?? [], n = e.activeView.value;
210
315
  return d`
211
316
  <div
212
317
  class="dg-tabs"
213
318
  role="tablist"
214
- aria-label="Views"
319
+ aria-label="${() => o.value.views}"
215
320
  aria-controls="dg-tabpanel"
216
321
  @keydown="${(e) => {
217
322
  if (![
@@ -229,16 +334,16 @@ l(S, {
229
334
  }}">
230
335
  ${t.map((e) => d`
231
336
  <ore-button
232
- class="${() => `dg-tab${r === e.id ? " dg-tab--active" : ""}`}"
337
+ class="${() => `dg-tab${n === e.id ? " dg-tab--active" : ""}`}"
233
338
  role="tab"
234
339
  variant="ghost"
235
340
  rounded="full"
236
341
  size="sm"
237
- tabindex="${() => r === e.id ? "0" : "-1"}"
238
- aria-selected="${() => String(r === e.id)}"
342
+ tabindex="${() => n === e.id ? "0" : "-1"}"
343
+ aria-selected="${() => String(n === e.id)}"
239
344
  aria-controls="dg-tabpanel"
240
345
  @click="${() => {
241
- n("view-change", {
346
+ r("view-change", {
242
347
  id: e.id,
243
348
  label: e.label
244
349
  });
@@ -248,102 +353,94 @@ l(S, {
248
353
  `)}
249
354
  </div>
250
355
  `;
251
- }, ie = () => d`
252
- <ore-popover class="dg-action-popover" placement="bottom-end" label="Sort" style="--popover-min-width:18rem">
253
- <ore-button variant="ghost" size="sm" icon-only label="Sort">
356
+ }, fe = () => d`
357
+ <ore-popover class="dg-action-popover" placement="bottom-end" label="${() => o.value.sort}" style="--popover-min-width:18rem;--popover-overflow:visible">
358
+ <ore-button
359
+ class="dg-icon-btn dg-state-trigger"
360
+ variant="ghost"
361
+ size="sm"
362
+ icon-only
363
+ ?data-customized="${() => I.sortState.value.direction !== "none"}"
364
+ label="${() => o.value.sort}">
254
365
  <ore-icon name="arrow-up-down" size="15" stroke-width="1.75" aria-hidden="true"></ore-icon>
255
366
  </ore-button>
256
367
  <div slot="content" class="dg-pop-sort">
257
368
  <div class="dg-pop-header">
258
- <span class="dg-pop-title">Sort by</span>
259
- <ore-button
260
- class="dg-icon-btn"
261
- variant="ghost"
262
- size="sm"
263
- icon-only
264
- label="Clear sort"
265
- disabled="${() => M.sortState.value.direction === "none" || void 0}"
266
- @click="${() => M.sortTo("", "none")}">
267
- <ore-icon name="trash-2" size="14" stroke-width="1.75" aria-hidden="true"></ore-icon>
268
- </ore-button>
369
+ <span class="dg-pop-title">${() => o.value.sortBy}</span>
370
+ ${() => I.sortState.value.direction === "none" ? d`` : d`
371
+ <ore-button
372
+ class="dg-icon-btn"
373
+ variant="ghost"
374
+ size="sm"
375
+ icon-only
376
+ label="${() => o.value.clearSort}"
377
+ @click="${() => I.sortTo("", "none")}">
378
+ <ore-icon name="trash-2" size="14" stroke-width="1.75" aria-hidden="true"></ore-icon>
379
+ </ore-button>
380
+ `}
269
381
  </div>
270
382
  <div class="dg-pop-sort-row">
271
383
  <ore-select
272
384
  class="dg-pop-select"
385
+ hide-label
273
386
  variant="flat"
274
387
  size="sm"
275
388
  rounded="lg"
276
- placeholder="Property"
389
+ label="${() => o.value.property}"
390
+ placeholder="${() => o.value.property}"
277
391
  fullwidth
278
- value="${() => M.sortState.value.key}"
279
- options="${() => E.value.map((e) => ({
392
+ value="${() => I.sortState.value.key}"
393
+ options="${() => A.value.map((e) => ({
280
394
  label: e.label,
281
395
  value: e.key
282
396
  }))}"
283
397
  @change="${(e) => {
284
- let t = e.detail.values[0] ?? "", n = M.sortState.value.direction === "none" ? "asc" : M.sortState.value.direction;
285
- M.sortTo(t, n);
398
+ let t = w(e)[0] ?? "", n = I.sortState.value.direction === "none" ? "asc" : I.sortState.value.direction;
399
+ I.sortTo(t, n);
286
400
  }}"></ore-select>
287
401
  <ore-select
288
402
  class="dg-pop-dir-select"
403
+ hide-label
289
404
  variant="flat"
290
405
  size="sm"
291
406
  rounded="lg"
407
+ label="${() => o.value.sort}"
292
408
  fullwidth
293
- disabled="${() => !M.sortState.value.key || void 0}"
294
- value="${() => M.sortState.value.direction === "none" ? "asc" : M.sortState.value.direction}"
295
- options="${() => [{
296
- label: "A → Z",
297
- value: "asc"
298
- }, {
299
- label: "Z → A",
300
- value: "desc"
301
- }]}"
409
+ disabled="${() => !I.sortState.value.key || void 0}"
410
+ value="${() => I.sortState.value.direction === "none" ? "asc" : I.sortState.value.direction}"
411
+ options="${re}"
302
412
  @change="${(e) => {
303
- M.sortState.value.key && M.sortTo(M.sortState.value.key, e.detail.values[0] ?? "asc");
413
+ I.sortState.value.key && I.sortTo(I.sortState.value.key, w(e)[0] ?? "asc");
304
414
  }}"></ore-select>
305
415
  </div>
306
416
  </div>
307
417
  </ore-popover>
308
- `, ae = () => d`
418
+ `, pe = () => d`
309
419
  <ore-popover
310
420
  class="dg-action-popover"
311
421
  placement="bottom-end"
312
- label="Filter"
313
- style="--popover-min-width:16rem;--popover-max-height:min(90vh,48rem)">
314
- ${() => M.filterDefs.value.length ? d`
315
- <ore-badge
316
- anchor="top-end"
317
- color="primary"
318
- size="xs"
319
- count="${() => Z.value ? M.filterDefs.value.length : void 0}"
320
- dot="${() => !Z.value || void 0}"
321
- label="${() => `${M.filterDefs.value.length} active filter${M.filterDefs.value.length > 1 ? "s" : ""}`}"
322
- aria-hidden="true"
323
- @mouseenter="${() => Z.value = !0}"
324
- @mouseleave="${() => Z.value = !1}"
325
- @focusin="${() => Z.value = !0}"
326
- @focusout="${() => Z.value = !1}">
327
- <ore-button slot="target" variant="ghost" size="sm" icon-only label="Filter">
328
- <ore-icon name="filter" size="15" stroke-width="1.75" aria-hidden="true"></ore-icon>
329
- </ore-button>
330
- </ore-badge>
331
- ` : d`
332
- <ore-button class="dg-icon-btn" variant="ghost" size="sm" icon-only label="Filter">
333
- <ore-icon name="filter" size="15" stroke-width="1.75" aria-hidden="true"></ore-icon>
334
- </ore-button>
335
- `}
422
+ label="${() => o.value.filter}"
423
+ style="--popover-min-width:18rem;--popover-max-height:min(90vh,48rem)">
424
+ <ore-button
425
+ class="dg-icon-btn dg-state-trigger"
426
+ variant="ghost"
427
+ size="sm"
428
+ icon-only
429
+ ?data-customized="${() => I.filterDefs.value.length > 0}"
430
+ label="${() => I.filterDefs.value.length ? `${o.value.filter}: ${o.value.activeFilters(I.filterDefs.value.length)}` : o.value.filter}">
431
+ <ore-icon name="filter" size="15" stroke-width="1.75" aria-hidden="true"></ore-icon>
432
+ </ore-button>
336
433
  <div slot="content" class="dg-pop-filter">
337
434
  <div class="dg-pop-header">
338
- <span class="dg-pop-title">Filter by</span>
339
- ${() => M.filterDefs.value.length ? d`
435
+ <span class="dg-pop-title">${() => o.value.filterBy}</span>
436
+ ${() => I.filterDefs.value.length ? d`
340
437
  <ore-button
341
438
  class="dg-icon-btn"
342
439
  variant="ghost"
343
440
  size="sm"
344
441
  icon-only
345
- label="Clear all filters"
346
- @click="${() => M.clearAllFilters()}">
442
+ label="${() => o.value.clearAllFilters}"
443
+ @click="${() => I.clearAllFilters()}">
347
444
  <ore-icon name="trash-2" size="14" stroke-width="1.75" aria-hidden="true"></ore-icon>
348
445
  </ore-button>
349
446
  ` : d``}
@@ -352,90 +449,110 @@ l(S, {
352
449
  <!-- Always-visible field picker: select columns to add filter rules -->
353
450
  <div class="dg-pop-filter-fields">
354
451
  <ore-combobox
355
- placeholder="Add filter…"
452
+ hide-label
453
+ label="${() => o.value.addFilter}"
454
+ placeholder="${() => o.value.addFilter}"
356
455
  multiple
357
456
  fullwidth
358
457
  autoclose
359
- options="${() => E.value.map((e) => ({
360
- label: e.label,
361
- value: e.key
362
- }))}"
363
- value="${() => M.filterDefs.value.map((e) => e.key)}"
458
+ size="sm"
459
+ variant="flat"
460
+ options="${ne}"
461
+ value="${() => I.filterDefs.value.map((e) => e.key)}"
364
462
  @change="${(e) => {
365
- M.setActiveFilterKeys(e.detail.values);
463
+ I.setActiveFilterKeys(w(e));
366
464
  }}"></ore-combobox>
367
465
  </div>
368
466
 
369
467
  <!-- Active filter rules (appear below the field picker as rules are added) -->
370
- <div class="dg-pop-filter-rules" ?hidden="${() => !M.filterDefs.value.length}">
371
- ${() => M.filterDefs.value.map((e) => d`
468
+ <div class="dg-pop-filter-rules" ?hidden="${() => !I.filterDefs.value.length}">
469
+ ${() => I.filterDefs.value.map((e) => d`
372
470
  <div class="dg-pop-filter-rule">
373
471
  <div class="dg-pop-filter-rule-header">
374
472
  <span class="dg-pop-filter-field">${e.label}</span>
375
473
  <ore-select
376
474
  class="dg-pop-filter-op-select"
475
+ hide-label
377
476
  variant="ghost"
378
477
  size="sm"
478
+ label="${() => o.value.filterOperator(e.label)}"
379
479
  fullwidth
380
- value="${() => M.filterValues.value.get(e.key)?.operator ?? "contains"}"
480
+ value="${() => I.filterValues.value.get(e.key)?.operator ?? "contains"}"
381
481
  options="${() => e.operators ?? []}"
382
482
  @change="${(t) => {
383
- M.setFilterOperator(e.key, t.detail.values[0]);
483
+ let n = w(t)[0];
484
+ n && I.setFilterOperator(e.key, n);
384
485
  }}"></ore-select>
385
486
  <ore-button
386
487
  class="dg-icon-btn"
387
488
  variant="ghost"
388
489
  size="sm"
389
490
  icon-only
390
- label="Remove filter"
391
- @click="${() => M.removeFilter(e.key)}">
491
+ label="${() => o.value.removeFilter}"
492
+ @click="${() => I.removeFilter(e.key)}">
392
493
  <ore-icon name="trash-2" size="13" stroke-width="1.75" aria-hidden="true"></ore-icon>
393
494
  </ore-button>
394
495
  </div>
395
496
  <ore-combobox
396
497
  class="dg-filter"
498
+ hide-label
499
+ size="sm"
500
+ variant="flat"
501
+ label="${() => e.label}"
397
502
  placeholder="${() => e.label}"
398
503
  options="${() => e.options}"
399
- value="${() => [...M.filterValues.value.get(e.key)?.values ?? []]}"
400
- disabled="${() => a.value || void 0}"
504
+ value="${() => [...I.filterValues.value.get(e.key)?.values ?? []]}"
505
+ disabled="${() => l.value || void 0}"
401
506
  multiple
402
507
  fullwidth
403
508
  autoclose
404
509
  @change="${(t) => {
405
- M.setFilter(e.key, t.detail.values);
510
+ I.setFilter(e.key, w(t));
406
511
  }}"></ore-combobox>
407
512
  </div>
408
513
  `)}
409
514
  </div>
410
515
  </div>
411
516
  </ore-popover>
412
- `, oe = () => d`
517
+ `, me = () => d`
413
518
  <ore-popover
414
519
  class="dg-action-popover"
415
520
  placement="bottom-end"
416
- label="Column options"
521
+ label="${() => o.value.columnOptions}"
417
522
  style="--popover-min-width:18rem">
418
- <ore-button class="dg-icon-btn" variant="ghost" size="sm" icon-only label="Column options">
523
+ <ore-button
524
+ class="dg-icon-btn dg-state-trigger dg-column-trigger"
525
+ variant="ghost"
526
+ size="sm"
527
+ icon-only
528
+ ?data-customized="${() => I.hiddenColumns.value.size > 0}"
529
+ label="${() => I.hiddenColumns.value.size ? `${o.value.columnOptions}: ${o.value.hiddenColumns(I.hiddenColumns.value.size)}` : o.value.columnOptions}">
419
530
  <ore-icon name="columns-2" size="15" stroke-width="1.75" aria-hidden="true"></ore-icon>
420
531
  </ore-button>
421
- <div slot="content" class="dg-pop-col-list" role="menu" aria-label="Column visibility">
422
- ${() => E.value.map((e) => d`
423
- <ore-button
424
- class="dg-pop-col-item"
425
- role="menuitemcheckbox"
426
- variant="ghost"
427
- size="sm"
428
- aria-checked="${() => String(!M.hiddenColumns.value.has(e.key))}"
429
- @click="${() => M.toggleColumnVisibility(e.key)}">
430
- <ore-icon
431
- slot="prefix"
432
- name="${() => M.hiddenColumns.value.has(e.key) ? "eye-off" : "eye"}"
433
- size="13"
434
- stroke-width="2"
435
- aria-hidden="true"></ore-icon>
436
- ${e.label}
437
- </ore-button>
438
- `)}
532
+ <div slot="content" class="dg-pop-col">
533
+ <div class="dg-pop-header">
534
+ <span class="dg-pop-heading"><strong class="dg-pop-title">${() => o.value.columnVisibility}</strong><small>${() => o.value.visibleColumns(I.visibleColumns.value.length, A.value.length)}</small></span>
535
+ ${() => I.hiddenColumns.value.size ? d`
536
+ <ore-button
537
+ class="dg-icon-btn"
538
+ variant="ghost"
539
+ size="sm"
540
+ icon-only
541
+ label="${() => o.value.resetColumns}"
542
+ @click="${() => I.resetColumnVisibility()}">
543
+ <ore-icon name="trash-2" size="14" stroke-width="1.75" aria-hidden="true"></ore-icon>
544
+ </ore-button>
545
+ ` : d``}
546
+ </div>
547
+ <div class="dg-pop-col-list" role="group" aria-label="${() => o.value.columnVisibility}">
548
+ ${() => A.value.map((e) => d`
549
+ <ore-checkbox
550
+ class="dg-pop-col-item"
551
+ checked="${() => !I.hiddenColumns.value.has(e.key)}"
552
+ disabled="${() => !I.hiddenColumns.value.has(e.key) && I.visibleColumns.value.length === 1 || void 0}"
553
+ @change="${() => I.toggleColumnVisibility(e.key)}">${e.label}</ore-checkbox>
554
+ `)}
555
+ </div>
439
556
  </div>
440
557
  </ore-popover>
441
558
  `;
@@ -443,11 +560,11 @@ l(S, {
443
560
  <!-- ── Controls Bar ────────────────────────────────────────────────── -->
444
561
  <div class="dg-controls" part="controls">
445
562
  <!-- Left: view tabs -->
446
- ${() => re()}
563
+ ${() => de()}
447
564
 
448
565
  <!-- Right: Action bar -->
449
566
  <div class="dg-actions">
450
- ${() => ie()} ${() => ae()} ${() => oe()}
567
+ ${() => fe()} ${() => pe()} ${() => me()}
451
568
 
452
569
  <!-- Density toggle -->
453
570
  <ore-button
@@ -455,41 +572,39 @@ l(S, {
455
572
  variant="ghost"
456
573
  size="sm"
457
574
  icon-only
458
- label="${() => J[Y.value]}"
459
- @click="${X}">
575
+ label="${() => le.value[Z.value]}"
576
+ @click="${ue}">
460
577
  <ore-icon
461
- name="${() => q[Y.value]}"
578
+ name="${() => ce[Z.value]}"
462
579
  size="15"
463
580
  stroke-width="1.75"
464
581
  aria-hidden="true"></ore-icon>
465
582
  </ore-button>
466
583
 
467
- <span class="dg-action-divider" aria-hidden="true" ?hidden="${() => !r.has("actions").value}"></span>
584
+ <span class="dg-action-divider" aria-hidden="true" ?hidden="${() => !i.has("actions").value}"></span>
468
585
 
469
586
  <slot name="actions"></slot>
470
587
 
471
588
  <!-- Search toggle: rightmost, expands in-place -->
472
- <div class="${() => `dg-search${M.searchActive.value ? " dg-search--open" : ""}`}">
473
- ${() => M.searchActive.value ? d`
589
+ <div class="${() => `dg-search${I.searchActive.value ? " dg-search--open" : ""}`}">
590
+ ${() => I.searchActive.value ? d`
474
591
  <ore-input
475
592
  class="dg-search-input"
476
593
  type="search"
477
594
  variant="flat"
478
595
  size="sm"
479
596
  rounded="full"
480
- placeholder="${() => e.searchPlaceholder.value ?? "Search…"}"
481
- disabled="${() => a.value || void 0}"
597
+ aria-label="${() => o.value.search}"
598
+ placeholder="${() => e.searchPlaceholder.value ?? `${o.value.search}…`}"
599
+ disabled="${() => l.value || void 0}"
482
600
  ref="${(e) => {
483
601
  e && requestAnimationFrame(() => e.focus());
484
602
  }}"
485
603
  @input="${(e) => {
486
- N(e.detail.value);
604
+ B(e.currentTarget.value);
487
605
  }}"
488
606
  @keydown="${(t) => {
489
- if (t.key === "Escape") {
490
- let t = e.source.value;
491
- t?.setQuery && t.setQuery({ search: "" }), M.toggleSearch();
492
- }
607
+ t.key === "Escape" && (e.source.value?.setParams && z(""), I.toggleSearch());
493
608
  }}">
494
609
  <ore-icon slot="prefix" name="search" size="13" stroke-width="1.75" aria-hidden="true"></ore-icon>
495
610
  </ore-input>
@@ -499,15 +614,14 @@ l(S, {
499
614
  size="sm"
500
615
  icon-only
501
616
  label="${() => {
502
- let [t, n] = e.searchLabel.value ?? ["Search", "Close search"];
503
- return M.searchActive.value ? n : t;
617
+ let [t, n] = e.searchLabel.value ?? [o.value.search, o.value.closeSearch];
618
+ return I.searchActive.value ? n : t;
504
619
  }}"
505
620
  @click="${() => {
506
- let t = e.source.value;
507
- t?.setQuery && M.searchActive.value && t.setQuery({ search: "" }), M.toggleSearch();
621
+ e.source.value?.setParams && I.searchActive.value && z(""), I.toggleSearch();
508
622
  }}">
509
623
  <ore-icon
510
- name="${() => M.searchActive.value ? "x" : "search"}"
624
+ name="${() => I.searchActive.value ? "x" : "search"}"
511
625
  size="15"
512
626
  stroke-width="1.75"
513
627
  aria-hidden="true"></ore-icon>
@@ -516,7 +630,7 @@ l(S, {
516
630
  </div>
517
631
  </div>
518
632
 
519
- <div id="dg-tabpanel" class="dg-scroll" role="tabpanel" aria-label="Data">
633
+ <div id="dg-tabpanel" class="dg-scroll" role="tabpanel" aria-label="${() => o.value.data}">
520
634
  <div class="dg-loading-overlay">
521
635
  <ore-icon name="loader-2" size="24" class="dg-spin" aria-hidden="true"></ore-icon>
522
636
  </div>
@@ -525,44 +639,44 @@ l(S, {
525
639
  part="table"
526
640
  role="grid"
527
641
  aria-label="${() => e.label.value ?? void 0}"
528
- aria-busy="${() => H.value ? "true" : null}"
529
- aria-disabled="${() => a.value ? "true" : null}">
642
+ aria-busy="${() => ie.value ? "true" : null}"
643
+ aria-disabled="${() => l.value ? "true" : null}">
530
644
  <!-- Head -->
531
645
  <thead class="dg-head" part="thead">
532
646
  <tr role="row">
533
- ${() => l.value === "multi" ? d`
647
+ ${() => m.value === "multi" ? d`
534
648
  <th
535
649
  class="dg-th dg-th-check"
536
650
  role="columnheader"
537
651
  scope="col"
538
- tabindex="${() => $.activeCell.value.row === 0 && $.activeCell.value.col === 0 && C.value >= 1 ? "0" : "-1"}">
652
+ tabindex="${() => $.activeCell.value.row === 0 && $.activeCell.value.col === 0 && D.value >= 1 ? "0" : "-1"}">
539
653
  <ore-checkbox
540
654
  class="dg-check"
541
- checked="${() => M.isAllSelected()}"
542
- indeterminate="${R}"
543
- ?disabled="${a}"
544
- aria-label="Select all rows on this page"
655
+ checked="${() => I.isAllSelected()}"
656
+ indeterminate="${K}"
657
+ ?disabled="${l}"
658
+ aria-label="${() => o.value.selectAllRows}"
545
659
  @change="${() => {
546
- a.value || M.selectAll();
660
+ l.value || I.selectAll();
547
661
  }}"></ore-checkbox>
548
662
  </th>
549
663
  ` : d``}
550
- ${() => F.value.map((e, t) => {
551
- let n = t === F.value.length - 1;
664
+ ${() => U.value.map((e, t) => {
665
+ let n = t === U.value.length - 1;
552
666
  return d`
553
667
  <th
554
- class="${`dg-th${n && S.value ? " dg-th-last" : ""}`}"
668
+ class="${`dg-th${n && E.value ? " dg-th-last" : ""}`}"
555
669
  role="columnheader"
556
670
  scope="col"
557
671
  tabindex="${() => {
558
672
  let e = $.activeCell.value;
559
- return e.row === 0 && e.col === t + C.value ? "0" : "-1";
673
+ return e.row === 0 && e.col === t + D.value ? "0" : "-1";
560
674
  }}"
561
675
  data-align="${e.align ?? "left"}"
562
- aria-sort="${() => e.sortable ? x(M.sortState.value, e.key) : void 0}"
676
+ aria-sort="${() => e.sortable ? C(I.sortState.value, e.key) : void 0}"
563
677
  aria-label="${e.sortable ? void 0 : e.headerLabel ?? e.label}"
564
678
  style="${() => {
565
- let t = P.value[e.key];
679
+ let t = V.value[e.key];
566
680
  return t ? `width:${t}px` : e.width ? `width:${e.width}` : "";
567
681
  }}">
568
682
  <div class="dg-th-inner">
@@ -573,15 +687,15 @@ l(S, {
573
687
  size="sm"
574
688
  fullwidth
575
689
  label="${e.headerLabel ?? e.label}"
576
- disabled="${() => a.value || void 0}"
690
+ disabled="${() => l.value || void 0}"
577
691
  @click="${() => {
578
- a.value || M.sortBy(e.key);
692
+ l.value || I.sortBy(e.key);
579
693
  }}">
580
694
  ${e.label}
581
695
  <ore-icon
582
696
  slot="suffix"
583
697
  class="dg-sort-icon"
584
- name="${() => b(M.sortState.value, e.key)}"
698
+ name="${() => S(I.sortState.value, e.key)}"
585
699
  size="14"
586
700
  stroke-width="2"></ore-icon>
587
701
  </ore-button>
@@ -593,19 +707,19 @@ l(S, {
593
707
  ref="${(t) => {
594
708
  if (!t) return;
595
709
  let n = t.closest("th");
596
- n && t.addEventListener("pointerdown", ne(e.key, n));
710
+ n && t.addEventListener("pointerdown", H(e.key, n));
597
711
  }}"></span>
598
712
  ` : d``}
599
713
  </div>
600
714
  </th>
601
715
  `;
602
716
  })}
603
- ${() => S.value ? d`
717
+ ${() => E.value ? d`
604
718
  <th
605
719
  class="dg-th dg-th-expand"
606
720
  role="columnheader"
607
721
  scope="col"
608
- aria-label="Row details"
722
+ aria-label="${() => o.value.rowDetails}"
609
723
  tabindex="-1"></th>
610
724
  ` : d``}
611
725
  </tr>
@@ -613,44 +727,44 @@ l(S, {
613
727
 
614
728
  <!-- Body -->
615
729
  <tbody class="dg-body" part="tbody">
616
- ${() => M.currentPageItems.value.length === 0 ? d`
730
+ ${() => I.currentPageItems.value.length === 0 ? d`
617
731
  <tr role="row">
618
- <td class="dg-empty" role="gridcell" colspan="${() => String(z.value)}">
732
+ <td class="dg-empty" role="gridcell" colspan="${() => String(q.value)}">
619
733
  <div class="dg-empty-content">
620
734
  ${() => e.emptyText.value ?? "No data"}
621
- ${() => M.searchQuery.value || M.filterValues.value.size ? d`
735
+ ${() => I.searchQuery.value || I.filterValues.value.size ? d`
622
736
  <div class="dg-empty-actions">
623
737
  <ore-button
624
738
  variant="text"
625
739
  size="sm"
626
740
  @click="${() => {
627
- M.resetSearch(), M.resetFilters();
741
+ I.resetSearch(), I.resetFilters();
628
742
  }}">
629
- Clear all filters & search
743
+ ${() => o.value.clearFiltersAndSearch}
630
744
  </ore-button>
631
745
  </div>
632
746
  ` : d``}
633
747
  </div>
634
748
  </td>
635
749
  </tr>
636
- ` : M.currentPageItems.value.map((e, t) => {
637
- let n = D(e), r = l.value !== "none" && !a.value, i = t + 1;
750
+ ` : I.currentPageItems.value.map((e, t) => {
751
+ let n = j(e), r = m.value !== "none" && !l.value, i = t + 1;
638
752
  return d`
639
753
  <tr
640
754
  class="dg-tr"
641
755
  part="row"
642
756
  role="row"
643
- aria-selected="${() => l.value === "none" ? null : String(M.selectedKeys.value.has(n))}"
644
- aria-expanded="${() => S.value ? String(m.value.has(n)) : null}"
757
+ aria-selected="${() => m.value === "none" ? null : String(I.selectedKeys.value.has(n))}"
758
+ aria-expanded="${() => E.value ? String(T.value.has(n)) : null}"
645
759
  ?data-selectable="${r}"
646
- ?data-disabled="${a}"
760
+ ?data-disabled="${l}"
647
761
  @click="${() => {
648
- r && l.value === "single" && M.toggleRow(n);
762
+ r && m.value === "single" && I.toggleRow(n);
649
763
  }}"
650
764
  @keydown="${(e) => {
651
- (e.key === "Enter" || e.key === " ") && r && l.value === "single" && (e.preventDefault(), M.toggleRow(n));
765
+ (e.key === "Enter" || e.key === " ") && r && m.value === "single" && (e.preventDefault(), I.toggleRow(n));
652
766
  }}">
653
- ${() => l.value === "multi" ? d`
767
+ ${() => m.value === "multi" ? d`
654
768
  <td
655
769
  class="dg-td dg-td-check"
656
770
  role="gridcell"
@@ -659,47 +773,47 @@ l(S, {
659
773
  return e.row === i && e.col === 0 ? "0" : "-1";
660
774
  }}"
661
775
  @keydown="${(e) => {
662
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a.value || M.toggleRow(n));
776
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), l.value || I.toggleRow(n));
663
777
  }}">
664
778
  <ore-checkbox
665
779
  class="dg-check"
666
- checked="${() => M.selectedKeys.value.has(n)}"
667
- ?disabled="${a}"
668
- aria-label="Select row"
780
+ checked="${() => I.selectedKeys.value.has(n)}"
781
+ ?disabled="${l}"
782
+ aria-label="${() => o.value.selectRow}"
669
783
  tabindex="-1"
670
784
  @click="${(e) => e.stopPropagation()}"
671
785
  @change="${() => {
672
- a.value || M.toggleRow(n);
786
+ l.value || I.toggleRow(n);
673
787
  }}"></ore-checkbox>
674
788
  </td>
675
789
  ` : d``}
676
- ${F.value.map((t, n) => {
677
- let r = I(t, e), a = n === F.value.length - 1;
790
+ ${U.value.map((t, n) => {
791
+ let r = e, a = W(t, r), o = t.renderCell?.(r) ?? a, s = n === U.value.length - 1;
678
792
  return d`
679
793
  <td
680
- class="${`dg-td${a && S.value ? " dg-td-last" : ""}`}"
794
+ class="${`dg-td${s && E.value ? " dg-td-last" : ""}`}"
681
795
  part="cell"
682
796
  role="gridcell"
683
797
  data-align="${t.align ?? "left"}"
684
798
  tabindex="${() => {
685
799
  let e = $.activeCell.value;
686
- return e.row === i && e.col === n + C.value ? "0" : "-1";
800
+ return e.row === i && e.col === n + D.value ? "0" : "-1";
687
801
  }}"
688
- title="${r}">
689
- ${r}
802
+ title="${a}">
803
+ ${o}
690
804
  </td>
691
805
  `;
692
806
  })}
693
- ${() => S.value ? d`
807
+ ${() => E.value ? d`
694
808
  <td
695
809
  class="dg-td dg-td-expand"
696
810
  role="gridcell"
697
811
  tabindex="${() => {
698
812
  let e = $.activeCell.value;
699
- return e.row === i && e.col === z.value - 1 ? "0" : "-1";
813
+ return e.row === i && e.col === q.value - 1 ? "0" : "-1";
700
814
  }}"
701
815
  @keydown="${(e) => {
702
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a.value || Q(n));
816
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), l.value || Q(n));
703
817
  }}">
704
818
  <ore-button
705
819
  class="dg-expand-btn"
@@ -707,14 +821,14 @@ l(S, {
707
821
  size="sm"
708
822
  icon-only
709
823
  tabindex="-1"
710
- label="${() => m.value.has(n) ? "Collapse row" : "Expand row"}"
711
- aria-expanded="${() => String(m.value.has(n))}"
712
- disabled="${() => a.value || void 0}"
824
+ label="${() => T.value.has(n) ? o.value.collapseRow : o.value.expandRow}"
825
+ aria-expanded="${() => String(T.value.has(n))}"
826
+ disabled="${() => l.value || void 0}"
713
827
  @click="${(e) => {
714
- e.stopPropagation(), a.value || Q(n);
828
+ e.stopPropagation(), l.value || Q(n);
715
829
  }}">
716
830
  <ore-icon
717
- name="${() => m.value.has(n) ? "chevron-up" : "chevron-down"}"
831
+ name="${() => T.value.has(n) ? "chevron-up" : "chevron-down"}"
718
832
  size="14"
719
833
  stroke-width="2"
720
834
  aria-hidden="true"></ore-icon>
@@ -722,13 +836,13 @@ l(S, {
722
836
  </td>
723
837
  ` : d``}
724
838
  </tr>
725
- ${() => S.value && m.value.has(n) ? d`
839
+ ${() => E.value && T.value.has(n) ? d`
726
840
  <tr class="dg-tr-expanded" role="row">
727
841
  <td
728
842
  class="dg-td-expanded"
729
843
  role="gridcell"
730
- colspan="${() => String(z.value)}">
731
- ${h(() => E.value.find((e) => typeof e.renderExpanded == "function")?.renderExpanded?.(e) ?? "")}
844
+ colspan="${() => String(q.value)}">
845
+ ${h(() => A.value.find((e) => typeof e.renderExpanded == "function")?.renderExpanded?.(e) ?? "")}
732
846
  </td>
733
847
  </tr>
734
848
  ` : d``}
@@ -739,14 +853,12 @@ l(S, {
739
853
  </div>
740
854
 
741
855
  <!-- Footer / Pagination -->
742
- ${() => B.value ? d`
743
- <div class="dg-footer" part="footer" role="navigation" aria-label="Pagination">
744
- ${() => (e.pageSizeOptions.value ?? []).length ? d`` : d`
745
- <span class="dg-footer-info" dir="ltr" aria-live="polite" aria-atomic="true">
746
- ${V}
747
- </span>
748
- `}
749
- <div class="dg-footer-end">
856
+ ${() => J.value ? d`
857
+ <div class="dg-footer" part="footer" role="navigation" aria-label="${() => o.value.pagination}">
858
+ <div class="dg-footer-start">
859
+ <span class="dg-footer-info" dir="ltr" aria-live="polite" aria-atomic="true">
860
+ ${Y}
861
+ </span>
750
862
  ${() => {
751
863
  let t = e.pageSizeOptions.value ?? [];
752
864
  return t.length ? d`
@@ -754,16 +866,17 @@ l(S, {
754
866
  <ore-select
755
867
  class="dg-page-size-select"
756
868
  fullwidth
757
- aria-label="Rows per page"
758
- value="${() => String(w.value)}"
869
+ hide-label
870
+ label="${() => o.value.rowsPerPage}"
871
+ value="${() => String(O.value)}"
759
872
  options="${() => t.map((e) => ({
760
873
  label: String(e),
761
874
  value: String(e)
762
875
  }))}"
763
- disabled="${() => a.value || void 0}"
876
+ disabled="${() => l.value || void 0}"
764
877
  @change="${(e) => {
765
- let t = parseInt(e.detail.values[0], 10);
766
- Number.isNaN(t) || (w.value = t, M.goToPage(0), n("page-change", {
878
+ let t = parseInt(w(e)[0] ?? "", 10);
879
+ Number.isNaN(t) || (O.value = t, I.goToPage(0), r("page-change", {
767
880
  pageIndex: 0,
768
881
  pageSize: t
769
882
  }));
@@ -771,15 +884,16 @@ l(S, {
771
884
  </div>
772
885
  ` : d``;
773
886
  }}
774
- <div class="dg-pagination" role="group" aria-label="Page navigation">
887
+ </div>
888
+ <div class="dg-pagination" role="group" aria-label="${() => o.value.pageNavigation}">
775
889
  <ore-button
776
890
  class="dg-page-btn"
777
891
  variant="ghost"
778
892
  size="sm"
779
893
  icon-only
780
- label="Previous page"
781
- disabled="${() => !U.value || a.value}"
782
- @click="${() => L("prev")}">
894
+ label="${() => o.value.previousPage}"
895
+ disabled="${() => !ae.value || l.value}"
896
+ @click="${() => G("prev")}">
783
897
  <ore-icon name="chevron-left" size="14" stroke-width="2" aria-hidden="true"></ore-icon>
784
898
  </ore-button>
785
899
  <span
@@ -789,28 +903,27 @@ l(S, {
789
903
  role="status"
790
904
  aria-live="polite"
791
905
  aria-atomic="true">
792
- ${() => G.value}
906
+ ${() => se.value}
793
907
  </span>
794
908
  <ore-button
795
909
  class="dg-page-btn"
796
910
  variant="ghost"
797
911
  size="sm"
798
912
  icon-only
799
- label="Next page"
800
- disabled="${() => !W.value || a.value}"
801
- @click="${() => L("next")}">
913
+ label="${() => o.value.nextPage}"
914
+ disabled="${() => !oe.value || l.value}"
915
+ @click="${() => G("next")}">
802
916
  <ore-icon name="chevron-right" size="14" stroke-width="2" aria-hidden="true"></ore-icon>
803
917
  </ore-button>
804
- </div>
805
918
  </div>
806
919
  </div>
807
920
  ` : d``}
808
921
  `;
809
922
  },
810
923
  shadow: { delegatesFocus: !0 },
811
- styles: [e("datagrid"), r]
924
+ styles: [e("datagrid"), i]
812
925
  });
813
926
  //#endregion
814
- export { a as COLUMN_TAG, S as DATAGRID_TAG, x as ariaSortValue, b as sortIconName };
927
+ export { o as COLUMN_TAG, T as DATAGRID_TAG, C as ariaSortValue, S as sortIconName };
815
928
 
816
929
  //# sourceMappingURL=datagrid.js.map