@threadlabs/looma 0.37.4 → 0.37.5

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 (124) hide show
  1. package/components/shared/active-item-reveal.js +74 -0
  2. package/components/shared/menu-navigation.js +3 -1
  3. package/components/ui-button/ui-button.html +13 -0
  4. package/components/ui-combobox/ui-combobox.js +3 -1
  5. package/components/ui-context-menu/ui-context-menu.js +4 -1
  6. package/components/ui-editor-link-form/ui-editor-link-form.js +3 -1
  7. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +12 -5
  8. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +12 -5
  9. package/components/ui-listbox/ui-listbox.js +3 -1
  10. package/components/ui-menu/ui-menu.js +5 -1
  11. package/components/ui-pagination/ui-pagination.html +74 -0
  12. package/components/ui-pagination/ui-pagination.js +19 -0
  13. package/components/ui-search-shell/ui-search-shell.js +7 -4
  14. package/dist/index.js +20 -19
  15. package/docs/catalog.json +323 -1
  16. package/docs/examples/ui-pagination/examples/01-numbered.behavior.js +11 -0
  17. package/package.json +1 -1
  18. package/styles/ui-button.css +12 -0
  19. package/styles/ui-pagination.css +1 -0
  20. package/vanilla/UiButton.d.ts +1 -0
  21. package/vanilla/UiButton.js +31 -31
  22. package/vanilla/UiPagination.d.ts +35 -0
  23. package/vanilla/UiPagination.js +202 -0
  24. package/vanilla/index.js +1 -0
  25. package/vue/UiButton.d.ts +6 -0
  26. package/vue/UiButton.vue +34 -0
  27. package/vue/UiPagination.d.ts +115 -0
  28. package/vue/UiPagination.js +2 -0
  29. package/vue/UiPagination.vue +598 -0
  30. package/vue/chunks/UiActionBar.js +1 -1
  31. package/vue/chunks/UiAffordanceScope.js +1 -1
  32. package/vue/chunks/UiAvatar.js +1 -1
  33. package/vue/chunks/UiAvatarGroup.js +1 -1
  34. package/vue/chunks/UiBadge.js +1 -1
  35. package/vue/chunks/UiBreadcrumbItem.js +1 -1
  36. package/vue/chunks/UiBreadcrumbs.js +1 -1
  37. package/vue/chunks/UiButton.js +30 -2
  38. package/vue/chunks/UiCallout.js +1 -1
  39. package/vue/chunks/UiCard.js +1 -1
  40. package/vue/chunks/UiCheckbox.js +1 -1
  41. package/vue/chunks/UiCluster.js +1 -1
  42. package/vue/chunks/UiColorPicker.js +1 -1
  43. package/vue/chunks/UiCombobox.js +1 -1
  44. package/vue/chunks/UiContainer.js +1 -1
  45. package/vue/chunks/UiContextMenu.js +1 -1
  46. package/vue/chunks/UiCover.js +1 -1
  47. package/vue/chunks/UiCurveEditor.js +1 -1
  48. package/vue/chunks/UiCycleButton.js +1 -1
  49. package/vue/chunks/UiDescriptionItem.js +1 -1
  50. package/vue/chunks/UiDescriptionList.js +1 -1
  51. package/vue/chunks/UiDialog.js +1 -1
  52. package/vue/chunks/UiDisclosure.js +1 -1
  53. package/vue/chunks/UiEditable.js +1 -1
  54. package/vue/chunks/UiEditorBlockActions.js +1 -1
  55. package/vue/chunks/UiEditorChipEditor.js +1 -1
  56. package/vue/chunks/UiEditorCodeLanguage.js +1 -1
  57. package/vue/chunks/UiEditorFootnoteEditor.js +1 -1
  58. package/vue/chunks/UiEditorImageToolbar.js +1 -1
  59. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  60. package/vue/chunks/UiEditorLinkCard.js +1 -1
  61. package/vue/chunks/UiEditorLinkForm.js +1 -1
  62. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  63. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  64. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  65. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  66. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  67. package/vue/chunks/UiEditorSurface.js +1 -1
  68. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  69. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  70. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  71. package/vue/chunks/UiEditorToolbar.js +1 -1
  72. package/vue/chunks/UiFloatingActionButton.js +1 -1
  73. package/vue/chunks/UiFormField.js +1 -1
  74. package/vue/chunks/UiGrid.js +1 -1
  75. package/vue/chunks/UiIcon.js +1 -1
  76. package/vue/chunks/UiIconButton.js +1 -1
  77. package/vue/chunks/UiImage.js +1 -1
  78. package/vue/chunks/UiInput.js +1 -1
  79. package/vue/chunks/UiInputGroup.js +1 -1
  80. package/vue/chunks/UiLightEditor.js +1 -1
  81. package/vue/chunks/UiList.js +1 -1
  82. package/vue/chunks/UiListItem.js +1 -1
  83. package/vue/chunks/UiListbox.js +1 -1
  84. package/vue/chunks/UiMenu.js +1 -1
  85. package/vue/chunks/UiMenuGroup.js +1 -1
  86. package/vue/chunks/UiMenuItem.js +1 -1
  87. package/vue/chunks/UiMeter.js +1 -1
  88. package/vue/chunks/UiNavItem.js +1 -1
  89. package/vue/chunks/UiNumberInput.js +1 -1
  90. package/vue/chunks/UiPageHeader.js +1 -1
  91. package/vue/chunks/UiPagination.js +551 -0
  92. package/vue/chunks/UiPopover.js +1 -1
  93. package/vue/chunks/UiRadio.js +1 -1
  94. package/vue/chunks/UiRadioGroup.js +1 -1
  95. package/vue/chunks/UiReel.js +1 -1
  96. package/vue/chunks/UiScrollArea.js +1 -1
  97. package/vue/chunks/UiSearchResultRow.js +1 -1
  98. package/vue/chunks/UiSearchShell.js +1 -1
  99. package/vue/chunks/UiSection.js +1 -1
  100. package/vue/chunks/UiSelect.js +1 -1
  101. package/vue/chunks/UiSeparator.js +1 -1
  102. package/vue/chunks/UiSidebar.js +1 -1
  103. package/vue/chunks/UiSlider.js +1 -1
  104. package/vue/chunks/UiSpinner.js +1 -1
  105. package/vue/chunks/UiStack.js +1 -1
  106. package/vue/chunks/UiStatusMessage.js +1 -1
  107. package/vue/chunks/UiSwatch.js +1 -1
  108. package/vue/chunks/UiSwitch.js +1 -1
  109. package/vue/chunks/UiSwitcher.js +1 -1
  110. package/vue/chunks/UiTable.js +1 -1
  111. package/vue/chunks/UiTabs.js +1 -1
  112. package/vue/chunks/UiText.js +1 -1
  113. package/vue/chunks/UiTextarea.js +1 -1
  114. package/vue/chunks/UiToast.js +1 -1
  115. package/vue/chunks/UiToastRegion.js +1 -1
  116. package/vue/chunks/UiTooltip.js +1 -1
  117. package/vue/chunks/UiTopBar.js +1 -1
  118. package/vue/chunks/UiTree.js +1 -1
  119. package/vue/chunks/UiTreeItem.js +1 -1
  120. package/vue/chunks/_plugin-vue_export-helper.js +27 -2
  121. package/vue/components.css +22 -0
  122. package/vue/editor/index.js +139 -35
  123. package/vue/index.d.ts +1 -0
  124. package/vue/index.js +2 -1
@@ -1,4 +1,4 @@
1
- import { S as warnUnless, a as concat, b as useReflectedProp, d as initializedState, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, T as warnUnless, _ as nativeAttrs, a as checkHydratedRoot, o as concat, p as initializedState, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, f as requireInputStatus, h as vuePropInputs, i as checkPropInput, m as vPropValidity, n as READY_INPUT, o as copyStateSeed, r as acceptsControllerWrite, s as evaluateInput, t as BINDING_INPUTS_PROP, u as inputRead } from "./props.js";
3
3
  import { t as UiIcon_default } from "./UiIcon.js";
4
4
  import { t as UiInput_default } from "./UiInput.js";
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, _ as nativeAttrs, a as checkHydratedRoot, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiPageHeader.vue?vue&type=script&setup=true&lang.ts
@@ -0,0 +1,551 @@
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, d as decimalSubtract, f as formatValue, l as decimalAdd, m as inlineTextSegment, n as KeyedBoundary, o as concat, r as RetainedInlineText, s as createDispatch, v as number, x as uniqueKeys } from "./_plugin-vue_export-helper.js";
2
+ import { d as propValidityState, f as requireInputStatus, h as vuePropInputs, i as checkPropInput, m as vPropValidity, n as READY_INPUT, s as evaluateInput, t as BINDING_INPUTS_PROP, u as inputRead } from "./props.js";
3
+ import { t as UiIcon_default } from "./UiIcon.js";
4
+ import { t as UiButton_default } from "./UiButton.js";
5
+ import { t as UiCluster_default } from "./UiCluster.js";
6
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderList, renderSlot, toDisplayString, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
7
+ //#region .build/vue/UiPagination.vue?vue&type=script&setup=true&lang.ts
8
+ var _hoisted_1 = [
9
+ "aria-label",
10
+ "data-ui-pagination-prop-disabled",
11
+ "data-ui-pagination-prop-has-next",
12
+ "data-ui-pagination-prop-has-previous",
13
+ "data-ui-pagination-prop-label",
14
+ "data-ui-pagination-prop-next-href",
15
+ "data-ui-pagination-prop-next-label",
16
+ "data-ui-pagination-prop-page",
17
+ "data-ui-pagination-prop-page-label",
18
+ "data-ui-pagination-prop-pages",
19
+ "data-ui-pagination-prop-previous-href",
20
+ "data-ui-pagination-prop-previous-label",
21
+ "data-ui-pagination-prop-size"
22
+ ];
23
+ var _hoisted_2 = {
24
+ key: 0,
25
+ "aria-hidden": "true"
26
+ };
27
+ //#endregion
28
+ //#region .build/vue/UiPagination.vue
29
+ var UiPagination_default = /* @__PURE__ */ defineComponent({
30
+ inheritAttrs: false,
31
+ __name: "UiPagination",
32
+ props: {
33
+ disabled: { type: null },
34
+ hasNext: { type: null },
35
+ hasPrevious: { type: null },
36
+ label: { type: null },
37
+ nextHref: { type: null },
38
+ nextLabel: { type: null },
39
+ page: { type: null },
40
+ pageLabel: { type: null },
41
+ pages: { type: null },
42
+ previousHref: { type: null },
43
+ previousLabel: { type: null },
44
+ size: { type: null },
45
+ [BINDING_INPUTS_PROP]: { type: null }
46
+ },
47
+ emits: ["update:page", "navigate"],
48
+ setup(__props, { emit: __emit }) {
49
+ const propValidityContract = { props: {
50
+ disabled: {
51
+ type: {
52
+ kind: "terminal",
53
+ name: "boolean"
54
+ },
55
+ required: false,
56
+ target: { attribute: "disabled" },
57
+ description: "Makes all page controls unavailable while keeping the current page visible.",
58
+ default: false
59
+ },
60
+ hasNext: {
61
+ type: {
62
+ kind: "terminal",
63
+ name: "boolean"
64
+ },
65
+ required: false,
66
+ target: { attribute: "hasnext" },
67
+ description: "Whether another page is available. The component does not infer a total.",
68
+ default: false
69
+ },
70
+ hasPrevious: {
71
+ type: {
72
+ kind: "terminal",
73
+ name: "boolean"
74
+ },
75
+ required: false,
76
+ target: { attribute: "hasprevious" },
77
+ description: "Whether a preceding page is available. Previous is always unavailable on page one.",
78
+ default: false
79
+ },
80
+ label: {
81
+ type: {
82
+ kind: "terminal",
83
+ name: "string"
84
+ },
85
+ required: false,
86
+ target: { attribute: "aria-label" },
87
+ description: "Accessible name for the navigation landmark.",
88
+ default: "Results pages"
89
+ },
90
+ nextHref: {
91
+ type: {
92
+ kind: "terminal",
93
+ name: "string"
94
+ },
95
+ required: false,
96
+ target: { attribute: "href" },
97
+ description: "Optional native destination for Next. Empty renders a request button.",
98
+ default: ""
99
+ },
100
+ nextLabel: {
101
+ type: {
102
+ kind: "terminal",
103
+ name: "string"
104
+ },
105
+ required: false,
106
+ target: { attribute: "aria-label" },
107
+ description: "Accessible label for the following page action.",
108
+ default: "Next"
109
+ },
110
+ page: {
111
+ type: {
112
+ kind: "terminal",
113
+ name: "number"
114
+ },
115
+ required: false,
116
+ target: { attribute: "page" },
117
+ description: "Current one-based page. The consumer updates it after a navigate request; activation never changes it internally.",
118
+ default: 1
119
+ },
120
+ pageLabel: {
121
+ type: {
122
+ kind: "terminal",
123
+ name: "string"
124
+ },
125
+ required: false,
126
+ target: { attribute: "pagelabel" },
127
+ description: "Prefix for each numbered page's accessible name, followed by its localized number.",
128
+ default: "Page"
129
+ },
130
+ pages: {
131
+ type: {
132
+ kind: "list",
133
+ item: {
134
+ kind: "object",
135
+ fields: [{
136
+ name: "value",
137
+ type: {
138
+ kind: "terminal",
139
+ name: "number"
140
+ },
141
+ optional: false
142
+ }, {
143
+ name: "href",
144
+ type: {
145
+ kind: "terminal",
146
+ name: "string"
147
+ },
148
+ optional: true
149
+ }],
150
+ open: false
151
+ }
152
+ },
153
+ required: false,
154
+ target: { attribute: "pages" },
155
+ description: "Visible numbered pages in ascending order. Omit for previous/next navigation without a known total. Gaps between\n numbers show an ellipsis. Supply href to keep a numbered page usable as a native link before JavaScript.",
156
+ default: []
157
+ },
158
+ previousHref: {
159
+ type: {
160
+ kind: "terminal",
161
+ name: "string"
162
+ },
163
+ required: false,
164
+ target: { attribute: "href" },
165
+ description: "Optional native destination for Previous. Empty renders a request button.",
166
+ default: ""
167
+ },
168
+ previousLabel: {
169
+ type: {
170
+ kind: "terminal",
171
+ name: "string"
172
+ },
173
+ required: false,
174
+ target: { attribute: "aria-label" },
175
+ description: "Accessible label for the preceding page action.",
176
+ default: "Previous"
177
+ },
178
+ size: {
179
+ type: {
180
+ kind: "terminal",
181
+ name: "keyword"
182
+ },
183
+ required: false,
184
+ target: { attribute: "size" },
185
+ description: "Uses Button's shared size scale. Narrow groups wrap without enlarging compact controls.",
186
+ values: [
187
+ "sm",
188
+ "md",
189
+ "lg"
190
+ ],
191
+ default: "sm"
192
+ }
193
+ } };
194
+ const props = __props;
195
+ const inputTracking = vuePropInputs({
196
+ disabled: false,
197
+ hasNext: false,
198
+ hasPrevious: false,
199
+ label: "Results pages",
200
+ nextHref: "",
201
+ nextLabel: "Next",
202
+ page: 1,
203
+ pageLabel: "Page",
204
+ pages: [],
205
+ previousHref: "",
206
+ previousLabel: "Previous",
207
+ size: "sm"
208
+ }, {
209
+ disabled: false,
210
+ hasNext: false,
211
+ hasPrevious: false,
212
+ label: "Results pages",
213
+ nextHref: "",
214
+ nextLabel: "Next",
215
+ page: 1,
216
+ pageLabel: "Page",
217
+ pages: [],
218
+ previousHref: "",
219
+ previousLabel: "Previous",
220
+ size: "sm"
221
+ }, (name, value, source, values) => {
222
+ switch (name) {
223
+ case "disabled": return checkPropInput(value, {
224
+ kind: "terminal",
225
+ name: "boolean"
226
+ }, true, true);
227
+ case "hasNext": return checkPropInput(value, {
228
+ kind: "terminal",
229
+ name: "boolean"
230
+ }, true, true);
231
+ case "hasPrevious": return checkPropInput(value, {
232
+ kind: "terminal",
233
+ name: "boolean"
234
+ }, true, true);
235
+ case "label": return checkPropInput(value, {
236
+ kind: "terminal",
237
+ name: "string"
238
+ }, true, true);
239
+ case "nextHref": return checkPropInput(value, {
240
+ kind: "terminal",
241
+ name: "string"
242
+ }, true, true);
243
+ case "nextLabel": return checkPropInput(value, {
244
+ kind: "terminal",
245
+ name: "string"
246
+ }, true, true);
247
+ case "page": return checkPropInput(value, {
248
+ kind: "terminal",
249
+ name: "number"
250
+ }, true, true);
251
+ case "pageLabel": return checkPropInput(value, {
252
+ kind: "terminal",
253
+ name: "string"
254
+ }, true, true);
255
+ case "pages": return checkPropInput(value, {
256
+ kind: "list",
257
+ item: {
258
+ kind: "object",
259
+ fields: [{
260
+ name: "value",
261
+ type: {
262
+ kind: "terminal",
263
+ name: "number"
264
+ },
265
+ optional: false
266
+ }, {
267
+ name: "href",
268
+ type: {
269
+ kind: "terminal",
270
+ name: "string"
271
+ },
272
+ optional: true
273
+ }],
274
+ open: false
275
+ }
276
+ }, true, true);
277
+ case "previousHref": return checkPropInput(value, {
278
+ kind: "terminal",
279
+ name: "string"
280
+ }, true, true);
281
+ case "previousLabel": return checkPropInput(value, {
282
+ kind: "terminal",
283
+ name: "string"
284
+ }, true, true);
285
+ case "size": return checkPropInput(value, {
286
+ kind: "terminal",
287
+ name: "keyword"
288
+ }, true, true);
289
+ default: return { ok: false };
290
+ }
291
+ }, () => {
292
+ checkedProps.value;
293
+ });
294
+ const propInputs = inputTracking.inputs;
295
+ const checkedProps = computed(() => {
296
+ inputTracking.version.value;
297
+ return {
298
+ disabled: propInputs.value("disabled", props["disabled"], props[BINDING_INPUTS_PROP]),
299
+ hasNext: propInputs.value("hasNext", props["hasNext"], props[BINDING_INPUTS_PROP]),
300
+ hasPrevious: propInputs.value("hasPrevious", props["hasPrevious"], props[BINDING_INPUTS_PROP]),
301
+ label: propInputs.value("label", props["label"], props[BINDING_INPUTS_PROP]),
302
+ nextHref: propInputs.value("nextHref", props["nextHref"], props[BINDING_INPUTS_PROP]),
303
+ nextLabel: propInputs.value("nextLabel", props["nextLabel"], props[BINDING_INPUTS_PROP]),
304
+ page: propInputs.value("page", props["page"], props[BINDING_INPUTS_PROP]),
305
+ pageLabel: propInputs.value("pageLabel", props["pageLabel"], props[BINDING_INPUTS_PROP]),
306
+ pages: propInputs.value("pages", props["pages"], props[BINDING_INPUTS_PROP]),
307
+ previousHref: propInputs.value("previousHref", props["previousHref"], props[BINDING_INPUTS_PROP]),
308
+ previousLabel: propInputs.value("previousLabel", props["previousLabel"], props[BINDING_INPUTS_PROP]),
309
+ size: propInputs.value("size", props["size"], props[BINDING_INPUTS_PROP])
310
+ };
311
+ });
312
+ const inputStatus = (name, handlesError) => {
313
+ checkedProps.value;
314
+ inputTracking.version.value;
315
+ return requireInputStatus(propInputs.status(name), handlesError);
316
+ };
317
+ checkedProps.value;
318
+ watchSyncEffect(() => {
319
+ checkedProps.value;
320
+ });
321
+ const reflectedProp = useReflectedProp();
322
+ const hydrationInstance = getCurrentInstance();
323
+ const emit = __emit;
324
+ const root = ref(null);
325
+ checkHydratedRoot("nav", "ui-pagination");
326
+ const isNavigateDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["page"] === "number" && Number.isFinite(detail["page"]) && typeof detail["previousPage"] === "number" && Number.isFinite(detail["previousPage"]) && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
327
+ "page",
328
+ "previousPage",
329
+ "trigger"
330
+ ].includes(key));
331
+ const dispatch = createDispatch(root, emit, {
332
+ checks: { navigate: isNavigateDetail },
333
+ modeled: ["page"]
334
+ });
335
+ useComponentHost(() => import("@threadlabs/looma/components/ui-pagination/ui-pagination.js"), {
336
+ root,
337
+ module: true,
338
+ dispatch,
339
+ controllerSource: {
340
+ specifier: "../components/ui-pagination/ui-pagination.js",
341
+ definition: "./components/ui-pagination/ui-pagination.html"
342
+ },
343
+ props: checkedProps,
344
+ inputs: propInputs,
345
+ inputTracking,
346
+ propInputs: (name) => {
347
+ const incoming = hydrationInstance?.vnode.props;
348
+ const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
349
+ return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
350
+ },
351
+ propNames: [
352
+ "disabled",
353
+ "hasNext",
354
+ "hasPrevious",
355
+ "label",
356
+ "nextHref",
357
+ "nextLabel",
358
+ "page",
359
+ "pageLabel",
360
+ "pages",
361
+ "previousHref",
362
+ "previousLabel",
363
+ "size"
364
+ ],
365
+ propValidity: (name) => propValidityState({
366
+ contract: propValidityContract,
367
+ values: { ...props }
368
+ }, name)
369
+ });
370
+ return (_ctx, _cache) => {
371
+ return withDirectives((openBlock(), createElementBlock("nav", mergeProps(unref(nativeAttrs)(_ctx.$attrs), {
372
+ "data-hn": "",
373
+ "aria-label": checkedProps.value.label ?? void 0,
374
+ "data-ui-pagination-prop-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
375
+ "data-ui-pagination-prop-has-next": unref(reflectedProp)("hasNext", "has-next", checkedProps.value.hasNext, void 0, false),
376
+ "data-ui-pagination-prop-has-previous": unref(reflectedProp)("hasPrevious", "has-previous", checkedProps.value.hasPrevious, void 0, false),
377
+ "data-ui-pagination-prop-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false),
378
+ "data-ui-pagination-prop-next-href": unref(reflectedProp)("nextHref", "next-href", checkedProps.value.nextHref, void 0, false),
379
+ "data-ui-pagination-prop-next-label": unref(reflectedProp)("nextLabel", "next-label", checkedProps.value.nextLabel, void 0, false),
380
+ "data-ui-pagination-prop-page": unref(reflectedProp)("page", "page", checkedProps.value.page, void 0, false),
381
+ "data-ui-pagination-prop-page-label": unref(reflectedProp)("pageLabel", "page-label", checkedProps.value.pageLabel, void 0, false),
382
+ "data-ui-pagination-prop-pages": unref(reflectedProp)("pages", "pages", checkedProps.value.pages, void 0, false),
383
+ "data-ui-pagination-prop-previous-href": unref(reflectedProp)("previousHref", "previous-href", checkedProps.value.previousHref, void 0, false),
384
+ "data-ui-pagination-prop-previous-label": unref(reflectedProp)("previousLabel", "previous-label", checkedProps.value.previousLabel, void 0, false),
385
+ "data-ui-pagination-prop-size": unref(reflectedProp)("size", "size", checkedProps.value.size, void 0, false),
386
+ ref_key: "root",
387
+ ref: root
388
+ }), [createVNode(UiCluster_default, { gap: "xs" }, {
389
+ default: withCtx(() => [
390
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => unref(inputRead)(checkedProps.value.disabled, inputStatus("disabled", true)) || !unref(inputRead)(checkedProps.value.hasPrevious, inputStatus("hasPrevious", true)) || (unref(number)(unref(inputRead)(checkedProps.value.page, inputStatus("page", true))) === void 0 || unref(number)(1) === void 0 ? void 0 : unref(number)(unref(inputRead)(checkedProps.value.page, inputStatus("page", true))) <= unref(number)(1)), unref(READY_INPUT))], (boundInput) => {
391
+ return openBlock(), createElementBlock(Fragment, null, [(openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
392
+ true: "a",
393
+ false: "button"
394
+ }, unref(concat)(unref(inputRead)(checkedProps.value.previousHref, inputStatus("previousHref", true)) !== "")), unref(READY_INPUT))], (boundInputSnapshot) => {
395
+ return openBlock(), createBlock(UiButton_default, mergeProps({
396
+ square: true,
397
+ variant: "ghost",
398
+ tone: "neutral",
399
+ size: checkedProps.value.size,
400
+ disabled: boundInput.value,
401
+ as: boundInputSnapshot.value,
402
+ href: checkedProps.value.previousHref,
403
+ "aria-label": checkedProps.value.previousLabel,
404
+ "data-pagination-page": unref(number)(checkedProps.value.page) === void 0 || unref(number)(1) === void 0 ? void 0 : unref(decimalSubtract)(unref(number)(checkedProps.value.page), unref(number)(1))
405
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
406
+ size: () => ({
407
+ value: checkedProps.value.size,
408
+ status: inputStatus("size", true)
409
+ }),
410
+ disabled: () => boundInput,
411
+ as: () => boundInputSnapshot,
412
+ href: () => ({
413
+ value: checkedProps.value.previousHref,
414
+ status: inputStatus("previousHref", true)
415
+ })
416
+ } }), {
417
+ default: withCtx(() => [createVNode(UiIcon_default, { name: "chevron-left" })]),
418
+ _: 1
419
+ }, 16, [
420
+ "size",
421
+ "disabled",
422
+ "as",
423
+ "href",
424
+ "aria-label",
425
+ "data-pagination-page"
426
+ ]);
427
+ }), 256))], 64);
428
+ }), 256)),
429
+ _cache[3] || (_cache[3] = createTextVNode(toDisplayString(" "), -1)),
430
+ createVNode(unref(KeyedBoundary), null, {
431
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(checkedProps.value.pages ?? [], (item, index, loop) => item.value), (item, index) => {
432
+ return openBlock(), createElementBlock(Fragment, { key: item.value }, [
433
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
434
+ index > 0 && (unref(number)(item.value) === void 0 || unref(number)(unref(number)(checkedProps.value.pages?.[unref(decimalSubtract)(index, 1)]?.value) === void 0 || unref(number)(1) === void 0 ? void 0 : unref(decimalAdd)(unref(number)(checkedProps.value.pages?.[unref(decimalSubtract)(index, 1)]?.value), unref(number)(1))) === void 0 ? void 0 : unref(number)(item.value) > unref(number)(unref(number)(checkedProps.value.pages?.[unref(decimalSubtract)(index, 1)]?.value) === void 0 || unref(number)(1) === void 0 ? void 0 : unref(decimalAdd)(unref(number)(checkedProps.value.pages?.[unref(decimalSubtract)(index, 1)]?.value), unref(number)(1)))) ? (openBlock(), createElementBlock("span", _hoisted_2, "…")) : createCommentVNode("v-if", true),
435
+ _cache[1] || (_cache[1] = createTextVNode(toDisplayString(" "), -1)),
436
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
437
+ true: "solid",
438
+ false: "ghost"
439
+ }, unref(concat)(item.value === unref(inputRead)(checkedProps.value.page, inputStatus("page", true)))), unref(READY_INPUT))], (boundInputSnapshot2) => {
440
+ return openBlock(), createElementBlock(Fragment, null, [(openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
441
+ true: "accent",
442
+ false: "neutral"
443
+ }, unref(concat)(item.value === unref(inputRead)(checkedProps.value.page, inputStatus("page", true)))), unref(READY_INPUT))], (boundInputSnapshot3) => {
444
+ return openBlock(), createBlock(UiButton_default, mergeProps({
445
+ square: true,
446
+ variant: boundInputSnapshot2.value,
447
+ tone: boundInputSnapshot3.value,
448
+ size: checkedProps.value.size,
449
+ disabled: checkedProps.value.disabled,
450
+ as: ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
451
+ true: "a",
452
+ false: "button"
453
+ }, unref(concat)((() => {
454
+ const left = item.href ?? "";
455
+ if (left === Symbol.for("html-next.invalid-result")) return left;
456
+ const right = "";
457
+ if (right === Symbol.for("html-next.invalid-result")) return right;
458
+ return left !== right;
459
+ })())),
460
+ href: item.href,
461
+ "data-pagination-page": item.value,
462
+ "aria-label": unref(concat)(checkedProps.value.pageLabel, " ", unref(formatValue)(item.value, "number", "format", "number")),
463
+ "aria-current": ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
464
+ true: "page",
465
+ false: null
466
+ }, unref(concat)(item.value === checkedProps.value.page))
467
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
468
+ variant: () => boundInputSnapshot2,
469
+ tone: () => boundInputSnapshot3,
470
+ size: () => ({
471
+ value: checkedProps.value.size,
472
+ status: inputStatus("size", true)
473
+ }),
474
+ disabled: () => ({
475
+ value: checkedProps.value.disabled,
476
+ status: inputStatus("disabled", true)
477
+ })
478
+ } }), {
479
+ default: withCtx(() => [createVNode(unref(RetainedInlineText), { segments: [unref(inlineTextSegment)(unref(formatValue)(item.value, "number", "format", "number"), true, (candidate) => candidate)] }, null, 8, ["segments"])]),
480
+ _: 2
481
+ }, 1040, [
482
+ "variant",
483
+ "tone",
484
+ "size",
485
+ "disabled",
486
+ "as",
487
+ "href",
488
+ "data-pagination-page",
489
+ "aria-label",
490
+ "aria-current"
491
+ ]);
492
+ }), 256))], 64);
493
+ }), 256)),
494
+ _cache[2] || (_cache[2] = createTextVNode(toDisplayString(" "), -1))
495
+ ], 64);
496
+ }), 128))]),
497
+ _: 1
498
+ }),
499
+ _cache[4] || (_cache[4] = createTextVNode(toDisplayString(" "), -1)),
500
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => unref(inputRead)(checkedProps.value.disabled, inputStatus("disabled", true)) || !unref(inputRead)(checkedProps.value.hasNext, inputStatus("hasNext", true)), unref(READY_INPUT))], (boundInputSnapshot4) => {
501
+ return openBlock(), createElementBlock(Fragment, null, [(openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
502
+ true: "a",
503
+ false: "button"
504
+ }, unref(concat)(unref(inputRead)(checkedProps.value.nextHref, inputStatus("nextHref", true)) !== "")), unref(READY_INPUT))], (boundInputSnapshot5) => {
505
+ return openBlock(), createBlock(UiButton_default, mergeProps({
506
+ square: true,
507
+ variant: "ghost",
508
+ tone: "neutral",
509
+ size: checkedProps.value.size,
510
+ disabled: boundInputSnapshot4.value,
511
+ as: boundInputSnapshot5.value,
512
+ href: checkedProps.value.nextHref,
513
+ "aria-label": checkedProps.value.nextLabel,
514
+ "data-pagination-page": unref(number)(checkedProps.value.page) === void 0 || unref(number)(1) === void 0 ? void 0 : unref(decimalAdd)(unref(number)(checkedProps.value.page), unref(number)(1))
515
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
516
+ size: () => ({
517
+ value: checkedProps.value.size,
518
+ status: inputStatus("size", true)
519
+ }),
520
+ disabled: () => boundInputSnapshot4,
521
+ as: () => boundInputSnapshot5,
522
+ href: () => ({
523
+ value: checkedProps.value.nextHref,
524
+ status: inputStatus("nextHref", true)
525
+ })
526
+ } }), {
527
+ default: withCtx(() => [createVNode(UiIcon_default, { name: "chevron-right" })]),
528
+ _: 1
529
+ }, 16, [
530
+ "size",
531
+ "disabled",
532
+ "as",
533
+ "href",
534
+ "aria-label",
535
+ "data-pagination-page"
536
+ ]);
537
+ }), 256))], 64);
538
+ }), 256)),
539
+ _cache[5] || (_cache[5] = createTextVNode(toDisplayString(" "), -1)),
540
+ renderSlot(_ctx.$slots, "default")
541
+ ]),
542
+ _: 3
543
+ })], 16, _hoisted_1)), [[unref(vPropValidity), {
544
+ contract: propValidityContract,
545
+ values: { ...props }
546
+ }]]);
547
+ };
548
+ }
549
+ });
550
+ //#endregion
551
+ export { UiPagination_default as t };
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiPopover.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { r as vBindControl } from "./control.js";
4
4
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, openBlock, provide, ref, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiRadioGroup.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, _ as nativeAttrs, a as checkHydratedRoot, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiReel.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiScrollArea.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, _ as nativeAttrs, a as checkHydratedRoot, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSearchResultRow.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSearchShell.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, _ as nativeAttrs, a as checkHydratedRoot, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSection.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { a as checkedProp, d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { n as readBoundControl, r as vBindControl, t as SelectedOptions } from "./control.js";
4
4
  import { computed, createElementBlock, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, _ as nativeAttrs, a as checkHydratedRoot, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { h as vuePropInputs, i as checkPropInput, m as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, defineComponent, mergeProps, openBlock, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSeparator.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
1
- import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
1
+ import { C as useReflectedProp, S as useComponentHost, _ as nativeAttrs, a as checkHydratedRoot, s as createDispatch, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { d as propValidityState, h as vuePropInputs, i as checkPropInput, m as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSidebar.vue?vue&type=script&setup=true&lang.ts