@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
@@ -0,0 +1,69 @@
1
+ import { Ref, SetupContext } from 'vue';
2
+ import { IconSize } from '@bridge-ui/core/Tokens';
3
+ import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core/Utils';
4
+ import { DataTablePaginationEmits, DataTablePaginationOwnProps, DataTablePaginationProps } from '../dataTablePagination.types';
5
+ type DataTablePaginationLibDefaults = LibDefaultsShape<DataTablePaginationOwnProps, "size" | "rounded" | "disabled">;
6
+ type DataTablePaginationMerged = MergeLibDefaults<DataTablePaginationOwnProps, DataTablePaginationLibDefaults>;
7
+ export declare function useDataTablePagination(props: DataTablePaginationOwnProps, libDefaults: DataTablePaginationLibDefaults, model: Ref<number | undefined>, emit: SetupContext<DataTablePaginationEmits>["emit"]): {
8
+ page: import('vue').ComputedRef<number>;
9
+ slots: Readonly<{
10
+ [name: string]: import('vue').Slot<any> | undefined;
11
+ }>;
12
+ merged: import('vue').ComputedRef<DataTablePaginationMerged>;
13
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
14
+ "aria-label": string;
15
+ class: string;
16
+ }, "class", import('vue').HTMLAttributes | undefined, Omit<DataTablePaginationProps, "size" | "classes" | "customProps" | "rounded" | "disabled" | "modelValue" | "count">>>;
17
+ listBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
18
+ class: string;
19
+ }, "class", import('vue').HTMLAttributes | undefined, {}>>;
20
+ prevBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
21
+ onClick: () => void;
22
+ type: "button";
23
+ disabled: boolean;
24
+ "aria-label": string;
25
+ class: string;
26
+ }, "class", import('vue').ButtonHTMLAttributes | undefined, {}>>;
27
+ nextBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
28
+ onClick: () => void;
29
+ type: "button";
30
+ disabled: boolean;
31
+ "aria-label": string;
32
+ class: string;
33
+ }, "class", import('vue').ButtonHTMLAttributes | undefined, {}>>;
34
+ lastBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
35
+ onClick: () => void;
36
+ type: "button";
37
+ disabled: boolean;
38
+ "aria-label": string;
39
+ class: string;
40
+ }, "class", import('vue').ButtonHTMLAttributes | undefined, {}>>;
41
+ firstBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
42
+ onClick: () => void;
43
+ type: "button";
44
+ disabled: boolean;
45
+ "aria-label": string;
46
+ class: string;
47
+ }, "class", import('vue').ButtonHTMLAttributes | undefined, {}>>;
48
+ prevIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
49
+ "aria-hidden": boolean;
50
+ size: keyof IconSize;
51
+ class: string;
52
+ }, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
53
+ nextIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
54
+ "aria-hidden": boolean;
55
+ size: keyof IconSize;
56
+ class: string;
57
+ }, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
58
+ lastIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
59
+ "aria-hidden": boolean;
60
+ size: keyof IconSize;
61
+ class: string;
62
+ }, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
63
+ firstIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
64
+ "aria-hidden": boolean;
65
+ size: keyof IconSize;
66
+ class: string;
67
+ }, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
68
+ };
69
+ export {};
@@ -0,0 +1,130 @@
1
+ import { useResolveMessage as e } from "../../../Adapters/I18n/useI18nAdapter.js";
2
+ import { mergePartBind as t, useBridgeUIComponent as n, useBridgeUIMergedRegistryClasses as r } from "../../../Utils/index.js";
3
+ import { computed as i, useAttrs as a, useSlots as o } from "vue";
4
+ import { get as s } from "es-toolkit/compat";
5
+ import { DATATABLE_PAGINATION_ITEM_CLASS as c, DATATABLE_PAGINATION_LIST_CLASS as l } from "@bridge-ui/core/Domain";
6
+ import { paginationRoundedProps as u, paginationSizeProps as d } from "@bridge-ui/core/Tokens";
7
+ import { cn as f, splitComponentProps as p } from "@bridge-ui/core/Utils";
8
+ //#region src/Components/DataTable/composables/useDataTablePagination.ts
9
+ var m = [
10
+ "size",
11
+ "count",
12
+ "classes",
13
+ "rounded",
14
+ "disabled",
15
+ "modelValue",
16
+ "customProps"
17
+ ];
18
+ function h(h, g, _, v) {
19
+ let y = a(), b = o(), x = e(), S = i(() => p({
20
+ props: {
21
+ ...y,
22
+ ...h
23
+ },
24
+ bridgeKeys: m
25
+ })), { merged: C } = n({
26
+ libDefaults: g,
27
+ props: () => S.value.componentProps
28
+ }), w = i(() => C.value.customProps), T = i(() => _.value ?? 1), E = r({
29
+ props: () => S.value.componentProps,
30
+ entry: i(() => {})
31
+ }), D = i(() => s(d, C.value.size)), O = i(() => s(u, C.value.rounded)), k = (e) => {
32
+ if (C.value.disabled) return;
33
+ let t = C.value.count ?? 0, n = Math.min(Math.max(1, e), Math.max(t, 1));
34
+ _.value = n, v("change", n), v("update:modelValue", n);
35
+ }, A = () => {
36
+ k(T.value - 1);
37
+ }, j = () => {
38
+ k(T.value + 1);
39
+ }, M = () => {
40
+ k(1);
41
+ }, N = () => {
42
+ k(C.value.count ?? 1);
43
+ }, P = i(() => C.value.disabled || T.value <= 1), F = i(() => C.value.disabled || T.value >= (C.value.count ?? 0)), I = i(() => f({
44
+ [s(D.value, "itemIcon") ?? ""]: !0,
45
+ [c]: !0,
46
+ [s(O.value, "item") ?? ""]: !0
47
+ })), L = i(() => s(D.value, "icon") ?? "xs"), R = i(() => {
48
+ let e = S.value.inheritedAttrs;
49
+ return t(w.value?.root, e, {
50
+ "aria-label": e["aria-label"] ?? x("Pagination"),
51
+ class: f({
52
+ [s(D.value, "root") ?? ""]: !0,
53
+ [s(E.value, "root") ?? ""]: !0
54
+ })
55
+ });
56
+ }), z = i(() => t(w.value?.list, {}, { class: f({
57
+ [s(D.value, "list") ?? ""]: !0,
58
+ [l]: !0,
59
+ [s(E.value, "list") ?? ""]: !0
60
+ }) })), B = i(() => t(w.value?.prev, {}, {
61
+ onClick: A,
62
+ type: "button",
63
+ disabled: P.value,
64
+ "aria-label": x("Previous"),
65
+ class: f({
66
+ [I.value]: !0,
67
+ [s(E.value, "prev") ?? ""]: !0
68
+ })
69
+ })), V = i(() => t(w.value?.next, {}, {
70
+ onClick: j,
71
+ type: "button",
72
+ disabled: F.value,
73
+ "aria-label": x("Next"),
74
+ class: f({
75
+ [I.value]: !0,
76
+ [s(E.value, "next") ?? ""]: !0
77
+ })
78
+ })), H = i(() => t(w.value?.first, {}, {
79
+ onClick: M,
80
+ type: "button",
81
+ disabled: P.value,
82
+ "aria-label": x("First page"),
83
+ class: f({
84
+ [I.value]: !0,
85
+ [s(E.value, "first") ?? ""]: !0
86
+ })
87
+ })), U = i(() => t(w.value?.last, {}, {
88
+ onClick: N,
89
+ type: "button",
90
+ disabled: F.value,
91
+ "aria-label": x("Last page"),
92
+ class: f({
93
+ [I.value]: !0,
94
+ [s(E.value, "last") ?? ""]: !0
95
+ })
96
+ })), W = i(() => t(w.value?.prevIcon, {}, {
97
+ "aria-hidden": !0,
98
+ size: L.value,
99
+ class: "shrink-0 pointer-events-none"
100
+ })), G = i(() => t(w.value?.nextIcon, {}, {
101
+ "aria-hidden": !0,
102
+ size: L.value,
103
+ class: "shrink-0 pointer-events-none"
104
+ })), K = i(() => t(w.value?.firstIcon, {}, {
105
+ "aria-hidden": !0,
106
+ size: L.value,
107
+ class: "shrink-0 pointer-events-none"
108
+ }));
109
+ return {
110
+ page: T,
111
+ slots: b,
112
+ merged: C,
113
+ rootBind: R,
114
+ listBind: z,
115
+ prevBind: B,
116
+ nextBind: V,
117
+ lastBind: U,
118
+ firstBind: H,
119
+ prevIconBind: W,
120
+ nextIconBind: G,
121
+ lastIconBind: i(() => t(w.value?.lastIcon, {}, {
122
+ "aria-hidden": !0,
123
+ size: L.value,
124
+ class: "shrink-0 pointer-events-none"
125
+ })),
126
+ firstIconBind: K
127
+ };
128
+ }
129
+ //#endregion
130
+ export { h as useDataTablePagination };
@@ -1,15 +1,15 @@
1
1
  import { HTMLAttributes, Slot, VNodeChild } from 'vue';
2
- import { DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, FieldOverlayMode } from '@bridge-ui/core/Domain';
2
+ import { DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectedSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, FieldOverlayMode } from '@bridge-ui/core/Domain';
3
3
  import { TableAlign, TableRounded, TableSize, TableVariant } from '@bridge-ui/core/Tokens';
4
4
  import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
5
5
  import { CheckboxProps } from '../Checkbox/checkbox.types';
6
- import { PaginationOwnProps } from '../Pagination/pagination.types';
6
+ import { DataTablePaginationOwnProps } from './dataTablePagination.types';
7
7
  import { ProgressOwnProps } from '../Progress/progress.types';
8
8
  import { RadioProps } from '../Radio/radio.types';
9
9
  import { SelectOwnProps } from '../Select/select.types';
10
10
  import { TableAlignOverrides, TableRoundedOverrides, TableSizeOverrides, TableVariantOverrides } from '../Table/table.types';
11
11
  import { TextFieldOwnProps } from '../TextField/textField.types';
12
- export type { DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, };
12
+ export type { DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectedSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, };
13
13
  /**
14
14
  * Column definition with Vue renderers.
15
15
  */
@@ -66,7 +66,7 @@ export interface DataTableClasses {
66
66
  */
67
67
  loading?: string;
68
68
  /**
69
- * Classes merged onto the pagination region.
69
+ * Classes merged onto the chrome footer (selection, per-page, pager).
70
70
  */
71
71
  pagination?: string;
72
72
  /**
@@ -85,6 +85,10 @@ export interface DataTableClasses {
85
85
  * Classes merged onto the toolbar search field.
86
86
  */
87
87
  search?: string;
88
+ /**
89
+ * Classes merged onto the selection summary in the chrome footer.
90
+ */
91
+ selected?: string;
88
92
  /**
89
93
  * Classes merged onto the `<table>` element.
90
94
  */
@@ -148,11 +152,11 @@ export interface DataTableCustomProps {
148
152
  */
149
153
  loading?: HTMLAttributes;
150
154
  /**
151
- * Extra props for the built-in `Pagination`.
155
+ * Extra props for the built-in chrome pager (first / previous / next / last).
152
156
  *
153
157
  * @default undefined
154
158
  */
155
- pagination?: Partial<Omit<PaginationOwnProps, "count">>;
159
+ pagination?: Partial<Omit<DataTablePaginationOwnProps, "count" | "modelValue">>;
156
160
  /**
157
161
  * Extra props for the built-in per-page `Select`.
158
162
  *
@@ -189,6 +193,12 @@ export interface DataTableCustomProps {
189
193
  * @default undefined
190
194
  */
191
195
  search?: Partial<Omit<TextFieldOwnProps, "modelValue">>;
196
+ /**
197
+ * Props forwarded to the selection summary in the chrome footer.
198
+ *
199
+ * @default undefined
200
+ */
201
+ selected?: HTMLAttributes;
192
202
  /**
193
203
  * Props forwarded to the `<table>` element.
194
204
  *
@@ -349,13 +359,13 @@ export interface DataTableOwnProps<T> {
349
359
  */
350
360
  loadingVariant?: DataTableLoadingVariant;
351
361
  /**
352
- * Controlled page for built-in numbered Pagination (1-based).
362
+ * Controlled page for the built-in chrome pager (1-based).
353
363
  *
354
364
  * @default undefined
355
365
  */
356
366
  page?: number;
357
367
  /**
358
- * Total pages for built-in numbered Pagination. Use this or `totalCount`.
368
+ * Total pages for the built-in chrome pager. Use this or `totalCount`.
359
369
  *
360
370
  * @default undefined
361
371
  */
@@ -437,7 +447,7 @@ export interface DataTableOwnProps<T> {
437
447
  */
438
448
  totalCount?: number;
439
449
  /**
440
- * Chrome treatment. Built-in Pagination follows the matching variant.
450
+ * Chrome treatment (`plain` / `ghost` / `bordered`).
441
451
  *
442
452
  * @default "plain"
443
453
  */
@@ -459,7 +469,7 @@ export interface DataTableSlots<T = unknown> {
459
469
  row: T;
460
470
  }>;
461
471
  /**
462
- * Region below the table, above pagination.
472
+ * Region below the table, above the chrome footer.
463
473
  */
464
474
  footer?: Slot<undefined>;
465
475
  /**
@@ -472,8 +482,8 @@ export interface DataTableSlots<T = unknown> {
472
482
  */
473
483
  loading?: Slot<undefined>;
474
484
  /**
475
- * Replaces the built-in numbered Pagination (no auto variant). Receives
476
- * `page`, `count`, `variant`, and `onPageChange`.
485
+ * Replaces the built-in chrome pager. Receives `page`, `count`, and
486
+ * `onPageChange`.
477
487
  */
478
488
  pagination?: Slot<DataTablePaginationSlotProps>;
479
489
  /**
@@ -485,6 +495,11 @@ export interface DataTableSlots<T = unknown> {
485
495
  * Replaces the toolbar search field.
486
496
  */
487
497
  search?: Slot<undefined>;
498
+ /**
499
+ * Replaces the selection summary (`selected of total`). Receives
500
+ * `selectedCount` / `totalCount`.
501
+ */
502
+ selected?: Slot<DataTableSelectedSlotProps>;
488
503
  /**
489
504
  * Leading toolbar region (left of Columns / Search).
490
505
  */
@@ -0,0 +1,169 @@
1
+ import { ButtonHTMLAttributes, HTMLAttributes, Slot } from 'vue';
2
+ import { PaginationRounded, PaginationSize } from '@bridge-ui/core/Tokens';
3
+ import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
4
+ import { IconProps } from '../Icon';
5
+ import { PaginationRoundedOverrides, PaginationSizeOverrides } from '../Pagination/pagination.types';
6
+ export interface DataTablePaginationClasses {
7
+ /**
8
+ * Classes merged onto the first-page control.
9
+ */
10
+ first?: string;
11
+ /**
12
+ * Classes merged onto the last-page control.
13
+ */
14
+ last?: string;
15
+ /**
16
+ * Classes merged onto the unordered list.
17
+ */
18
+ list?: string;
19
+ /**
20
+ * Classes merged onto the next control.
21
+ */
22
+ next?: string;
23
+ /**
24
+ * Classes merged onto the previous control.
25
+ */
26
+ prev?: string;
27
+ /**
28
+ * Classes merged onto the nav root.
29
+ */
30
+ root?: string;
31
+ }
32
+ export interface DataTablePaginationCustomProps {
33
+ /**
34
+ * Props forwarded to the first-page button.
35
+ *
36
+ * @default undefined
37
+ */
38
+ first?: ButtonHTMLAttributes;
39
+ /**
40
+ * Props forwarded to the first-page `Icon`.
41
+ *
42
+ * @default undefined
43
+ */
44
+ firstIcon?: Partial<Omit<IconProps, "icon">>;
45
+ /**
46
+ * Props forwarded to the last-page button.
47
+ *
48
+ * @default undefined
49
+ */
50
+ last?: ButtonHTMLAttributes;
51
+ /**
52
+ * Props forwarded to the last-page `Icon`.
53
+ *
54
+ * @default undefined
55
+ */
56
+ lastIcon?: Partial<Omit<IconProps, "icon">>;
57
+ /**
58
+ * Props forwarded to the unordered list.
59
+ *
60
+ * @default undefined
61
+ */
62
+ list?: HTMLAttributes;
63
+ /**
64
+ * Props forwarded to the next button.
65
+ *
66
+ * @default undefined
67
+ */
68
+ next?: ButtonHTMLAttributes;
69
+ /**
70
+ * Props forwarded to the next `Icon`.
71
+ *
72
+ * @default undefined
73
+ */
74
+ nextIcon?: Partial<Omit<IconProps, "icon">>;
75
+ /**
76
+ * Props forwarded to the previous button.
77
+ *
78
+ * @default undefined
79
+ */
80
+ prev?: ButtonHTMLAttributes;
81
+ /**
82
+ * Props forwarded to the previous `Icon`.
83
+ *
84
+ * @default undefined
85
+ */
86
+ prevIcon?: Partial<Omit<IconProps, "icon">>;
87
+ /**
88
+ * Props forwarded to the nav root.
89
+ *
90
+ * @default undefined
91
+ */
92
+ root?: HTMLAttributes;
93
+ }
94
+ export interface DataTablePaginationEmits {
95
+ /**
96
+ * Emitted when the page changes.
97
+ */
98
+ change: [page: number];
99
+ /**
100
+ * Emitted when `v-model` should update.
101
+ */
102
+ "update:modelValue": [page: number];
103
+ }
104
+ /**
105
+ * First / previous / next / last pager used by the DataTable chrome footer.
106
+ */
107
+ export interface DataTablePaginationOwnProps {
108
+ /**
109
+ * Classes for pagination parts.
110
+ *
111
+ * @default undefined
112
+ */
113
+ classes?: DataTablePaginationClasses;
114
+ /**
115
+ * Total number of pages.
116
+ *
117
+ * @default undefined
118
+ */
119
+ count?: number;
120
+ /**
121
+ * Extra props for internal parts.
122
+ *
123
+ * @default undefined
124
+ */
125
+ customProps?: DataTablePaginationCustomProps;
126
+ /**
127
+ * Disable all controls.
128
+ *
129
+ * @default false
130
+ */
131
+ disabled?: boolean;
132
+ /**
133
+ * Bound page with `v-model` (1-based).
134
+ *
135
+ * @default 1
136
+ */
137
+ modelValue?: number;
138
+ /**
139
+ * Control corner radius.
140
+ *
141
+ * @default "md"
142
+ */
143
+ rounded?: MergeProps<PaginationRounded, PaginationRoundedOverrides>;
144
+ /**
145
+ * Control size.
146
+ *
147
+ * @default "sm"
148
+ */
149
+ size?: MergeProps<PaginationSize, PaginationSizeOverrides>;
150
+ }
151
+ export interface DataTablePaginationSlots {
152
+ /**
153
+ * Custom first-page control content (default double-chevron icon).
154
+ */
155
+ first?: Slot;
156
+ /**
157
+ * Custom last-page control content (default double-chevron icon).
158
+ */
159
+ last?: Slot;
160
+ /**
161
+ * Custom next control content (default chevron icon).
162
+ */
163
+ next?: Slot;
164
+ /**
165
+ * Custom previous control content (default chevron icon).
166
+ */
167
+ prev?: Slot;
168
+ }
169
+ export type DataTablePaginationProps = MergeHtmlProps<DataTablePaginationOwnProps, HTMLAttributes>;
@@ -1,3 +1,4 @@
1
1
  export { useDataTable } from './composables/useDataTable';
2
- export type { DataTableClasses, DataTableColumn, DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableCustomProps, DataTableEmits, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTableOwnProps, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableProps, DataTableSelectionMode, DataTableSlots, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, } from './dataTable.types';
2
+ export type { DataTableClasses, DataTableColumn, DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableCustomProps, DataTableEmits, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTableOwnProps, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableProps, DataTableSelectedSlotProps, DataTableSelectionMode, DataTableSlots, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, } from './dataTable.types';
3
3
  export { default as DataTable } from './DataTable.vue';
4
+ export type { DataTablePaginationClasses, DataTablePaginationCustomProps, DataTablePaginationEmits, DataTablePaginationOwnProps, DataTablePaginationProps, DataTablePaginationSlots, } from './dataTablePagination.types';
@@ -440,7 +440,6 @@ export declare function useDateField(props: DateFieldOwnProps, model: Ref<null |
440
440
  isNotched: import('vue').ComputedRef<boolean>;
441
441
  isStacked: import('vue').ComputedRef<boolean>;
442
442
  startBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
443
- cornerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
444
443
  headerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
445
444
  isDisabled: import('vue').ComputedRef<boolean>;
446
445
  isReadonly: import('vue').ComputedRef<boolean>;
@@ -458,6 +457,7 @@ export declare function useDateField(props: DateFieldOwnProps, model: Ref<null |
458
457
  ariaDescribedBy: import('vue').ComputedRef<string | undefined>;
459
458
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
460
459
  stackedBodyBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
460
+ fieldCornerProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
461
461
  hasInsetLabelRow: import('vue').ComputedRef<boolean>;
462
462
  insetLabelRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
463
463
  stackedInputRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
@@ -439,7 +439,6 @@ export declare function useDateRangeField(props: DateRangeFieldOwnProps, model:
439
439
  isNotched: import('vue').ComputedRef<boolean>;
440
440
  isStacked: import('vue').ComputedRef<boolean>;
441
441
  startBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
442
- cornerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
443
442
  headerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
444
443
  isDisabled: import('vue').ComputedRef<boolean>;
445
444
  isReadonly: import('vue').ComputedRef<boolean>;
@@ -457,6 +456,7 @@ export declare function useDateRangeField(props: DateRangeFieldOwnProps, model:
457
456
  ariaDescribedBy: import('vue').ComputedRef<string | undefined>;
458
457
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
459
458
  stackedBodyBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
459
+ fieldCornerProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
460
460
  hasInsetLabelRow: import('vue').ComputedRef<boolean>;
461
461
  insetLabelRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
462
462
  stackedInputRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
@@ -440,7 +440,6 @@ export declare function useDateTimeField(props: DateTimeFieldOwnProps, model: Re
440
440
  isNotched: import('vue').ComputedRef<boolean>;
441
441
  isStacked: import('vue').ComputedRef<boolean>;
442
442
  startBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
443
- cornerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
444
443
  headerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
445
444
  isDisabled: import('vue').ComputedRef<boolean>;
446
445
  isReadonly: import('vue').ComputedRef<boolean>;
@@ -458,6 +457,7 @@ export declare function useDateTimeField(props: DateTimeFieldOwnProps, model: Re
458
457
  ariaDescribedBy: import('vue').ComputedRef<string | undefined>;
459
458
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
460
459
  stackedBodyBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
460
+ fieldCornerProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
461
461
  hasInsetLabelRow: import('vue').ComputedRef<boolean>;
462
462
  insetLabelRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
463
463
  stackedInputRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
@@ -441,7 +441,6 @@ export declare function useDateTimeRangeField(props: DateTimeRangeFieldOwnProps,
441
441
  isNotched: import('vue').ComputedRef<boolean>;
442
442
  isStacked: import('vue').ComputedRef<boolean>;
443
443
  startBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
444
- cornerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
445
444
  headerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
446
445
  isDisabled: import('vue').ComputedRef<boolean>;
447
446
  isReadonly: import('vue').ComputedRef<boolean>;
@@ -459,6 +458,7 @@ export declare function useDateTimeRangeField(props: DateTimeRangeFieldOwnProps,
459
458
  ariaDescribedBy: import('vue').ComputedRef<string | undefined>;
460
459
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
461
460
  stackedBodyBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
461
+ fieldCornerProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
462
462
  hasInsetLabelRow: import('vue').ComputedRef<boolean>;
463
463
  insetLabelRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
464
464
  stackedInputRowBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", {}, {}>>;
@@ -2,21 +2,21 @@ import { UseFormFieldReturn } from './composables/useFormField';
2
2
  type __VLS_Props = {
3
3
  api: UseFormFieldReturn;
4
4
  };
5
- declare var __VLS_8: {}, __VLS_10: {}, __VLS_12: {}, __VLS_19: {}, __VLS_21: {}, __VLS_33: {}, __VLS_35: {};
5
+ declare var __VLS_8: {}, __VLS_17: {}, __VLS_19: {}, __VLS_26: {}, __VLS_28: {}, __VLS_40: {}, __VLS_42: {};
6
6
  type __VLS_Slots = {} & {
7
7
  label?: (props: typeof __VLS_8) => any;
8
8
  } & {
9
- corner?: (props: typeof __VLS_10) => any;
9
+ corner?: (props: typeof __VLS_17) => any;
10
10
  } & {
11
- start?: (props: typeof __VLS_12) => any;
11
+ start?: (props: typeof __VLS_19) => any;
12
12
  } & {
13
- default?: (props: typeof __VLS_19) => any;
13
+ default?: (props: typeof __VLS_26) => any;
14
14
  } & {
15
- end?: (props: typeof __VLS_21) => any;
15
+ end?: (props: typeof __VLS_28) => any;
16
16
  } & {
17
- description?: (props: typeof __VLS_33) => any;
17
+ description?: (props: typeof __VLS_40) => any;
18
18
  } & {
19
- errorMessage?: (props: typeof __VLS_35) => any;
19
+ errorMessage?: (props: typeof __VLS_42) => any;
20
20
  };
21
21
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;