@threadlabs/looma 0.39.6 → 0.41.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/components/ui-site-header/ui-site-header.html +164 -0
- package/dist/index.js +1 -1
- package/docs/card.html +1 -1
- package/docs/catalog.json +207 -32
- package/package.json +1 -1
- package/styles/ui-site-header.css +165 -0
- 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/vanilla/UiSiteHeader.d.ts +25 -0
- package/vanilla/UiSiteHeader.js +96 -0
- package/vanilla/index.js +1 -0
- 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/UiSiteHeader.d.ts +47 -0
- package/vue/UiSiteHeader.js +2 -0
- package/vue/UiSiteHeader.vue +299 -0
- package/vue/chunks/UiButton.js +8 -36
- package/vue/chunks/UiEditorLinkCard.js +0 -1
- package/vue/chunks/UiPagination.js +13 -27
- package/vue/chunks/UiSiteHeader.js +150 -0
- package/vue/components.css +154 -0
- package/vue/editor/index.js +107 -121
- package/vue/index.d.ts +1 -0
- package/vue/index.js +2 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
|
|
2
|
+
import { attachGeneratedController, buildTemplate, toAttribute, writeAttribute, dispose, formatOf, keywordFormat, hostState, acceptProps, manageProps, generatedInputs, project, fillSlot, checkBoolean, checkFormat, checkString, defineComponent } from "@nextwebwg/html-next/generated-runtime";
|
|
3
|
+
import "../styles/ui-site-header.css";
|
|
4
|
+
|
|
5
|
+
const T0 = ["",[],"\n ",["span",["class","menu"],4],"\n ",["div",["class","identity"],"\n ",["div",["class","brand"],4],"\n ",["nav",["class","navigation"],4],"\n "],"\n ",["div",["class","actions"],4],"\n "];
|
|
6
|
+
const T1 = ["",[]];
|
|
7
|
+
const T2 = ["",[]];
|
|
8
|
+
const T3 = ["",[]];
|
|
9
|
+
const T4 = ["",[]];
|
|
10
|
+
let P0, P1, P2, P3, P4;
|
|
11
|
+
const S = { n: [], t: [], f: import.meta.url, g: "ui-site-header", b: generatedInputs };
|
|
12
|
+
const D = { g: "ui-site-header", props: { "breakpoint": { "required":false,"values":["sm","md","lg"],"default":"lg", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat)] }, "label": { "required":false,"default":"Main", c: checkString, t: "string", j: 0, m: "s" }, "sticky": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" } } };
|
|
13
|
+
|
|
14
|
+
export function createUiSiteHeader(options = {}, html) {
|
|
15
|
+
const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
|
|
16
|
+
const element = document.createElement("header");
|
|
17
|
+
for (const [name, value] of Object.entries(attributes)) {
|
|
18
|
+
if (value === null || value === undefined || value === false) continue;
|
|
19
|
+
element.setAttribute(name, value === true ? "" : String(value));
|
|
20
|
+
}
|
|
21
|
+
element.setAttribute("data-component", "ui-site-header");
|
|
22
|
+
element.append((P0 ??= buildTemplate(T0)).cloneNode(true));
|
|
23
|
+
const v = [null, null, null];
|
|
24
|
+
const B = acceptProps(element, D, S.n, v, componentProps, [], html);
|
|
25
|
+
const m1 = (d) => {
|
|
26
|
+
const n = (P1 ??= buildTemplate(T1)).cloneNode(true);
|
|
27
|
+
const r = { n };
|
|
28
|
+
p1(r, -1, d);
|
|
29
|
+
return r;
|
|
30
|
+
};
|
|
31
|
+
const p1 = (r, c, d) => {
|
|
32
|
+
};
|
|
33
|
+
const m2 = (d) => {
|
|
34
|
+
const n = (P2 ??= buildTemplate(T2)).cloneNode(true);
|
|
35
|
+
const r = { n };
|
|
36
|
+
p2(r, -1, d);
|
|
37
|
+
return r;
|
|
38
|
+
};
|
|
39
|
+
const p2 = (r, c, d) => {
|
|
40
|
+
};
|
|
41
|
+
const m3 = (d) => {
|
|
42
|
+
const n = (P3 ??= buildTemplate(T3)).cloneNode(true);
|
|
43
|
+
const r = { n };
|
|
44
|
+
p3(r, -1, d);
|
|
45
|
+
return r;
|
|
46
|
+
};
|
|
47
|
+
const p3 = (r, c, d) => {
|
|
48
|
+
};
|
|
49
|
+
const m4 = (d) => {
|
|
50
|
+
const n = (P4 ??= buildTemplate(T4)).cloneNode(true);
|
|
51
|
+
const r = { n };
|
|
52
|
+
p4(r, -1, d);
|
|
53
|
+
return r;
|
|
54
|
+
};
|
|
55
|
+
const p4 = (r, c, d) => {
|
|
56
|
+
};
|
|
57
|
+
const p0 = (r, c, d) => {
|
|
58
|
+
if (c & 2) {
|
|
59
|
+
const x0 = v[1];
|
|
60
|
+
const s0 = toAttribute(x0, "aria-label");
|
|
61
|
+
if (s0 !== r.v0) writeAttribute(r.a2, "aria-label", r.v0 = s0);
|
|
62
|
+
}
|
|
63
|
+
if (c & 5) {
|
|
64
|
+
const x1 = hostState(["sticky","breakpoint"], [v[2], v[0]]);
|
|
65
|
+
const s1 = x1;
|
|
66
|
+
if (s1 !== r.v1) writeAttribute(r.n, "data-ui-site-header-state", (r.v1 = s1) === "" ? null : s1);
|
|
67
|
+
}
|
|
68
|
+
if (r.f0 === undefined) { r.f0 = 1; const at = fillSlot(r.a0, r.e0, "menu", J, false, undefined, d);
|
|
69
|
+
if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b0 = m1(d); at.before(r.b0.n); } }
|
|
70
|
+
else if (r.b0 !== undefined) p1(r.b0, c, d);
|
|
71
|
+
if (r.f1 === undefined) { r.f1 = 1; const at = fillSlot(r.a1, r.e1, "brand", J, false, undefined, d);
|
|
72
|
+
if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b1 = m2(d); at.before(r.b1.n); } }
|
|
73
|
+
else if (r.b1 !== undefined) p2(r.b1, c, d);
|
|
74
|
+
if (r.f2 === undefined) { r.f2 = 1; const at = fillSlot(r.a3, r.e2, "navigation", J, false, undefined, d);
|
|
75
|
+
if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b2 = m3(d); at.before(r.b2.n); } }
|
|
76
|
+
else if (r.b2 !== undefined) p3(r.b2, c, d);
|
|
77
|
+
if (r.f3 === undefined) { r.f3 = 1; const at = fillSlot(r.a4, r.e3, "actions", J, false, undefined, d);
|
|
78
|
+
if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b3 = m4(d); at.before(r.b3.n); } }
|
|
79
|
+
else if (r.b3 !== undefined) p4(r.b3, c, d);
|
|
80
|
+
};
|
|
81
|
+
const t0 = element.firstChild.nextSibling;
|
|
82
|
+
const t1 = t0.firstChild;
|
|
83
|
+
const t2 = t0.nextSibling.nextSibling;
|
|
84
|
+
const t3 = t2.firstChild.nextSibling;
|
|
85
|
+
const t4 = t3.firstChild;
|
|
86
|
+
const t5 = t3.nextSibling.nextSibling;
|
|
87
|
+
const t6 = t5.firstChild;
|
|
88
|
+
const t7 = t2.nextSibling.nextSibling.firstChild;
|
|
89
|
+
const R = { n: element, a2: t5, v0: null, v1: undefined, a0: t1, e0: t1.nextSibling, b0: undefined, f0: undefined, a1: t4, e1: t4.nextSibling, b1: undefined, f1: undefined, a3: t6, e2: t6.nextSibling, b2: undefined, f2: undefined, a4: t7, e3: t7.nextSibling, b3: undefined, f3: undefined };
|
|
90
|
+
const I = { B };
|
|
91
|
+
const J = project(I, children, slots);
|
|
92
|
+
attachGeneratedController(element, S, v, ((c, d) => p0(R, c, d)), undefined, undefined, I);
|
|
93
|
+
manageProps(I);
|
|
94
|
+
return element;
|
|
95
|
+
}
|
|
96
|
+
defineComponent("ui-site-header", createUiSiteHeader, ["breakpoint","label","sticky"]);
|
package/vanilla/index.js
CHANGED
|
@@ -71,6 +71,7 @@ export * from "./UiSection.js";
|
|
|
71
71
|
export * from "./UiSelect.js";
|
|
72
72
|
export * from "./UiSeparator.js";
|
|
73
73
|
export * from "./UiSidebar.js";
|
|
74
|
+
export * from "./UiSiteHeader.js";
|
|
74
75
|
export * from "./UiSkeleton.js";
|
|
75
76
|
export * from "./UiSlider.js";
|
|
76
77
|
export * from "./UiSpinner.js";
|
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>{{
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import { type InputBindings } from './props.js';
|
|
3
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {};
|
|
4
|
+
type __VLS_Slots = {} & {
|
|
5
|
+
menu?: (props: typeof __VLS_1) => any;
|
|
6
|
+
} & {
|
|
7
|
+
brand?: (props: typeof __VLS_3) => any;
|
|
8
|
+
} & {
|
|
9
|
+
navigation?: (props: typeof __VLS_5) => any;
|
|
10
|
+
} & {
|
|
11
|
+
actions?: (props: typeof __VLS_7) => any;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
14
|
+
breakpoint: {
|
|
15
|
+
type: PropType<"sm" | "md" | "lg" | null>;
|
|
16
|
+
};
|
|
17
|
+
label: {
|
|
18
|
+
type: PropType<string | null>;
|
|
19
|
+
};
|
|
20
|
+
sticky: {
|
|
21
|
+
type: PropType<boolean | null>;
|
|
22
|
+
};
|
|
23
|
+
"\0htmlNextInputStatus": {
|
|
24
|
+
type: PropType<InputBindings>;
|
|
25
|
+
};
|
|
26
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
|
+
breakpoint: {
|
|
28
|
+
type: PropType<"sm" | "md" | "lg" | null>;
|
|
29
|
+
};
|
|
30
|
+
label: {
|
|
31
|
+
type: PropType<string | null>;
|
|
32
|
+
};
|
|
33
|
+
sticky: {
|
|
34
|
+
type: PropType<boolean | null>;
|
|
35
|
+
};
|
|
36
|
+
"\0htmlNextInputStatus": {
|
|
37
|
+
type: PropType<InputBindings>;
|
|
38
|
+
};
|
|
39
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
40
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
41
|
+
declare const _default: typeof __VLS_export;
|
|
42
|
+
export default _default;
|
|
43
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
44
|
+
new (): {
|
|
45
|
+
$slots: S;
|
|
46
|
+
};
|
|
47
|
+
};
|