@threadlabs/looma 0.39.6 → 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.
- package/components/ui-button/ui-button.html +8 -10
- package/components/ui-button/ui-button.js +5 -2
- package/components/ui-editor-link-card/ui-editor-link-card.html +0 -1
- package/components/ui-pagination/ui-pagination.html +3 -6
- package/dist/index.js +1 -1
- package/docs/card.html +1 -1
- package/docs/catalog.json +11 -32
- package/package.json +1 -1
- package/vanilla/UiButton.d.ts +0 -1
- package/vanilla/UiButton.js +71 -71
- package/vanilla/UiEditorLinkCard.js +1 -1
- package/vanilla/UiPagination.js +44 -57
- package/vue/UiButton.d.ts +0 -6
- package/vue/UiButton.vue +8 -30
- package/vue/UiEditorLinkCard.vue +0 -1
- package/vue/UiPagination.vue +13 -15
- package/vue/chunks/UiButton.js +8 -36
- package/vue/chunks/UiEditorLinkCard.js +0 -1
- package/vue/chunks/UiPagination.js +13 -27
- package/vue/editor/index.js +107 -121
package/vanilla/UiPagination.js
CHANGED
|
@@ -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:
|
|
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": "
|
|
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, "
|
|
68
|
-
if (s4 !== r.v4)
|
|
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, "
|
|
71
|
-
const s5 = toAttribute(x5, "
|
|
72
|
-
if (s5 !== r.v5)
|
|
73
|
-
const x6 = trackContainer(r, readMember(o, "value"));
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
84
|
-
if (
|
|
85
|
-
const
|
|
86
|
-
if (
|
|
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
|
|
91
|
-
if (
|
|
92
|
-
const
|
|
93
|
-
if (
|
|
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
|
|
128
|
-
if (
|
|
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":
|
|
133
|
+
const x3 = readIndex({ "true": v[9], "false": null }, textCall("concat", [(v[9] !== "")]));
|
|
137
134
|
if (x3 !== NONCONFORMING) {
|
|
138
|
-
const s3 = toAttribute(x3, "
|
|
139
|
-
if (s3 !== r.v3)
|
|
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
|
|
149
|
-
const
|
|
150
|
-
if (
|
|
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
|
|
154
|
-
const
|
|
155
|
-
if (
|
|
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
|
|
159
|
-
const
|
|
160
|
-
if (
|
|
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
|
|
164
|
-
if (
|
|
165
|
-
const
|
|
166
|
-
if (
|
|
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
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
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
|
|
181
|
-
const
|
|
182
|
-
if (
|
|
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,
|
|
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 (
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
689
|
+
(appearance.get() === 'card' && checkedProps.value.href !== null)
|
|
707
690
|
? 'a'
|
|
708
691
|
: ((appearance.get() === 'card')
|
|
709
692
|
? 'button'
|
|
710
|
-
: ((checkedProps.value.
|
|
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.
|
|
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.
|
|
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/UiEditorLinkCard.vue
CHANGED
|
@@ -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"
|
package/vue/UiPagination.vue
CHANGED
|
@@ -73,7 +73,7 @@ const propValidityContract = {
|
|
|
73
73
|
nextHref: {
|
|
74
74
|
type: { kind: 'terminal', name: 'string' },
|
|
75
75
|
required: false,
|
|
76
|
-
target: { attribute: '
|
|
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: '
|
|
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
|
-
{
|
|
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
|
-
:
|
|
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
|
-
|
|
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
|
-
:
|
|
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:
|
|
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: '
|
|
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
|
-
:
|
|
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
|
-
|
|
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>{{
|