@bridge-ui/vue 0.6.0 → 0.8.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 (129) hide show
  1. package/ai/skills/bridge-ui-forms/SKILL.md +1 -1
  2. package/dist/Adapters/I18n/useI18nAdapter.d.ts +1 -1
  3. package/dist/Adapters/I18n/useI18nAdapter.js +4 -1
  4. package/dist/Components/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js +1 -1
  5. package/dist/Components/Accordion/accordion.types.d.ts +2 -2
  6. package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +13 -13
  7. package/dist/Components/Alert/alert.types.d.ts +7 -4
  8. package/dist/Components/Alert/composables/useAlert.d.ts +1 -0
  9. package/dist/Components/Alert/composables/useAlert.js +60 -57
  10. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +1 -1
  11. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +1 -0
  12. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +5 -3
  13. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +33 -28
  14. package/dist/Components/BaseField/BaseFieldCorner.js +5 -0
  15. package/dist/Components/BaseField/BaseFieldCorner.vue.d.ts +17 -0
  16. package/dist/Components/BaseField/BaseFieldCorner.vue_vue_type_script_setup_true_lang.js +17 -0
  17. package/dist/Components/BaseField/baseField.types.d.ts +19 -6
  18. package/dist/Components/BaseField/composables/useBaseField.d.ts +7 -3
  19. package/dist/Components/BaseField/composables/useBaseField.js +71 -68
  20. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +24 -25
  21. package/dist/Components/Button/composables/useButton.d.ts +3 -1
  22. package/dist/Components/Button/composables/useButton.js +46 -40
  23. package/dist/Components/Calendar/composables/useCalendar.d.ts +1 -1
  24. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
  25. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
  26. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1 -1
  27. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
  28. package/dist/Components/ColorField/ColorField.vue.d.ts +1 -1
  29. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +1 -0
  30. package/dist/Components/ColorField/composables/useColorField.d.ts +6 -4
  31. package/dist/Components/ColorPicker/composables/useColorPicker.d.ts +1 -1
  32. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +154 -131
  33. package/dist/Components/DataTable/DataTablePagination.js +5 -0
  34. package/dist/Components/DataTable/DataTablePagination.vue.d.ts +24 -0
  35. package/dist/Components/DataTable/DataTablePagination.vue_vue_type_script_setup_true_lang.js +40 -0
  36. package/dist/Components/DataTable/composables/useDataTable.d.ts +9 -4
  37. package/dist/Components/DataTable/composables/useDataTable.js +299 -280
  38. package/dist/Components/DataTable/composables/useDataTablePagination.d.ts +69 -0
  39. package/dist/Components/DataTable/composables/useDataTablePagination.js +130 -0
  40. package/dist/Components/DataTable/dataTable.types.d.ts +27 -12
  41. package/dist/Components/DataTable/dataTablePagination.types.d.ts +169 -0
  42. package/dist/Components/DataTable/index.d.ts +2 -1
  43. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +1 -0
  44. package/dist/Components/DateField/composables/useDateField.d.ts +6 -4
  45. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -1
  46. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +1 -0
  47. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +6 -4
  48. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -1
  49. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +1 -0
  50. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +6 -4
  51. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -1
  52. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +1 -0
  53. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +6 -4
  54. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -1
  55. package/dist/Components/FormControl/composables/useFormControl.d.ts +3 -1
  56. package/dist/Components/FormControl/composables/useFormControl.js +39 -38
  57. package/dist/Components/FormField/FilledFormField.vue.d.ts +7 -7
  58. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +32 -27
  59. package/dist/Components/FormField/FormFieldCorner.js +5 -0
  60. package/dist/Components/FormField/FormFieldCorner.vue.d.ts +17 -0
  61. package/dist/Components/FormField/FormFieldCorner.vue_vue_type_script_setup_true_lang.js +17 -0
  62. package/dist/Components/FormField/NotchedFormField.vue.d.ts +7 -7
  63. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +14 -9
  64. package/dist/Components/FormField/OutlinedFormField.vue.d.ts +7 -7
  65. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +32 -27
  66. package/dist/Components/FormField/StackedFormField.vue.d.ts +6 -6
  67. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +14 -9
  68. package/dist/Components/FormField/UnderlinedFormField.vue.d.ts +7 -7
  69. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +32 -27
  70. package/dist/Components/FormField/composables/useFormField.d.ts +8 -4
  71. package/dist/Components/FormField/composables/useFormField.js +153 -143
  72. package/dist/Components/FormField/formField.types.d.ts +18 -6
  73. package/dist/Components/Listbox/Listbox.vue.d.ts +1 -1
  74. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +1 -0
  75. package/dist/Components/NumberField/composables/useNumberField.d.ts +5 -3
  76. package/dist/Components/OtpField/OtpField.vue.d.ts +1 -8
  77. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +7 -6
  78. package/dist/Components/OtpField/composables/useOtpField.d.ts +4 -2
  79. package/dist/Components/Pagination/Pagination.vue_vue_type_script_setup_true_lang.js +6 -6
  80. package/dist/Components/Pagination/composables/usePagination.d.ts +4 -2
  81. package/dist/Components/Pagination/composables/usePagination.js +125 -127
  82. package/dist/Components/Pagination/pagination.types.d.ts +5 -5
  83. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +1 -0
  84. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +5 -3
  85. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +1 -0
  86. package/dist/Components/Select/composables/useSelect.d.ts +5 -3
  87. package/dist/Components/Sidebar/composables/useSidebarList.js +1 -1
  88. package/dist/Components/Sidebar/composables/useSidebarShell.js +1 -1
  89. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +1 -0
  90. package/dist/Components/Slider/composables/useSlider.d.ts +5 -3
  91. package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +2 -2
  92. package/dist/Components/Tabs/composables/useTabs.js +16 -10
  93. package/dist/Components/Tabs/tabs.types.d.ts +3 -3
  94. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +1 -0
  95. package/dist/Components/TextField/composables/useTextField.d.ts +5 -3
  96. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +1 -0
  97. package/dist/Components/Textarea/composables/useTextarea.d.ts +5 -3
  98. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +1 -0
  99. package/dist/Components/TimeField/composables/useTimeField.d.ts +6 -4
  100. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
  101. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -1
  102. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +1 -0
  103. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +6 -4
  104. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -1
  105. package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
  106. package/dist/Utils/index.d.ts +11 -2
  107. package/dist/Utils/index.js +31 -27
  108. package/dist/augments.d.ts +8 -8
  109. package/dist/index.d.ts +1 -1
  110. package/dist/index.js +4 -4
  111. package/docs/components/Accordion.md +1 -1
  112. package/docs/components/Alert.md +4 -2
  113. package/docs/components/BaseField.md +19 -18
  114. package/docs/components/BridgeUIProvider.md +14 -7
  115. package/docs/components/DataTable.md +5 -11
  116. package/docs/components/FormControl.md +1 -1
  117. package/docs/components/FormField.md +28 -27
  118. package/docs/components/I18n.md +65 -24
  119. package/docs/components/Pagination.md +5 -3
  120. package/docs/components/Table.md +2 -2
  121. package/docs/components/Tabs.md +24 -6
  122. package/docs/examples/i18n-dictionary.ts +28 -10
  123. package/docs/examples/i18n-vue-i18n.ts +7 -6
  124. package/docs/examples/icon-fontawesome.ts +4 -0
  125. package/docs/examples/icon-heroicons.ts +5 -1
  126. package/docs/examples/icon-lucide.ts +4 -0
  127. package/docs/examples/icon-phosphor.ts +4 -0
  128. package/docs/examples/icon-tabler.ts +4 -0
  129. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
1
  import { hasNamedSlot as e, hasSlotOrProp as t } from "../../../Utils/slotOrProp.js";
2
- import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as i, useBridgeUIMergedRegistryClasses as a } from "../../../Utils/index.js";
3
- import { computed as o, toValue as s, useId as c, useSlots as l } from "vue";
4
- import { get as u, omit as d } from "es-toolkit/compat";
5
- import { formFieldColorProps as f, formFieldRoundedProps as p, formFieldSizeProps as m, formFieldVariantProps as h } from "@bridge-ui/core/Tokens";
6
- import { cn as g, getColorToken as _, mergeBridgeUILayeredClasses as v, splitComponentProps as y } from "@bridge-ui/core/Utils";
2
+ import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as ee, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
3
+ import { computed as a, toValue as o, useId as s, useSlots as c } from "vue";
4
+ import { get as l, omit as u } from "es-toolkit/compat";
5
+ import { formFieldColorProps as d, formFieldRoundedProps as f, formFieldSizeProps as p, formFieldVariantProps as m } from "@bridge-ui/core/Tokens";
6
+ import { cn as h, getColorToken as g, mergeBridgeUILayeredClasses as _, splitComponentProps as v } from "@bridge-ui/core/Utils";
7
7
  //#region src/Components/FormField/composables/useFormField.ts
8
- var b = [
8
+ var y = [
9
9
  "end",
10
10
  "size",
11
11
  "color",
@@ -26,210 +26,220 @@ var b = [
26
26
  "description",
27
27
  "errorMessage",
28
28
  "showErrorIcon",
29
- "hideErrorMessage"
29
+ "hideErrorMessage",
30
+ "showDescriptionOnError"
30
31
  ];
31
- function x(x, ee, S = {}) {
32
- let C = c(), w = l(), T = o(() => y({
33
- props: s(x),
34
- bridgeKeys: b
35
- })), { merged: E, entry: D } = i({
36
- libDefaults: ee,
37
- componentName: S.componentName,
38
- props: () => T.value.componentProps
39
- }), O = o(() => E.value.customProps), k = o(() => S.control?.() ?? "input"), A = a({
32
+ function b(b, x, S = {}) {
33
+ let te = s(), C = c(), w = a(() => v({
34
+ props: o(b),
35
+ bridgeKeys: y
36
+ })), T = S.componentName ?? "FormField", { merged: E, entry: D, chromeEntry: O } = ee({
37
+ libDefaults: x,
38
+ componentName: T,
39
+ props: () => w.value.componentProps
40
+ }), k = a(() => E.value.customProps), A = a(() => S.control?.() ?? "input"), j = i({
40
41
  entry: D,
41
- props: () => T.value.componentProps
42
- }), j = o(() => E.value.error === !0), M = o(() => !!E.value.disabled), N = o(() => !!E.value.readonly), P = o(() => E.value.variant ?? "outline"), F = o(() => E.value.errorIcon ?? "alert"), I = o(() => P.value === "notched"), L = o(() => P.value === "stacked"), R = o(() => P.value === "underlined"), z = o(() => k.value === "textarea"), B = o(() => z.value && !!S.likeInput?.()), V = o(() => !E.value.hideErrorMessage), H = o(() => {
43
- let e = T.value.inheritedAttrs.id;
44
- return E.value.controlId ?? e ?? C;
45
- }), U = o(() => j.value && t(w, "errorMessage", E.value.errorMessage)), W = o(() => (I.value || L.value) && (t(w, "label", E.value.label) || t(w, "corner", E.value.corner))), G = o(() => t(w, "label", E.value.label) ? "justify-between items-end" : "justify-end"), K = o(() => {
42
+ chromeEntry: O,
43
+ props: () => w.value.componentProps
44
+ }), M = a(() => E.value.error === !0), N = a(() => !!E.value.disabled), P = a(() => !!E.value.readonly), F = a(() => E.value.variant ?? "outline"), ne = a(() => E.value.errorIcon ?? "alert"), I = a(() => F.value === "notched"), L = a(() => F.value === "stacked"), R = a(() => F.value === "underlined"), z = a(() => A.value === "textarea"), B = a(() => z.value && !!S.likeInput?.()), V = a(() => !E.value.hideErrorMessage && !t(C, "description", E.value.description)), H = a(() => {
45
+ let e = w.value.inheritedAttrs.id;
46
+ return E.value.controlId ?? e ?? te;
47
+ }), U = a(() => M.value && !E.value.hideErrorMessage && t(C, "errorMessage", E.value.errorMessage)), W = a(() => t(C, "description", E.value.description) ? !U.value || E.value.showDescriptionOnError === !0 : !1), G = a(() => U.value || V.value), K = a(() => (I.value || L.value) && (t(C, "label", E.value.label) || t(C, "corner", E.value.corner))), q = a(() => t(C, "label", E.value.label) ? "justify-between items-end" : "justify-end"), J = a(() => {
46
48
  let e = [];
47
- return !j.value && t(w, "description", E.value.description) && e.push(`${H.value}-description`), j.value && !E.value.hideErrorMessage && t(w, "errorMessage", E.value.errorMessage) && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
48
- }), q = o(() => {
49
- let e = v(m, D.value?.tokens?.size);
50
- return u(e, [E.value.size, P.value]);
51
- }), J = o(() => {
52
- let e = v(f, D.value?.tokens?.color);
53
- return _({
49
+ return W.value && e.push(`${H.value}-description`), U.value && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
50
+ }), Y = a(() => {
51
+ let e = _(p, l(O.value ?? D.value, ["tokens", "size"]));
52
+ return l(e, [E.value.size, F.value]);
53
+ }), X = a(() => {
54
+ let e = _(d, l(O.value ?? D.value, ["tokens", "color"]));
55
+ return g({
54
56
  tokens: e,
55
57
  color: E.value.color,
56
- invalid: j.value
58
+ invalid: M.value
57
59
  });
58
- }), Y = o(() => {
59
- let e = v(p, D.value?.tokens?.rounded);
60
- return u(e, E.value.rounded);
61
- }), X = o(() => {
62
- let e = v(h, D.value?.tokens?.variant);
63
- return u(e, P.value);
64
- }), Z = o(() => R.value ? J.value?.underlined : J.value?.input), Q = o(() => {
65
- if (L.value) return g({
66
- [q.value?.insetTop ?? ""]: !0,
67
- [q.value?.insetStart ?? ""]: !0,
68
- [q.value?.insetEnd ?? ""]: !0
60
+ }), Z = a(() => {
61
+ let e = _(f, l(O.value ?? D.value, ["tokens", "rounded"]));
62
+ return l(e, E.value.rounded);
63
+ }), Q = a(() => {
64
+ let e = _(m, l(O.value ?? D.value, ["tokens", "variant"]));
65
+ return l(e, F.value);
66
+ }), re = a(() => R.value ? X.value?.underlined : X.value?.input), ie = a(() => {
67
+ if (L.value) return h({
68
+ [Y.value?.insetTop ?? ""]: !0,
69
+ [Y.value?.insetStart ?? ""]: !0,
70
+ [Y.value?.insetEnd ?? ""]: !0
69
71
  });
70
- }), te = o(() => {
71
- let t = S.reservedSlots?.() ?? [], n = e(w, "end") || t.includes("end"), r = e(w, "start") || t.includes("start");
72
- if (!L.value) return !r && !n ? q.value?.padding : g({
73
- [q.value?.insetStart ?? ""]: !r,
74
- [q.value?.insetEnd ?? ""]: !n
72
+ }), ae = a(() => {
73
+ let t = S.reservedSlots?.() ?? [], n = e(C, "end") || t.includes("end"), r = e(C, "start") || t.includes("start");
74
+ if (!L.value) return !r && !n ? Y.value?.padding : h({
75
+ [Y.value?.insetStart ?? ""]: !r,
76
+ [Y.value?.insetEnd ?? ""]: !n
75
77
  });
76
- }), ne = o(() => r(O.value?.end, {}, g({
78
+ }), oe = a(() => r(k.value?.end, {}, h({
77
79
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
78
80
  "text-dark-500": !0,
79
- [J.value?.end ?? ""]: !0,
80
- [A.value.end ?? ""]: !0
81
- }))), re = o(() => {
82
- let e = T.value.inheritedAttrs;
83
- return r(O.value?.root, {
84
- class: g(e.class),
85
- ...d(e, ["class"])
86
- }, g({
81
+ [X.value?.end ?? ""]: !0,
82
+ [j.value.end ?? ""]: !0
83
+ }))), se = a(() => {
84
+ let e = w.value.inheritedAttrs;
85
+ return r(k.value?.root, {
86
+ class: h(e.class),
87
+ ...u(e, ["class"])
88
+ }, h({
87
89
  "group w-full relative": !0,
88
90
  "aria-disabled:pointer-events-none aria-disabled:select-none aria-disabled:opacity-60": !0,
89
91
  "aria-readonly:pointer-events-none aria-readonly:select-none": !0,
90
- [A.value.root ?? ""]: !0
92
+ [j.value.root ?? ""]: !0
91
93
  }));
92
- }), ie = o(() => r(O.value?.errorMessage, {}, g({
93
- "mt-2": !0,
94
+ }), ce = a(() => r(k.value?.errorMessage, {}, h({
95
+ "mt-1": !0,
94
96
  "min-h-[1lh]": V.value,
95
97
  "text-error-600 dark:text-error-400": !0,
96
- [q.value?.text ?? ""]: !0,
97
- [A.value.errorMessage ?? ""]: !0
98
- }))), ae = o(() => r({
99
- ...O.value?.input,
98
+ [Y.value?.text ?? ""]: !0,
99
+ [Y.value?.insetStart ?? ""]: !0,
100
+ [Y.value?.insetEnd ?? ""]: !0,
101
+ [j.value.errorMessage ?? ""]: !0
102
+ }))), le = a(() => r({
103
+ ...k.value?.input,
100
104
  id: H.value,
101
- disabled: M.value,
102
- readonly: N.value,
103
- "aria-describedby": K.value,
104
- "aria-invalid": j.value || void 0
105
- }, d(T.value.inheritedAttrs, [
105
+ disabled: N.value,
106
+ readonly: P.value,
107
+ "aria-describedby": J.value,
108
+ "aria-invalid": M.value || void 0
109
+ }, u(w.value.inheritedAttrs, [
106
110
  "class",
107
111
  "modelValue",
108
112
  "onUpdate:modelValue"
109
- ]), g({
113
+ ]), h({
110
114
  "flex-1 min-w-0 min-h-0 bg-transparent border-0 shadow-none": !0,
111
115
  "h-full": !z.value && !L.value,
112
116
  "max-h-none": z.value,
113
117
  "text-dark-900 dark:text-dark-100 placeholder:text-dark-400": !0,
114
118
  "outline-none ring-0 focus:outline-none focus:ring-0": !0,
115
119
  "disabled:cursor-not-allowed": !0,
116
- [q.value?.input ?? ""]: !z.value,
117
- [q.value?.textarea ?? ""]: z.value,
118
- [q.value?.textareaLikeInput ?? ""]: B.value,
119
- [A.value.input ?? ""]: !0
120
- }))), oe = o(() => n(O.value?.label, {
120
+ [Y.value?.input ?? ""]: !z.value,
121
+ [Y.value?.textarea ?? ""]: z.value,
122
+ [Y.value?.textareaLikeInput ?? ""]: B.value,
123
+ [j.value.input ?? ""]: !0
124
+ }))), ue = a(() => n(k.value?.label, {
121
125
  for: H.value,
122
126
  size: E.value.size,
123
- error: j.value,
127
+ error: M.value,
124
128
  required: E.value.required,
125
129
  classes: {
126
- required: A.value.required,
127
- root: g({
128
- [X.value?.label ?? ""]: I.value,
129
- [A.value.label ?? ""]: !0
130
+ required: j.value.required,
131
+ root: h({
132
+ [Q.value?.label ?? ""]: I.value,
133
+ [j.value.label ?? ""]: !0
130
134
  })
131
135
  }
132
- })), $ = o(() => r(O.value?.start, {}, g({
136
+ })), de = a(() => r(k.value?.start, {}, h({
133
137
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
134
138
  "text-dark-400": !0,
135
- [J.value?.start ?? ""]: !0,
136
- [A.value.start ?? ""]: !0
137
- }))), se = o(() => r(O.value?.corner, {}, g({
138
- "text-dark-500 dark:text-dark-400": !I.value,
139
- [q.value?.text ?? ""]: !0,
140
- [X.value?.corner ?? ""]: I.value,
141
- [A.value.corner ?? ""]: !0
142
- }))), ce = o(() => {
143
- let e = t(w, "label", E.value.label);
144
- return r(O.value?.header, {}, g({
139
+ [X.value?.start ?? ""]: !0,
140
+ [j.value.start ?? ""]: !0
141
+ }))), fe = a(() => n(k.value?.corner, {
142
+ for: H.value,
143
+ size: E.value.size,
144
+ classes: { root: h({
145
+ [Q.value?.corner ?? ""]: I.value,
146
+ [j.value.corner ?? ""]: !0
147
+ }) }
148
+ })), pe = a(() => {
149
+ let e = t(C, "label", E.value.label);
150
+ return r(k.value?.header, {}, h({
145
151
  flex: !0,
146
152
  "w-full shrink-0": !0,
147
153
  "justify-between": e,
148
154
  "justify-end": !e,
149
155
  "items-center": I.value,
150
156
  "items-end": L.value,
151
- [X.value?.labelRow ?? ""]: W.value,
152
- [A.value.header ?? ""]: !0
157
+ [Q.value?.labelRow ?? ""]: K.value,
158
+ [j.value.header ?? ""]: !0
153
159
  }));
154
- }), le = o(() => r(O.value?.header, {}, g({
160
+ }), $ = a(() => r(k.value?.header, {}, h({
155
161
  flex: !0,
156
162
  "mb-1": !0,
157
- [G.value]: !0,
158
- [A.value.header ?? ""]: !0
159
- }))), ue = o(() => r(O.value?.endIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), de = o(() => r(O.value?.end, {}, g({
163
+ [q.value]: !0,
164
+ [j.value.header ?? ""]: !0
165
+ }))), me = a(() => r(k.value?.endIcon, {}, h({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), he = a(() => r(k.value?.end, {}, h({
160
166
  "group/end wrapper-end-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
161
167
  "self-stretch min-h-0 overflow-hidden py-0.5 pe-0.5": L.value,
162
168
  "h-full min-h-0 overflow-hidden py-0.5 pe-0.5": !L.value,
163
- [A.value.end ?? ""]: !0
164
- }))), fe = o(() => r({}, {}, g({
169
+ [j.value.end ?? ""]: !0
170
+ }))), ge = a(() => r({}, {}, h({
165
171
  "flex min-h-0 min-w-0 flex-1 flex-col": !0,
166
- [Q.value ?? ""]: !0
167
- }))), pe = o(() => r({}, {}, g({
172
+ [ie.value ?? ""]: !0
173
+ }))), _e = a(() => r({}, {}, h({
168
174
  "flex w-full min-w-0 flex-1 items-stretch gap-x-2": !0,
169
- [q.value?.controlRow ?? ""]: !0
175
+ [Y.value?.controlRow ?? ""]: !0
170
176
  })));
171
177
  return {
172
- slots: w,
178
+ slots: C,
173
179
  merged: E,
174
- control: k,
175
- endBind: ne,
176
- rootBind: re,
180
+ control: A,
181
+ endBind: oe,
182
+ rootBind: se,
177
183
  controlId: H,
178
- errorBind: ie,
179
- errorIcon: F,
180
- inputBind: ae,
184
+ errorBind: ce,
185
+ errorIcon: ne,
186
+ inputBind: le,
181
187
  isNotched: I,
182
188
  isStacked: L,
183
- startBind: $,
184
- cornerBind: se,
185
- headerBind: le,
186
- isDisabled: M,
187
- isReadonly: N,
188
- variantKey: P,
189
- endIconBind: ue,
190
- endSlotBind: de,
191
- invalidated: j,
192
- containerBind: o(() => r(O.value?.container, {
193
- "data-bridge-variant": P.value,
189
+ startBind: de,
190
+ headerBind: $,
191
+ isDisabled: N,
192
+ isReadonly: P,
193
+ variantKey: F,
194
+ endIconBind: me,
195
+ endSlotBind: he,
196
+ invalidated: M,
197
+ containerBind: a(() => r(k.value?.container, {
198
+ "data-bridge-variant": F.value,
194
199
  "data-bridge-rounded": E.value.rounded ?? "md"
195
- }, g({
200
+ }, h({
196
201
  "group/field relative flex flex-row items-stretch overflow-hidden": L.value,
197
202
  "group/field relative flex justify-start gap-x-2 items-stretch": !L.value,
198
203
  "transition-all ease-in-out duration-150 outline-none": !0,
199
- "bg-dark-100 dark:bg-dark-800": M.value && !j.value,
200
- [q.value?.container ?? ""]: !z.value,
201
- [q.value?.containerTextareaLikeInput ?? ""]: B.value,
202
- [q.value?.containerTextarea ?? ""]: z.value && !B.value,
203
- [X.value?.container ?? ""]: !0,
204
- [Y.value ?? ""]: !R.value,
205
- [te.value ?? ""]: !0,
206
- [Z.value ?? ""]: !0,
204
+ "bg-dark-100 dark:bg-dark-800": N.value && !M.value,
205
+ [Y.value?.container ?? ""]: !z.value,
206
+ [Y.value?.containerTextareaLikeInput ?? ""]: B.value,
207
+ [Y.value?.containerTextarea ?? ""]: z.value && !B.value,
208
+ [Q.value?.container ?? ""]: !0,
209
+ [Z.value ?? ""]: !R.value,
210
+ [ae.value ?? ""]: !0,
211
+ [re.value ?? ""]: !0,
207
212
  "rounded-none": R.value,
208
- "bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": j.value && !R.value,
209
- "border-error-500 dark:border-error-600": j.value && R.value,
210
- [A.value.container ?? ""]: !0
213
+ "bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": M.value && !R.value,
214
+ "border-error-500 dark:border-error-600": M.value && R.value,
215
+ [j.value.container ?? ""]: !0
211
216
  }))),
212
- startIconBind: o(() => r(O.value?.startIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
213
- startSlotBind: o(() => r(O.value?.start, {}, g({
217
+ startIconBind: a(() => r(k.value?.startIcon, {}, h({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
218
+ startSlotBind: a(() => r(k.value?.start, {}, h({
214
219
  "group/start wrapper-start-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
215
220
  "self-stretch min-h-0 overflow-hidden py-0.5 ps-0.5": L.value,
216
221
  "h-full min-h-0 overflow-hidden py-0.5 ps-0.5": !L.value,
217
- [A.value.start ?? ""]: !0
222
+ [j.value.start ?? ""]: !0
218
223
  }))),
219
- fieldLabelProps: oe,
220
- ariaDescribedBy: K,
221
- descriptionBind: o(() => r(O.value?.description, {}, g({
222
- "mt-2 text-dark-500 dark:text-dark-400": !0,
223
- [q.value?.text ?? ""]: !0,
224
- [A.value.description ?? ""]: !0
224
+ fieldLabelProps: ue,
225
+ ariaDescribedBy: J,
226
+ descriptionBind: a(() => r(k.value?.description, {}, h({
227
+ "mt-1 text-dark-500 dark:text-dark-400": !0,
228
+ [Y.value?.text ?? ""]: !0,
229
+ [Y.value?.insetStart ?? ""]: !0,
230
+ [Y.value?.insetEnd ?? ""]: !0,
231
+ [j.value.description ?? ""]: !0
225
232
  }))),
226
- stackedBodyBind: fe,
227
- hasInsetLabelRow: W,
228
- insetLabelRowBind: ce,
229
- stackedInputRowBind: pe,
233
+ stackedBodyBind: ge,
234
+ fieldCornerProps: fe,
235
+ hasInsetLabelRow: K,
236
+ insetLabelRowBind: pe,
237
+ stackedInputRowBind: _e,
238
+ showErrorMessageRow: G,
239
+ showDescriptionContent: W,
230
240
  showErrorMessageContent: U,
231
241
  reservesErrorMessageSpace: V
232
242
  };
233
243
  }
234
244
  //#endregion
235
- export { b as formFieldBridgeKeys, x as useFormField };
245
+ export { y as formFieldBridgeKeys, b as useFormField };
@@ -61,9 +61,11 @@ export interface FormFieldCustomProps {
61
61
  */
62
62
  container?: HTMLAttributes;
63
63
  /**
64
- * Props forwarded to the corner label element.
64
+ * Props forwarded to the corner `Label` (content stays owned by `FormField`).
65
+ *
66
+ * @default undefined
65
67
  */
66
- corner?: HTMLAttributes;
68
+ corner?: Partial<LabelProps>;
67
69
  /**
68
70
  * Props forwarded to the helper text below the control.
69
71
  */
@@ -140,7 +142,8 @@ export interface FormFieldOwnProps {
140
142
  */
141
143
  customProps?: FormFieldCustomProps;
142
144
  /**
143
- * Helper text below the control (hidden when the field is invalid).
145
+ * Helper text below the control. Hidden when `error` is true and an error
146
+ * message is shown, unless `showDescriptionOnError` is true.
144
147
  *
145
148
  * @default undefined
146
149
  */
@@ -164,7 +167,8 @@ export interface FormFieldOwnProps {
164
167
  */
165
168
  endIcon?: IconSource;
166
169
  /**
167
- * When `true`, applies invalid styling on the label and hides description.
170
+ * When `true`, applies invalid styling on the label. Hides description when
171
+ * an error message is shown, unless `showDescriptionOnError` is true.
168
172
  *
169
173
  * @default false
170
174
  */
@@ -190,7 +194,8 @@ export interface FormFieldOwnProps {
190
194
  */
191
195
  field?: UseFormFieldReturn;
192
196
  /**
193
- * When `true`, does not reserve space below the control for error messages.
197
+ * When `true`, does not reserve the error row. That row is also omitted
198
+ * while a description is shown.
194
199
  *
195
200
  * @default false
196
201
  */
@@ -219,6 +224,12 @@ export interface FormFieldOwnProps {
219
224
  * @default "md"
220
225
  */
221
226
  rounded?: MergeProps<FormFieldRounded, FormFieldRoundedOverrides>;
227
+ /**
228
+ * When `true`, keeps the description visible while the field is invalid.
229
+ *
230
+ * @default false
231
+ */
232
+ showDescriptionOnError?: boolean;
222
233
  /**
223
234
  * When `true` and the field is invalid, shows an error icon at the inline end
224
235
  * when no `endIcon` or `end` slot is present.
@@ -267,7 +278,8 @@ export interface FormFieldSlots {
267
278
  */
268
279
  default?: Slot<undefined>;
269
280
  /**
270
- * Helper text below the control (hidden when the field is invalid).
281
+ * Helper text below the control. Hidden when the field is invalid and an
282
+ * error message is shown, unless `showDescriptionOnError` is true.
271
283
  */
272
284
  description?: Slot<undefined>;
273
285
  /**
@@ -26,10 +26,10 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
26
26
  overlay: import('@bridge-ui/core/Domain').FieldOverlayMode;
27
27
  showFooter: boolean;
28
28
  multiple: boolean;
29
+ hideEmptyMessage: boolean;
29
30
  loading: boolean;
30
31
  placement: import('@floating-ui/utils').Placement;
31
32
  disableAutoFocus: boolean;
32
- hideEmptyMessage: boolean;
33
33
  highlightedIndex: number;
34
34
  showCheckmark: boolean;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -35,6 +35,7 @@ var M = /*@__PURE__*/ g({
35
35
  readonly: { type: Boolean },
36
36
  required: { type: Boolean },
37
37
  rounded: {},
38
+ showDescriptionOnError: { type: Boolean },
38
39
  showErrorIcon: { type: Boolean },
39
40
  size: {},
40
41
  slots: {},
@@ -435,11 +435,10 @@ export declare function useNumberField(props: NumberFieldOwnProps, model: Ref<nu
435
435
  onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
436
436
  onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
437
437
  onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
438
- }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "error" | "color" | "end" | "size" | "classes" | "customProps" | "rounded" | "variant" | "label" | "disabled" | "required" | "corner" | "description" | "errorMessage" | "start" | "endIcon" | "errorIcon" | "hideErrorMessage" | "readonly" | "showErrorIcon" | "startIcon">>>>;
438
+ }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "error" | "color" | "end" | "size" | "classes" | "customProps" | "rounded" | "variant" | "label" | "disabled" | "required" | "corner" | "description" | "errorMessage" | "start" | "endIcon" | "errorIcon" | "hideErrorMessage" | "readonly" | "showDescriptionOnError" | "showErrorIcon" | "startIcon">>>>;
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,9 +456,12 @@ export declare function useNumberField(props: NumberFieldOwnProps, model: Ref<nu
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", {}, {}>>;
463
+ showErrorMessageRow: import('vue').ComputedRef<boolean>;
464
+ showDescriptionContent: import('vue').ComputedRef<boolean>;
463
465
  showErrorMessageContent: import('vue').ComputedRef<boolean>;
464
466
  reservesErrorMessageSpace: import('vue').ComputedRef<boolean>;
465
467
  };
@@ -685,7 +687,7 @@ export declare function useNumberField(props: NumberFieldOwnProps, model: Ref<nu
685
687
  onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
686
688
  onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
687
689
  onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
688
- }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "error" | "color" | "end" | "size" | "classes" | "customProps" | "rounded" | "variant" | "label" | "disabled" | "required" | "corner" | "description" | "errorMessage" | "start" | "endIcon" | "errorIcon" | "hideErrorMessage" | "readonly" | "showErrorIcon" | "startIcon">>>, {
690
+ }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "error" | "color" | "end" | "size" | "classes" | "customProps" | "rounded" | "variant" | "label" | "disabled" | "required" | "corner" | "description" | "errorMessage" | "start" | "endIcon" | "errorIcon" | "hideErrorMessage" | "readonly" | "showDescriptionOnError" | "showErrorIcon" | "startIcon">>>, {
689
691
  min: number | undefined;
690
692
  max: number | undefined;
691
693
  type: string;
@@ -13,14 +13,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
13
13
  onChange?: ((value: string) => any) | undefined;
14
14
  "onUpdate:modelValue"?: ((value: string | null | undefined) => any) | undefined;
15
15
  onComplete?: ((value: string) => any) | undefined;
16
- }>, {
17
- color: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').OtpFieldColor, import('./otpField.types').OtpFieldColorOverrides>;
18
- type: import('@bridge-ui/core/Domain').OtpInputType;
19
- size: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').BaseFieldSize, import('../BaseField').BaseFieldSizeOverrides>;
20
- length: number;
21
- rounded: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').OtpFieldRounded, import('./otpField.types').OtpFieldRoundedOverrides>;
22
- variant: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').OtpFieldVariant, import('./otpField.types').OtpFieldVariantOverrides>;
23
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
24
17
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
18
  declare const _default: typeof __VLS_export;
26
19
  export default _default;
@@ -16,15 +16,15 @@ var b = [
16
16
  props: /*@__PURE__*/ d({
17
17
  autoFocus: { type: Boolean },
18
18
  classes: {},
19
- color: { default: "primary" },
19
+ color: {},
20
20
  customProps: {},
21
21
  defaultValue: {},
22
- length: { default: 6 },
22
+ length: {},
23
23
  mask: { type: Boolean },
24
24
  placeholder: {},
25
- rounded: { default: "md" },
26
- type: { default: "numeric" },
27
- variant: { default: "outline" },
25
+ rounded: {},
26
+ type: {},
27
+ variant: {},
28
28
  controlId: {},
29
29
  corner: {},
30
30
  description: {},
@@ -35,7 +35,8 @@ var b = [
35
35
  label: {},
36
36
  readonly: { type: Boolean },
37
37
  required: { type: Boolean },
38
- size: { default: "md" }
38
+ showDescriptionOnError: { type: Boolean },
39
+ size: {}
39
40
  }, {
40
41
  modelValue: {},
41
42
  modelModifiers: {}
@@ -6,7 +6,7 @@ export type UseOtpFieldOptions = {
6
6
  onChange?: (value: string) => void;
7
7
  onComplete?: (value: string) => void;
8
8
  };
9
- export declare const otpFieldBridgeKeys: readonly ["mask", "type", "color", "length", "rounded", "variant", "autoFocus", "placeholder", "defaultValue", "size", "error", "label", "corner", "classes", "disabled", "readonly", "required", "controlId", "customProps", "description", "errorMessage", "hideErrorMessage"];
9
+ export declare const otpFieldBridgeKeys: readonly ["mask", "type", "color", "length", "rounded", "variant", "autoFocus", "placeholder", "defaultValue", "size", "error", "label", "corner", "classes", "disabled", "readonly", "required", "controlId", "customProps", "description", "errorMessage", "hideErrorMessage", "showDescriptionOnError"];
10
10
  type OtpFieldLibDefaults = LibDefaultsShape<OtpFieldOwnProps, "size" | "type" | "color" | "length" | "rounded" | "variant">;
11
11
  type OtpFieldMerged = MergeLibDefaults<OtpFieldOwnProps, OtpFieldLibDefaults>;
12
12
  /**
@@ -41,7 +41,6 @@ export declare function useOtpField(props: MaybeRefOrGetter<OtpFieldOwnProps>, m
41
41
  }>>;
42
42
  controlId: import('vue').ComputedRef<string>;
43
43
  headerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
44
- cornerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
45
44
  isDisabled: import('vue').ComputedRef<boolean>;
46
45
  isReadonly: import('vue').ComputedRef<boolean>;
47
46
  sizeClasses: import('vue').ComputedRef<import('@bridge-ui/core/Tokens').BaseFieldSizeItem | undefined>;
@@ -52,6 +51,9 @@ export declare function useOtpField(props: MaybeRefOrGetter<OtpFieldOwnProps>, m
52
51
  ariaDescribedBy: import('vue').ComputedRef<string | undefined>;
53
52
  fieldLabelProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
54
53
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
54
+ fieldCornerProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
55
+ showErrorMessageRow: import('vue').ComputedRef<boolean>;
56
+ showDescriptionContent: import('vue').ComputedRef<boolean>;
55
57
  showErrorMessageContent: import('vue').ComputedRef<boolean>;
56
58
  };
57
59
  inputBind: (index: number) => import('@bridge-ui/core/Utils').MergePartBind<object, "class", {
@@ -51,25 +51,25 @@ var y = {
51
51
  "update:modelValue"
52
52
  ], ["update:modelValue"]),
53
53
  setup(c, { emit: u }) {
54
- let S = u, C = c, w = v(c, "modelValue"), { entries: T, showPrev: E, showNext: D, rootBind: O, listBind: k, prevBind: A, nextBind: j, getItemBind: M, prevIconBind: N, nextIconBind: P, getEllipsisBind: F } = t(C, {
54
+ let S = u, C = c, w = v(c, "modelValue"), { entries: T, showPrev: E, showNext: D, rootBind: O, listBind: k, prevBind: A, nextBind: j, prevLabel: M, nextLabel: N, getItemBind: P, prevIconBind: F, nextIconBind: I, getEllipsisBind: L } = t(C, {
55
55
  size: "md",
56
56
  rounded: "md",
57
- variant: "text",
57
+ color: "dark",
58
58
  disabled: !1,
59
59
  siblingCount: 1,
60
+ variant: "ghost",
60
61
  mode: "numbered",
61
- color: "primary",
62
62
  boundaryCount: 1,
63
63
  hideNextButton: !1,
64
64
  hidePrevButton: !1
65
65
  }, w, S);
66
66
  return (t, c) => (p(), i("nav", f(l(_(O))), [a("ul", f(l(_(k))), [
67
- _(E) ? (p(), i("li", y, [a("button", f(l(_(A))), [h(t.$slots, "prev", {}, () => [s(_(e), d({ icon: "chevronLeft" }, _(N)), null, 16)])], 16)])) : r("", !0),
67
+ _(E) ? (p(), i("li", y, [a("button", f(l(_(A))), [h(t.$slots, "prev", {}, () => [s(_(e), d({ icon: "chevronLeft" }, _(F)), null, 16), o(" " + g(_(M)), 1)])], 16)])) : r("", !0),
68
68
  (p(!0), i(n, null, m(_(T), (e, r) => (p(), i(n, { key: `${e.type}-${r}` }, [e.type === "ellipsis" ? (p(), i("li", d({
69
69
  key: 0,
70
70
  ref_for: !0
71
- }, _(F)(r)), [h(t.$slots, "ellipsis", {}, () => [c[0] ||= o("…", -1)])], 16)) : (p(), i("li", b, [a("button", d({ ref_for: !0 }, _(M)(e.page)), g(e.page), 17)]))], 64))), 128)),
72
- _(D) ? (p(), i("li", x, [a("button", f(l(_(j))), [h(t.$slots, "next", {}, () => [s(_(e), d({ icon: "chevronRight" }, _(P)), null, 16)])], 16)])) : r("", !0)
71
+ }, _(L)(r)), [h(t.$slots, "ellipsis", {}, () => [c[0] ||= o("…", -1)])], 16)) : (p(), i("li", b, [a("button", d({ ref_for: !0 }, _(P)(e.page)), g(e.page), 17)]))], 64))), 128)),
72
+ _(D) ? (p(), i("li", x, [a("button", f(l(_(j))), [h(t.$slots, "next", {}, () => [o(g(_(N)) + " ", 1), s(_(e), d({ icon: "chevronRight" }, _(I)), null, 16)])], 16)])) : r("", !0)
73
73
  ], 16)], 16));
74
74
  }
75
75
  });