@bridge-ui/vue 0.6.0 → 0.7.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 (76) hide show
  1. package/dist/Adapters/I18n/useI18nAdapter.d.ts +1 -1
  2. package/dist/Adapters/I18n/useI18nAdapter.js +4 -1
  3. package/dist/Components/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js +1 -1
  4. package/dist/Components/Accordion/accordion.types.d.ts +2 -2
  5. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -1
  6. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +33 -28
  7. package/dist/Components/BaseField/BaseFieldCorner.js +5 -0
  8. package/dist/Components/BaseField/BaseFieldCorner.vue.d.ts +17 -0
  9. package/dist/Components/BaseField/BaseFieldCorner.vue_vue_type_script_setup_true_lang.js +17 -0
  10. package/dist/Components/BaseField/baseField.types.d.ts +4 -2
  11. package/dist/Components/BaseField/composables/useBaseField.d.ts +1 -1
  12. package/dist/Components/BaseField/composables/useBaseField.js +11 -8
  13. package/dist/Components/ColorField/composables/useColorField.d.ts +1 -1
  14. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +154 -131
  15. package/dist/Components/DataTable/DataTablePagination.js +5 -0
  16. package/dist/Components/DataTable/DataTablePagination.vue.d.ts +24 -0
  17. package/dist/Components/DataTable/DataTablePagination.vue_vue_type_script_setup_true_lang.js +40 -0
  18. package/dist/Components/DataTable/composables/useDataTable.d.ts +8 -3
  19. package/dist/Components/DataTable/composables/useDataTable.js +299 -280
  20. package/dist/Components/DataTable/composables/useDataTablePagination.d.ts +69 -0
  21. package/dist/Components/DataTable/composables/useDataTablePagination.js +130 -0
  22. package/dist/Components/DataTable/dataTable.types.d.ts +27 -12
  23. package/dist/Components/DataTable/dataTablePagination.types.d.ts +169 -0
  24. package/dist/Components/DataTable/index.d.ts +2 -1
  25. package/dist/Components/DateField/composables/useDateField.d.ts +1 -1
  26. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +1 -1
  27. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +1 -1
  28. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +1 -1
  29. package/dist/Components/FormField/FilledFormField.vue.d.ts +7 -7
  30. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +32 -27
  31. package/dist/Components/FormField/FormFieldCorner.js +5 -0
  32. package/dist/Components/FormField/FormFieldCorner.vue.d.ts +17 -0
  33. package/dist/Components/FormField/FormFieldCorner.vue_vue_type_script_setup_true_lang.js +17 -0
  34. package/dist/Components/FormField/NotchedFormField.vue.d.ts +7 -7
  35. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +31 -26
  36. package/dist/Components/FormField/OutlinedFormField.vue.d.ts +7 -7
  37. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +32 -27
  38. package/dist/Components/FormField/StackedFormField.vue.d.ts +6 -6
  39. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +34 -29
  40. package/dist/Components/FormField/UnderlinedFormField.vue.d.ts +7 -7
  41. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +32 -27
  42. package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
  43. package/dist/Components/FormField/composables/useFormField.js +15 -9
  44. package/dist/Components/FormField/formField.types.d.ts +4 -2
  45. package/dist/Components/NumberField/composables/useNumberField.d.ts +1 -1
  46. package/dist/Components/OtpField/composables/useOtpField.d.ts +1 -1
  47. package/dist/Components/Pagination/Pagination.vue_vue_type_script_setup_true_lang.js +6 -6
  48. package/dist/Components/Pagination/composables/usePagination.d.ts +4 -2
  49. package/dist/Components/Pagination/composables/usePagination.js +125 -127
  50. package/dist/Components/Pagination/pagination.types.d.ts +5 -5
  51. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +1 -1
  52. package/dist/Components/Select/composables/useSelect.d.ts +1 -1
  53. package/dist/Components/Slider/composables/useSlider.d.ts +1 -1
  54. package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +2 -2
  55. package/dist/Components/Tabs/composables/useTabs.js +16 -10
  56. package/dist/Components/Tabs/tabs.types.d.ts +3 -3
  57. package/dist/Components/TextField/composables/useTextField.d.ts +1 -1
  58. package/dist/Components/Textarea/composables/useTextarea.d.ts +1 -1
  59. package/dist/Components/TimeField/composables/useTimeField.d.ts +1 -1
  60. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +1 -1
  61. package/dist/index.d.ts +1 -1
  62. package/dist/index.js +4 -4
  63. package/docs/components/Accordion.md +1 -1
  64. package/docs/components/DataTable.md +5 -11
  65. package/docs/components/I18n.md +65 -24
  66. package/docs/components/Pagination.md +5 -3
  67. package/docs/components/Table.md +2 -2
  68. package/docs/components/Tabs.md +24 -6
  69. package/docs/examples/i18n-dictionary.ts +28 -10
  70. package/docs/examples/i18n-vue-i18n.ts +7 -6
  71. package/docs/examples/icon-fontawesome.ts +4 -0
  72. package/docs/examples/icon-heroicons.ts +5 -1
  73. package/docs/examples/icon-lucide.ts +4 -0
  74. package/docs/examples/icon-phosphor.ts +4 -0
  75. package/docs/examples/icon-tabler.ts +4 -0
  76. package/package.json +2 -2
@@ -3,12 +3,12 @@ import { hasNamedSlot as t } from "../../Utils/slotOrProp.js";
3
3
  import n from "../Icon/Icon.js";
4
4
  import ee from "../Progress/Progress.js";
5
5
  import te from "../EmptyState/EmptyState.js";
6
- import ne from "../Pagination/Pagination.js";
7
- import re from "../Select/Select.js";
6
+ import ne from "../Select/Select.js";
8
7
  import { useDataTable as r } from "./composables/useDataTable.js";
9
- import ie from "./DataTableCellContent.js";
10
- import ae from "./DataTableColumnsMenu.js";
11
- import oe from "./DataTableFilterMenu.js";
8
+ import re from "./DataTableCellContent.js";
9
+ import ie from "./DataTableColumnsMenu.js";
10
+ import ae from "./DataTableFilterMenu.js";
11
+ import oe from "./DataTablePagination.js";
12
12
  import se from "./DataTableSearch.js";
13
13
  import i from "./DataTableSelection.js";
14
14
  import ce from "./DataTableSortButton.js";
@@ -19,16 +19,26 @@ import de from "../Table/TableFooter.js";
19
19
  import fe from "../Table/TableHead.js";
20
20
  import pe from "../Table/TableHeader.js";
21
21
  import o from "../Table/TableRow.js";
22
- import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeModels as g, mergeProps as _, normalizeClass as v, normalizeProps as y, openBlock as b, renderList as x, renderSlot as S, toDisplayString as me, unref as C, useId as he, useModel as w, useSlots as ge, withCtx as T } from "vue";
23
- import { cn as E } from "@bridge-ui/core/Utils";
22
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as me, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeModels as g, mergeProps as _, normalizeClass as v, normalizeProps as y, openBlock as b, renderList as x, renderSlot as S, toDisplayString as C, unref as w, useId as he, useModel as T, useSlots as ge, withCtx as E } from "vue";
23
+ import { cn as D } from "@bridge-ui/core/Utils";
24
24
  //#region src/Components/DataTable/DataTable.vue?vue&type=script&setup=true&lang.ts
25
25
  var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center gap-2" }, ye = {
26
26
  key: 0,
27
27
  class: "inline-flex items-center rounded-lg border border-dark-200 bg-white p-0.5 dark:border-dark-700 dark:bg-dark-900"
28
- }, be = { class: "relative" }, D = {
28
+ }, be = { class: "relative" }, xe = {
29
29
  key: 1,
30
30
  class: "flex w-full min-w-0 items-center gap-1.5 leading-none"
31
- }, O = { class: "min-w-0 truncate leading-none" }, k = ["aria-expanded", "onClick"], A = ["aria-hidden"], j = { class: "min-h-0 overflow-hidden" }, M = { class: "p-3" }, N = ["aria-hidden"], xe = { class: "flex shrink-0 items-center gap-2" }, Se = { class: "text-sm whitespace-nowrap text-dark-500 dark:text-dark-400" }, P = /*@__PURE__*/ m({
31
+ }, O = { class: "min-w-0 truncate leading-none" }, k = [
32
+ "aria-expanded",
33
+ "aria-label",
34
+ "onClick"
35
+ ], A = ["aria-hidden"], j = { class: "min-h-0 overflow-hidden" }, M = { class: "p-3" }, Se = ["aria-hidden"], Ce = ["aria-label"], we = { class: "flex shrink-0 items-center gap-2" }, Te = { class: "text-sm whitespace-nowrap" }, Ee = {
36
+ key: 2,
37
+ class: "flex shrink-0 items-center gap-3"
38
+ }, De = {
39
+ key: 0,
40
+ class: "text-sm font-medium whitespace-nowrap"
41
+ }, N = /*@__PURE__*/ m({
32
42
  inheritAttrs: !1,
33
43
  __name: "DataTable",
34
44
  props: /*@__PURE__*/ g({
@@ -103,7 +113,7 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
103
113
  "update:columnSearch"
104
114
  ],
105
115
  setup(m) {
106
- let g = m, P = ge(), F = e(), I = w(m, "page"), Ce = w(m, "perPage"), L = w(m, "search"), we = w(m, "expanded"), Te = w(m, "selection"), Ee = w(m, "filters"), De = w(m, "sorting"), Oe = w(m, "hiddenColumns"), ke = w(m, "columnSearch"), { merged: R, rowViews: Ae, rootBind: je, emptyBind: Me, showEmpty: z, frameBind: Ne, tableProps: Pe, footerBind: Fe, loadingBar: B, showSearch: Ie, getHeadBind: Le, headerViews: Re, loadingBind: ze, onToggleRow: Be, toolbarBind: Ve, getCellBind: V, columnCount: H, showPerPage: He, showToolbar: Ue, getHeadAlign: We, getCellAlign: U, onTogglePage: Ge, onToggleSort: Ke, summaryCells: W, expandEnabled: qe, loadingBarBind: Je, paginationBind: Ye, selectAllState: G, showPagination: Xe, onChangeSearch: Ze, onToggleExpand: Qe, visibilityItems: $e, perPageSlotProps: K, resolvedPageCount: q, selectionMultiple: J, visibilityEnabled: et, paginationSlotProps: Y, onCommitColumnFilter: X, onHiddenColumnsChange: tt } = r(g, {
116
+ let g = m, N = ge(), P = e(), F = T(m, "page"), I = T(m, "perPage"), L = T(m, "search"), Oe = T(m, "expanded"), ke = T(m, "selection"), Ae = T(m, "filters"), je = T(m, "sorting"), Me = T(m, "hiddenColumns"), Ne = T(m, "columnSearch"), { merged: R, rowViews: Pe, rootBind: Fe, emptyBind: Ie, showEmpty: z, frameBind: Le, showPager: Re, tableProps: ze, footerBind: Be, loadingBar: B, showSearch: Ve, getHeadBind: He, headerViews: Ue, loadingBind: We, onToggleRow: Ge, toolbarBind: Ke, getCellBind: V, columnCount: H, showPerPage: qe, showToolbar: Je, selectedBind: Ye, showSelected: Xe, getHeadAlign: Ze, getCellAlign: U, onTogglePage: Qe, onToggleSort: $e, summaryCells: W, showFooterBar: et, expandEnabled: tt, loadingBarBind: nt, paginationBind: rt, selectAllState: G, onChangeSearch: it, onToggleExpand: at, visibilityItems: ot, perPageSlotProps: K, selectedSlotProps: q, resolvedPageCount: J, selectionMultiple: Y, visibilityEnabled: st, paginationSlotProps: X, onCommitColumnFilter: ct, onHiddenColumnsChange: lt } = r(g, {
107
117
  size: "md",
108
118
  full: !0,
109
119
  rounded: "lg",
@@ -117,18 +127,24 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
117
127
  selectionMode: "multiple",
118
128
  loadingVariant: "overlay"
119
129
  }, {
120
- page: I,
130
+ page: F,
121
131
  search: L,
122
- perPage: Ce,
123
- filters: Ee,
124
- sorting: De,
125
- expanded: we,
126
- selection: Te,
127
- columnSearch: ke,
128
- hiddenColumns: Oe
129
- }), Z = c(() => R.value.size === "lg" ? "md" : "sm");
130
- function nt(e, t) {
131
- let n = P[`item.${t.id}`] ?? P.item;
132
+ perPage: I,
133
+ filters: Ae,
134
+ sorting: je,
135
+ expanded: Oe,
136
+ selection: ke,
137
+ columnSearch: Ne,
138
+ hiddenColumns: Me
139
+ }), Z = c(() => R.value.size === "lg" ? "md" : "sm"), ut = c(() => P("{{selected}} of {{total}} row(s) selected.", q.value.selectedCount, {
140
+ total: q.value.totalCount,
141
+ selected: q.value.selectedCount
142
+ })), dt = c(() => P("Page {{page}} of {{count}}", {
143
+ page: X.value.page,
144
+ count: X.value.count
145
+ }));
146
+ function ft(e, t) {
147
+ let n = N[`item.${t.id}`] ?? N.item;
132
148
  return n ? n({
133
149
  id: t.id,
134
150
  row: e.original,
@@ -136,14 +152,19 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
136
152
  }) : t.content;
137
153
  }
138
154
  let Q = c({
139
- get: () => I.value ?? 1,
155
+ get: () => F.value ?? 1,
140
156
  set: (e) => {
141
- I.value = e;
157
+ F.value = e;
142
158
  }
143
- }), rt = c(() => K.value.options.map((e) => ({
159
+ }), pt = c(() => K.value.options.map((e) => ({
144
160
  value: e,
145
161
  label: String(e)
146
- }))), it = c(() => {
162
+ })));
163
+ function mt(e) {
164
+ let t = Number(e);
165
+ !Number.isFinite(t) || t < 1 || K.value.onPerPageChange(t);
166
+ }
167
+ let ht = c(() => {
147
168
  let e = R.value.customProps?.perPage?.customProps;
148
169
  return {
149
170
  ...e,
@@ -159,13 +180,13 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
159
180
  }
160
181
  }
161
182
  };
162
- }), at = he(), $ = (e) => e.node ?? null;
163
- return (e, r) => (b(), d("div", y(h(C(je))), [C(Ue) ? (b(), d("div", y(_({ key: 0 }, C(Ve))), [f("div", _e, [S(e.$slots, "toolbar")]), f("div", ve, [
164
- C(et) ? (b(), d("div", ye, [p(ae, {
165
- items: C($e),
166
- overlay: C(R).columnsOverlay,
167
- onChange: C(tt),
168
- "show-footer": C(R).columnsShowFooter
183
+ }), gt = he(), $ = (e) => e.node ?? null;
184
+ return (e, r) => (b(), d("div", y(h(w(Fe))), [w(Je) ? (b(), d("div", y(_({ key: 0 }, w(Ke))), [f("div", _e, [S(e.$slots, "toolbar")]), f("div", ve, [
185
+ w(st) ? (b(), d("div", ye, [p(ie, {
186
+ items: w(ot),
187
+ overlay: w(R).columnsOverlay,
188
+ onChange: w(lt),
189
+ "show-footer": w(R).columnsShowFooter
169
190
  }, null, 8, [
170
191
  "items",
171
192
  "overlay",
@@ -173,56 +194,56 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
173
194
  "show-footer"
174
195
  ])])) : u("", !0),
175
196
  S(e.$slots, "toolbarActions"),
176
- C(Ie) ? S(e.$slots, "search", {}, () => [p(se, {
197
+ w(Ve) ? S(e.$slots, "search", {}, () => [p(se, {
177
198
  "model-value": L.value ?? "",
178
- "onUpdate:modelValue": C(Ze),
179
- "field-props": C(R).customProps?.search
199
+ "onUpdate:modelValue": w(it),
200
+ "field-props": w(R).customProps?.search
180
201
  }, null, 8, [
181
202
  "model-value",
182
203
  "onUpdate:modelValue",
183
204
  "field-props"
184
205
  ])], void 0, 1) : u("", !0)
185
- ])], 16)) : u("", !0), f("div", y(h(C(Ne))), [
186
- f("div", be, [p(C(le), y(h(C(Pe))), {
187
- default: T(() => [
188
- p(C(pe), y(h(C(R).customProps?.header)), {
189
- default: T(() => [p(C(o), y(h(C(R).customProps?.row)), {
190
- default: T(() => [(b(!0), d(s, null, x(C(Re), (e) => (b(), l(C(fe), _({
206
+ ])], 16)) : u("", !0), f("div", y(h(w(Le))), [
207
+ f("div", be, [p(w(le), y(h(w(ze))), {
208
+ default: E(() => [
209
+ p(w(pe), y(h(w(R).customProps?.header)), {
210
+ default: E(() => [p(w(o), y(h(w(R).customProps?.row)), {
211
+ default: E(() => [(b(!0), d(s, null, x(w(Ue), (e) => (b(), l(w(fe), _({
191
212
  key: e.id,
192
- align: C(We)(e)
193
- }, { ref_for: !0 }, C(Le)(e)), {
194
- default: T(() => [e.isSelection && C(J) ? (b(), l(i, {
213
+ align: w(Ze)(e)
214
+ }, { ref_for: !0 }, w(He)(e)), {
215
+ default: E(() => [e.isSelection && w(Y) ? (b(), l(i, {
195
216
  key: 0,
196
217
  kind: "page",
197
218
  size: Z.value,
198
- onChange: C(Ge),
199
- checked: C(G).checked,
200
- indeterminate: C(G).indeterminate,
201
- "checkbox-props": C(R).customProps?.checkbox
219
+ onChange: w(Qe),
220
+ checked: w(G).checked,
221
+ indeterminate: w(G).indeterminate,
222
+ "checkbox-props": w(R).customProps?.checkbox
202
223
  }, null, 8, [
203
224
  "size",
204
225
  "onChange",
205
226
  "checked",
206
227
  "indeterminate",
207
228
  "checkbox-props"
208
- ])) : !e.isSelection && !e.isExpand ? (b(), d("div", D, [
229
+ ])) : !e.isSelection && !e.isExpand ? (b(), d("div", xe, [
209
230
  f("span", O, [p($, { node: e.header }, null, 8, ["node"])]),
210
231
  e.sortable ? (b(), l(ce, {
211
232
  key: 0,
212
233
  sort: e.ariaSort,
213
- onClick: (t) => C(Ke)(e.id)
234
+ onClick: (t) => w($e)(e.id)
214
235
  }, null, 8, ["sort", "onClick"])) : u("", !0),
215
- e.filterable ? (b(), l(oe, {
236
+ e.filterable ? (b(), l(ae, {
216
237
  key: 1,
217
238
  "column-id": e.id,
218
239
  active: e.filterActive,
219
240
  values: e.filterValues,
220
- overlay: C(R).filterOverlay,
241
+ overlay: w(R).filterOverlay,
221
242
  options: e.filterOptions,
222
243
  searchable: e.searchable,
223
244
  multiple: e.filterMultiple,
224
245
  "search-value": e.searchQuery,
225
- onApply: (t, n) => C(X)(e.id, t, n)
246
+ onApply: (t, n) => w(ct)(e.id, t, n)
226
247
  }, null, 8, [
227
248
  "column-id",
228
249
  "active",
@@ -238,54 +259,54 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
238
259
  _: 2
239
260
  }, 1040, ["align"]))), 128))]),
240
261
  _: 1
241
- }, 16), C(R).loading && C(B) ? (b(), l(C(o), {
262
+ }, 16), w(R).loading && w(B) ? (b(), l(w(o), {
242
263
  key: 0,
243
264
  classes: { root: "h-0" }
244
265
  }, {
245
- default: T(() => [p(C(a), {
246
- colspan: C(H),
266
+ default: E(() => [p(w(a), {
267
+ colspan: w(H),
247
268
  classes: { root: "relative h-0 border-0 p-0 after:hidden" }
248
269
  }, {
249
- default: T(() => [f("div", y(h(C(Je))), [S(e.$slots, "loading", {}, () => [p(C(ee), _({
270
+ default: E(() => [f("div", y(h(w(nt))), [S(e.$slots, "loading", {}, () => [p(w(ee), _({
250
271
  size: "xs",
251
272
  rounded: "none"
252
- }, C(R).customProps?.progress), null, 16)])], 16)]),
273
+ }, w(R).customProps?.progress), null, 16)])], 16)]),
253
274
  _: 3
254
275
  }, 8, ["colspan"])]),
255
276
  _: 3
256
277
  })) : u("", !0)]),
257
278
  _: 3
258
279
  }, 16),
259
- p(C(ue), y(h(C(R).customProps?.body)), {
260
- default: T(() => [C(z) ? (b(), l(C(o), { key: 0 }, {
261
- default: T(() => [p(C(a), {
280
+ p(w(ue), y(h(w(R).customProps?.body)), {
281
+ default: E(() => [w(z) ? (b(), l(w(o), { key: 0 }, {
282
+ default: E(() => [p(w(a), {
262
283
  align: "center",
263
- colspan: C(H)
284
+ colspan: w(H)
264
285
  }, {
265
- default: T(() => [f("div", y(h(C(Me))), [S(e.$slots, "empty", {}, () => [p(C(te), {
286
+ default: E(() => [f("div", y(h(w(Ie))), [S(e.$slots, "empty", {}, () => [p(w(te), {
266
287
  icon: "inbox",
267
- size: C(R).size,
268
- title: C(F)("No data")
288
+ size: w(R).size,
289
+ title: w(P)("No data")
269
290
  }, null, 8, ["size", "title"])])], 16)]),
270
291
  _: 3
271
292
  }, 8, ["colspan"])]),
272
293
  _: 3
273
- })) : u("", !0), C(z) ? u("", !0) : (b(!0), d(s, { key: 1 }, x(C(Ae), (t) => (b(), d(s, { key: t.id }, [p(C(o), _({ ref_for: !0 }, C(R).customProps?.row), {
274
- default: T(() => [(b(!0), d(s, null, x(t.cells, (e) => (b(), l(C(a), _({
294
+ })) : u("", !0), w(z) ? u("", !0) : (b(!0), d(s, { key: 1 }, x(w(Pe), (t) => (b(), d(s, { key: t.id }, [p(w(o), _({ ref_for: !0 }, w(R).customProps?.row), {
295
+ default: E(() => [(b(!0), d(s, null, x(t.cells, (e) => (b(), l(w(a), _({
275
296
  key: e.id,
276
- align: C(U)(e)
277
- }, { ref_for: !0 }, C(V)(e)), {
278
- default: T(() => [e.isSelection ? (b(), l(i, {
297
+ align: w(U)(e)
298
+ }, { ref_for: !0 }, w(V)(e)), {
299
+ default: E(() => [e.isSelection ? (b(), l(i, {
279
300
  key: 0,
280
301
  kind: "row",
281
302
  value: t.id,
282
303
  size: Z.value,
283
- name: C(at),
304
+ name: w(gt),
284
305
  checked: t.selected,
285
- multiple: C(J),
286
- "radio-props": C(R).customProps?.radio,
287
- "checkbox-props": C(R).customProps?.checkbox,
288
- onChange: (e) => C(Be)(t.id, e)
306
+ multiple: w(Y),
307
+ "radio-props": w(R).customProps?.radio,
308
+ "checkbox-props": w(R).customProps?.checkbox,
309
+ onChange: (e) => w(Ge)(t.id, e)
289
310
  }, null, 8, [
290
311
  "value",
291
312
  "size",
@@ -298,35 +319,35 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
298
319
  ])) : e.isExpand ? (b(), d("button", {
299
320
  key: 1,
300
321
  type: "button",
301
- "aria-label": "Expand row",
302
322
  "aria-expanded": t.expanded,
303
- onClick: (e) => C(Qe)(t.id, !t.expanded),
323
+ "aria-label": w(P)("Expand row"),
324
+ onClick: (e) => w(at)(t.id, !t.expanded),
304
325
  class: "inline-flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-sm leading-none hover:bg-dark-500/10 dark:hover:bg-dark-500/15"
305
- }, [f("span", { class: v([{ "rotate-90": t.expanded }, "inline-flex transition-transform duration-200 motion-reduce:transition-none"]) }, [p(C(n), {
326
+ }, [f("span", { class: v([{ "rotate-90": t.expanded }, "inline-flex transition-transform duration-200 motion-reduce:transition-none"]) }, [p(w(n), {
306
327
  size: "sm",
307
328
  icon: "chevronRight"
308
- })], 2)], 8, k)) : (b(), l(ie, {
329
+ })], 2)], 8, k)) : (b(), l(re, {
309
330
  key: 2,
310
331
  tooltip: e.tooltip,
311
332
  ellipsis: e.ellipsis
312
333
  }, {
313
- default: T(() => [p($, { node: nt(t, e) }, null, 8, ["node"])]),
334
+ default: E(() => [p($, { node: ft(t, e) }, null, 8, ["node"])]),
314
335
  _: 2
315
336
  }, 1032, ["tooltip", "ellipsis"]))]),
316
337
  _: 2
317
338
  }, 1040, ["align"]))), 128))]),
318
339
  _: 2
319
- }, 1040), C(qe) ? (b(), l(C(o), { key: 0 }, {
320
- default: T(() => [p(C(a), {
321
- colspan: C(H),
322
- classes: { root: C(E)({
340
+ }, 1040), w(tt) ? (b(), l(w(o), { key: 0 }, {
341
+ default: E(() => [p(w(a), {
342
+ colspan: w(H),
343
+ classes: { root: w(D)({
323
344
  "p-0": !0,
324
345
  "border-0": !t.expanded
325
346
  }) }
326
347
  }, {
327
- default: T(() => [f("div", {
348
+ default: E(() => [f("div", {
328
349
  "aria-hidden": !t.expanded,
329
- class: v(C(E)({
350
+ class: v(w(D)({
330
351
  "grid transition-[grid-template-rows] duration-200 ease-out motion-reduce:transition-none": !0,
331
352
  "grid-rows-[1fr]": t.expanded,
332
353
  "grid-rows-[0fr]": !t.expanded
@@ -338,13 +359,13 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
338
359
  }, 1024)) : u("", !0)], 64))), 128))]),
339
360
  _: 3
340
361
  }, 16),
341
- C(W) ? (b(), l(C(de), { key: 0 }, {
342
- default: T(() => [p(C(o), y(h(C(R).customProps?.row)), {
343
- default: T(() => [(b(!0), d(s, null, x(C(W), (e) => (b(), l(C(a), _({
362
+ w(W) ? (b(), l(w(de), { key: 0 }, {
363
+ default: E(() => [p(w(o), y(h(w(R).customProps?.row)), {
364
+ default: E(() => [(b(!0), d(s, null, x(w(W), (e) => (b(), l(w(a), _({
344
365
  key: e.id,
345
- align: C(U)(e)
346
- }, { ref_for: !0 }, C(V)(e)), {
347
- default: T(() => [p($, { node: e.content }, null, 8, ["node"])]),
366
+ align: w(U)(e)
367
+ }, { ref_for: !0 }, w(V)(e)), {
368
+ default: E(() => [p($, { node: e.content }, null, 8, ["node"])]),
348
369
  _: 2
349
370
  }, 1040, ["align"]))), 128))]),
350
371
  _: 1
@@ -353,48 +374,50 @@ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center
353
374
  })) : u("", !0)
354
375
  ]),
355
376
  _: 3
356
- }, 16), C(R).loading ? (b(), d("div", _({ key: 0 }, C(ze), { "aria-hidden": C(B) || void 0 }), [C(B) ? u("", !0) : S(e.$slots, "loading", {}, () => [r[2] ||= f("span", {
377
+ }, 16), w(R).loading ? (b(), d("div", _({ key: 0 }, w(We), { "aria-hidden": w(B) || void 0 }), [w(B) ? u("", !0) : S(e.$slots, "loading", {}, () => [f("span", {
357
378
  role: "status",
358
- "aria-label": "Loading",
379
+ "aria-label": w(P)("Loading"),
359
380
  class: "relative inline-block size-5 animate-spin motion-reduce:animate-none"
360
- }, [
361
- f("span", { class: "absolute inset-s-0 top-0 size-2 rounded-full bg-primary-500 opacity-30 dark:bg-primary-400" }),
362
- f("span", { class: "absolute inset-e-0 top-0 size-2 rounded-full bg-primary-500 opacity-50 dark:bg-primary-400" }),
363
- f("span", { class: "absolute inset-e-0 bottom-0 size-2 rounded-full bg-primary-500 dark:bg-primary-400" }),
364
- f("span", { class: "absolute inset-s-0 bottom-0 size-2 rounded-full bg-primary-500 opacity-70 dark:bg-primary-400" })
365
- ], -1)], void 0, 0)], 16, N)) : u("", !0)]),
366
- C(t)(C(P), "footer") ? (b(), d("div", y(_({ key: 0 }, C(Fe))), [S(e.$slots, "footer")], 16)) : u("", !0),
367
- C(Xe) ? (b(), d("div", y(_({ key: 1 }, C(Ye))), [C(He) ? S(e.$slots, "perPage", y(h(C(K))), () => [f("div", xe, [f("span", Se, me(C(F)("Per page:")), 1), p(C(re), _({ size: "sm" }, C(R).customProps?.perPage, {
368
- overlay: "menu",
369
- clearable: !1,
370
- "hide-error-message": "",
371
- "aria-label": "Per page",
372
- options: rt.value,
373
- "custom-props": it.value,
374
- "model-value": C(K).perPage,
375
- "onUpdate:modelValue": r[0] ||= (e) => C(K).onPerPageChange(Number(e)),
376
- classes: {
377
- ...C(R).customProps?.perPage?.classes,
378
- root: C(E)("w-20", C(R).customProps?.perPage?.classes?.root)
379
- }
380
- }), null, 16, [
381
- "options",
382
- "custom-props",
383
- "model-value",
384
- "classes"
385
- ])])], void 0, 0) : u("", !0), S(e.$slots, "pagination", y(h(C(Y))), () => [C(q) === void 0 ? u("", !0) : (b(), l(C(ne), _({
386
- key: 0,
387
- modelValue: Q.value,
388
- "onUpdate:modelValue": r[1] ||= (e) => Q.value = e,
389
- count: C(q),
390
- variant: C(Y).variant
391
- }, C(R).customProps?.pagination), null, 16, [
392
- "modelValue",
393
- "count",
394
- "variant"
395
- ]))])], 16)) : u("", !0)
381
+ }, [...r[1] ||= [
382
+ f("span", { class: "absolute inset-s-0 top-0 size-2 rounded-full bg-primary-500 opacity-30 dark:bg-primary-400" }, null, -1),
383
+ f("span", { class: "absolute inset-e-0 top-0 size-2 rounded-full bg-primary-500 opacity-50 dark:bg-primary-400" }, null, -1),
384
+ f("span", { class: "absolute inset-e-0 bottom-0 size-2 rounded-full bg-primary-500 dark:bg-primary-400" }, null, -1),
385
+ f("span", { class: "absolute inset-s-0 bottom-0 size-2 rounded-full bg-primary-500 opacity-70 dark:bg-primary-400" }, null, -1)
386
+ ]], 8, Ce)], void 0, 0)], 16, Se)) : u("", !0)]),
387
+ w(t)(w(N), "footer") ? (b(), d("div", y(_({ key: 0 }, w(Be))), [S(e.$slots, "footer")], 16)) : u("", !0),
388
+ w(et) ? (b(), d("div", y(_({ key: 1 }, w(rt))), [
389
+ w(Xe) ? (b(), d("div", y(_({ key: 0 }, w(Ye))), [S(e.$slots, "selected", y(h(w(q))), () => [me(C(ut.value), 1)])], 16)) : u("", !0),
390
+ w(qe) ? S(e.$slots, "perPage", y(h(w(K))), () => [f("div", we, [f("span", Te, C(w(P)("Rows per page")), 1), p(w(ne), _({ size: "sm" }, w(R).customProps?.perPage, {
391
+ overlay: "menu",
392
+ clearable: !1,
393
+ "hide-error-message": "",
394
+ options: pt.value,
395
+ "custom-props": ht.value,
396
+ "model-value": w(K).perPage,
397
+ "onUpdate:modelValue": mt,
398
+ "aria-label": w(P)("Rows per page"),
399
+ classes: {
400
+ ...w(R).customProps?.perPage?.classes,
401
+ root: w(D)("w-20", w(R).customProps?.perPage?.classes?.root)
402
+ }
403
+ }), null, 16, [
404
+ "options",
405
+ "custom-props",
406
+ "model-value",
407
+ "aria-label",
408
+ "classes"
409
+ ])])], void 0, 1) : u("", !0),
410
+ w(Re) ? (b(), d("div", Ee, [w(J) !== void 0 && !w(t)(w(N), "pagination") ? (b(), d("span", De, C(dt.value), 1)) : u("", !0), S(e.$slots, "pagination", y(h(w(X))), () => [w(J) === void 0 ? u("", !0) : (b(), l(oe, _({
411
+ key: 0,
412
+ size: "sm"
413
+ }, w(R).customProps?.pagination, {
414
+ modelValue: Q.value,
415
+ "onUpdate:modelValue": r[0] ||= (e) => Q.value = e,
416
+ count: w(J)
417
+ }), null, 16, ["modelValue", "count"]))])])) : u("", !0)
418
+ ], 16)) : u("", !0)
396
419
  ], 16)], 16));
397
420
  }
398
421
  });
399
422
  //#endregion
400
- export { P as default };
423
+ export { N as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DataTablePagination.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/DataTable/DataTablePagination.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,24 @@
1
+ import { DataTablePaginationOwnProps, DataTablePaginationSlots } from './dataTablePagination.types';
2
+ type __VLS_Slots = DataTablePaginationSlots;
3
+ type __VLS_Props = DataTablePaginationOwnProps;
4
+ type __VLS_ModelProps = {
5
+ modelValue?: number;
6
+ };
7
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
8
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ change: (page: number) => any;
10
+ "update:modelValue": (...args: unknown[]) => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
+ onChange?: ((page: number) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((...args: unknown[]) => any) | undefined;
14
+ }>, {
15
+ disabled: boolean;
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,40 @@
1
+ import e from "../Icon/Icon.js";
2
+ import { useDataTablePagination as t } from "./composables/useDataTablePagination.js";
3
+ import { createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, guardReactiveProps as o, mergeModels as s, mergeProps as c, normalizeProps as l, openBlock as u, renderSlot as d, unref as f, useModel as p } from "vue";
4
+ //#region src/Components/DataTable/DataTablePagination.vue?vue&type=script&setup=true&lang.ts
5
+ var m = { class: "contents" }, h = { class: "contents" }, g = { class: "contents" }, _ = { class: "contents" }, v = /*@__PURE__*/ a({
6
+ inheritAttrs: !1,
7
+ name: "DataTablePagination",
8
+ __name: "DataTablePagination",
9
+ props: /*@__PURE__*/ s({
10
+ classes: {},
11
+ count: {},
12
+ customProps: {},
13
+ disabled: {
14
+ type: Boolean,
15
+ default: !1
16
+ },
17
+ modelValue: {},
18
+ rounded: {},
19
+ size: {}
20
+ }, {
21
+ modelValue: { default: 1 },
22
+ modelModifiers: {}
23
+ }),
24
+ emits: /*@__PURE__*/ s(["change", "update:modelValue"], ["update:modelValue"]),
25
+ setup(a, { emit: s }) {
26
+ let v = s, y = a, b = p(a, "modelValue"), { rootBind: x, listBind: S, prevBind: C, nextBind: w, lastBind: T, firstBind: E, prevIconBind: D, nextIconBind: O, lastIconBind: k, firstIconBind: A } = t(y, {
27
+ size: "sm",
28
+ rounded: "md",
29
+ disabled: !1
30
+ }, b, v);
31
+ return (t, a) => (u(), n("nav", l(o(f(x))), [r("ul", l(o(f(S))), [
32
+ r("li", m, [r("button", l(o(f(E))), [d(t.$slots, "first", {}, () => [i(f(e), c({ icon: "chevronsLeft" }, f(A)), null, 16)])], 16)]),
33
+ r("li", h, [r("button", l(o(f(C))), [d(t.$slots, "prev", {}, () => [i(f(e), c({ icon: "chevronLeft" }, f(D)), null, 16)])], 16)]),
34
+ r("li", g, [r("button", l(o(f(w))), [d(t.$slots, "next", {}, () => [i(f(e), c({ icon: "chevronRight" }, f(O)), null, 16)])], 16)]),
35
+ r("li", _, [r("button", l(o(f(T))), [d(t.$slots, "last", {}, () => [i(f(e), c({ icon: "chevronsRight" }, f(k)), null, 16)])], 16)])
36
+ ], 16)], 16));
37
+ }
38
+ });
39
+ //#endregion
40
+ export { v as default };
@@ -1,5 +1,5 @@
1
1
  import { Ref, VNode, VNodeChild } from 'vue';
2
- import { getDataTableAriaSort, getDataTableSortIcon, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSorting, DataTableStickyEdge, DataTableStickyInset } from '@bridge-ui/core/Domain';
2
+ import { getDataTableAriaSort, getDataTableSortIcon, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectedSlotProps, DataTableSorting, DataTableStickyEdge, DataTableStickyInset } from '@bridge-ui/core/Domain';
3
3
  import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core/Utils';
4
4
  import { DataTableColumn, DataTableOwnProps, DataTableProps } from '../dataTable.types';
5
5
  type DataTableLibDefaults = LibDefaultsShape<DataTableOwnProps<unknown>, "full" | "size" | "loading" | "rounded" | "striped" | "variant" | "hoverable" | "stickyHeader" | "filterOverlay" | "selectionMode" | "columnsOverlay" | "loadingVariant">;
@@ -81,6 +81,7 @@ export declare function useDataTable<T>(props: DataTableOwnProps<T>, libDefaults
81
81
  frameBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
82
82
  class: string;
83
83
  }, "class", {}, {}>>;
84
+ showPager: import('vue').ComputedRef<boolean>;
84
85
  tableProps: import('vue').ComputedRef<{
85
86
  size: NonNullable<keyof import('@bridge-ui/core/Tokens').TableSize | undefined>;
86
87
  variant: NonNullable<keyof import('@bridge-ui/core/Tokens').TableVariant | undefined>;
@@ -523,11 +524,16 @@ export declare function useDataTable<T>(props: DataTableOwnProps<T>, libDefaults
523
524
  serverPaged: import('vue').ComputedRef<boolean>;
524
525
  showPerPage: import('vue').ComputedRef<boolean>;
525
526
  showToolbar: import('vue').ComputedRef<boolean>;
527
+ selectedBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
528
+ class: string;
529
+ }, "class", import('vue').HTMLAttributes | undefined, {}>>;
530
+ showSelected: import('vue').ComputedRef<boolean>;
526
531
  getHeadAlign: (header: DataTableHeaderView) => keyof import('@bridge-ui/core/Tokens').TableAlign;
527
532
  getCellAlign: (cell: DataTableCellView) => keyof import('@bridge-ui/core/Tokens').TableAlign;
528
533
  onTogglePage: (selectAll: boolean) => void;
529
534
  onToggleSort: (columnId: string) => void;
530
535
  summaryCells: import('vue').ComputedRef<DataTableCellView[] | null>;
536
+ showFooterBar: import('vue').ComputedRef<boolean>;
531
537
  expandEnabled: import('vue').ComputedRef<boolean>;
532
538
  onChangeSearch: (query: string) => void;
533
539
  loadingBarBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
@@ -542,14 +548,13 @@ export declare function useDataTable<T>(props: DataTableOwnProps<T>, libDefaults
542
548
  checked: boolean;
543
549
  indeterminate: boolean;
544
550
  }>;
545
- showPagination: import('vue').ComputedRef<boolean>;
546
551
  onToggleExpand: (rowId: string, expanded: boolean) => void;
547
552
  visibilityItems: import('vue').ComputedRef<DataTableVisibilityItem[]>;
548
553
  onChangePerPage: (next: number) => void;
549
554
  resolvedPerPage: import('vue').ComputedRef<number>;
550
555
  selectionEnabled: import('vue').ComputedRef<boolean>;
551
556
  perPageSlotProps: import('vue').ComputedRef<DataTablePerPageSlotProps>;
552
- paginationVariant: import('vue').ComputedRef<import('@bridge-ui/core/Domain').DataTablePaginationVariant>;
557
+ selectedSlotProps: import('vue').ComputedRef<DataTableSelectedSlotProps>;
553
558
  resolvedPageCount: import('vue').ComputedRef<number | undefined>;
554
559
  selectionMultiple: import('vue').ComputedRef<boolean>;
555
560
  visibilityEnabled: import('vue').ComputedRef<boolean>;