@threadlabs/looma 0.39.5 → 0.40.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.
@@ -32,7 +32,7 @@ export function createUiPagination(options = {}, html) {
32
32
  const s = document.createComment("html-next:item-start"), t = document.createComment("html-next:item-end");
33
33
  n.prepend(s);
34
34
  n.append(t);
35
- const r = { k: undefined, i: o, n: s, t, x: 0, y: 0, j, l, a1: t1, a2: t2, w: 0, v0: null, v1: null, v2: null, v3: null, v4: null, v5: null, v6: null, v7: null, v8: null, v9: "", a0: t0, e0: t0.nextSibling, b0: undefined };
35
+ const r = { k: undefined, i: o, n: s, t, x: 0, y: 0, j, l, a1: t1, a2: t2, w: 0, v0: null, v1: null, v2: null, v3: null, v4: null, v5: null, v6: null, v7: null, v8: "", a0: t0, e0: t0.nextSibling, b0: undefined };
36
36
  p1(r, -1, E);
37
37
  return r;
38
38
  };
@@ -62,35 +62,32 @@ export function createUiPagination(options = {}, html) {
62
62
  if (s3 !== r.v3) writeAttribute(r.a1, "disabled", r.v3 = s3);
63
63
  }
64
64
  if (c & 1073741824) {
65
- const x4 = trackContainer(r, readIndex({ "true": "a", "false": "button" }, textCall("concat", [(defaultValue(readMember(o, "href"), "") !== "")])));
65
+ const x4 = trackContainer(r, readIndex({ "true": readMember(o, "href"), "false": null }, textCall("concat", [(defaultValue(readMember(o, "href"), "") !== "")])));
66
66
  if (x4 !== NONCONFORMING) {
67
- const s4 = toAttribute(x4, "as");
68
- if (s4 !== r.v4) writeAttribute(r.a1, "as", r.v4 = s4);
67
+ const s4 = toAttribute(x4, "href");
68
+ if (s4 !== r.v4) writeUrlAttribute(r.a1, "href", r.v4 = s4);
69
69
  }
70
- const x5 = trackContainer(r, readMember(o, "href"));
71
- const s5 = toAttribute(x5, "href");
72
- if (s5 !== r.v5) writeUrlAttribute(r.a1, "href", r.v5 = s5);
73
- const x6 = trackContainer(r, readMember(o, "value"));
74
- const s6 = toAttribute(x6, "data-pagination-page");
75
- if (s6 !== r.v6) writeAttribute(r.a1, "data-pagination-page", r.v6 = s6);
76
- const x7 = formatCall("format", [trackContainer(r, readMember(o, "value")), "number"], "number");
77
- if (x7 !== NONCONFORMING) {
78
- const s9 = toText(x7);
79
- if (s9 !== r.v9) r.a2.data = r.v9 = s9;
70
+ const x5 = trackContainer(r, readMember(o, "value"));
71
+ const s5 = toAttribute(x5, "data-pagination-page");
72
+ if (s5 !== r.v5) writeAttribute(r.a1, "data-pagination-page", r.v5 = s5);
73
+ const x6 = formatCall("format", [trackContainer(r, readMember(o, "value")), "number"], "number");
74
+ if (x6 !== NONCONFORMING) {
75
+ const s8 = toText(x6);
76
+ if (s8 !== r.v8) r.a2.data = r.v8 = s8;
80
77
  }
81
78
  }
82
79
  if (c & 1073741952) {
83
- const x8 = textCall("concat", [v[7], " ", formatCall("format", [trackContainer(r, readMember(o, "value")), "number"], "number")]);
84
- if (x8 !== NONCONFORMING) {
85
- const s7 = toAttribute(x8, "aria-label");
86
- if (s7 !== r.v7) writeAttribute(r.a1, "aria-label", r.v7 = s7);
80
+ const x7 = textCall("concat", [v[7], " ", formatCall("format", [trackContainer(r, readMember(o, "value")), "number"], "number")]);
81
+ if (x7 !== NONCONFORMING) {
82
+ const s6 = toAttribute(x7, "aria-label");
83
+ if (s6 !== r.v6) writeAttribute(r.a1, "aria-label", r.v6 = s6);
87
84
  }
88
85
  }
89
86
  if (c & 1073741888) {
90
- const x9 = trackContainer(r, readIndex({ "true": "page", "false": null }, textCall("concat", [(readMember(o, "value") === v[6])])));
91
- if (x9 !== NONCONFORMING) {
92
- const s8 = toAttribute(x9, "aria-current");
93
- if (s8 !== r.v8) writeAttribute(r.a1, "aria-current", r.v8 = s8);
87
+ const x8 = trackContainer(r, readIndex({ "true": "page", "false": null }, textCall("concat", [(readMember(o, "value") === v[6])])));
88
+ if (x8 !== NONCONFORMING) {
89
+ const s7 = toAttribute(x8, "aria-current");
90
+ if (s7 !== r.v7) writeAttribute(r.a1, "aria-current", r.v7 = s7);
94
91
  }
95
92
  }
96
93
  if (c & -1073741568 && !((truthy(binaryValue(">", r.j, 0)) && truthy(binaryValue(">", readMember(o, "value"), binaryValue("+", readMember(readIndex(v[8], binaryValue("-", r.j, 1, undefined, undefined, subtract)), "value"), 1, undefined, undefined, add))))) !== !r.b0) {
@@ -124,8 +121,8 @@ export function createUiPagination(options = {}, html) {
124
121
  const x1 = v[11];
125
122
  const s1 = toAttribute(x1, "size");
126
123
  if (s1 !== r.v1) writeAttribute(r.a1, "size", r.v1 = s1);
127
- const s7 = toAttribute(x1, "size");
128
- if (s7 !== r.v7) writeAttribute(r.a3, "size", r.v7 = s7);
124
+ const s6 = toAttribute(x1, "size");
125
+ if (s6 !== r.v6) writeAttribute(r.a3, "size", r.v6 = s6);
129
126
  }
130
127
  if (c & 69) {
131
128
  const x2 = ((truthy(v[0]) || !truthy(v[2])) || truthy(binaryValue("<=", v[6], 1)));
@@ -133,53 +130,43 @@ export function createUiPagination(options = {}, html) {
133
130
  if (s2 !== r.v2) writeAttribute(r.a1, "disabled", r.v2 = s2);
134
131
  }
135
132
  if (c & 1073742336) {
136
- const x3 = readIndex({ "true": "a", "false": "button" }, textCall("concat", [(v[9] !== "")]));
133
+ const x3 = readIndex({ "true": v[9], "false": null }, textCall("concat", [(v[9] !== "")]));
137
134
  if (x3 !== NONCONFORMING) {
138
- const s3 = toAttribute(x3, "as");
139
- if (s3 !== r.v3) writeAttribute(r.a1, "as", r.v3 = s3);
135
+ const s3 = toAttribute(x3, "href");
136
+ if (s3 !== r.v3) writeUrlAttribute(r.a1, "href", r.v3 = s3);
140
137
  }
141
138
  }
142
- if (c & 512) {
143
- const x4 = v[9];
144
- const s4 = toAttribute(x4, "href");
145
- if (s4 !== r.v4) writeUrlAttribute(r.a1, "href", r.v4 = s4);
146
- }
147
139
  if (c & 1024) {
148
- const x5 = v[10];
149
- const s5 = toAttribute(x5, "aria-label");
150
- if (s5 !== r.v5) writeAttribute(r.a1, "aria-label", r.v5 = s5);
140
+ const x4 = v[10];
141
+ const s4 = toAttribute(x4, "aria-label");
142
+ if (s4 !== r.v4) writeAttribute(r.a1, "aria-label", r.v4 = s4);
151
143
  }
152
144
  if (c & 64) {
153
- const x6 = binaryValue("-", v[6], 1, undefined, undefined, subtract);
154
- const s6 = toAttribute(x6, "data-pagination-page");
155
- if (s6 !== r.v6) writeAttribute(r.a1, "data-pagination-page", r.v6 = s6);
145
+ const x5 = binaryValue("-", v[6], 1, undefined, undefined, subtract);
146
+ const s5 = toAttribute(x5, "data-pagination-page");
147
+ if (s5 !== r.v5) writeAttribute(r.a1, "data-pagination-page", r.v5 = s5);
156
148
  }
157
149
  if (c & 3) {
158
- const x7 = (truthy(v[0]) || !truthy(v[1]));
159
- const s8 = toAttribute(x7, "disabled");
160
- if (s8 !== r.v8) writeAttribute(r.a3, "disabled", r.v8 = s8);
150
+ const x6 = (truthy(v[0]) || !truthy(v[1]));
151
+ const s7 = toAttribute(x6, "disabled");
152
+ if (s7 !== r.v7) writeAttribute(r.a3, "disabled", r.v7 = s7);
161
153
  }
162
154
  if (c & 1073741840) {
163
- const x8 = readIndex({ "true": "a", "false": "button" }, textCall("concat", [(v[4] !== "")]));
164
- if (x8 !== NONCONFORMING) {
165
- const s9 = toAttribute(x8, "as");
166
- if (s9 !== r.v9) writeAttribute(r.a3, "as", r.v9 = s9);
155
+ const x7 = readIndex({ "true": v[4], "false": null }, textCall("concat", [(v[4] !== "")]));
156
+ if (x7 !== NONCONFORMING) {
157
+ const s8 = toAttribute(x7, "href");
158
+ if (s8 !== r.v8) writeUrlAttribute(r.a3, "href", r.v8 = s8);
167
159
  }
168
160
  }
169
- if (c & 16) {
170
- const x9 = v[4];
171
- const s10 = toAttribute(x9, "href");
172
- if (s10 !== r.v10) writeUrlAttribute(r.a3, "href", r.v10 = s10);
173
- }
174
161
  if (c & 32) {
175
- const x10 = v[5];
176
- const s11 = toAttribute(x10, "aria-label");
177
- if (s11 !== r.v11) writeAttribute(r.a3, "aria-label", r.v11 = s11);
162
+ const x8 = v[5];
163
+ const s9 = toAttribute(x8, "aria-label");
164
+ if (s9 !== r.v9) writeAttribute(r.a3, "aria-label", r.v9 = s9);
178
165
  }
179
166
  if (c & 64) {
180
- const x11 = binaryValue("+", v[6], 1, undefined, undefined, add);
181
- const s12 = toAttribute(x11, "data-pagination-page");
182
- if (s12 !== r.v12) writeAttribute(r.a3, "data-pagination-page", r.v12 = s12);
167
+ const x9 = binaryValue("+", v[6], 1, undefined, undefined, add);
168
+ const s10 = toAttribute(x9, "data-pagination-page");
169
+ if (s10 !== r.v10) writeAttribute(r.a3, "data-pagination-page", r.v10 = s10);
183
170
  }
184
171
  if (c & 1073742080) r.L0.update(v[8], d, c);
185
172
  if (c !== -1 && c & 1073744321) r.L0.each(c, d);
@@ -192,7 +179,7 @@ export function createUiPagination(options = {}, html) {
192
179
  const t2 = t1.nextSibling.nextSibling;
193
180
  const t3 = t2.nextSibling.nextSibling.nextSibling;
194
181
  const t4 = t3.nextSibling.nextSibling;
195
- const R = { n: element, a1: t1, a3: t3, v0: undefined, v1: null, v2: null, v3: null, v4: null, v5: null, v6: null, v7: null, v8: null, v9: null, v10: null, v11: null, v12: null, L0: new RangedPositionalList(t2, t2.nextSibling, m1, p1, (o) => readMember(o, "value"), "item"), a4: t4, e1: t4.nextSibling, b1: undefined, f1: undefined };
182
+ const R = { n: element, a1: t1, a3: t3, v0: undefined, v1: null, v2: null, v3: null, v4: null, v5: null, v6: null, v7: null, v8: null, v9: null, v10: null, L0: new RangedPositionalList(t2, t2.nextSibling, m1, p1, (o) => readMember(o, "value"), "item"), a4: t4, e1: t4.nextSibling, b1: undefined, f1: undefined };
196
183
  const I = { B };
197
184
  const J = project(I, children, slots);
198
185
  attachGeneratedController(element, S, v, ((c, d) => p0(R, c, d)), undefined, undefined, I);
package/vue/UiButton.d.ts CHANGED
@@ -26,9 +26,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
26
26
  align: {
27
27
  type: PropType<"center" | "start" | null>;
28
28
  };
29
- as: {
30
- type: PropType<"button" | "a" | null>;
31
- };
32
29
  disabled: {
33
30
  type: PropType<boolean | null>;
34
31
  };
@@ -78,9 +75,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
78
75
  align: {
79
76
  type: PropType<"center" | "start" | null>;
80
77
  };
81
- as: {
82
- type: PropType<"button" | "a" | null>;
83
- };
84
78
  disabled: {
85
79
  type: PropType<boolean | null>;
86
80
  };
package/vue/UiButton.vue CHANGED
@@ -44,21 +44,12 @@ const propValidityContract = {
44
44
  values: ['center', 'start'],
45
45
  default: 'center',
46
46
  },
47
- as: {
48
- type: { kind: 'terminal', name: 'keyword' },
49
- required: false,
50
- target: { attribute: 'as' },
51
- description:
52
- 'The native element the button renders: a button, or a link (a) that navigates to href.',
53
- values: ['button', 'a'],
54
- default: 'button',
55
- },
56
47
  disabled: {
57
48
  type: { kind: 'terminal', name: 'boolean' },
58
49
  required: false,
59
50
  target: { attribute: 'disabled' },
60
51
  description:
61
- 'Makes the button unavailable: it cannot be pressed, uses a flat neutral palette, and loses its raised look. A disabled link (as="a" with href) drops its\n href and states aria-disabled="true" instead, because a link has no native disabled state.',
52
+ 'Makes the button unavailable: it cannot be pressed, uses a flat neutral palette, and loses its raised look. A disabled link (with href) drops its href and\n states aria-disabled="true" instead, because a link has no native disabled state.',
62
53
  default: false,
63
54
  },
64
55
  href: {
@@ -66,7 +57,7 @@ const propValidityContract = {
66
57
  required: false,
67
58
  target: { attribute: 'href' },
68
59
  description:
69
- 'The link\'s destination. Pair it with as="a" so the button renders as a real link that navigates. A disabled link drops its href and states\n aria-disabled="true", so it cannot be followed.',
60
+ 'The link\'s destination. Supplying href automatically renders a native link instead of a button, including an empty href for the current document. A\n disabled link drops its href and states aria-disabled="true", so it cannot be followed.',
70
61
  },
71
62
  loading: {
72
63
  type: { kind: 'terminal', name: 'boolean' },
@@ -97,7 +88,7 @@ const propValidityContract = {
97
88
  required: false,
98
89
  target: { attribute: 'rel' },
99
90
  description:
100
- 'The link\'s relationship to its destination, as on a native link. Only meaningful with as="a".',
91
+ 'The link\'s relationship to its destination, as on a native link. Only meaningful with href.',
101
92
  },
102
93
  shape: {
103
94
  type: { kind: 'terminal', name: 'keyword' },
@@ -136,7 +127,7 @@ const propValidityContract = {
136
127
  type: { kind: 'terminal', name: 'string' },
137
128
  required: false,
138
129
  target: { attribute: 'target' },
139
- description: 'Where a link opens, as on a native link. Only meaningful with as="a".',
130
+ description: 'Where a link opens, as on a native link. Only meaningful with href.',
140
131
  },
141
132
  tone: {
142
133
  type: { kind: 'terminal', name: 'keyword' },
@@ -169,7 +160,6 @@ const propValidityContract = {
169
160
  } as const
170
161
  const props = defineProps({
171
162
  align: { type: null as unknown as PropType<'center' | 'start' | null> },
172
- as: { type: null as unknown as PropType<'button' | 'a' | null> },
173
163
  disabled: { type: null as unknown as PropType<boolean | null> },
174
164
  href: { type: null as unknown as PropType<string | null> },
175
165
  loading: { type: null as unknown as PropType<boolean | null> },
@@ -200,7 +190,6 @@ const props = defineProps({
200
190
  })
201
191
  const acceptedProps: Record<string, unknown> = {
202
192
  align: 'center',
203
- as: 'button',
204
193
  disabled: false,
205
194
  href: null,
206
195
  loading: false,
@@ -218,7 +207,6 @@ const acceptedProps: Record<string, unknown> = {
218
207
  }
219
208
  const inputTracking = vuePropInputs(acceptedProps, {
220
209
  align: 'center',
221
- as: 'button',
222
210
  disabled: false,
223
211
  loading: false,
224
212
  pending: false,
@@ -234,8 +222,6 @@ const inputTracking = vuePropInputs(acceptedProps, {
234
222
  switch (name) {
235
223
  case 'align':
236
224
  return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
237
- case 'as':
238
- return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
239
225
  case 'disabled':
240
226
  return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
241
227
  case 'href':
@@ -279,9 +265,6 @@ const checkedProps = computed(() => {
279
265
  props['align'],
280
266
  props[BINDING_INPUTS_PROP],
281
267
  ) as 'center' | 'start',
282
- as: propInputs.value<'button' | 'a' | null>('as', props['as'], props[BINDING_INPUTS_PROP]) as
283
- | 'button'
284
- | 'a',
285
268
  disabled: propInputs.value<boolean | null>(
286
269
  'disabled',
287
270
  props['disabled'],
@@ -703,11 +686,11 @@ const guardedBinding7 = computed(() => {
703
686
  ))
704
687
  })
705
688
  checkHydratedRoot(
706
- (appearance.get() === 'card' && checkedProps.value.as === 'a')
689
+ (appearance.get() === 'card' && checkedProps.value.href !== null)
707
690
  ? 'a'
708
691
  : ((appearance.get() === 'card')
709
692
  ? 'button'
710
- : ((checkedProps.value.as === 'a') ? 'a' : ('button'))),
693
+ : ((checkedProps.value.href !== null) ? 'a' : ('button'))),
711
694
  'ui-button',
712
695
  )
713
696
 
@@ -749,7 +732,6 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
749
732
  },
750
733
  propNames: [
751
734
  'align',
752
- 'as',
753
735
  'disabled',
754
736
  'href',
755
737
  'loading',
@@ -774,7 +756,7 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
774
756
 
775
757
  <template>
776
758
  <a
777
- v-if="appearance.get() === 'card' && checkedProps.as === 'a'"
759
+ v-if="appearance.get() === 'card' && checkedProps.href !== null"
778
760
  class="ui-button"
779
761
  v-bind="nativeAttrs($attrs)"
780
762
  data-hn
@@ -789,7 +771,6 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
789
771
  :tabindex="guardedBinding2"
790
772
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
791
773
  :data-ui-button-prop-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
792
- :data-ui-button-prop-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
793
774
  :data-ui-button-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
794
775
  :data-ui-button-prop-href="reflectedProp('href', 'href', checkedProps.href, undefined, false)"
795
776
  :data-ui-button-prop-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
@@ -834,7 +815,6 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
834
815
  :aria-busy="checkedProps.loading || checkedProps.pending"
835
816
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
836
817
  :data-ui-button-prop-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
837
- :data-ui-button-prop-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
838
818
  :data-ui-button-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
839
819
  :data-ui-button-prop-href="reflectedProp('href', 'href', checkedProps.href, undefined, false)"
840
820
  :data-ui-button-prop-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
@@ -868,7 +848,7 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
868
848
  /></slot></span>
869
849
  </button>
870
850
  <a
871
- v-else-if="checkedProps.as === 'a'"
851
+ v-else-if="checkedProps.href !== null"
872
852
  class="ui-button"
873
853
  v-bind="nativeAttrs($attrs)"
874
854
  data-hn
@@ -883,7 +863,6 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
883
863
  :tabindex="guardedBinding6"
884
864
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
885
865
  :data-ui-button-prop-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
886
- :data-ui-button-prop-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
887
866
  :data-ui-button-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
888
867
  :data-ui-button-prop-href="reflectedProp('href', 'href', checkedProps.href, undefined, false)"
889
868
  :data-ui-button-prop-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
@@ -922,7 +901,6 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
922
901
  :aria-busy="checkedProps.loading || checkedProps.pending"
923
902
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
924
903
  :data-ui-button-prop-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
925
- :data-ui-button-prop-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
926
904
  :data-ui-button-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
927
905
  :data-ui-button-prop-href="reflectedProp('href', 'href', checkedProps.href, undefined, false)"
928
906
  :data-ui-button-prop-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
package/vue/UiCallout.vue CHANGED
@@ -325,7 +325,7 @@ const hostState = computed(() =>
325
325
  --_ui-callout-icon: var(--ui-callout-icon);
326
326
  --_ui-callout-icon-size: var(--ui-callout-icon-size);
327
327
 
328
- --_callout-surface: color-mix(in srgb, var(--_callout-border) 19%, var(--ui-surface-default));
328
+ --_callout-surface: oklch(from var(--_callout-border) l c h / 10%);
329
329
  --_ui-selection-context-surface: light-dark(
330
330
  oklch(
331
331
  from var(--ui-callout-surface, var(--_callout-surface))
@@ -352,7 +352,6 @@ useComponentHost(() => import('../components/ui-editor-link-card/ui-editor-link-
352
352
  >{{ checkedProps.detail }}</UiText></UiStack>{{ ' ' }}<template
353
353
  v-if="checkedProps.openHref !== ''"
354
354
  >{{ ' ' }}<UiButton
355
- as="a"
356
355
  variant="ghost"
357
356
  tone="neutral"
358
357
  size="sm"
@@ -73,7 +73,7 @@ const propValidityContract = {
73
73
  nextHref: {
74
74
  type: { kind: 'terminal', name: 'string' },
75
75
  required: false,
76
- target: { attribute: 'href' },
76
+ target: { attribute: 'nexthref' },
77
77
  description: 'Optional native destination for Next. Empty renders a request button.',
78
78
  default: '',
79
79
  },
@@ -122,7 +122,7 @@ const propValidityContract = {
122
122
  previousHref: {
123
123
  type: { kind: 'terminal', name: 'string' },
124
124
  required: false,
125
- target: { attribute: 'href' },
125
+ target: { attribute: 'previoushref' },
126
126
  description: 'Optional native destination for Previous. Empty renders a request button.',
127
127
  default: '',
128
128
  },
@@ -428,7 +428,10 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
428
428
  || indexValue === Symbol.for('html-next.invalid-result')
429
429
  ? Symbol.for('html-next.invalid-result')
430
430
  : objectValue[indexValue])(
431
- { true: 'a', false: 'button' },
431
+ {
432
+ true: inputRead(checkedProps.previousHref, inputStatus('previousHref', true)),
433
+ false: null,
434
+ },
432
435
  concat(inputRead(checkedProps.previousHref, inputStatus('previousHref', true)) !== ''),
433
436
  )) as any,
434
437
  READY_INPUT,
@@ -439,8 +442,7 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
439
442
  tone="neutral"
440
443
  :size="checkedProps.size"
441
444
  :disabled="boundInput.value"
442
- :as="boundInputSnapshot.value"
443
- :href="checkedProps.previousHref"
445
+ :href="boundInputSnapshot.value"
444
446
  :aria-label="checkedProps.previousLabel"
445
447
  :data-pagination-page="number(checkedProps.page) === undefined || number(1) === undefined
446
448
  ? undefined
@@ -449,8 +451,7 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
449
451
  [BINDING_INPUTS_PROP]: {
450
452
  size: () => ({ value: checkedProps.size, status: inputStatus('size', true) }),
451
453
  disabled: () => boundInput,
452
- as: () => boundInputSnapshot,
453
- href: () => ({ value: checkedProps.previousHref, status: inputStatus('previousHref', true) }),
454
+ href: () => boundInputSnapshot,
454
455
  },
455
456
  }"
456
457
  ><UiIcon name="chevron-left" /></UiButton></template></template>{{ ' ' }}<KeyedBoundary
@@ -510,12 +511,12 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
510
511
  :tone="boundInputSnapshot3.value"
511
512
  :size="checkedProps.size"
512
513
  :disabled="checkedProps.disabled"
513
- :as="((objectValue: any, indexValue: any) =>
514
+ :href="((objectValue: any, indexValue: any) =>
514
515
  objectValue === Symbol.for('html-next.invalid-result')
515
516
  || indexValue === Symbol.for('html-next.invalid-result')
516
517
  ? Symbol.for('html-next.invalid-result')
517
518
  : objectValue[indexValue])(
518
- { true: 'a', false: 'button' },
519
+ { true: item.href, false: null },
519
520
  concat((() => {
520
521
  const left: any = item.href ?? ''
521
522
  if (left === Symbol.for('html-next.invalid-result')) return left
@@ -524,7 +525,6 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
524
525
  return left !== right
525
526
  })()),
526
527
  )"
527
- :href="item.href"
528
528
  :data-pagination-page="item.value"
529
529
  :aria-label="concat(checkedProps.pageLabel, ' ', formatValue(item.value, 'number', 'format', 'number'))"
530
530
  :aria-current="((objectValue: any, indexValue: any) =>
@@ -566,7 +566,7 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
566
566
  || indexValue === Symbol.for('html-next.invalid-result')
567
567
  ? Symbol.for('html-next.invalid-result')
568
568
  : objectValue[indexValue])(
569
- { true: 'a', false: 'button' },
569
+ { true: inputRead(checkedProps.nextHref, inputStatus('nextHref', true)), false: null },
570
570
  concat(inputRead(checkedProps.nextHref, inputStatus('nextHref', true)) !== ''),
571
571
  )) as any,
572
572
  READY_INPUT,
@@ -577,8 +577,7 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
577
577
  tone="neutral"
578
578
  :size="checkedProps.size"
579
579
  :disabled="boundInputSnapshot4.value"
580
- :as="boundInputSnapshot5.value"
581
- :href="checkedProps.nextHref"
580
+ :href="boundInputSnapshot5.value"
582
581
  :aria-label="checkedProps.nextLabel"
583
582
  :data-pagination-page="number(checkedProps.page) === undefined || number(1) === undefined
584
583
  ? undefined
@@ -587,8 +586,7 @@ useComponentHost(() => import('../components/ui-pagination/ui-pagination.js'), {
587
586
  [BINDING_INPUTS_PROP]: {
588
587
  size: () => ({ value: checkedProps.size, status: inputStatus('size', true) }),
589
588
  disabled: () => boundInputSnapshot4,
590
- as: () => boundInputSnapshot5,
591
- href: () => ({ value: checkedProps.nextHref, status: inputStatus('nextHref', true) }),
589
+ href: () => boundInputSnapshot5,
592
590
  },
593
591
  }"
594
592
  ><UiIcon name="chevron-right" /></UiButton></template></template>{{