@dillingerstaffing/strand-vue 0.6.0 → 0.7.1
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/README.md +4 -2
- package/dist/components/InstrumentViewport/InstrumentViewport.vue.d.ts +27 -0
- package/dist/components/InstrumentViewport/InstrumentViewport.vue.d.ts.map +1 -0
- package/dist/components/InstrumentViewport/index.d.ts +2 -0
- package/dist/components/InstrumentViewport/index.d.ts.map +1 -0
- package/dist/components/ScrollReveal/ScrollReveal.vue.d.ts +34 -0
- package/dist/components/ScrollReveal/ScrollReveal.vue.d.ts.map +1 -0
- package/dist/components/ScrollReveal/index.d.ts +2 -0
- package/dist/components/ScrollReveal/index.d.ts.map +1 -0
- package/dist/css/strand-ui.css +108 -24
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +453 -398
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/InstrumentViewport/InstrumentViewport.test.ts +61 -0
- package/src/components/InstrumentViewport/InstrumentViewport.vue +32 -0
- package/src/components/InstrumentViewport/index.ts +1 -0
- package/src/components/ScrollReveal/ScrollReveal.test.ts +74 -0
- package/src/components/ScrollReveal/ScrollReveal.vue +68 -0
- package/src/components/ScrollReveal/index.ts +1 -0
- package/src/index.ts +2 -0
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as h, computed as c, openBlock as l, createElementBlock as r, normalizeClass as b, createCommentVNode as g, createElementVNode as f, normalizeStyle as S, renderSlot as y, useSlots as D, ref as w, watch as I, onMounted as E, toDisplayString as _, Fragment as B, renderList as C, createTextVNode as R, mergeProps as k, onUnmounted as j, inject as A, provide as F, nextTick as M } from "vue";
|
|
2
2
|
const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "strand-btn__spinner",
|
|
5
5
|
"aria-hidden": "true"
|
|
6
|
-
}, da = /* @__PURE__ */
|
|
6
|
+
}, da = /* @__PURE__ */ h({
|
|
7
7
|
__name: "Button",
|
|
8
8
|
props: {
|
|
9
9
|
variant: { default: "primary" },
|
|
@@ -16,7 +16,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
16
16
|
},
|
|
17
17
|
emits: ["click"],
|
|
18
18
|
setup(e, { emit: t }) {
|
|
19
|
-
const a = e,
|
|
19
|
+
const a = e, n = t, s = c(() => a.disabled || a.loading), i = c(
|
|
20
20
|
() => [
|
|
21
21
|
"strand-btn",
|
|
22
22
|
`strand-btn--${a.variant}`,
|
|
@@ -26,23 +26,23 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
26
26
|
a.loading && "strand-btn--loading"
|
|
27
27
|
].filter(Boolean).join(" ")
|
|
28
28
|
);
|
|
29
|
-
function
|
|
30
|
-
s.value ||
|
|
29
|
+
function o(d) {
|
|
30
|
+
s.value || n("click", d);
|
|
31
31
|
}
|
|
32
|
-
return (d, m) => (
|
|
32
|
+
return (d, m) => (l(), r("button", {
|
|
33
33
|
type: e.type,
|
|
34
|
-
class: b(
|
|
34
|
+
class: b(i.value),
|
|
35
35
|
disabled: s.value,
|
|
36
36
|
"aria-disabled": s.value ? "true" : void 0,
|
|
37
37
|
"aria-busy": e.loading ? "true" : void 0,
|
|
38
|
-
onClick:
|
|
38
|
+
onClick: o
|
|
39
39
|
}, [
|
|
40
|
-
e.loading ? (
|
|
40
|
+
e.loading ? (l(), r("span", P)) : g("", !0),
|
|
41
41
|
f("span", {
|
|
42
42
|
class: "strand-btn__content",
|
|
43
43
|
style: S(e.loading ? { visibility: "hidden" } : void 0)
|
|
44
44
|
}, [
|
|
45
|
-
|
|
45
|
+
y(d.$slots, "default")
|
|
46
46
|
], 4)
|
|
47
47
|
], 10, K));
|
|
48
48
|
}
|
|
@@ -54,7 +54,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
54
54
|
key: 1,
|
|
55
55
|
class: "strand-input__trailing",
|
|
56
56
|
"aria-hidden": "true"
|
|
57
|
-
}, ca = /* @__PURE__ */
|
|
57
|
+
}, ca = /* @__PURE__ */ h({
|
|
58
58
|
__name: "Input",
|
|
59
59
|
props: {
|
|
60
60
|
type: { default: "text" },
|
|
@@ -64,7 +64,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
64
64
|
},
|
|
65
65
|
emits: ["update:modelValue"],
|
|
66
66
|
setup(e, { emit: t }) {
|
|
67
|
-
const a = e,
|
|
67
|
+
const a = e, n = t, s = D(), i = c(
|
|
68
68
|
() => [
|
|
69
69
|
"strand-input",
|
|
70
70
|
a.error && "strand-input--error",
|
|
@@ -73,15 +73,15 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
73
73
|
!!s.trailing && "strand-input--has-trailing"
|
|
74
74
|
].filter(Boolean).join(" ")
|
|
75
75
|
);
|
|
76
|
-
function
|
|
76
|
+
function o(d) {
|
|
77
77
|
const m = d.target;
|
|
78
|
-
|
|
78
|
+
n("update:modelValue", m.value);
|
|
79
79
|
}
|
|
80
|
-
return (d, m) => (
|
|
81
|
-
class: b(
|
|
80
|
+
return (d, m) => (l(), r("div", {
|
|
81
|
+
class: b(i.value)
|
|
82
82
|
}, [
|
|
83
|
-
d.$slots.leading ? (
|
|
84
|
-
|
|
83
|
+
d.$slots.leading ? (l(), r("span", U, [
|
|
84
|
+
y(d.$slots, "leading")
|
|
85
85
|
])) : g("", !0),
|
|
86
86
|
f("input", {
|
|
87
87
|
type: e.type,
|
|
@@ -89,10 +89,10 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
89
89
|
disabled: e.disabled,
|
|
90
90
|
"aria-invalid": e.error ? "true" : void 0,
|
|
91
91
|
value: e.modelValue,
|
|
92
|
-
onInput:
|
|
92
|
+
onInput: o
|
|
93
93
|
}, null, 40, q),
|
|
94
|
-
d.$slots.trailing ? (
|
|
95
|
-
|
|
94
|
+
d.$slots.trailing ? (l(), r("span", G, [
|
|
95
|
+
y(d.$slots, "trailing")
|
|
96
96
|
])) : g("", !0)
|
|
97
97
|
], 2));
|
|
98
98
|
}
|
|
@@ -100,7 +100,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
100
100
|
key: 0,
|
|
101
101
|
class: "strand-textarea__count",
|
|
102
102
|
"aria-live": "polite"
|
|
103
|
-
}, ua = /* @__PURE__ */
|
|
103
|
+
}, ua = /* @__PURE__ */ h({
|
|
104
104
|
__name: "Textarea",
|
|
105
105
|
props: {
|
|
106
106
|
autoResize: { type: Boolean, default: !1 },
|
|
@@ -112,29 +112,29 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
112
112
|
},
|
|
113
113
|
emits: ["update:modelValue"],
|
|
114
114
|
setup(e, { emit: t }) {
|
|
115
|
-
const a = e,
|
|
115
|
+
const a = e, n = t, s = w(null), i = c(
|
|
116
116
|
() => [
|
|
117
117
|
"strand-textarea",
|
|
118
118
|
a.error && "strand-textarea--error",
|
|
119
119
|
a.disabled && "strand-textarea--disabled",
|
|
120
120
|
a.autoResize && "strand-textarea--auto-resize"
|
|
121
121
|
].filter(Boolean).join(" ")
|
|
122
|
-
),
|
|
122
|
+
), o = c(
|
|
123
123
|
() => typeof a.modelValue == "string" ? a.modelValue.length : 0
|
|
124
124
|
);
|
|
125
125
|
function d() {
|
|
126
126
|
a.autoResize && s.value && (s.value.style.height = "auto", s.value.style.height = `${s.value.scrollHeight}px`);
|
|
127
127
|
}
|
|
128
128
|
function m(v) {
|
|
129
|
-
const
|
|
130
|
-
|
|
129
|
+
const u = v.target;
|
|
130
|
+
n("update:modelValue", u.value), d();
|
|
131
131
|
}
|
|
132
|
-
return
|
|
132
|
+
return I(() => a.modelValue, () => {
|
|
133
133
|
d();
|
|
134
|
-
}),
|
|
134
|
+
}), E(() => {
|
|
135
135
|
d();
|
|
136
|
-
}), (v,
|
|
137
|
-
class: b(
|
|
136
|
+
}), (v, u) => (l(), r("div", {
|
|
137
|
+
class: b(i.value)
|
|
138
138
|
}, [
|
|
139
139
|
f("textarea", {
|
|
140
140
|
ref_key: "textareaRef",
|
|
@@ -146,14 +146,14 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
146
146
|
value: e.modelValue,
|
|
147
147
|
onInput: m
|
|
148
148
|
}, null, 40, W),
|
|
149
|
-
e.showCount && e.maxLength != null ? (
|
|
149
|
+
e.showCount && e.maxLength != null ? (l(), r("span", H, _(o.value) + "/" + _(e.maxLength), 1)) : g("", !0)
|
|
150
150
|
], 2));
|
|
151
151
|
}
|
|
152
152
|
}), Z = ["value", "disabled", "aria-invalid"], J = {
|
|
153
153
|
key: 0,
|
|
154
154
|
value: "",
|
|
155
155
|
disabled: ""
|
|
156
|
-
}, Q = ["value"], fa = /* @__PURE__ */
|
|
156
|
+
}, Q = ["value"], fa = /* @__PURE__ */ h({
|
|
157
157
|
__name: "Select",
|
|
158
158
|
props: {
|
|
159
159
|
options: {},
|
|
@@ -164,18 +164,18 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
164
164
|
},
|
|
165
165
|
emits: ["update:modelValue"],
|
|
166
166
|
setup(e, { emit: t }) {
|
|
167
|
-
const a = e,
|
|
167
|
+
const a = e, n = t, s = c(
|
|
168
168
|
() => [
|
|
169
169
|
"strand-select",
|
|
170
170
|
a.error && "strand-select--error",
|
|
171
171
|
a.disabled && "strand-select--disabled"
|
|
172
172
|
].filter(Boolean).join(" ")
|
|
173
173
|
);
|
|
174
|
-
function o
|
|
175
|
-
const d =
|
|
176
|
-
|
|
174
|
+
function i(o) {
|
|
175
|
+
const d = o.target;
|
|
176
|
+
n("update:modelValue", d.value);
|
|
177
177
|
}
|
|
178
|
-
return (
|
|
178
|
+
return (o, d) => (l(), r("div", {
|
|
179
179
|
class: b(s.value)
|
|
180
180
|
}, [
|
|
181
181
|
f("select", {
|
|
@@ -183,13 +183,13 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
183
183
|
value: e.modelValue,
|
|
184
184
|
disabled: e.disabled,
|
|
185
185
|
"aria-invalid": e.error ? "true" : void 0,
|
|
186
|
-
onChange:
|
|
186
|
+
onChange: i
|
|
187
187
|
}, [
|
|
188
|
-
e.placeholder ? (
|
|
189
|
-
(
|
|
188
|
+
e.placeholder ? (l(), r("option", J, _(e.placeholder), 1)) : g("", !0),
|
|
189
|
+
(l(!0), r(B, null, C(e.options, (m) => (l(), r("option", {
|
|
190
190
|
key: m.value,
|
|
191
191
|
value: m.value
|
|
192
|
-
},
|
|
192
|
+
}, _(m.label), 9, Q))), 128))
|
|
193
193
|
], 40, Z),
|
|
194
194
|
d[0] || (d[0] = f("span", {
|
|
195
195
|
class: "strand-select__arrow",
|
|
@@ -213,7 +213,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
213
213
|
}, te = {
|
|
214
214
|
key: 0,
|
|
215
215
|
class: "strand-checkbox__label"
|
|
216
|
-
}, va = /* @__PURE__ */
|
|
216
|
+
}, va = /* @__PURE__ */ h({
|
|
217
217
|
__name: "Checkbox",
|
|
218
218
|
props: {
|
|
219
219
|
checked: { type: Boolean, default: !1 },
|
|
@@ -223,30 +223,30 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
223
223
|
},
|
|
224
224
|
emits: ["change"],
|
|
225
225
|
setup(e, { emit: t }) {
|
|
226
|
-
const a = e,
|
|
227
|
-
|
|
226
|
+
const a = e, n = t, s = w(null);
|
|
227
|
+
E(() => {
|
|
228
228
|
s.value && (s.value.indeterminate = a.indeterminate);
|
|
229
|
-
}),
|
|
229
|
+
}), I(() => a.indeterminate, (v) => {
|
|
230
230
|
s.value && (s.value.indeterminate = v);
|
|
231
231
|
});
|
|
232
|
-
const
|
|
232
|
+
const i = c(
|
|
233
233
|
() => [
|
|
234
234
|
"strand-checkbox",
|
|
235
235
|
a.checked && "strand-checkbox--checked",
|
|
236
236
|
a.indeterminate && "strand-checkbox--indeterminate",
|
|
237
237
|
a.disabled && "strand-checkbox--disabled"
|
|
238
238
|
].filter(Boolean).join(" ")
|
|
239
|
-
),
|
|
239
|
+
), o = c(
|
|
240
240
|
() => a.indeterminate ? "mixed" : a.checked ? "true" : "false"
|
|
241
241
|
);
|
|
242
242
|
function d(v) {
|
|
243
|
-
a.disabled ||
|
|
243
|
+
a.disabled || n("change", v);
|
|
244
244
|
}
|
|
245
245
|
function m(v) {
|
|
246
246
|
v.key === " " && !a.disabled && (v.preventDefault(), s.value && s.value.click());
|
|
247
247
|
}
|
|
248
|
-
return (v,
|
|
249
|
-
class: b(
|
|
248
|
+
return (v, u) => (l(), r("label", {
|
|
249
|
+
class: b(i.value),
|
|
250
250
|
onKeydown: m
|
|
251
251
|
}, [
|
|
252
252
|
f("input", {
|
|
@@ -256,12 +256,12 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
256
256
|
class: "strand-checkbox__native",
|
|
257
257
|
checked: e.checked,
|
|
258
258
|
disabled: e.disabled,
|
|
259
|
-
"aria-checked":
|
|
259
|
+
"aria-checked": o.value,
|
|
260
260
|
role: "checkbox",
|
|
261
261
|
onChange: d
|
|
262
262
|
}, null, 40, X),
|
|
263
263
|
f("span", Y, [
|
|
264
|
-
e.indeterminate ? (
|
|
264
|
+
e.indeterminate ? (l(), r("svg", ee, [...u[0] || (u[0] = [
|
|
265
265
|
f("line", {
|
|
266
266
|
x1: "4",
|
|
267
267
|
y1: "8",
|
|
@@ -271,7 +271,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
271
271
|
"stroke-width": "2",
|
|
272
272
|
"stroke-linecap": "round"
|
|
273
273
|
}, null, -1)
|
|
274
|
-
])])) : e.checked ? (
|
|
274
|
+
])])) : e.checked ? (l(), r("svg", ae, [...u[1] || (u[1] = [
|
|
275
275
|
f("path", {
|
|
276
276
|
d: "M3.5 8L6.5 11L12.5 5",
|
|
277
277
|
stroke: "currentColor",
|
|
@@ -281,13 +281,13 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
281
281
|
}, null, -1)
|
|
282
282
|
])])) : g("", !0)
|
|
283
283
|
]),
|
|
284
|
-
e.label ? (
|
|
284
|
+
e.label ? (l(), r("span", te, _(e.label), 1)) : g("", !0)
|
|
285
285
|
], 34));
|
|
286
286
|
}
|
|
287
287
|
}), se = ["checked", "disabled", "name", "value"], ne = {
|
|
288
288
|
key: 0,
|
|
289
289
|
class: "strand-radio__label"
|
|
290
|
-
}, ma = /* @__PURE__ */
|
|
290
|
+
}, ma = /* @__PURE__ */ h({
|
|
291
291
|
__name: "Radio",
|
|
292
292
|
props: {
|
|
293
293
|
checked: { type: Boolean, default: !1 },
|
|
@@ -298,17 +298,17 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
298
298
|
},
|
|
299
299
|
emits: ["change"],
|
|
300
300
|
setup(e, { emit: t }) {
|
|
301
|
-
const a = e,
|
|
301
|
+
const a = e, n = t, s = c(
|
|
302
302
|
() => [
|
|
303
303
|
"strand-radio",
|
|
304
304
|
a.checked && "strand-radio--checked",
|
|
305
305
|
a.disabled && "strand-radio--disabled"
|
|
306
306
|
].filter(Boolean).join(" ")
|
|
307
307
|
);
|
|
308
|
-
function o
|
|
309
|
-
a.disabled ||
|
|
308
|
+
function i(o) {
|
|
309
|
+
a.disabled || n("change", o);
|
|
310
310
|
}
|
|
311
|
-
return (
|
|
311
|
+
return (o, d) => (l(), r("label", {
|
|
312
312
|
class: b(s.value)
|
|
313
313
|
}, [
|
|
314
314
|
f("input", {
|
|
@@ -318,7 +318,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
318
318
|
disabled: e.disabled,
|
|
319
319
|
name: e.name,
|
|
320
320
|
value: e.value,
|
|
321
|
-
onChange:
|
|
321
|
+
onChange: i
|
|
322
322
|
}, null, 40, se),
|
|
323
323
|
d[0] || (d[0] = f("span", {
|
|
324
324
|
class: "strand-radio__control",
|
|
@@ -326,13 +326,13 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
326
326
|
}, [
|
|
327
327
|
f("span", { class: "strand-radio__dot" })
|
|
328
328
|
], -1)),
|
|
329
|
-
e.label ? (
|
|
329
|
+
e.label ? (l(), r("span", ne, _(e.label), 1)) : g("", !0)
|
|
330
330
|
], 2));
|
|
331
331
|
}
|
|
332
332
|
}), le = ["aria-checked", "disabled"], re = {
|
|
333
333
|
key: 0,
|
|
334
334
|
class: "strand-switch__label"
|
|
335
|
-
}, ha = /* @__PURE__ */
|
|
335
|
+
}, ha = /* @__PURE__ */ h({
|
|
336
336
|
__name: "Switch",
|
|
337
337
|
props: {
|
|
338
338
|
checked: { type: Boolean, default: !1 },
|
|
@@ -341,20 +341,20 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
341
341
|
},
|
|
342
342
|
emits: ["change"],
|
|
343
343
|
setup(e, { emit: t }) {
|
|
344
|
-
const a = e,
|
|
344
|
+
const a = e, n = t, s = c(
|
|
345
345
|
() => [
|
|
346
346
|
"strand-switch",
|
|
347
347
|
a.checked && "strand-switch--checked",
|
|
348
348
|
a.disabled && "strand-switch--disabled"
|
|
349
349
|
].filter(Boolean).join(" ")
|
|
350
350
|
);
|
|
351
|
-
function
|
|
352
|
-
a.disabled ||
|
|
351
|
+
function i() {
|
|
352
|
+
a.disabled || n("change", !a.checked);
|
|
353
353
|
}
|
|
354
|
-
function
|
|
355
|
-
(d.key === " " || d.key === "Enter") && !a.disabled && (d.preventDefault(),
|
|
354
|
+
function o(d) {
|
|
355
|
+
(d.key === " " || d.key === "Enter") && !a.disabled && (d.preventDefault(), n("change", !a.checked));
|
|
356
356
|
}
|
|
357
|
-
return (d, m) => (
|
|
357
|
+
return (d, m) => (l(), r("label", {
|
|
358
358
|
class: b(s.value)
|
|
359
359
|
}, [
|
|
360
360
|
f("button", {
|
|
@@ -363,18 +363,18 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
363
363
|
class: "strand-switch__track",
|
|
364
364
|
"aria-checked": e.checked ? "true" : "false",
|
|
365
365
|
disabled: e.disabled,
|
|
366
|
-
onClick:
|
|
367
|
-
onKeydown:
|
|
366
|
+
onClick: i,
|
|
367
|
+
onKeydown: o
|
|
368
368
|
}, [...m[0] || (m[0] = [
|
|
369
369
|
f("span", {
|
|
370
370
|
class: "strand-switch__thumb",
|
|
371
371
|
"aria-hidden": "true"
|
|
372
372
|
}, null, -1)
|
|
373
373
|
])], 40, le),
|
|
374
|
-
e.label ? (
|
|
374
|
+
e.label ? (l(), r("span", re, _(e.label), 1)) : g("", !0)
|
|
375
375
|
], 2));
|
|
376
376
|
}
|
|
377
|
-
}), oe = ["min", "max", "step", "value", "disabled", "aria-valuemin", "aria-valuemax", "aria-valuenow"], _a = /* @__PURE__ */
|
|
377
|
+
}), oe = ["min", "max", "step", "value", "disabled", "aria-valuemin", "aria-valuemax", "aria-valuenow"], _a = /* @__PURE__ */ h({
|
|
378
378
|
__name: "Slider",
|
|
379
379
|
props: {
|
|
380
380
|
min: { default: 0 },
|
|
@@ -385,17 +385,17 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
385
385
|
},
|
|
386
386
|
emits: ["update:modelValue"],
|
|
387
387
|
setup(e, { emit: t }) {
|
|
388
|
-
const a = e,
|
|
388
|
+
const a = e, n = t, s = c(
|
|
389
389
|
() => [
|
|
390
390
|
"strand-slider",
|
|
391
391
|
a.disabled && "strand-slider--disabled"
|
|
392
392
|
].filter(Boolean).join(" ")
|
|
393
393
|
);
|
|
394
|
-
function o
|
|
395
|
-
const d =
|
|
396
|
-
|
|
394
|
+
function i(o) {
|
|
395
|
+
const d = o.target;
|
|
396
|
+
n("update:modelValue", Number(d.value));
|
|
397
397
|
}
|
|
398
|
-
return (
|
|
398
|
+
return (o, d) => (l(), r("div", {
|
|
399
399
|
class: b(s.value)
|
|
400
400
|
}, [
|
|
401
401
|
f("input", {
|
|
@@ -409,7 +409,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
409
409
|
"aria-valuemin": e.min,
|
|
410
410
|
"aria-valuemax": e.max,
|
|
411
411
|
"aria-valuenow": e.modelValue,
|
|
412
|
-
onInput:
|
|
412
|
+
onInput: i
|
|
413
413
|
}, null, 40, oe)
|
|
414
414
|
], 2));
|
|
415
415
|
}
|
|
@@ -417,7 +417,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
417
417
|
key: 0,
|
|
418
418
|
class: "strand-form-field__required",
|
|
419
419
|
"aria-hidden": "true"
|
|
420
|
-
}, ce = { class: "strand-form-field__control" }, ue = ["id"], fe = ["id"], ba = /* @__PURE__ */
|
|
420
|
+
}, ce = { class: "strand-form-field__control" }, ue = ["id"], fe = ["id"], ba = /* @__PURE__ */ h({
|
|
421
421
|
__name: "FormField",
|
|
422
422
|
props: {
|
|
423
423
|
label: {},
|
|
@@ -427,38 +427,38 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
427
427
|
required: { type: Boolean, default: !1 }
|
|
428
428
|
},
|
|
429
429
|
setup(e) {
|
|
430
|
-
const t = e, a =
|
|
430
|
+
const t = e, a = c(
|
|
431
431
|
() => [
|
|
432
432
|
"strand-form-field",
|
|
433
433
|
t.error && "strand-form-field--error"
|
|
434
434
|
].filter(Boolean).join(" ")
|
|
435
435
|
);
|
|
436
|
-
return (
|
|
436
|
+
return (n, s) => (l(), r("div", {
|
|
437
437
|
class: b(a.value)
|
|
438
438
|
}, [
|
|
439
439
|
f("label", {
|
|
440
440
|
class: "strand-form-field__label",
|
|
441
441
|
for: e.htmlFor
|
|
442
442
|
}, [
|
|
443
|
-
|
|
444
|
-
e.required ? (
|
|
443
|
+
R(_(e.label) + " ", 1),
|
|
444
|
+
e.required ? (l(), r("span", de, " * ")) : g("", !0)
|
|
445
445
|
], 8, ie),
|
|
446
446
|
f("div", ce, [
|
|
447
|
-
|
|
447
|
+
y(n.$slots, "default")
|
|
448
448
|
]),
|
|
449
|
-
e.error ? (
|
|
449
|
+
e.error ? (l(), r("p", {
|
|
450
450
|
key: 0,
|
|
451
451
|
class: "strand-form-field__error",
|
|
452
452
|
id: `${e.htmlFor}-error`,
|
|
453
453
|
role: "alert"
|
|
454
|
-
},
|
|
454
|
+
}, _(e.error), 9, ue)) : e.hint ? (l(), r("p", {
|
|
455
455
|
key: 1,
|
|
456
456
|
class: "strand-form-field__hint",
|
|
457
457
|
id: `${e.htmlFor}-hint`
|
|
458
|
-
},
|
|
458
|
+
}, _(e.hint), 9, fe)) : g("", !0)
|
|
459
459
|
], 2));
|
|
460
460
|
}
|
|
461
|
-
}), pa = /* @__PURE__ */
|
|
461
|
+
}), pa = /* @__PURE__ */ h({
|
|
462
462
|
__name: "Card",
|
|
463
463
|
props: {
|
|
464
464
|
variant: { default: "elevated" },
|
|
@@ -466,7 +466,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
466
466
|
className: { default: "" }
|
|
467
467
|
},
|
|
468
468
|
setup(e) {
|
|
469
|
-
const t = e, a =
|
|
469
|
+
const t = e, a = c(
|
|
470
470
|
() => [
|
|
471
471
|
"strand-card",
|
|
472
472
|
`strand-card--${t.variant}`,
|
|
@@ -474,11 +474,11 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
474
474
|
t.className
|
|
475
475
|
].filter(Boolean).join(" ")
|
|
476
476
|
);
|
|
477
|
-
return (
|
|
478
|
-
|
|
477
|
+
return (n, s) => (l(), r("div", k({ class: a.value }, n.$attrs), [
|
|
478
|
+
y(n.$slots, "default")
|
|
479
479
|
], 16));
|
|
480
480
|
}
|
|
481
|
-
}), ve = ["aria-label"], $a = /* @__PURE__ */
|
|
481
|
+
}), ve = ["aria-label"], $a = /* @__PURE__ */ h({
|
|
482
482
|
__name: "Badge",
|
|
483
483
|
props: {
|
|
484
484
|
variant: { default: "count" },
|
|
@@ -488,32 +488,32 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
488
488
|
className: { default: "" }
|
|
489
489
|
},
|
|
490
490
|
setup(e) {
|
|
491
|
-
const t = e, a =
|
|
491
|
+
const t = e, a = D(), n = c(() => !!a.default), s = c(() => t.variant === "count" ? t.count != null && t.count > t.maxCount ? `${t.maxCount}+` : t.count : null), i = c(() => {
|
|
492
492
|
if (t.variant === "dot") return "Status indicator";
|
|
493
493
|
if (t.count != null) return `${t.count} notifications`;
|
|
494
|
-
}),
|
|
494
|
+
}), o = c(
|
|
495
495
|
() => [
|
|
496
496
|
"strand-badge__indicator",
|
|
497
497
|
`strand-badge--${t.variant}`,
|
|
498
498
|
`strand-badge--${t.status}`
|
|
499
499
|
].filter(Boolean).join(" ")
|
|
500
|
-
), d =
|
|
501
|
-
() =>
|
|
500
|
+
), d = c(
|
|
501
|
+
() => n.value ? ["strand-badge", t.className].filter(Boolean).join(" ") : ["strand-badge", "strand-badge--inline", t.className].filter(Boolean).join(" ")
|
|
502
502
|
);
|
|
503
|
-
return (m, v) => (
|
|
504
|
-
|
|
503
|
+
return (m, v) => (l(), r("span", k({ class: d.value }, m.$attrs), [
|
|
504
|
+
y(m.$slots, "default"),
|
|
505
505
|
f("span", {
|
|
506
|
-
class: b(
|
|
507
|
-
"aria-label":
|
|
506
|
+
class: b(o.value),
|
|
507
|
+
"aria-label": i.value,
|
|
508
508
|
role: "status"
|
|
509
|
-
},
|
|
509
|
+
}, _(s.value), 11, ve)
|
|
510
510
|
], 16));
|
|
511
511
|
}
|
|
512
512
|
}), me = ["aria-label"], he = ["src", "alt"], _e = {
|
|
513
513
|
key: 1,
|
|
514
514
|
class: "strand-avatar__initials",
|
|
515
515
|
"aria-hidden": "true"
|
|
516
|
-
}, ga = /* @__PURE__ */
|
|
516
|
+
}, ga = /* @__PURE__ */ h({
|
|
517
517
|
__name: "Avatar",
|
|
518
518
|
props: {
|
|
519
519
|
src: {},
|
|
@@ -523,30 +523,30 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
523
523
|
className: { default: "" }
|
|
524
524
|
},
|
|
525
525
|
setup(e) {
|
|
526
|
-
const t = e, a =
|
|
526
|
+
const t = e, a = w(!1), n = () => {
|
|
527
527
|
a.value = !0;
|
|
528
|
-
}, s =
|
|
528
|
+
}, s = c(() => t.src && !a.value), i = c(() => t.initials.slice(0, 2).toUpperCase()), o = c(
|
|
529
529
|
() => [
|
|
530
530
|
"strand-avatar",
|
|
531
531
|
`strand-avatar--${t.size}`,
|
|
532
532
|
t.className
|
|
533
533
|
].filter(Boolean).join(" ")
|
|
534
534
|
);
|
|
535
|
-
return (d, m) => (
|
|
536
|
-
class:
|
|
535
|
+
return (d, m) => (l(), r("div", k({
|
|
536
|
+
class: o.value,
|
|
537
537
|
role: "img",
|
|
538
|
-
"aria-label": e.alt ||
|
|
538
|
+
"aria-label": e.alt || i.value
|
|
539
539
|
}, d.$attrs), [
|
|
540
|
-
s.value ? (
|
|
540
|
+
s.value ? (l(), r("img", {
|
|
541
541
|
key: 0,
|
|
542
542
|
class: "strand-avatar__img",
|
|
543
543
|
src: e.src,
|
|
544
544
|
alt: e.alt,
|
|
545
|
-
onError:
|
|
546
|
-
}, null, 40, he)) : (
|
|
545
|
+
onError: n
|
|
546
|
+
}, null, 40, he)) : (l(), r("span", _e, _(i.value), 1))
|
|
547
547
|
], 16, me));
|
|
548
548
|
}
|
|
549
|
-
}), be = { class: "strand-tag__text" },
|
|
549
|
+
}), be = { class: "strand-tag__text" }, ya = /* @__PURE__ */ h({
|
|
550
550
|
__name: "Tag",
|
|
551
551
|
props: {
|
|
552
552
|
variant: { default: "solid" },
|
|
@@ -556,7 +556,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
556
556
|
},
|
|
557
557
|
emits: ["remove"],
|
|
558
558
|
setup(e, { emit: t }) {
|
|
559
|
-
const a = e,
|
|
559
|
+
const a = e, n = t, s = c(
|
|
560
560
|
() => [
|
|
561
561
|
"strand-tag",
|
|
562
562
|
`strand-tag--${a.variant}`,
|
|
@@ -564,17 +564,17 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
564
564
|
a.className
|
|
565
565
|
].filter(Boolean).join(" ")
|
|
566
566
|
);
|
|
567
|
-
return (
|
|
567
|
+
return (i, o) => (l(), r("span", k({ class: s.value }, i.$attrs), [
|
|
568
568
|
f("span", be, [
|
|
569
|
-
|
|
569
|
+
y(i.$slots, "default")
|
|
570
570
|
]),
|
|
571
|
-
e.removable ? (
|
|
571
|
+
e.removable ? (l(), r("button", {
|
|
572
572
|
key: 0,
|
|
573
573
|
type: "button",
|
|
574
574
|
class: "strand-tag__remove",
|
|
575
575
|
"aria-label": "Remove",
|
|
576
|
-
onClick:
|
|
577
|
-
}, [...
|
|
576
|
+
onClick: o[0] || (o[0] = (d) => n("remove"))
|
|
577
|
+
}, [...o[1] || (o[1] = [
|
|
578
578
|
f("svg", {
|
|
579
579
|
width: "12",
|
|
580
580
|
height: "12",
|
|
@@ -592,10 +592,10 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
592
592
|
])])) : g("", !0)
|
|
593
593
|
], 16));
|
|
594
594
|
}
|
|
595
|
-
}), pe = { class: "strand-table" }, $e = { class: "strand-table__head" }, ge = ["aria-label", "onClick"],
|
|
595
|
+
}), pe = { class: "strand-table" }, $e = { class: "strand-table__head" }, ge = ["aria-label", "onClick"], ye = {
|
|
596
596
|
class: "strand-table__sort-indicator",
|
|
597
597
|
"aria-hidden": "true"
|
|
598
|
-
},
|
|
598
|
+
}, ke = { class: "strand-table__body" }, ka = /* @__PURE__ */ h({
|
|
599
599
|
__name: "Table",
|
|
600
600
|
props: {
|
|
601
601
|
columns: {},
|
|
@@ -603,57 +603,57 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
603
603
|
},
|
|
604
604
|
emits: ["sort"],
|
|
605
605
|
setup(e, { emit: t }) {
|
|
606
|
-
const a = t,
|
|
606
|
+
const a = t, n = w(null), s = w("asc"), i = c(
|
|
607
607
|
() => ["strand-table-wrapper"].filter(Boolean).join(" ")
|
|
608
608
|
);
|
|
609
|
-
function
|
|
610
|
-
const v =
|
|
611
|
-
|
|
609
|
+
function o(m) {
|
|
610
|
+
const v = n.value === m && s.value === "asc" ? "desc" : "asc";
|
|
611
|
+
n.value = m, s.value = v, a("sort", m, v);
|
|
612
612
|
}
|
|
613
613
|
function d(m) {
|
|
614
|
-
return
|
|
614
|
+
return n.value === m ? s.value === "asc" ? "↑" : "↓" : "↕";
|
|
615
615
|
}
|
|
616
|
-
return (m, v) => (
|
|
617
|
-
class: b(
|
|
616
|
+
return (m, v) => (l(), r("div", {
|
|
617
|
+
class: b(i.value)
|
|
618
618
|
}, [
|
|
619
619
|
f("table", pe, [
|
|
620
620
|
f("thead", $e, [
|
|
621
621
|
f("tr", null, [
|
|
622
|
-
(
|
|
623
|
-
key:
|
|
622
|
+
(l(!0), r(B, null, C(e.columns, (u) => (l(), r("th", {
|
|
623
|
+
key: u.key,
|
|
624
624
|
class: "strand-table__th",
|
|
625
|
-
style: S(
|
|
625
|
+
style: S(u.width ? { width: u.width } : void 0)
|
|
626
626
|
}, [
|
|
627
|
-
|
|
627
|
+
u.sortable ? (l(), r("button", {
|
|
628
628
|
key: 0,
|
|
629
629
|
type: "button",
|
|
630
630
|
class: "strand-table__sort-btn",
|
|
631
|
-
"aria-label": `Sort by ${
|
|
632
|
-
onClick: (p) =>
|
|
631
|
+
"aria-label": `Sort by ${u.header}`,
|
|
632
|
+
onClick: (p) => o(u.key)
|
|
633
633
|
}, [
|
|
634
|
-
|
|
635
|
-
f("span",
|
|
636
|
-
], 8, ge)) : (
|
|
637
|
-
|
|
634
|
+
R(_(u.header) + " ", 1),
|
|
635
|
+
f("span", ye, _(d(u.key)), 1)
|
|
636
|
+
], 8, ge)) : (l(), r(B, { key: 1 }, [
|
|
637
|
+
R(_(u.header), 1)
|
|
638
638
|
], 64))
|
|
639
639
|
], 4))), 128))
|
|
640
640
|
])
|
|
641
641
|
]),
|
|
642
|
-
f("tbody",
|
|
643
|
-
(
|
|
642
|
+
f("tbody", ke, [
|
|
643
|
+
(l(!0), r(B, null, C(e.data, (u, p) => (l(), r("tr", {
|
|
644
644
|
key: p,
|
|
645
645
|
class: "strand-table__row"
|
|
646
646
|
}, [
|
|
647
|
-
(
|
|
647
|
+
(l(!0), r(B, null, C(e.columns, ($) => (l(), r("td", {
|
|
648
648
|
key: $.key,
|
|
649
649
|
class: "strand-table__td"
|
|
650
|
-
},
|
|
650
|
+
}, _(u[$.key]), 1))), 128))
|
|
651
651
|
]))), 128))
|
|
652
652
|
])
|
|
653
653
|
])
|
|
654
654
|
], 2));
|
|
655
655
|
}
|
|
656
|
-
}), Be = { class: "strand-data-readout__label" }, we = { class: "strand-data-readout__value" }, Ba = /* @__PURE__ */
|
|
656
|
+
}), Be = { class: "strand-data-readout__label" }, we = { class: "strand-data-readout__value" }, Ba = /* @__PURE__ */ h({
|
|
657
657
|
__name: "DataReadout",
|
|
658
658
|
props: {
|
|
659
659
|
label: {},
|
|
@@ -662,22 +662,22 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
662
662
|
className: { default: "" }
|
|
663
663
|
},
|
|
664
664
|
setup(e) {
|
|
665
|
-
const t = e, a =
|
|
665
|
+
const t = e, a = c(
|
|
666
666
|
() => [
|
|
667
667
|
"strand-data-readout",
|
|
668
668
|
t.size && t.size !== "md" ? `strand-data-readout--${t.size}` : "",
|
|
669
669
|
t.className
|
|
670
670
|
].filter(Boolean).join(" ")
|
|
671
671
|
);
|
|
672
|
-
return (
|
|
673
|
-
f("span", Be,
|
|
674
|
-
f("span", we,
|
|
672
|
+
return (n, s) => (l(), r("div", k({ class: a.value }, n.$attrs), [
|
|
673
|
+
f("span", Be, _(e.label), 1),
|
|
674
|
+
f("span", we, _(e.value), 1)
|
|
675
675
|
], 16));
|
|
676
676
|
}
|
|
677
|
-
}),
|
|
677
|
+
}), Ce = {
|
|
678
678
|
key: 0,
|
|
679
679
|
class: "strand-code-block__label"
|
|
680
|
-
},
|
|
680
|
+
}, xe = { class: "strand-code-block__pre" }, wa = /* @__PURE__ */ h({
|
|
681
681
|
__name: "CodeBlock",
|
|
682
682
|
props: {
|
|
683
683
|
code: {},
|
|
@@ -685,17 +685,17 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
685
685
|
className: { default: "" }
|
|
686
686
|
},
|
|
687
687
|
setup(e) {
|
|
688
|
-
const t = e, a =
|
|
688
|
+
const t = e, a = c(
|
|
689
689
|
() => ["strand-code-block", t.className].filter(Boolean).join(" ")
|
|
690
690
|
);
|
|
691
|
-
return (
|
|
692
|
-
e.language ? (
|
|
693
|
-
f("pre",
|
|
694
|
-
f("code", null,
|
|
691
|
+
return (n, s) => (l(), r("div", k({ class: a.value }, n.$attrs), [
|
|
692
|
+
e.language ? (l(), r("span", Ce, _(e.language), 1)) : g("", !0),
|
|
693
|
+
f("pre", xe, [
|
|
694
|
+
f("code", null, _(e.code), 1)
|
|
695
695
|
])
|
|
696
696
|
], 16));
|
|
697
697
|
}
|
|
698
|
-
}),
|
|
698
|
+
}), Ca = /* @__PURE__ */ h({
|
|
699
699
|
__name: "Stack",
|
|
700
700
|
props: {
|
|
701
701
|
direction: { default: "vertical" },
|
|
@@ -706,7 +706,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
706
706
|
className: { default: "" }
|
|
707
707
|
},
|
|
708
708
|
setup(e) {
|
|
709
|
-
const t = e, a =
|
|
709
|
+
const t = e, a = c(
|
|
710
710
|
() => [
|
|
711
711
|
"strand-stack",
|
|
712
712
|
`strand-stack--${t.direction}`,
|
|
@@ -715,17 +715,17 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
715
715
|
t.wrap && "strand-stack--wrap",
|
|
716
716
|
t.className
|
|
717
717
|
].filter(Boolean).join(" ")
|
|
718
|
-
),
|
|
718
|
+
), n = c(() => ({
|
|
719
719
|
gap: `var(--strand-space-${t.gap})`
|
|
720
720
|
}));
|
|
721
|
-
return (s,
|
|
721
|
+
return (s, i) => (l(), r("div", k({
|
|
722
722
|
class: a.value,
|
|
723
|
-
style:
|
|
723
|
+
style: n.value
|
|
724
724
|
}, s.$attrs), [
|
|
725
|
-
|
|
725
|
+
y(s.$slots, "default")
|
|
726
726
|
], 16));
|
|
727
727
|
}
|
|
728
|
-
}),
|
|
728
|
+
}), xa = /* @__PURE__ */ h({
|
|
729
729
|
__name: "Grid",
|
|
730
730
|
props: {
|
|
731
731
|
columns: { default: 1 },
|
|
@@ -733,38 +733,38 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
733
733
|
className: { default: "" }
|
|
734
734
|
},
|
|
735
735
|
setup(e) {
|
|
736
|
-
const t = e, a =
|
|
736
|
+
const t = e, a = c(
|
|
737
737
|
() => ["strand-grid", t.className].filter(Boolean).join(" ")
|
|
738
|
-
),
|
|
738
|
+
), n = c(() => ({
|
|
739
739
|
gridTemplateColumns: `repeat(${t.columns}, 1fr)`,
|
|
740
740
|
gap: `var(--strand-space-${t.gap})`
|
|
741
741
|
}));
|
|
742
|
-
return (s,
|
|
742
|
+
return (s, i) => (l(), r("div", k({
|
|
743
743
|
class: a.value,
|
|
744
|
-
style:
|
|
744
|
+
style: n.value
|
|
745
745
|
}, s.$attrs), [
|
|
746
|
-
|
|
746
|
+
y(s.$slots, "default")
|
|
747
747
|
], 16));
|
|
748
748
|
}
|
|
749
|
-
}),
|
|
749
|
+
}), Na = /* @__PURE__ */ h({
|
|
750
750
|
__name: "Container",
|
|
751
751
|
props: {
|
|
752
752
|
size: { default: "default" },
|
|
753
753
|
className: { default: "" }
|
|
754
754
|
},
|
|
755
755
|
setup(e) {
|
|
756
|
-
const t = e, a =
|
|
756
|
+
const t = e, a = c(
|
|
757
757
|
() => [
|
|
758
758
|
"strand-container",
|
|
759
759
|
`strand-container--${t.size}`,
|
|
760
760
|
t.className
|
|
761
761
|
].filter(Boolean).join(" ")
|
|
762
762
|
);
|
|
763
|
-
return (
|
|
764
|
-
|
|
763
|
+
return (n, s) => (l(), r("div", k({ class: a.value }, n.$attrs), [
|
|
764
|
+
y(n.$slots, "default")
|
|
765
765
|
], 16));
|
|
766
766
|
}
|
|
767
|
-
}),
|
|
767
|
+
}), Ne = { class: "strand-divider__label" }, ja = /* @__PURE__ */ h({
|
|
768
768
|
__name: "Divider",
|
|
769
769
|
props: {
|
|
770
770
|
direction: { default: "horizontal" },
|
|
@@ -772,31 +772,31 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
772
772
|
className: { default: "" }
|
|
773
773
|
},
|
|
774
774
|
setup(e) {
|
|
775
|
-
const t = e, a =
|
|
776
|
-
|
|
777
|
-
const s =
|
|
778
|
-
return (
|
|
775
|
+
const t = e, a = c(() => t.direction === "vertical"), n = c(() => !a.value && !!t.label);
|
|
776
|
+
c(() => !a.value && !t.label);
|
|
777
|
+
const s = c(() => a.value ? ["strand-divider", "strand-divider--vertical", t.className].filter(Boolean).join(" ") : n.value ? ["strand-divider", "strand-divider--horizontal", "strand-divider--labeled", t.className].filter(Boolean).join(" ") : ["strand-divider", "strand-divider--horizontal", t.className].filter(Boolean).join(" "));
|
|
778
|
+
return (i, o) => a.value ? (l(), r("div", {
|
|
779
779
|
key: 0,
|
|
780
780
|
class: b(s.value),
|
|
781
781
|
role: "separator",
|
|
782
782
|
"aria-orientation": "vertical"
|
|
783
|
-
}, null, 2)) :
|
|
783
|
+
}, null, 2)) : n.value ? (l(), r("div", {
|
|
784
784
|
key: 1,
|
|
785
785
|
class: b(s.value),
|
|
786
786
|
role: "separator",
|
|
787
787
|
"aria-orientation": "horizontal"
|
|
788
788
|
}, [
|
|
789
|
-
|
|
790
|
-
f("span",
|
|
791
|
-
|
|
792
|
-
], 2)) : (
|
|
789
|
+
o[0] || (o[0] = f("span", { class: "strand-divider__line" }, null, -1)),
|
|
790
|
+
f("span", Ne, _(e.label), 1),
|
|
791
|
+
o[1] || (o[1] = f("span", { class: "strand-divider__line" }, null, -1))
|
|
792
|
+
], 2)) : (l(), r("hr", {
|
|
793
793
|
key: 2,
|
|
794
794
|
class: b(s.value),
|
|
795
795
|
role: "separator",
|
|
796
796
|
"aria-orientation": "horizontal"
|
|
797
797
|
}, null, 2));
|
|
798
798
|
}
|
|
799
|
-
}), Ta = /* @__PURE__ */
|
|
799
|
+
}), Ta = /* @__PURE__ */ h({
|
|
800
800
|
__name: "Section",
|
|
801
801
|
props: {
|
|
802
802
|
variant: { default: "standard" },
|
|
@@ -804,7 +804,7 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
804
804
|
className: { default: "" }
|
|
805
805
|
},
|
|
806
806
|
setup(e) {
|
|
807
|
-
const t = e, a =
|
|
807
|
+
const t = e, a = c(
|
|
808
808
|
() => [
|
|
809
809
|
"strand-section",
|
|
810
810
|
`strand-section--${t.variant}`,
|
|
@@ -812,11 +812,64 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
812
812
|
t.className
|
|
813
813
|
].filter(Boolean).join(" ")
|
|
814
814
|
);
|
|
815
|
-
return (
|
|
816
|
-
|
|
815
|
+
return (n, s) => (l(), r("section", k({ class: a.value }, n.$attrs), [
|
|
816
|
+
y(n.$slots, "default")
|
|
817
|
+
], 16));
|
|
818
|
+
}
|
|
819
|
+
}), Ra = /* @__PURE__ */ h({
|
|
820
|
+
__name: "InstrumentViewport",
|
|
821
|
+
props: {
|
|
822
|
+
grid: { type: Boolean, default: !1 },
|
|
823
|
+
className: { default: "" }
|
|
824
|
+
},
|
|
825
|
+
setup(e) {
|
|
826
|
+
const t = e, a = c(
|
|
827
|
+
() => [
|
|
828
|
+
"strand-instrument-viewport",
|
|
829
|
+
t.grid && "strand-instrument-viewport--grid",
|
|
830
|
+
t.className
|
|
831
|
+
].filter(Boolean).join(" ")
|
|
832
|
+
);
|
|
833
|
+
return (n, s) => (l(), r("div", k({ class: a.value }, n.$attrs), [
|
|
834
|
+
y(n.$slots, "default")
|
|
817
835
|
], 16));
|
|
818
836
|
}
|
|
819
|
-
}),
|
|
837
|
+
}), Sa = /* @__PURE__ */ h({
|
|
838
|
+
__name: "ScrollReveal",
|
|
839
|
+
props: {
|
|
840
|
+
threshold: { default: 0.1 },
|
|
841
|
+
once: { type: Boolean, default: !0 },
|
|
842
|
+
className: { default: "" }
|
|
843
|
+
},
|
|
844
|
+
setup(e) {
|
|
845
|
+
const t = e, a = w(null), n = w(!1);
|
|
846
|
+
let s = null;
|
|
847
|
+
const i = c(
|
|
848
|
+
() => [
|
|
849
|
+
"strand-reveal",
|
|
850
|
+
n.value && "strand-reveal--visible",
|
|
851
|
+
t.className
|
|
852
|
+
].filter(Boolean).join(" ")
|
|
853
|
+
);
|
|
854
|
+
return E(() => {
|
|
855
|
+
a.value && (s = new IntersectionObserver(
|
|
856
|
+
(o) => {
|
|
857
|
+
for (const d of o)
|
|
858
|
+
d.isIntersecting ? (n.value = !0, t.once && s && a.value && s.unobserve(a.value)) : t.once || (n.value = !1);
|
|
859
|
+
},
|
|
860
|
+
{ threshold: t.threshold }
|
|
861
|
+
), s.observe(a.value));
|
|
862
|
+
}), j(() => {
|
|
863
|
+
s && (s.disconnect(), s = null);
|
|
864
|
+
}), (o, d) => (l(), r("div", k({
|
|
865
|
+
ref_key: "elRef",
|
|
866
|
+
ref: a,
|
|
867
|
+
class: i.value
|
|
868
|
+
}, o.$attrs), [
|
|
869
|
+
y(o.$slots, "default")
|
|
870
|
+
], 16));
|
|
871
|
+
}
|
|
872
|
+
}), je = ["href"], Ia = /* @__PURE__ */ h({
|
|
820
873
|
__name: "Link",
|
|
821
874
|
props: {
|
|
822
875
|
href: {},
|
|
@@ -824,20 +877,20 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
824
877
|
className: { default: "" }
|
|
825
878
|
},
|
|
826
879
|
setup(e) {
|
|
827
|
-
const t = e, a =
|
|
880
|
+
const t = e, a = c(
|
|
828
881
|
() => ["strand-link", t.className].filter(Boolean).join(" ")
|
|
829
882
|
);
|
|
830
|
-
return (
|
|
883
|
+
return (n, s) => (l(), r("a", k({
|
|
831
884
|
href: e.href,
|
|
832
885
|
class: a.value
|
|
833
886
|
}, {
|
|
834
887
|
...e.external ? { target: "_blank", rel: "noopener noreferrer" } : {},
|
|
835
|
-
...
|
|
888
|
+
...n.$attrs
|
|
836
889
|
}), [
|
|
837
|
-
|
|
838
|
-
], 16,
|
|
890
|
+
y(n.$slots, "default")
|
|
891
|
+
], 16, je));
|
|
839
892
|
}
|
|
840
|
-
}), Te = ["id", "aria-selected", "aria-controls", "tabindex", "onClick"],
|
|
893
|
+
}), Te = ["id", "aria-selected", "aria-controls", "tabindex", "onClick"], Re = ["id", "aria-labelledby", "hidden"], Ea = /* @__PURE__ */ h({
|
|
841
894
|
__name: "Tabs",
|
|
842
895
|
props: {
|
|
843
896
|
tabs: {},
|
|
@@ -845,39 +898,39 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
845
898
|
},
|
|
846
899
|
emits: ["change"],
|
|
847
900
|
setup(e, { emit: t }) {
|
|
848
|
-
const a = e,
|
|
849
|
-
function
|
|
850
|
-
var
|
|
901
|
+
const a = e, n = t, s = w(null), i = c(() => ["strand-tabs"].filter(Boolean).join(" "));
|
|
902
|
+
function o(m) {
|
|
903
|
+
var u, p;
|
|
851
904
|
const v = a.tabs[m];
|
|
852
905
|
if (v) {
|
|
853
|
-
|
|
854
|
-
const $ = (
|
|
906
|
+
n("change", v.id);
|
|
907
|
+
const $ = (u = s.value) == null ? void 0 : u.querySelectorAll('[role="tab"]');
|
|
855
908
|
(p = $ == null ? void 0 : $[m]) == null || p.focus();
|
|
856
909
|
}
|
|
857
910
|
}
|
|
858
911
|
function d(m) {
|
|
859
912
|
const v = a.tabs.findIndex((p) => p.id === a.activeTab);
|
|
860
|
-
let
|
|
913
|
+
let u = null;
|
|
861
914
|
switch (m.key) {
|
|
862
915
|
case "ArrowRight":
|
|
863
|
-
|
|
916
|
+
u = (v + 1) % a.tabs.length;
|
|
864
917
|
break;
|
|
865
918
|
case "ArrowLeft":
|
|
866
|
-
|
|
919
|
+
u = (v - 1 + a.tabs.length) % a.tabs.length;
|
|
867
920
|
break;
|
|
868
921
|
case "Home":
|
|
869
|
-
|
|
922
|
+
u = 0;
|
|
870
923
|
break;
|
|
871
924
|
case "End":
|
|
872
|
-
|
|
925
|
+
u = a.tabs.length - 1;
|
|
873
926
|
break;
|
|
874
927
|
default:
|
|
875
928
|
return;
|
|
876
929
|
}
|
|
877
|
-
m.preventDefault(),
|
|
930
|
+
m.preventDefault(), o(u);
|
|
878
931
|
}
|
|
879
|
-
return (m, v) => (
|
|
880
|
-
class: b(
|
|
932
|
+
return (m, v) => (l(), r("div", {
|
|
933
|
+
class: b(i.value)
|
|
881
934
|
}, [
|
|
882
935
|
f("div", {
|
|
883
936
|
ref_key: "tablistRef",
|
|
@@ -885,71 +938,71 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
885
938
|
role: "tablist",
|
|
886
939
|
onKeydown: d
|
|
887
940
|
}, [
|
|
888
|
-
(
|
|
889
|
-
key:
|
|
890
|
-
id: `tab-${
|
|
941
|
+
(l(!0), r(B, null, C(e.tabs, (u) => (l(), r("button", {
|
|
942
|
+
key: u.id,
|
|
943
|
+
id: `tab-${u.id}`,
|
|
891
944
|
role: "tab",
|
|
892
945
|
type: "button",
|
|
893
946
|
class: b([
|
|
894
947
|
"strand-tabs__tab",
|
|
895
|
-
|
|
948
|
+
u.id === e.activeTab && "strand-tabs__tab--active"
|
|
896
949
|
].filter(Boolean).join(" ")),
|
|
897
|
-
"aria-selected":
|
|
898
|
-
"aria-controls": `panel-${
|
|
899
|
-
tabindex:
|
|
900
|
-
onClick: (p) =>
|
|
901
|
-
},
|
|
950
|
+
"aria-selected": u.id === e.activeTab ? "true" : "false",
|
|
951
|
+
"aria-controls": `panel-${u.id}`,
|
|
952
|
+
tabindex: u.id === e.activeTab ? 0 : -1,
|
|
953
|
+
onClick: (p) => n("change", u.id)
|
|
954
|
+
}, _(u.label), 11, Te))), 128))
|
|
902
955
|
], 544),
|
|
903
|
-
(
|
|
904
|
-
key:
|
|
905
|
-
id: `panel-${
|
|
956
|
+
(l(!0), r(B, null, C(e.tabs, (u) => (l(), r("div", {
|
|
957
|
+
key: u.id,
|
|
958
|
+
id: `panel-${u.id}`,
|
|
906
959
|
role: "tabpanel",
|
|
907
|
-
"aria-labelledby": `tab-${
|
|
908
|
-
hidden:
|
|
960
|
+
"aria-labelledby": `tab-${u.id}`,
|
|
961
|
+
hidden: u.id !== e.activeTab || void 0,
|
|
909
962
|
tabindex: 0
|
|
910
963
|
}, [
|
|
911
|
-
|
|
912
|
-
], 8,
|
|
964
|
+
y(m.$slots, `panel-${u.id}`)
|
|
965
|
+
], 8, Re))), 128))
|
|
913
966
|
], 2));
|
|
914
967
|
}
|
|
915
|
-
}),
|
|
968
|
+
}), Se = { class: "strand-breadcrumb__list" }, Ie = {
|
|
916
969
|
key: 0,
|
|
917
970
|
class: "strand-breadcrumb__separator",
|
|
918
971
|
"aria-hidden": "true"
|
|
919
|
-
},
|
|
972
|
+
}, Ee = {
|
|
920
973
|
key: 1,
|
|
921
974
|
class: "strand-breadcrumb__current",
|
|
922
975
|
"aria-current": "page"
|
|
923
|
-
}, ze = ["href"],
|
|
976
|
+
}, ze = ["href"], za = /* @__PURE__ */ h({
|
|
924
977
|
__name: "Breadcrumb",
|
|
925
978
|
props: {
|
|
926
979
|
items: {},
|
|
927
980
|
separator: { default: "/" }
|
|
928
981
|
},
|
|
929
982
|
setup(e) {
|
|
930
|
-
const t =
|
|
983
|
+
const t = c(
|
|
931
984
|
() => ["strand-breadcrumb"].filter(Boolean).join(" ")
|
|
932
985
|
);
|
|
933
|
-
return (a,
|
|
986
|
+
return (a, n) => (l(), r("nav", {
|
|
934
987
|
"aria-label": "Breadcrumb",
|
|
935
988
|
class: b(t.value)
|
|
936
989
|
}, [
|
|
937
|
-
f("ol",
|
|
938
|
-
(
|
|
939
|
-
key: `${s.label}-${
|
|
990
|
+
f("ol", Se, [
|
|
991
|
+
(l(!0), r(B, null, C(e.items, (s, i) => (l(), r("li", {
|
|
992
|
+
key: `${s.label}-${i}`,
|
|
940
993
|
class: "strand-breadcrumb__item"
|
|
941
994
|
}, [
|
|
942
|
-
|
|
943
|
-
|
|
995
|
+
i > 0 ? (l(), r("span", Ie, _(e.separator), 1)) : g("", !0),
|
|
996
|
+
i === e.items.length - 1 ? (l(), r("span", Ee, _(s.label), 1)) : (l(), r("a", {
|
|
944
997
|
key: 2,
|
|
945
998
|
href: s.href,
|
|
946
999
|
class: "strand-breadcrumb__link"
|
|
947
|
-
},
|
|
1000
|
+
}, _(s.label), 9, ze))
|
|
948
1001
|
]))), 128))
|
|
949
1002
|
])
|
|
950
1003
|
], 2));
|
|
951
1004
|
}
|
|
952
|
-
}),
|
|
1005
|
+
}), Ve = { class: "strand-nav__inner" }, Le = {
|
|
953
1006
|
key: 0,
|
|
954
1007
|
class: "strand-nav__logo"
|
|
955
1008
|
}, De = { class: "strand-nav__items" }, Oe = ["href", "aria-current"], Ae = {
|
|
@@ -958,38 +1011,38 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
958
1011
|
}, Fe = ["aria-expanded", "aria-label"], Me = {
|
|
959
1012
|
key: 0,
|
|
960
1013
|
class: "strand-nav__mobile-menu"
|
|
961
|
-
}, Ke = ["href", "aria-current"],
|
|
1014
|
+
}, Ke = ["href", "aria-current"], Va = /* @__PURE__ */ h({
|
|
962
1015
|
__name: "Nav",
|
|
963
1016
|
props: {
|
|
964
1017
|
items: { default: () => [] }
|
|
965
1018
|
},
|
|
966
1019
|
setup(e) {
|
|
967
|
-
const t =
|
|
1020
|
+
const t = w(!1);
|
|
968
1021
|
function a() {
|
|
969
1022
|
t.value = !t.value;
|
|
970
1023
|
}
|
|
971
|
-
const
|
|
972
|
-
return (s,
|
|
973
|
-
class: b(
|
|
1024
|
+
const n = c(() => ["strand-nav"].filter(Boolean).join(" "));
|
|
1025
|
+
return (s, i) => (l(), r("nav", {
|
|
1026
|
+
class: b(n.value),
|
|
974
1027
|
"aria-label": "Main navigation"
|
|
975
1028
|
}, [
|
|
976
|
-
f("div",
|
|
977
|
-
s.$slots.logo ? (
|
|
978
|
-
|
|
1029
|
+
f("div", Ve, [
|
|
1030
|
+
s.$slots.logo ? (l(), r("div", Le, [
|
|
1031
|
+
y(s.$slots, "logo")
|
|
979
1032
|
])) : g("", !0),
|
|
980
1033
|
f("div", De, [
|
|
981
|
-
(
|
|
982
|
-
key:
|
|
983
|
-
href:
|
|
1034
|
+
(l(!0), r(B, null, C(e.items, (o) => (l(), r("a", {
|
|
1035
|
+
key: o.href,
|
|
1036
|
+
href: o.href,
|
|
984
1037
|
class: b([
|
|
985
1038
|
"strand-nav__link",
|
|
986
|
-
|
|
1039
|
+
o.active && "strand-nav__link--active"
|
|
987
1040
|
].filter(Boolean).join(" ")),
|
|
988
|
-
"aria-current":
|
|
989
|
-
},
|
|
1041
|
+
"aria-current": o.active ? "page" : void 0
|
|
1042
|
+
}, _(o.label), 11, Oe))), 128))
|
|
990
1043
|
]),
|
|
991
|
-
s.$slots.actions ? (
|
|
992
|
-
|
|
1044
|
+
s.$slots.actions ? (l(), r("div", Ae, [
|
|
1045
|
+
y(s.$slots, "actions")
|
|
993
1046
|
])) : g("", !0),
|
|
994
1047
|
f("button", {
|
|
995
1048
|
type: "button",
|
|
@@ -997,27 +1050,27 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
997
1050
|
"aria-expanded": t.value ? "true" : "false",
|
|
998
1051
|
"aria-label": t.value ? "Close menu" : "Menu",
|
|
999
1052
|
onClick: a
|
|
1000
|
-
}, [...
|
|
1053
|
+
}, [...i[0] || (i[0] = [
|
|
1001
1054
|
f("span", {
|
|
1002
1055
|
class: "strand-nav__hamburger-icon",
|
|
1003
1056
|
"aria-hidden": "true"
|
|
1004
1057
|
}, null, -1)
|
|
1005
1058
|
])], 8, Fe)
|
|
1006
1059
|
]),
|
|
1007
|
-
t.value ? (
|
|
1008
|
-
(
|
|
1009
|
-
key:
|
|
1010
|
-
href:
|
|
1060
|
+
t.value ? (l(), r("div", Me, [
|
|
1061
|
+
(l(!0), r(B, null, C(e.items, (o) => (l(), r("a", {
|
|
1062
|
+
key: o.href,
|
|
1063
|
+
href: o.href,
|
|
1011
1064
|
class: b([
|
|
1012
1065
|
"strand-nav__mobile-link",
|
|
1013
|
-
|
|
1066
|
+
o.active && "strand-nav__mobile-link--active"
|
|
1014
1067
|
].filter(Boolean).join(" ")),
|
|
1015
|
-
"aria-current":
|
|
1016
|
-
},
|
|
1068
|
+
"aria-current": o.active ? "page" : void 0
|
|
1069
|
+
}, _(o.label), 11, Ke))), 128))
|
|
1017
1070
|
])) : g("", !0)
|
|
1018
1071
|
], 2));
|
|
1019
1072
|
}
|
|
1020
|
-
}), Pe = ["aria-live"], Ue = { class: "strand-toast__status" }, qe = { class: "strand-toast__message" },
|
|
1073
|
+
}), Pe = ["aria-live"], Ue = { class: "strand-toast__status" }, qe = { class: "strand-toast__message" }, La = /* @__PURE__ */ h({
|
|
1021
1074
|
__name: "Toast",
|
|
1022
1075
|
props: {
|
|
1023
1076
|
status: { default: "info" },
|
|
@@ -1025,35 +1078,35 @@ const K = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
|
|
|
1025
1078
|
},
|
|
1026
1079
|
emits: ["dismiss"],
|
|
1027
1080
|
setup(e, { emit: t }) {
|
|
1028
|
-
const a = e,
|
|
1081
|
+
const a = e, n = t, s = c(
|
|
1029
1082
|
() => a.status === "error" || a.status === "warning"
|
|
1030
|
-
),
|
|
1083
|
+
), i = c(
|
|
1031
1084
|
() => ["strand-toast", `strand-toast--${a.status}`].filter(Boolean).join(" ")
|
|
1032
|
-
),
|
|
1085
|
+
), o = {
|
|
1033
1086
|
info: "INFO",
|
|
1034
1087
|
success: "COMPLETE",
|
|
1035
1088
|
warning: "WARNING",
|
|
1036
1089
|
error: "ERROR"
|
|
1037
|
-
}, d =
|
|
1038
|
-
return (m, v) => (
|
|
1039
|
-
class: b(
|
|
1090
|
+
}, d = c(() => o[a.status] ?? a.status.toUpperCase());
|
|
1091
|
+
return (m, v) => (l(), r("div", {
|
|
1092
|
+
class: b(i.value),
|
|
1040
1093
|
role: "status",
|
|
1041
1094
|
"aria-live": s.value ? "assertive" : "polite"
|
|
1042
1095
|
}, [
|
|
1043
|
-
f("span", Ue,
|
|
1044
|
-
f("span", qe,
|
|
1096
|
+
f("span", Ue, _(d.value), 1),
|
|
1097
|
+
f("span", qe, _(e.message), 1),
|
|
1045
1098
|
f("button", {
|
|
1046
1099
|
type: "button",
|
|
1047
1100
|
class: "strand-toast__dismiss",
|
|
1048
1101
|
"aria-label": "Dismiss",
|
|
1049
|
-
onClick: v[0] || (v[0] = (
|
|
1102
|
+
onClick: v[0] || (v[0] = (u) => n("dismiss"))
|
|
1050
1103
|
}, " × ")
|
|
1051
1104
|
], 10, Pe));
|
|
1052
1105
|
}
|
|
1053
1106
|
});
|
|
1054
1107
|
/*! Strand Vue | MIT License | dillingerstaffing.com */
|
|
1055
1108
|
const O = Symbol("StrandToast");
|
|
1056
|
-
function
|
|
1109
|
+
function Da() {
|
|
1057
1110
|
const e = A(O);
|
|
1058
1111
|
if (!e)
|
|
1059
1112
|
throw new Error("useToast must be used within a ToastProvider");
|
|
@@ -1062,35 +1115,35 @@ function La() {
|
|
|
1062
1115
|
const Ge = {
|
|
1063
1116
|
key: 0,
|
|
1064
1117
|
class: "strand-toast__container"
|
|
1065
|
-
}, We = ["aria-live"], He = { class: "strand-toast__status" }, Ze = { class: "strand-toast__message" }, Je = ["onClick"],
|
|
1118
|
+
}, We = ["aria-live"], He = { class: "strand-toast__status" }, Ze = { class: "strand-toast__message" }, Je = ["onClick"], Oa = /* @__PURE__ */ h({
|
|
1066
1119
|
__name: "ToastProvider",
|
|
1067
1120
|
setup(e) {
|
|
1068
1121
|
let t = 0;
|
|
1069
|
-
const a =
|
|
1122
|
+
const a = w([]), n = /* @__PURE__ */ new Map();
|
|
1070
1123
|
function s(v) {
|
|
1071
|
-
const
|
|
1072
|
-
|
|
1124
|
+
const u = n.get(v);
|
|
1125
|
+
u !== void 0 && (clearTimeout(u), n.delete(v)), a.value = a.value.filter((p) => p.id !== v);
|
|
1073
1126
|
}
|
|
1074
|
-
function
|
|
1075
|
-
const
|
|
1127
|
+
function i(v) {
|
|
1128
|
+
const u = {
|
|
1076
1129
|
id: ++t,
|
|
1077
1130
|
message: v.message,
|
|
1078
1131
|
status: v.status ?? "info",
|
|
1079
1132
|
duration: v.duration ?? 5e3
|
|
1080
1133
|
};
|
|
1081
|
-
if (a.value = [...a.value,
|
|
1134
|
+
if (a.value = [...a.value, u], u.duration > 0) {
|
|
1082
1135
|
const p = setTimeout(() => {
|
|
1083
|
-
s(
|
|
1084
|
-
},
|
|
1085
|
-
|
|
1136
|
+
s(u.id);
|
|
1137
|
+
}, u.duration);
|
|
1138
|
+
n.set(u.id, p);
|
|
1086
1139
|
}
|
|
1087
1140
|
}
|
|
1088
|
-
F(O, { toast:
|
|
1089
|
-
for (const v of
|
|
1141
|
+
F(O, { toast: i }), j(() => {
|
|
1142
|
+
for (const v of n.values())
|
|
1090
1143
|
clearTimeout(v);
|
|
1091
|
-
|
|
1144
|
+
n.clear();
|
|
1092
1145
|
});
|
|
1093
|
-
function
|
|
1146
|
+
function o(v) {
|
|
1094
1147
|
return v === "error" || v === "warning";
|
|
1095
1148
|
}
|
|
1096
1149
|
const d = {
|
|
@@ -1102,17 +1155,17 @@ const Ge = {
|
|
|
1102
1155
|
function m(v) {
|
|
1103
1156
|
return d[v] ?? v.toUpperCase();
|
|
1104
1157
|
}
|
|
1105
|
-
return (v,
|
|
1106
|
-
|
|
1107
|
-
a.value.length > 0 ? (
|
|
1108
|
-
(
|
|
1158
|
+
return (v, u) => (l(), r(B, null, [
|
|
1159
|
+
y(v.$slots, "default"),
|
|
1160
|
+
a.value.length > 0 ? (l(), r("div", Ge, [
|
|
1161
|
+
(l(!0), r(B, null, C(a.value, (p) => (l(), r("div", {
|
|
1109
1162
|
key: p.id,
|
|
1110
1163
|
class: b(["strand-toast", `strand-toast--${p.status}`].join(" ")),
|
|
1111
1164
|
role: "status",
|
|
1112
|
-
"aria-live":
|
|
1165
|
+
"aria-live": o(p.status) ? "assertive" : "polite"
|
|
1113
1166
|
}, [
|
|
1114
|
-
f("span", He,
|
|
1115
|
-
f("span", Ze,
|
|
1167
|
+
f("span", He, _(m(p.status)), 1),
|
|
1168
|
+
f("span", Ze, _(p.message), 1),
|
|
1116
1169
|
f("button", {
|
|
1117
1170
|
type: "button",
|
|
1118
1171
|
class: "strand-toast__dismiss",
|
|
@@ -1123,7 +1176,7 @@ const Ge = {
|
|
|
1123
1176
|
])) : g("", !0)
|
|
1124
1177
|
], 64));
|
|
1125
1178
|
}
|
|
1126
|
-
}), Qe = ["role"], Xe = { class: "strand-alert__status" }, Ye = { class: "strand-alert__content" },
|
|
1179
|
+
}), Qe = ["role"], Xe = { class: "strand-alert__status" }, Ye = { class: "strand-alert__content" }, Aa = /* @__PURE__ */ h({
|
|
1127
1180
|
__name: "Alert",
|
|
1128
1181
|
props: {
|
|
1129
1182
|
status: { default: "info" },
|
|
@@ -1131,31 +1184,31 @@ const Ge = {
|
|
|
1131
1184
|
},
|
|
1132
1185
|
emits: ["dismiss"],
|
|
1133
1186
|
setup(e, { emit: t }) {
|
|
1134
|
-
const a = e,
|
|
1187
|
+
const a = e, n = t, s = c(
|
|
1135
1188
|
() => a.status === "error" || a.status === "warning" ? "alert" : "status"
|
|
1136
|
-
),
|
|
1189
|
+
), i = c(
|
|
1137
1190
|
() => [
|
|
1138
1191
|
"strand-alert",
|
|
1139
1192
|
`strand-alert--${a.status}`
|
|
1140
1193
|
].filter(Boolean).join(" ")
|
|
1141
|
-
),
|
|
1194
|
+
), o = {
|
|
1142
1195
|
info: "INFO",
|
|
1143
1196
|
success: "COMPLETE",
|
|
1144
1197
|
warning: "WARNING",
|
|
1145
1198
|
error: "ERROR"
|
|
1146
|
-
}, d =
|
|
1199
|
+
}, d = c(() => o[a.status] ?? a.status.toUpperCase());
|
|
1147
1200
|
function m() {
|
|
1148
|
-
|
|
1201
|
+
n("dismiss");
|
|
1149
1202
|
}
|
|
1150
|
-
return (v,
|
|
1151
|
-
class: b(
|
|
1203
|
+
return (v, u) => (l(), r("div", {
|
|
1204
|
+
class: b(i.value),
|
|
1152
1205
|
role: s.value
|
|
1153
1206
|
}, [
|
|
1154
|
-
f("span", Xe,
|
|
1207
|
+
f("span", Xe, _(d.value), 1),
|
|
1155
1208
|
f("div", Ye, [
|
|
1156
|
-
|
|
1209
|
+
y(v.$slots, "default")
|
|
1157
1210
|
]),
|
|
1158
|
-
e.dismissible ? (
|
|
1211
|
+
e.dismissible ? (l(), r("button", {
|
|
1159
1212
|
key: 0,
|
|
1160
1213
|
type: "button",
|
|
1161
1214
|
class: "strand-alert__dismiss",
|
|
@@ -1167,7 +1220,7 @@ const Ge = {
|
|
|
1167
1220
|
}), ea = ["aria-labelledby"], aa = {
|
|
1168
1221
|
key: 0,
|
|
1169
1222
|
class: "strand-dialog__header"
|
|
1170
|
-
}, ta = { class: "strand-dialog__body" }, L = 'a[href], button:not(:disabled), textarea:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex]:not([tabindex="-1"])',
|
|
1223
|
+
}, ta = { class: "strand-dialog__body" }, L = 'a[href], button:not(:disabled), textarea:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex]:not([tabindex="-1"])', Fa = /* @__PURE__ */ h({
|
|
1171
1224
|
__name: "Dialog",
|
|
1172
1225
|
props: {
|
|
1173
1226
|
open: { type: Boolean },
|
|
@@ -1177,82 +1230,82 @@ const Ge = {
|
|
|
1177
1230
|
},
|
|
1178
1231
|
emits: ["close"],
|
|
1179
1232
|
setup(e, { emit: t }) {
|
|
1180
|
-
const a = e,
|
|
1233
|
+
const a = e, n = t;
|
|
1181
1234
|
let s = 0;
|
|
1182
|
-
const
|
|
1235
|
+
const i = `strand-dialog-title-${++s}`, o = w(null);
|
|
1183
1236
|
let d = null, m = "";
|
|
1184
|
-
const v =
|
|
1237
|
+
const v = c(
|
|
1185
1238
|
() => ["strand-dialog__panel"].filter(Boolean).join(" ")
|
|
1186
1239
|
);
|
|
1187
|
-
function
|
|
1240
|
+
function u($) {
|
|
1188
1241
|
if ($.key === "Escape" && a.closeOnEscape) {
|
|
1189
|
-
$.stopPropagation(),
|
|
1242
|
+
$.stopPropagation(), n("close");
|
|
1190
1243
|
return;
|
|
1191
1244
|
}
|
|
1192
1245
|
if ($.key === "Tab") {
|
|
1193
|
-
const
|
|
1194
|
-
if (!
|
|
1195
|
-
const
|
|
1196
|
-
|
|
1246
|
+
const x = o.value;
|
|
1247
|
+
if (!x) return;
|
|
1248
|
+
const N = Array.from(
|
|
1249
|
+
x.querySelectorAll(L)
|
|
1197
1250
|
);
|
|
1198
|
-
if (
|
|
1199
|
-
const
|
|
1200
|
-
$.shiftKey ? document.activeElement ===
|
|
1251
|
+
if (N.length === 0) return;
|
|
1252
|
+
const z = N[0], V = N[N.length - 1];
|
|
1253
|
+
$.shiftKey ? document.activeElement === z && ($.preventDefault(), V.focus()) : document.activeElement === V && ($.preventDefault(), z.focus());
|
|
1201
1254
|
}
|
|
1202
1255
|
}
|
|
1203
1256
|
function p($) {
|
|
1204
|
-
a.closeOnOutsideClick && $.target === $.currentTarget &&
|
|
1257
|
+
a.closeOnOutsideClick && $.target === $.currentTarget && n("close");
|
|
1205
1258
|
}
|
|
1206
|
-
return
|
|
1259
|
+
return I(
|
|
1207
1260
|
() => a.open,
|
|
1208
1261
|
async ($) => {
|
|
1209
1262
|
if ($) {
|
|
1210
1263
|
d = document.activeElement, m = document.body.style.overflow, document.body.style.overflow = "hidden", await M();
|
|
1211
|
-
const
|
|
1212
|
-
if (
|
|
1213
|
-
const
|
|
1214
|
-
|
|
1264
|
+
const x = o.value;
|
|
1265
|
+
if (x) {
|
|
1266
|
+
const N = x.querySelectorAll(L);
|
|
1267
|
+
N.length > 0 ? N[0].focus() : x.focus();
|
|
1215
1268
|
}
|
|
1216
1269
|
} else
|
|
1217
1270
|
document.body.style.overflow = m, d && d instanceof HTMLElement && d.focus();
|
|
1218
1271
|
},
|
|
1219
1272
|
{ immediate: !0 }
|
|
1220
|
-
),
|
|
1273
|
+
), j(() => {
|
|
1221
1274
|
a.open && (document.body.style.overflow = m);
|
|
1222
|
-
}), ($,
|
|
1275
|
+
}), ($, x) => e.open ? (l(), r("div", {
|
|
1223
1276
|
key: 0,
|
|
1224
1277
|
class: "strand-dialog__backdrop",
|
|
1225
1278
|
onClick: p,
|
|
1226
|
-
onKeydown:
|
|
1279
|
+
onKeydown: u
|
|
1227
1280
|
}, [
|
|
1228
1281
|
f("div", {
|
|
1229
1282
|
ref_key: "panelRef",
|
|
1230
|
-
ref:
|
|
1283
|
+
ref: o,
|
|
1231
1284
|
class: b(v.value),
|
|
1232
1285
|
role: "dialog",
|
|
1233
1286
|
"aria-modal": "true",
|
|
1234
|
-
"aria-labelledby": e.title ?
|
|
1287
|
+
"aria-labelledby": e.title ? i : void 0,
|
|
1235
1288
|
tabindex: -1
|
|
1236
1289
|
}, [
|
|
1237
|
-
e.title ? (
|
|
1290
|
+
e.title ? (l(), r("div", aa, [
|
|
1238
1291
|
f("h2", {
|
|
1239
|
-
id:
|
|
1292
|
+
id: i,
|
|
1240
1293
|
class: "strand-dialog__title"
|
|
1241
|
-
},
|
|
1294
|
+
}, _(e.title), 1)
|
|
1242
1295
|
])) : g("", !0),
|
|
1243
1296
|
f("button", {
|
|
1244
1297
|
type: "button",
|
|
1245
1298
|
class: "strand-dialog__close",
|
|
1246
1299
|
"aria-label": "Close",
|
|
1247
|
-
onClick:
|
|
1300
|
+
onClick: x[0] || (x[0] = (N) => n("close"))
|
|
1248
1301
|
}, " × "),
|
|
1249
1302
|
f("div", ta, [
|
|
1250
|
-
|
|
1303
|
+
y($.$slots, "default")
|
|
1251
1304
|
])
|
|
1252
1305
|
], 10, ea)
|
|
1253
1306
|
], 32)) : g("", !0);
|
|
1254
1307
|
}
|
|
1255
|
-
}), sa = ["aria-hidden"],
|
|
1308
|
+
}), sa = ["aria-hidden"], Ma = /* @__PURE__ */ h({
|
|
1256
1309
|
__name: "Tooltip",
|
|
1257
1310
|
props: {
|
|
1258
1311
|
content: {},
|
|
@@ -1262,46 +1315,46 @@ const Ge = {
|
|
|
1262
1315
|
setup(e) {
|
|
1263
1316
|
const t = e;
|
|
1264
1317
|
let a = 0;
|
|
1265
|
-
const
|
|
1266
|
-
let
|
|
1267
|
-
function
|
|
1268
|
-
|
|
1318
|
+
const n = `strand-tooltip-${++a}`, s = w(!1);
|
|
1319
|
+
let i = null;
|
|
1320
|
+
function o() {
|
|
1321
|
+
i = setTimeout(() => {
|
|
1269
1322
|
s.value = !0;
|
|
1270
1323
|
}, t.delay);
|
|
1271
1324
|
}
|
|
1272
1325
|
function d() {
|
|
1273
|
-
|
|
1326
|
+
i !== null && (clearTimeout(i), i = null), s.value = !1;
|
|
1274
1327
|
}
|
|
1275
|
-
|
|
1276
|
-
|
|
1328
|
+
j(() => {
|
|
1329
|
+
i !== null && clearTimeout(i);
|
|
1277
1330
|
});
|
|
1278
|
-
const m =
|
|
1331
|
+
const m = c(
|
|
1279
1332
|
() => ["strand-tooltip__wrapper"].filter(Boolean).join(" ")
|
|
1280
|
-
), v =
|
|
1333
|
+
), v = c(
|
|
1281
1334
|
() => [
|
|
1282
1335
|
"strand-tooltip",
|
|
1283
1336
|
`strand-tooltip--${t.position}`,
|
|
1284
1337
|
s.value && "strand-tooltip--visible"
|
|
1285
1338
|
].filter(Boolean).join(" ")
|
|
1286
1339
|
);
|
|
1287
|
-
return (
|
|
1340
|
+
return (u, p) => (l(), r("span", {
|
|
1288
1341
|
class: b(m.value),
|
|
1289
|
-
"aria-describedby":
|
|
1290
|
-
onMouseenter:
|
|
1342
|
+
"aria-describedby": n,
|
|
1343
|
+
onMouseenter: o,
|
|
1291
1344
|
onMouseleave: d,
|
|
1292
|
-
onFocus:
|
|
1345
|
+
onFocus: o,
|
|
1293
1346
|
onBlur: d
|
|
1294
1347
|
}, [
|
|
1295
|
-
|
|
1348
|
+
y(u.$slots, "default"),
|
|
1296
1349
|
f("span", {
|
|
1297
|
-
id:
|
|
1350
|
+
id: n,
|
|
1298
1351
|
class: b(v.value),
|
|
1299
1352
|
role: "tooltip",
|
|
1300
1353
|
"aria-hidden": !s.value
|
|
1301
|
-
},
|
|
1354
|
+
}, _(e.content), 11, sa)
|
|
1302
1355
|
], 34));
|
|
1303
1356
|
}
|
|
1304
|
-
}), na = ["aria-valuenow"], la = ["width", "height", "viewBox"], ra = ["cx", "cy", "r"], oa = ["cx", "cy", "r", "stroke-dasharray", "stroke-dashoffset", "transform"],
|
|
1357
|
+
}), na = ["aria-valuenow"], la = ["width", "height", "viewBox"], ra = ["cx", "cy", "r"], oa = ["cx", "cy", "r", "stroke-dasharray", "stroke-dashoffset", "transform"], T = 3, Ka = /* @__PURE__ */ h({
|
|
1305
1358
|
__name: "Progress",
|
|
1306
1359
|
props: {
|
|
1307
1360
|
variant: { default: "bar" },
|
|
@@ -1310,76 +1363,76 @@ const Ge = {
|
|
|
1310
1363
|
className: { default: "" }
|
|
1311
1364
|
},
|
|
1312
1365
|
setup(e) {
|
|
1313
|
-
const t = e, a = { sm: 24, md: 40, lg: 56 },
|
|
1366
|
+
const t = e, a = { sm: 24, md: 40, lg: 56 }, n = c(() => t.value != null), s = c(
|
|
1314
1367
|
() => [
|
|
1315
1368
|
"strand-progress",
|
|
1316
1369
|
`strand-progress--${t.variant}`,
|
|
1317
1370
|
`strand-progress--${t.size}`,
|
|
1318
|
-
!
|
|
1371
|
+
!n.value && "strand-progress--indeterminate",
|
|
1319
1372
|
t.className
|
|
1320
1373
|
].filter(Boolean).join(" ")
|
|
1321
|
-
),
|
|
1322
|
-
() =>
|
|
1374
|
+
), i = c(() => a[t.size] ?? a.md), o = c(() => (i.value - T) / 2), d = c(() => 2 * Math.PI * o.value), m = c(
|
|
1375
|
+
() => n.value ? d.value - d.value * t.value / 100 : 0
|
|
1323
1376
|
);
|
|
1324
|
-
return (v,
|
|
1377
|
+
return (v, u) => (l(), r("div", k({
|
|
1325
1378
|
class: s.value,
|
|
1326
1379
|
role: "progressbar",
|
|
1327
1380
|
"aria-valuemin": 0,
|
|
1328
1381
|
"aria-valuemax": 100,
|
|
1329
|
-
"aria-valuenow":
|
|
1382
|
+
"aria-valuenow": n.value ? e.value : void 0
|
|
1330
1383
|
}, v.$attrs), [
|
|
1331
|
-
e.variant === "ring" ? (
|
|
1384
|
+
e.variant === "ring" ? (l(), r("svg", {
|
|
1332
1385
|
key: 0,
|
|
1333
|
-
width:
|
|
1334
|
-
height:
|
|
1335
|
-
viewBox: `0 0 ${
|
|
1386
|
+
width: i.value,
|
|
1387
|
+
height: i.value,
|
|
1388
|
+
viewBox: `0 0 ${i.value} ${i.value}`,
|
|
1336
1389
|
class: "strand-progress__ring"
|
|
1337
1390
|
}, [
|
|
1338
1391
|
f("circle", {
|
|
1339
|
-
cx:
|
|
1340
|
-
cy:
|
|
1341
|
-
r:
|
|
1392
|
+
cx: i.value / 2,
|
|
1393
|
+
cy: i.value / 2,
|
|
1394
|
+
r: o.value,
|
|
1342
1395
|
fill: "none",
|
|
1343
|
-
"stroke-width":
|
|
1396
|
+
"stroke-width": T,
|
|
1344
1397
|
class: "strand-progress__track"
|
|
1345
1398
|
}, null, 8, ra),
|
|
1346
1399
|
f("circle", {
|
|
1347
|
-
cx:
|
|
1348
|
-
cy:
|
|
1349
|
-
r:
|
|
1400
|
+
cx: i.value / 2,
|
|
1401
|
+
cy: i.value / 2,
|
|
1402
|
+
r: o.value,
|
|
1350
1403
|
fill: "none",
|
|
1351
|
-
"stroke-width":
|
|
1404
|
+
"stroke-width": T,
|
|
1352
1405
|
"stroke-dasharray": d.value,
|
|
1353
|
-
"stroke-dashoffset":
|
|
1406
|
+
"stroke-dashoffset": n.value ? m.value : void 0,
|
|
1354
1407
|
"stroke-linecap": "round",
|
|
1355
1408
|
class: "strand-progress__fill",
|
|
1356
|
-
transform: `rotate(-90 ${
|
|
1409
|
+
transform: `rotate(-90 ${i.value / 2} ${i.value / 2})`
|
|
1357
1410
|
}, null, 8, oa)
|
|
1358
|
-
], 8, la)) : (
|
|
1411
|
+
], 8, la)) : (l(), r("div", {
|
|
1359
1412
|
key: 1,
|
|
1360
1413
|
class: "strand-progress__fill",
|
|
1361
|
-
style: S(
|
|
1414
|
+
style: S(n.value ? { width: `${e.value}%` } : void 0)
|
|
1362
1415
|
}, null, 4))
|
|
1363
1416
|
], 16, na));
|
|
1364
1417
|
}
|
|
1365
|
-
}),
|
|
1418
|
+
}), Pa = /* @__PURE__ */ h({
|
|
1366
1419
|
__name: "Spinner",
|
|
1367
1420
|
props: {
|
|
1368
1421
|
size: { default: "md" },
|
|
1369
1422
|
className: { default: "" }
|
|
1370
1423
|
},
|
|
1371
1424
|
setup(e) {
|
|
1372
|
-
const t = e, a =
|
|
1425
|
+
const t = e, a = c(
|
|
1373
1426
|
() => [
|
|
1374
1427
|
"strand-spinner",
|
|
1375
1428
|
`strand-spinner--${t.size}`,
|
|
1376
1429
|
t.className
|
|
1377
1430
|
].filter(Boolean).join(" ")
|
|
1378
1431
|
);
|
|
1379
|
-
return (
|
|
1432
|
+
return (n, s) => (l(), r("span", k({
|
|
1380
1433
|
class: a.value,
|
|
1381
1434
|
role: "status"
|
|
1382
|
-
},
|
|
1435
|
+
}, n.$attrs), [...s[0] || (s[0] = [
|
|
1383
1436
|
f("span", {
|
|
1384
1437
|
class: "strand-spinner__ring",
|
|
1385
1438
|
"aria-hidden": "true"
|
|
@@ -1387,7 +1440,7 @@ const Ge = {
|
|
|
1387
1440
|
f("span", { class: "strand-spinner__sr-only" }, "Loading", -1)
|
|
1388
1441
|
])], 16));
|
|
1389
1442
|
}
|
|
1390
|
-
}),
|
|
1443
|
+
}), Ua = /* @__PURE__ */ h({
|
|
1391
1444
|
__name: "Skeleton",
|
|
1392
1445
|
props: {
|
|
1393
1446
|
variant: { default: "text" },
|
|
@@ -1396,62 +1449,64 @@ const Ge = {
|
|
|
1396
1449
|
className: { default: "" }
|
|
1397
1450
|
},
|
|
1398
1451
|
setup(e) {
|
|
1399
|
-
const t = e, a =
|
|
1452
|
+
const t = e, a = c(
|
|
1400
1453
|
() => t.width ?? (t.variant === "text" ? "100%" : void 0)
|
|
1401
|
-
),
|
|
1454
|
+
), n = c(
|
|
1402
1455
|
() => t.variant === "circle" ? a.value : t.height
|
|
1403
|
-
), s =
|
|
1456
|
+
), s = c(
|
|
1404
1457
|
() => [
|
|
1405
1458
|
"strand-skeleton",
|
|
1406
1459
|
`strand-skeleton--${t.variant}`,
|
|
1407
1460
|
"strand-skeleton--shimmer",
|
|
1408
1461
|
t.className
|
|
1409
1462
|
].filter(Boolean).join(" ")
|
|
1410
|
-
),
|
|
1463
|
+
), i = c(() => ({
|
|
1411
1464
|
width: a.value,
|
|
1412
|
-
height:
|
|
1465
|
+
height: n.value
|
|
1413
1466
|
}));
|
|
1414
|
-
return (
|
|
1467
|
+
return (o, d) => (l(), r("div", k({
|
|
1415
1468
|
class: s.value,
|
|
1416
1469
|
"aria-hidden": "true",
|
|
1417
|
-
style:
|
|
1418
|
-
},
|
|
1470
|
+
style: i.value
|
|
1471
|
+
}, o.$attrs), null, 16));
|
|
1419
1472
|
}
|
|
1420
1473
|
});
|
|
1421
1474
|
export {
|
|
1422
|
-
|
|
1475
|
+
Aa as Alert,
|
|
1423
1476
|
ga as Avatar,
|
|
1424
1477
|
$a as Badge,
|
|
1425
|
-
|
|
1478
|
+
za as Breadcrumb,
|
|
1426
1479
|
da as Button,
|
|
1427
1480
|
pa as Card,
|
|
1428
1481
|
va as Checkbox,
|
|
1429
1482
|
wa as CodeBlock,
|
|
1430
|
-
|
|
1483
|
+
Na as Container,
|
|
1431
1484
|
Ba as DataReadout,
|
|
1432
|
-
|
|
1433
|
-
|
|
1485
|
+
Fa as Dialog,
|
|
1486
|
+
ja as Divider,
|
|
1434
1487
|
ba as FormField,
|
|
1435
|
-
|
|
1488
|
+
xa as Grid,
|
|
1436
1489
|
ca as Input,
|
|
1437
|
-
|
|
1438
|
-
Ia as
|
|
1439
|
-
|
|
1490
|
+
Ra as InstrumentViewport,
|
|
1491
|
+
Ia as Link,
|
|
1492
|
+
Va as Nav,
|
|
1493
|
+
Ka as Progress,
|
|
1440
1494
|
ma as Radio,
|
|
1495
|
+
Sa as ScrollReveal,
|
|
1441
1496
|
Ta as Section,
|
|
1442
1497
|
fa as Select,
|
|
1443
|
-
|
|
1498
|
+
Ua as Skeleton,
|
|
1444
1499
|
_a as Slider,
|
|
1445
|
-
|
|
1446
|
-
|
|
1500
|
+
Pa as Spinner,
|
|
1501
|
+
Ca as Stack,
|
|
1447
1502
|
ha as Switch,
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1503
|
+
ka as Table,
|
|
1504
|
+
Ea as Tabs,
|
|
1505
|
+
ya as Tag,
|
|
1451
1506
|
ua as Textarea,
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1507
|
+
La as Toast,
|
|
1508
|
+
Oa as ToastProvider,
|
|
1509
|
+
Ma as Tooltip,
|
|
1510
|
+
Da as useToast
|
|
1456
1511
|
};
|
|
1457
1512
|
//# sourceMappingURL=index.js.map
|