@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/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { defineComponent as _, computed as u, openBlock as n, createElementBlock as l, normalizeClass as b, createCommentVNode as g, createElementVNode as f, normalizeStyle as S, renderSlot as k, useSlots as V, ref as x, watch as R, onMounted as D, toDisplayString as h, Fragment as B, renderList as w, createTextVNode as T, mergeProps as y, inject as A, provide as F, onUnmounted as E, nextTick as M } from "vue";
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, r = t, s = u(() => a.disabled || a.loading), o = u(
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 i(d) {
30
- s.value || r("click", d);
29
+ function o(d) {
30
+ s.value || n("click", d);
31
31
  }
32
- return (d, m) => (n(), l("button", {
32
+ return (d, m) => (l(), r("button", {
33
33
  type: e.type,
34
- class: b(o.value),
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: i
38
+ onClick: o
39
39
  }, [
40
- e.loading ? (n(), l("span", P)) : g("", !0),
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
- k(d.$slots, "default")
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, r = t, s = V(), o = u(
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 i(d) {
76
+ function o(d) {
77
77
  const m = d.target;
78
- r("update:modelValue", m.value);
78
+ n("update:modelValue", m.value);
79
79
  }
80
- return (d, m) => (n(), l("div", {
81
- class: b(o.value)
80
+ return (d, m) => (l(), r("div", {
81
+ class: b(i.value)
82
82
  }, [
83
- d.$slots.leading ? (n(), l("span", U, [
84
- k(d.$slots, "leading")
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: i
92
+ onInput: o
93
93
  }, null, 40, q),
94
- d.$slots.trailing ? (n(), l("span", G, [
95
- k(d.$slots, "trailing")
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, r = t, s = x(null), o = u(
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
- ), i = u(
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 c = v.target;
130
- r("update:modelValue", c.value), d();
129
+ const u = v.target;
130
+ n("update:modelValue", u.value), d();
131
131
  }
132
- return R(() => a.modelValue, () => {
132
+ return I(() => a.modelValue, () => {
133
133
  d();
134
- }), D(() => {
134
+ }), E(() => {
135
135
  d();
136
- }), (v, c) => (n(), l("div", {
137
- class: b(o.value)
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 ? (n(), l("span", H, h(i.value) + "/" + h(e.maxLength), 1)) : g("", !0)
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, r = t, s = u(
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(i) {
175
- const d = i.target;
176
- r("update:modelValue", d.value);
174
+ function i(o) {
175
+ const d = o.target;
176
+ n("update:modelValue", d.value);
177
177
  }
178
- return (i, d) => (n(), l("div", {
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: o
186
+ onChange: i
187
187
  }, [
188
- e.placeholder ? (n(), l("option", J, h(e.placeholder), 1)) : g("", !0),
189
- (n(!0), l(B, null, w(e.options, (m) => (n(), l("option", {
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
- }, h(m.label), 9, Q))), 128))
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, r = t, s = x(null);
227
- D(() => {
226
+ const a = e, n = t, s = w(null);
227
+ E(() => {
228
228
  s.value && (s.value.indeterminate = a.indeterminate);
229
- }), R(() => a.indeterminate, (v) => {
229
+ }), I(() => a.indeterminate, (v) => {
230
230
  s.value && (s.value.indeterminate = v);
231
231
  });
232
- const o = u(
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
- ), i = u(
239
+ ), o = c(
240
240
  () => a.indeterminate ? "mixed" : a.checked ? "true" : "false"
241
241
  );
242
242
  function d(v) {
243
- a.disabled || r("change", v);
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, c) => (n(), l("label", {
249
- class: b(o.value),
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": i.value,
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 ? (n(), l("svg", ee, [...c[0] || (c[0] = [
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 ? (n(), l("svg", ae, [...c[1] || (c[1] = [
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 ? (n(), l("span", te, h(e.label), 1)) : g("", !0)
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, r = t, s = u(
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(i) {
309
- a.disabled || r("change", i);
308
+ function i(o) {
309
+ a.disabled || n("change", o);
310
310
  }
311
- return (i, d) => (n(), l("label", {
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: o
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 ? (n(), l("span", ne, h(e.label), 1)) : g("", !0)
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, r = t, s = u(
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 o() {
352
- a.disabled || r("change", !a.checked);
351
+ function i() {
352
+ a.disabled || n("change", !a.checked);
353
353
  }
354
- function i(d) {
355
- (d.key === " " || d.key === "Enter") && !a.disabled && (d.preventDefault(), r("change", !a.checked));
354
+ function o(d) {
355
+ (d.key === " " || d.key === "Enter") && !a.disabled && (d.preventDefault(), n("change", !a.checked));
356
356
  }
357
- return (d, m) => (n(), l("label", {
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: o,
367
- onKeydown: i
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 ? (n(), l("span", re, h(e.label), 1)) : g("", !0)
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, r = t, s = u(
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(i) {
395
- const d = i.target;
396
- r("update:modelValue", Number(d.value));
394
+ function i(o) {
395
+ const d = o.target;
396
+ n("update:modelValue", Number(d.value));
397
397
  }
398
- return (i, d) => (n(), l("div", {
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: o
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 = u(
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 (r, s) => (n(), l("div", {
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
- T(h(e.label) + " ", 1),
444
- e.required ? (n(), l("span", de, " * ")) : g("", !0)
443
+ R(_(e.label) + " ", 1),
444
+ e.required ? (l(), r("span", de, " * ")) : g("", !0)
445
445
  ], 8, ie),
446
446
  f("div", ce, [
447
- k(r.$slots, "default")
447
+ y(n.$slots, "default")
448
448
  ]),
449
- e.error ? (n(), l("p", {
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
- }, h(e.error), 9, ue)) : e.hint ? (n(), l("p", {
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
- }, h(e.hint), 9, fe)) : g("", !0)
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 = u(
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 (r, s) => (n(), l("div", y({ class: a.value }, r.$attrs), [
478
- k(r.$slots, "default")
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 = V(), r = u(() => !!a.default), s = u(() => t.variant === "count" ? t.count != null && t.count > t.maxCount ? `${t.maxCount}+` : t.count : null), o = u(() => {
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
- }), i = u(
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 = u(
501
- () => r.value ? ["strand-badge", t.className].filter(Boolean).join(" ") : ["strand-badge", "strand-badge--inline", t.className].filter(Boolean).join(" ")
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) => (n(), l("span", y({ class: d.value }, m.$attrs), [
504
- k(m.$slots, "default"),
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(i.value),
507
- "aria-label": o.value,
506
+ class: b(o.value),
507
+ "aria-label": i.value,
508
508
  role: "status"
509
- }, h(s.value), 11, ve)
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 = x(!1), r = () => {
526
+ const t = e, a = w(!1), n = () => {
527
527
  a.value = !0;
528
- }, s = u(() => t.src && !a.value), o = u(() => t.initials.slice(0, 2).toUpperCase()), i = u(
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) => (n(), l("div", y({
536
- class: i.value,
535
+ return (d, m) => (l(), r("div", k({
536
+ class: o.value,
537
537
  role: "img",
538
- "aria-label": e.alt || o.value
538
+ "aria-label": e.alt || i.value
539
539
  }, d.$attrs), [
540
- s.value ? (n(), l("img", {
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: r
546
- }, null, 40, he)) : (n(), l("span", _e, h(o.value), 1))
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" }, ka = /* @__PURE__ */ _({
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, r = t, s = u(
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 (o, i) => (n(), l("span", y({ class: s.value }, o.$attrs), [
567
+ return (i, o) => (l(), r("span", k({ class: s.value }, i.$attrs), [
568
568
  f("span", be, [
569
- k(o.$slots, "default")
569
+ y(i.$slots, "default")
570
570
  ]),
571
- e.removable ? (n(), l("button", {
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: i[0] || (i[0] = (d) => r("remove"))
577
- }, [...i[1] || (i[1] = [
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"], ke = {
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
- }, ye = { class: "strand-table__body" }, ya = /* @__PURE__ */ _({
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, r = x(null), s = x("asc"), o = u(
606
+ const a = t, n = w(null), s = w("asc"), i = c(
607
607
  () => ["strand-table-wrapper"].filter(Boolean).join(" ")
608
608
  );
609
- function i(m) {
610
- const v = r.value === m && s.value === "asc" ? "desc" : "asc";
611
- r.value = m, s.value = v, a("sort", m, v);
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 r.value === m ? s.value === "asc" ? "↑" : "↓" : "↕";
614
+ return n.value === m ? s.value === "asc" ? "↑" : "↓" : "↕";
615
615
  }
616
- return (m, v) => (n(), l("div", {
617
- class: b(o.value)
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
- (n(!0), l(B, null, w(e.columns, (c) => (n(), l("th", {
623
- key: c.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(c.width ? { width: c.width } : void 0)
625
+ style: S(u.width ? { width: u.width } : void 0)
626
626
  }, [
627
- c.sortable ? (n(), l("button", {
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 ${c.header}`,
632
- onClick: (p) => i(c.key)
631
+ "aria-label": `Sort by ${u.header}`,
632
+ onClick: (p) => o(u.key)
633
633
  }, [
634
- T(h(c.header) + " ", 1),
635
- f("span", ke, h(d(c.key)), 1)
636
- ], 8, ge)) : (n(), l(B, { key: 1 }, [
637
- T(h(c.header), 1)
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", ye, [
643
- (n(!0), l(B, null, w(e.data, (c, p) => (n(), l("tr", {
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
- (n(!0), l(B, null, w(e.columns, ($) => (n(), l("td", {
647
+ (l(!0), r(B, null, C(e.columns, ($) => (l(), r("td", {
648
648
  key: $.key,
649
649
  class: "strand-table__td"
650
- }, h(c[$.key]), 1))), 128))
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 = u(
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 (r, s) => (n(), l("div", y({ class: a.value }, r.$attrs), [
673
- f("span", Be, h(e.label), 1),
674
- f("span", we, h(e.value), 1)
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
- }), xe = {
677
+ }), Ce = {
678
678
  key: 0,
679
679
  class: "strand-code-block__label"
680
- }, Ce = { class: "strand-code-block__pre" }, wa = /* @__PURE__ */ _({
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 = u(
688
+ const t = e, a = c(
689
689
  () => ["strand-code-block", t.className].filter(Boolean).join(" ")
690
690
  );
691
- return (r, s) => (n(), l("div", y({ class: a.value }, r.$attrs), [
692
- e.language ? (n(), l("span", xe, h(e.language), 1)) : g("", !0),
693
- f("pre", Ce, [
694
- f("code", null, h(e.code), 1)
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
- }), xa = /* @__PURE__ */ _({
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 = u(
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
- ), r = u(() => ({
718
+ ), n = c(() => ({
719
719
  gap: `var(--strand-space-${t.gap})`
720
720
  }));
721
- return (s, o) => (n(), l("div", y({
721
+ return (s, i) => (l(), r("div", k({
722
722
  class: a.value,
723
- style: r.value
723
+ style: n.value
724
724
  }, s.$attrs), [
725
- k(s.$slots, "default")
725
+ y(s.$slots, "default")
726
726
  ], 16));
727
727
  }
728
- }), Ca = /* @__PURE__ */ _({
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 = u(
736
+ const t = e, a = c(
737
737
  () => ["strand-grid", t.className].filter(Boolean).join(" ")
738
- ), r = u(() => ({
738
+ ), n = c(() => ({
739
739
  gridTemplateColumns: `repeat(${t.columns}, 1fr)`,
740
740
  gap: `var(--strand-space-${t.gap})`
741
741
  }));
742
- return (s, o) => (n(), l("div", y({
742
+ return (s, i) => (l(), r("div", k({
743
743
  class: a.value,
744
- style: r.value
744
+ style: n.value
745
745
  }, s.$attrs), [
746
- k(s.$slots, "default")
746
+ y(s.$slots, "default")
747
747
  ], 16));
748
748
  }
749
- }), ja = /* @__PURE__ */ _({
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 = u(
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 (r, s) => (n(), l("div", y({ class: a.value }, r.$attrs), [
764
- k(r.$slots, "default")
763
+ return (n, s) => (l(), r("div", k({ class: a.value }, n.$attrs), [
764
+ y(n.$slots, "default")
765
765
  ], 16));
766
766
  }
767
- }), je = { class: "strand-divider__label" }, Na = /* @__PURE__ */ _({
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 = u(() => t.direction === "vertical"), r = u(() => !a.value && !!t.label);
776
- u(() => !a.value && !t.label);
777
- const s = u(() => a.value ? ["strand-divider", "strand-divider--vertical", t.className].filter(Boolean).join(" ") : r.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 (o, i) => a.value ? (n(), l("div", {
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)) : r.value ? (n(), l("div", {
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
- i[0] || (i[0] = f("span", { class: "strand-divider__line" }, null, -1)),
790
- f("span", je, h(e.label), 1),
791
- i[1] || (i[1] = f("span", { class: "strand-divider__line" }, null, -1))
792
- ], 2)) : (n(), l("hr", {
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 = u(
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 (r, s) => (n(), l("section", y({ class: a.value }, r.$attrs), [
816
- k(r.$slots, "default")
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
- }), Ne = ["href"], Sa = /* @__PURE__ */ _({
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 = u(
880
+ const t = e, a = c(
828
881
  () => ["strand-link", t.className].filter(Boolean).join(" ")
829
882
  );
830
- return (r, s) => (n(), l("a", y({
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
- ...r.$attrs
888
+ ...n.$attrs
836
889
  }), [
837
- k(r.$slots, "default")
838
- ], 16, Ne));
890
+ y(n.$slots, "default")
891
+ ], 16, je));
839
892
  }
840
- }), Te = ["id", "aria-selected", "aria-controls", "tabindex", "onClick"], Se = ["id", "aria-labelledby", "hidden"], Ra = /* @__PURE__ */ _({
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, r = t, s = x(null), o = u(() => ["strand-tabs"].filter(Boolean).join(" "));
849
- function i(m) {
850
- var c, p;
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
- r("change", v.id);
854
- const $ = (c = s.value) == null ? void 0 : c.querySelectorAll('[role="tab"]');
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 c = null;
913
+ let u = null;
861
914
  switch (m.key) {
862
915
  case "ArrowRight":
863
- c = (v + 1) % a.tabs.length;
916
+ u = (v + 1) % a.tabs.length;
864
917
  break;
865
918
  case "ArrowLeft":
866
- c = (v - 1 + a.tabs.length) % a.tabs.length;
919
+ u = (v - 1 + a.tabs.length) % a.tabs.length;
867
920
  break;
868
921
  case "Home":
869
- c = 0;
922
+ u = 0;
870
923
  break;
871
924
  case "End":
872
- c = a.tabs.length - 1;
925
+ u = a.tabs.length - 1;
873
926
  break;
874
927
  default:
875
928
  return;
876
929
  }
877
- m.preventDefault(), i(c);
930
+ m.preventDefault(), o(u);
878
931
  }
879
- return (m, v) => (n(), l("div", {
880
- class: b(o.value)
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
- (n(!0), l(B, null, w(e.tabs, (c) => (n(), l("button", {
889
- key: c.id,
890
- id: `tab-${c.id}`,
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
- c.id === e.activeTab && "strand-tabs__tab--active"
948
+ u.id === e.activeTab && "strand-tabs__tab--active"
896
949
  ].filter(Boolean).join(" ")),
897
- "aria-selected": c.id === e.activeTab ? "true" : "false",
898
- "aria-controls": `panel-${c.id}`,
899
- tabindex: c.id === e.activeTab ? 0 : -1,
900
- onClick: (p) => r("change", c.id)
901
- }, h(c.label), 11, Te))), 128))
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
- (n(!0), l(B, null, w(e.tabs, (c) => (n(), l("div", {
904
- key: c.id,
905
- id: `panel-${c.id}`,
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-${c.id}`,
908
- hidden: c.id !== e.activeTab || void 0,
960
+ "aria-labelledby": `tab-${u.id}`,
961
+ hidden: u.id !== e.activeTab || void 0,
909
962
  tabindex: 0
910
963
  }, [
911
- k(m.$slots, `panel-${c.id}`)
912
- ], 8, Se))), 128))
964
+ y(m.$slots, `panel-${u.id}`)
965
+ ], 8, Re))), 128))
913
966
  ], 2));
914
967
  }
915
- }), Re = { class: "strand-breadcrumb__list" }, Ee = {
968
+ }), Se = { class: "strand-breadcrumb__list" }, Ie = {
916
969
  key: 0,
917
970
  class: "strand-breadcrumb__separator",
918
971
  "aria-hidden": "true"
919
- }, Ie = {
972
+ }, Ee = {
920
973
  key: 1,
921
974
  class: "strand-breadcrumb__current",
922
975
  "aria-current": "page"
923
- }, ze = ["href"], Ea = /* @__PURE__ */ _({
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 = u(
983
+ const t = c(
931
984
  () => ["strand-breadcrumb"].filter(Boolean).join(" ")
932
985
  );
933
- return (a, r) => (n(), l("nav", {
986
+ return (a, n) => (l(), r("nav", {
934
987
  "aria-label": "Breadcrumb",
935
988
  class: b(t.value)
936
989
  }, [
937
- f("ol", Re, [
938
- (n(!0), l(B, null, w(e.items, (s, o) => (n(), l("li", {
939
- key: `${s.label}-${o}`,
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
- o > 0 ? (n(), l("span", Ee, h(e.separator), 1)) : g("", !0),
943
- o === e.items.length - 1 ? (n(), l("span", Ie, h(s.label), 1)) : (n(), l("a", {
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
- }, h(s.label), 9, ze))
1000
+ }, _(s.label), 9, ze))
948
1001
  ]))), 128))
949
1002
  ])
950
1003
  ], 2));
951
1004
  }
952
- }), Le = { class: "strand-nav__inner" }, Ve = {
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"], Ia = /* @__PURE__ */ _({
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 = x(!1);
1020
+ const t = w(!1);
968
1021
  function a() {
969
1022
  t.value = !t.value;
970
1023
  }
971
- const r = u(() => ["strand-nav"].filter(Boolean).join(" "));
972
- return (s, o) => (n(), l("nav", {
973
- class: b(r.value),
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", Le, [
977
- s.$slots.logo ? (n(), l("div", Ve, [
978
- k(s.$slots, "logo")
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
- (n(!0), l(B, null, w(e.items, (i) => (n(), l("a", {
982
- key: i.href,
983
- href: i.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
- i.active && "strand-nav__link--active"
1039
+ o.active && "strand-nav__link--active"
987
1040
  ].filter(Boolean).join(" ")),
988
- "aria-current": i.active ? "page" : void 0
989
- }, h(i.label), 11, Oe))), 128))
1041
+ "aria-current": o.active ? "page" : void 0
1042
+ }, _(o.label), 11, Oe))), 128))
990
1043
  ]),
991
- s.$slots.actions ? (n(), l("div", Ae, [
992
- k(s.$slots, "actions")
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
- }, [...o[0] || (o[0] = [
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 ? (n(), l("div", Me, [
1008
- (n(!0), l(B, null, w(e.items, (i) => (n(), l("a", {
1009
- key: i.href,
1010
- href: i.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
- i.active && "strand-nav__mobile-link--active"
1066
+ o.active && "strand-nav__mobile-link--active"
1014
1067
  ].filter(Boolean).join(" ")),
1015
- "aria-current": i.active ? "page" : void 0
1016
- }, h(i.label), 11, Ke))), 128))
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" }, za = /* @__PURE__ */ _({
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, r = t, s = u(
1081
+ const a = e, n = t, s = c(
1029
1082
  () => a.status === "error" || a.status === "warning"
1030
- ), o = u(
1083
+ ), i = c(
1031
1084
  () => ["strand-toast", `strand-toast--${a.status}`].filter(Boolean).join(" ")
1032
- ), i = {
1085
+ ), o = {
1033
1086
  info: "INFO",
1034
1087
  success: "COMPLETE",
1035
1088
  warning: "WARNING",
1036
1089
  error: "ERROR"
1037
- }, d = u(() => i[a.status] ?? a.status.toUpperCase());
1038
- return (m, v) => (n(), l("div", {
1039
- class: b(o.value),
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, h(d.value), 1),
1044
- f("span", qe, h(e.message), 1),
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] = (c) => r("dismiss"))
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 La() {
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"], Va = /* @__PURE__ */ _({
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 = x([]), r = /* @__PURE__ */ new Map();
1122
+ const a = w([]), n = /* @__PURE__ */ new Map();
1070
1123
  function s(v) {
1071
- const c = r.get(v);
1072
- c !== void 0 && (clearTimeout(c), r.delete(v)), a.value = a.value.filter((p) => p.id !== v);
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 o(v) {
1075
- const c = {
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, c], c.duration > 0) {
1134
+ if (a.value = [...a.value, u], u.duration > 0) {
1082
1135
  const p = setTimeout(() => {
1083
- s(c.id);
1084
- }, c.duration);
1085
- r.set(c.id, p);
1136
+ s(u.id);
1137
+ }, u.duration);
1138
+ n.set(u.id, p);
1086
1139
  }
1087
1140
  }
1088
- F(O, { toast: o }), E(() => {
1089
- for (const v of r.values())
1141
+ F(O, { toast: i }), j(() => {
1142
+ for (const v of n.values())
1090
1143
  clearTimeout(v);
1091
- r.clear();
1144
+ n.clear();
1092
1145
  });
1093
- function i(v) {
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, c) => (n(), l(B, null, [
1106
- k(v.$slots, "default"),
1107
- a.value.length > 0 ? (n(), l("div", Ge, [
1108
- (n(!0), l(B, null, w(a.value, (p) => (n(), l("div", {
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": i(p.status) ? "assertive" : "polite"
1165
+ "aria-live": o(p.status) ? "assertive" : "polite"
1113
1166
  }, [
1114
- f("span", He, h(m(p.status)), 1),
1115
- f("span", Ze, h(p.message), 1),
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" }, Da = /* @__PURE__ */ _({
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, r = t, s = u(
1187
+ const a = e, n = t, s = c(
1135
1188
  () => a.status === "error" || a.status === "warning" ? "alert" : "status"
1136
- ), o = u(
1189
+ ), i = c(
1137
1190
  () => [
1138
1191
  "strand-alert",
1139
1192
  `strand-alert--${a.status}`
1140
1193
  ].filter(Boolean).join(" ")
1141
- ), i = {
1194
+ ), o = {
1142
1195
  info: "INFO",
1143
1196
  success: "COMPLETE",
1144
1197
  warning: "WARNING",
1145
1198
  error: "ERROR"
1146
- }, d = u(() => i[a.status] ?? a.status.toUpperCase());
1199
+ }, d = c(() => o[a.status] ?? a.status.toUpperCase());
1147
1200
  function m() {
1148
- r("dismiss");
1201
+ n("dismiss");
1149
1202
  }
1150
- return (v, c) => (n(), l("div", {
1151
- class: b(o.value),
1203
+ return (v, u) => (l(), r("div", {
1204
+ class: b(i.value),
1152
1205
  role: s.value
1153
1206
  }, [
1154
- f("span", Xe, h(d.value), 1),
1207
+ f("span", Xe, _(d.value), 1),
1155
1208
  f("div", Ye, [
1156
- k(v.$slots, "default")
1209
+ y(v.$slots, "default")
1157
1210
  ]),
1158
- e.dismissible ? (n(), l("button", {
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"])', Oa = /* @__PURE__ */ _({
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, r = t;
1233
+ const a = e, n = t;
1181
1234
  let s = 0;
1182
- const o = `strand-dialog-title-${++s}`, i = x(null);
1235
+ const i = `strand-dialog-title-${++s}`, o = w(null);
1183
1236
  let d = null, m = "";
1184
- const v = u(
1237
+ const v = c(
1185
1238
  () => ["strand-dialog__panel"].filter(Boolean).join(" ")
1186
1239
  );
1187
- function c($) {
1240
+ function u($) {
1188
1241
  if ($.key === "Escape" && a.closeOnEscape) {
1189
- $.stopPropagation(), r("close");
1242
+ $.stopPropagation(), n("close");
1190
1243
  return;
1191
1244
  }
1192
1245
  if ($.key === "Tab") {
1193
- const C = i.value;
1194
- if (!C) return;
1195
- const j = Array.from(
1196
- C.querySelectorAll(L)
1246
+ const x = o.value;
1247
+ if (!x) return;
1248
+ const N = Array.from(
1249
+ x.querySelectorAll(L)
1197
1250
  );
1198
- if (j.length === 0) return;
1199
- const I = j[0], z = j[j.length - 1];
1200
- $.shiftKey ? document.activeElement === I && ($.preventDefault(), z.focus()) : document.activeElement === z && ($.preventDefault(), I.focus());
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 && r("close");
1257
+ a.closeOnOutsideClick && $.target === $.currentTarget && n("close");
1205
1258
  }
1206
- return R(
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 C = i.value;
1212
- if (C) {
1213
- const j = C.querySelectorAll(L);
1214
- j.length > 0 ? j[0].focus() : C.focus();
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
- ), E(() => {
1273
+ ), j(() => {
1221
1274
  a.open && (document.body.style.overflow = m);
1222
- }), ($, C) => e.open ? (n(), l("div", {
1275
+ }), ($, x) => e.open ? (l(), r("div", {
1223
1276
  key: 0,
1224
1277
  class: "strand-dialog__backdrop",
1225
1278
  onClick: p,
1226
- onKeydown: c
1279
+ onKeydown: u
1227
1280
  }, [
1228
1281
  f("div", {
1229
1282
  ref_key: "panelRef",
1230
- ref: i,
1283
+ ref: o,
1231
1284
  class: b(v.value),
1232
1285
  role: "dialog",
1233
1286
  "aria-modal": "true",
1234
- "aria-labelledby": e.title ? o : void 0,
1287
+ "aria-labelledby": e.title ? i : void 0,
1235
1288
  tabindex: -1
1236
1289
  }, [
1237
- e.title ? (n(), l("div", aa, [
1290
+ e.title ? (l(), r("div", aa, [
1238
1291
  f("h2", {
1239
- id: o,
1292
+ id: i,
1240
1293
  class: "strand-dialog__title"
1241
- }, h(e.title), 1)
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: C[0] || (C[0] = (j) => r("close"))
1300
+ onClick: x[0] || (x[0] = (N) => n("close"))
1248
1301
  }, " × "),
1249
1302
  f("div", ta, [
1250
- k($.$slots, "default")
1303
+ y($.$slots, "default")
1251
1304
  ])
1252
1305
  ], 10, ea)
1253
1306
  ], 32)) : g("", !0);
1254
1307
  }
1255
- }), sa = ["aria-hidden"], Aa = /* @__PURE__ */ _({
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 r = `strand-tooltip-${++a}`, s = x(!1);
1266
- let o = null;
1267
- function i() {
1268
- o = setTimeout(() => {
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
- o !== null && (clearTimeout(o), o = null), s.value = !1;
1326
+ i !== null && (clearTimeout(i), i = null), s.value = !1;
1274
1327
  }
1275
- E(() => {
1276
- o !== null && clearTimeout(o);
1328
+ j(() => {
1329
+ i !== null && clearTimeout(i);
1277
1330
  });
1278
- const m = u(
1331
+ const m = c(
1279
1332
  () => ["strand-tooltip__wrapper"].filter(Boolean).join(" ")
1280
- ), v = u(
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 (c, p) => (n(), l("span", {
1340
+ return (u, p) => (l(), r("span", {
1288
1341
  class: b(m.value),
1289
- "aria-describedby": r,
1290
- onMouseenter: i,
1342
+ "aria-describedby": n,
1343
+ onMouseenter: o,
1291
1344
  onMouseleave: d,
1292
- onFocus: i,
1345
+ onFocus: o,
1293
1346
  onBlur: d
1294
1347
  }, [
1295
- k(c.$slots, "default"),
1348
+ y(u.$slots, "default"),
1296
1349
  f("span", {
1297
- id: r,
1350
+ id: n,
1298
1351
  class: b(v.value),
1299
1352
  role: "tooltip",
1300
1353
  "aria-hidden": !s.value
1301
- }, h(e.content), 11, sa)
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"], N = 3, Fa = /* @__PURE__ */ _({
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 }, r = u(() => t.value != null), s = u(
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
- !r.value && "strand-progress--indeterminate",
1371
+ !n.value && "strand-progress--indeterminate",
1319
1372
  t.className
1320
1373
  ].filter(Boolean).join(" ")
1321
- ), o = u(() => a[t.size] ?? a.md), i = u(() => (o.value - N) / 2), d = u(() => 2 * Math.PI * i.value), m = u(
1322
- () => r.value ? d.value - d.value * t.value / 100 : 0
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, c) => (n(), l("div", y({
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": r.value ? e.value : void 0
1382
+ "aria-valuenow": n.value ? e.value : void 0
1330
1383
  }, v.$attrs), [
1331
- e.variant === "ring" ? (n(), l("svg", {
1384
+ e.variant === "ring" ? (l(), r("svg", {
1332
1385
  key: 0,
1333
- width: o.value,
1334
- height: o.value,
1335
- viewBox: `0 0 ${o.value} ${o.value}`,
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: o.value / 2,
1340
- cy: o.value / 2,
1341
- r: i.value,
1392
+ cx: i.value / 2,
1393
+ cy: i.value / 2,
1394
+ r: o.value,
1342
1395
  fill: "none",
1343
- "stroke-width": N,
1396
+ "stroke-width": T,
1344
1397
  class: "strand-progress__track"
1345
1398
  }, null, 8, ra),
1346
1399
  f("circle", {
1347
- cx: o.value / 2,
1348
- cy: o.value / 2,
1349
- r: i.value,
1400
+ cx: i.value / 2,
1401
+ cy: i.value / 2,
1402
+ r: o.value,
1350
1403
  fill: "none",
1351
- "stroke-width": N,
1404
+ "stroke-width": T,
1352
1405
  "stroke-dasharray": d.value,
1353
- "stroke-dashoffset": r.value ? m.value : void 0,
1406
+ "stroke-dashoffset": n.value ? m.value : void 0,
1354
1407
  "stroke-linecap": "round",
1355
1408
  class: "strand-progress__fill",
1356
- transform: `rotate(-90 ${o.value / 2} ${o.value / 2})`
1409
+ transform: `rotate(-90 ${i.value / 2} ${i.value / 2})`
1357
1410
  }, null, 8, oa)
1358
- ], 8, la)) : (n(), l("div", {
1411
+ ], 8, la)) : (l(), r("div", {
1359
1412
  key: 1,
1360
1413
  class: "strand-progress__fill",
1361
- style: S(r.value ? { width: `${e.value}%` } : void 0)
1414
+ style: S(n.value ? { width: `${e.value}%` } : void 0)
1362
1415
  }, null, 4))
1363
1416
  ], 16, na));
1364
1417
  }
1365
- }), Ma = /* @__PURE__ */ _({
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 = u(
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 (r, s) => (n(), l("span", y({
1432
+ return (n, s) => (l(), r("span", k({
1380
1433
  class: a.value,
1381
1434
  role: "status"
1382
- }, r.$attrs), [...s[0] || (s[0] = [
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
- }), Ka = /* @__PURE__ */ _({
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 = u(
1452
+ const t = e, a = c(
1400
1453
  () => t.width ?? (t.variant === "text" ? "100%" : void 0)
1401
- ), r = u(
1454
+ ), n = c(
1402
1455
  () => t.variant === "circle" ? a.value : t.height
1403
- ), s = u(
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
- ), o = u(() => ({
1463
+ ), i = c(() => ({
1411
1464
  width: a.value,
1412
- height: r.value
1465
+ height: n.value
1413
1466
  }));
1414
- return (i, d) => (n(), l("div", y({
1467
+ return (o, d) => (l(), r("div", k({
1415
1468
  class: s.value,
1416
1469
  "aria-hidden": "true",
1417
- style: o.value
1418
- }, i.$attrs), null, 16));
1470
+ style: i.value
1471
+ }, o.$attrs), null, 16));
1419
1472
  }
1420
1473
  });
1421
1474
  export {
1422
- Da as Alert,
1475
+ Aa as Alert,
1423
1476
  ga as Avatar,
1424
1477
  $a as Badge,
1425
- Ea as Breadcrumb,
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
- ja as Container,
1483
+ Na as Container,
1431
1484
  Ba as DataReadout,
1432
- Oa as Dialog,
1433
- Na as Divider,
1485
+ Fa as Dialog,
1486
+ ja as Divider,
1434
1487
  ba as FormField,
1435
- Ca as Grid,
1488
+ xa as Grid,
1436
1489
  ca as Input,
1437
- Sa as Link,
1438
- Ia as Nav,
1439
- Fa as Progress,
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
- Ka as Skeleton,
1498
+ Ua as Skeleton,
1444
1499
  _a as Slider,
1445
- Ma as Spinner,
1446
- xa as Stack,
1500
+ Pa as Spinner,
1501
+ Ca as Stack,
1447
1502
  ha as Switch,
1448
- ya as Table,
1449
- Ra as Tabs,
1450
- ka as Tag,
1503
+ ka as Table,
1504
+ Ea as Tabs,
1505
+ ya as Tag,
1451
1506
  ua as Textarea,
1452
- za as Toast,
1453
- Va as ToastProvider,
1454
- Aa as Tooltip,
1455
- La as useToast
1507
+ La as Toast,
1508
+ Oa as ToastProvider,
1509
+ Ma as Tooltip,
1510
+ Da as useToast
1456
1511
  };
1457
1512
  //# sourceMappingURL=index.js.map