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