@dillingerstaffing/strand-vue 0.4.1 → 0.5.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 h, computed as c, openBlock as n, createElementBlock as l, normalizeClass as b, createCommentVNode as $, createElementVNode as f, normalizeStyle as S, renderSlot as g, useSlots as E, ref as x, watch as z, onMounted as L, toDisplayString as _, Fragment as k, renderList as w, createTextVNode as N, mergeProps as y, inject as A, provide as F, onUnmounted as V, nextTick as K } from "vue";
1
+ import { defineComponent as h, computed as c, openBlock as n, createElementBlock as l, normalizeClass as b, createCommentVNode as p, createElementVNode as f, normalizeStyle as S, renderSlot as g, useSlots as E, ref as x, watch as z, onMounted as L, toDisplayString as _, Fragment as y, renderList as w, createTextVNode as T, mergeProps as k, inject as A, provide as F, onUnmounted as V, nextTick as K } from "vue";
2
2
  const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
3
3
  key: 0,
4
4
  class: "strand-btn__spinner",
5
5
  "aria-hidden": "true"
6
- }, na = /* @__PURE__ */ h({
6
+ }, ra = /* @__PURE__ */ h({
7
7
  __name: "Button",
8
8
  props: {
9
9
  variant: { default: "primary" },
@@ -16,7 +16,7 @@ const M = ["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 = c(() => a.disabled || a.loading), o = c(
19
+ const a = e, r = 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 M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
26
26
  a.loading && "strand-btn--loading"
27
27
  ].filter(Boolean).join(" ")
28
28
  );
29
- function d(i) {
30
- s.value || r("click", i);
29
+ function d(o) {
30
+ s.value || r("click", o);
31
31
  }
32
- return (i, u) => (n(), l("button", {
32
+ return (o, u) => (n(), l("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
38
  onClick: d
39
39
  }, [
40
- e.loading ? (n(), l("span", P)) : $("", !0),
40
+ e.loading ? (n(), l("span", P)) : p("", !0),
41
41
  f("span", {
42
42
  class: "strand-btn__content",
43
43
  style: S(e.loading ? { visibility: "hidden" } : void 0)
44
44
  }, [
45
- g(i.$slots, "default")
45
+ g(o.$slots, "default")
46
46
  ], 4)
47
47
  ], 10, M));
48
48
  }
@@ -54,7 +54,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
54
54
  key: 1,
55
55
  class: "strand-input__trailing",
56
56
  "aria-hidden": "true"
57
- }, la = /* @__PURE__ */ h({
57
+ }, oa = /* @__PURE__ */ h({
58
58
  __name: "Input",
59
59
  props: {
60
60
  type: { default: "text" },
@@ -64,7 +64,7 @@ const M = ["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 = E(), o = c(
67
+ const a = e, r = t, s = E(), i = c(
68
68
  () => [
69
69
  "strand-input",
70
70
  a.error && "strand-input--error",
@@ -73,16 +73,16 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
73
73
  !!s.trailing && "strand-input--has-trailing"
74
74
  ].filter(Boolean).join(" ")
75
75
  );
76
- function d(i) {
77
- const u = i.target;
76
+ function d(o) {
77
+ const u = o.target;
78
78
  r("update:modelValue", u.value);
79
79
  }
80
- return (i, u) => (n(), l("div", {
81
- class: b(o.value)
80
+ return (o, u) => (n(), l("div", {
81
+ class: b(i.value)
82
82
  }, [
83
- i.$slots.leading ? (n(), l("span", q, [
84
- g(i.$slots, "leading")
85
- ])) : $("", !0),
83
+ o.$slots.leading ? (n(), l("span", q, [
84
+ g(o.$slots, "leading")
85
+ ])) : p("", !0),
86
86
  f("input", {
87
87
  type: e.type,
88
88
  class: "strand-input__field",
@@ -91,16 +91,16 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
91
91
  value: e.modelValue,
92
92
  onInput: d
93
93
  }, null, 40, U),
94
- i.$slots.trailing ? (n(), l("span", G, [
95
- g(i.$slots, "trailing")
96
- ])) : $("", !0)
94
+ o.$slots.trailing ? (n(), l("span", G, [
95
+ g(o.$slots, "trailing")
96
+ ])) : p("", !0)
97
97
  ], 2));
98
98
  }
99
99
  }), H = ["disabled", "aria-invalid", "maxlength", "value"], W = {
100
100
  key: 0,
101
101
  class: "strand-textarea__count",
102
102
  "aria-live": "polite"
103
- }, ra = /* @__PURE__ */ h({
103
+ }, ia = /* @__PURE__ */ h({
104
104
  __name: "Textarea",
105
105
  props: {
106
106
  autoResize: { type: Boolean, default: !1 },
@@ -112,7 +112,7 @@ const M = ["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 = c(
115
+ const a = e, r = t, s = x(null), i = c(
116
116
  () => [
117
117
  "strand-textarea",
118
118
  a.error && "strand-textarea--error",
@@ -122,19 +122,19 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
122
122
  ), d = c(
123
123
  () => typeof a.modelValue == "string" ? a.modelValue.length : 0
124
124
  );
125
- function i() {
125
+ function o() {
126
126
  a.autoResize && s.value && (s.value.style.height = "auto", s.value.style.height = `${s.value.scrollHeight}px`);
127
127
  }
128
128
  function u(m) {
129
129
  const v = m.target;
130
- r("update:modelValue", v.value), i();
130
+ r("update:modelValue", v.value), o();
131
131
  }
132
132
  return z(() => a.modelValue, () => {
133
- i();
133
+ o();
134
134
  }), L(() => {
135
- i();
135
+ o();
136
136
  }), (m, v) => (n(), l("div", {
137
- class: b(o.value)
137
+ class: b(i.value)
138
138
  }, [
139
139
  f("textarea", {
140
140
  ref_key: "textareaRef",
@@ -146,14 +146,14 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
146
146
  value: e.modelValue,
147
147
  onInput: u
148
148
  }, null, 40, H),
149
- e.showCount && e.maxLength != null ? (n(), l("span", W, _(d.value) + "/" + _(e.maxLength), 1)) : $("", !0)
149
+ e.showCount && e.maxLength != null ? (n(), l("span", W, _(d.value) + "/" + _(e.maxLength), 1)) : p("", !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"], ia = /* @__PURE__ */ h({
156
+ }, Q = ["value"], da = /* @__PURE__ */ h({
157
157
  __name: "Select",
158
158
  props: {
159
159
  options: {},
@@ -171,11 +171,11 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
171
171
  a.disabled && "strand-select--disabled"
172
172
  ].filter(Boolean).join(" ")
173
173
  );
174
- function o(d) {
175
- const i = d.target;
176
- r("update:modelValue", i.value);
174
+ function i(d) {
175
+ const o = d.target;
176
+ r("update:modelValue", o.value);
177
177
  }
178
- return (d, i) => (n(), l("div", {
178
+ return (d, o) => (n(), l("div", {
179
179
  class: b(s.value)
180
180
  }, [
181
181
  f("select", {
@@ -183,15 +183,15 @@ const M = ["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, _(e.placeholder), 1)) : $("", !0),
189
- (n(!0), l(k, null, w(e.options, (u) => (n(), l("option", {
188
+ e.placeholder ? (n(), l("option", J, _(e.placeholder), 1)) : p("", !0),
189
+ (n(!0), l(y, null, w(e.options, (u) => (n(), l("option", {
190
190
  key: u.value,
191
191
  value: u.value
192
192
  }, _(u.label), 9, Q))), 128))
193
193
  ], 40, Z),
194
- i[0] || (i[0] = f("span", {
194
+ o[0] || (o[0] = f("span", {
195
195
  class: "strand-select__arrow",
196
196
  "aria-hidden": "true"
197
197
  }, null, -1))
@@ -213,7 +213,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
213
213
  }, te = {
214
214
  key: 0,
215
215
  class: "strand-checkbox__label"
216
- }, oa = /* @__PURE__ */ h({
216
+ }, ca = /* @__PURE__ */ h({
217
217
  __name: "Checkbox",
218
218
  props: {
219
219
  checked: { type: Boolean, default: !1 },
@@ -229,7 +229,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
229
229
  }), z(() => a.indeterminate, (m) => {
230
230
  s.value && (s.value.indeterminate = m);
231
231
  });
232
- const o = c(
232
+ const i = c(
233
233
  () => [
234
234
  "strand-checkbox",
235
235
  a.checked && "strand-checkbox--checked",
@@ -239,14 +239,14 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
239
239
  ), d = c(
240
240
  () => a.indeterminate ? "mixed" : a.checked ? "true" : "false"
241
241
  );
242
- function i(m) {
242
+ function o(m) {
243
243
  a.disabled || r("change", m);
244
244
  }
245
245
  function u(m) {
246
246
  m.key === " " && !a.disabled && (m.preventDefault(), s.value && s.value.click());
247
247
  }
248
248
  return (m, v) => (n(), l("label", {
249
- class: b(o.value),
249
+ class: b(i.value),
250
250
  onKeydown: u
251
251
  }, [
252
252
  f("input", {
@@ -258,7 +258,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
258
258
  disabled: e.disabled,
259
259
  "aria-checked": d.value,
260
260
  role: "checkbox",
261
- onChange: i
261
+ onChange: o
262
262
  }, null, 40, X),
263
263
  f("span", Y, [
264
264
  e.indeterminate ? (n(), l("svg", ee, [...v[0] || (v[0] = [
@@ -279,15 +279,15 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
279
279
  "stroke-linecap": "round",
280
280
  "stroke-linejoin": "round"
281
281
  }, null, -1)
282
- ])])) : $("", !0)
282
+ ])])) : p("", !0)
283
283
  ]),
284
- e.label ? (n(), l("span", te, _(e.label), 1)) : $("", !0)
284
+ e.label ? (n(), l("span", te, _(e.label), 1)) : p("", !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
- }, da = /* @__PURE__ */ h({
290
+ }, ua = /* @__PURE__ */ h({
291
291
  __name: "Radio",
292
292
  props: {
293
293
  checked: { type: Boolean, default: !1 },
@@ -305,10 +305,10 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
305
305
  a.disabled && "strand-radio--disabled"
306
306
  ].filter(Boolean).join(" ")
307
307
  );
308
- function o(d) {
308
+ function i(d) {
309
309
  a.disabled || r("change", d);
310
310
  }
311
- return (d, i) => (n(), l("label", {
311
+ return (d, o) => (n(), l("label", {
312
312
  class: b(s.value)
313
313
  }, [
314
314
  f("input", {
@@ -318,21 +318,21 @@ const M = ["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
- i[0] || (i[0] = f("span", {
323
+ o[0] || (o[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 ? (n(), l("span", ne, _(e.label), 1)) : $("", !0)
329
+ e.label ? (n(), l("span", ne, _(e.label), 1)) : p("", !0)
330
330
  ], 2));
331
331
  }
332
332
  }), le = ["aria-checked", "disabled"], re = {
333
333
  key: 0,
334
334
  class: "strand-switch__label"
335
- }, ca = /* @__PURE__ */ h({
335
+ }, fa = /* @__PURE__ */ h({
336
336
  __name: "Switch",
337
337
  props: {
338
338
  checked: { type: Boolean, default: !1 },
@@ -348,13 +348,13 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
348
348
  a.disabled && "strand-switch--disabled"
349
349
  ].filter(Boolean).join(" ")
350
350
  );
351
- function o() {
351
+ function i() {
352
352
  a.disabled || r("change", !a.checked);
353
353
  }
354
- function d(i) {
355
- (i.key === " " || i.key === "Enter") && !a.disabled && (i.preventDefault(), r("change", !a.checked));
354
+ function d(o) {
355
+ (o.key === " " || o.key === "Enter") && !a.disabled && (o.preventDefault(), r("change", !a.checked));
356
356
  }
357
- return (i, u) => (n(), l("label", {
357
+ return (o, u) => (n(), l("label", {
358
358
  class: b(s.value)
359
359
  }, [
360
360
  f("button", {
@@ -363,7 +363,7 @@ const M = ["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,
366
+ onClick: i,
367
367
  onKeydown: d
368
368
  }, [...u[0] || (u[0] = [
369
369
  f("span", {
@@ -371,10 +371,10 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
371
371
  "aria-hidden": "true"
372
372
  }, null, -1)
373
373
  ])], 40, le),
374
- e.label ? (n(), l("span", re, _(e.label), 1)) : $("", !0)
374
+ e.label ? (n(), l("span", re, _(e.label), 1)) : p("", !0)
375
375
  ], 2));
376
376
  }
377
- }), ie = ["min", "max", "step", "value", "disabled", "aria-valuemin", "aria-valuemax", "aria-valuenow"], ua = /* @__PURE__ */ h({
377
+ }), oe = ["min", "max", "step", "value", "disabled", "aria-valuemin", "aria-valuemax", "aria-valuenow"], va = /* @__PURE__ */ h({
378
378
  __name: "Slider",
379
379
  props: {
380
380
  min: { default: 0 },
@@ -391,11 +391,11 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
391
391
  a.disabled && "strand-slider--disabled"
392
392
  ].filter(Boolean).join(" ")
393
393
  );
394
- function o(d) {
395
- const i = d.target;
396
- r("update:modelValue", Number(i.value));
394
+ function i(d) {
395
+ const o = d.target;
396
+ r("update:modelValue", Number(o.value));
397
397
  }
398
- return (d, i) => (n(), l("div", {
398
+ return (d, o) => (n(), l("div", {
399
399
  class: b(s.value)
400
400
  }, [
401
401
  f("input", {
@@ -409,15 +409,15 @@ const M = ["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
413
- }, null, 40, ie)
412
+ onInput: i
413
+ }, null, 40, oe)
414
414
  ], 2));
415
415
  }
416
- }), oe = ["for"], de = {
416
+ }), ie = ["for"], de = {
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"], fa = /* @__PURE__ */ h({
420
+ }, ce = { class: "strand-form-field__control" }, ue = ["id"], fe = ["id"], ma = /* @__PURE__ */ h({
421
421
  __name: "FormField",
422
422
  props: {
423
423
  label: {},
@@ -440,9 +440,9 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
440
440
  class: "strand-form-field__label",
441
441
  for: e.htmlFor
442
442
  }, [
443
- N(_(e.label) + " ", 1),
444
- e.required ? (n(), l("span", de, " * ")) : $("", !0)
445
- ], 8, oe),
443
+ T(_(e.label) + " ", 1),
444
+ e.required ? (n(), l("span", de, " * ")) : p("", !0)
445
+ ], 8, ie),
446
446
  f("div", ce, [
447
447
  g(r.$slots, "default")
448
448
  ]),
@@ -455,10 +455,10 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
455
455
  key: 1,
456
456
  class: "strand-form-field__hint",
457
457
  id: `${e.htmlFor}-hint`
458
- }, _(e.hint), 9, fe)) : $("", !0)
458
+ }, _(e.hint), 9, fe)) : p("", !0)
459
459
  ], 2));
460
460
  }
461
- }), va = /* @__PURE__ */ h({
461
+ }), ha = /* @__PURE__ */ h({
462
462
  __name: "Card",
463
463
  props: {
464
464
  variant: { default: "elevated" },
@@ -474,11 +474,11 @@ const M = ["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), [
477
+ return (r, s) => (n(), l("div", k({ class: a.value }, r.$attrs), [
478
478
  g(r.$slots, "default")
479
479
  ], 16));
480
480
  }
481
- }), ve = ["aria-label"], ma = /* @__PURE__ */ h({
481
+ }), ve = ["aria-label"], _a = /* @__PURE__ */ h({
482
482
  __name: "Badge",
483
483
  props: {
484
484
  variant: { default: "count" },
@@ -488,7 +488,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
488
488
  className: { default: "" }
489
489
  },
490
490
  setup(e) {
491
- const t = e, a = E(), r = c(() => !!a.default), s = c(() => t.variant === "count" ? t.count != null && t.count > t.maxCount ? `${t.maxCount}+` : t.count : null), o = c(() => {
491
+ const t = e, a = E(), r = 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(
@@ -497,14 +497,14 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
497
497
  `strand-badge--${t.variant}`,
498
498
  `strand-badge--${t.status}`
499
499
  ].filter(Boolean).join(" ")
500
- ), i = c(
500
+ ), o = c(
501
501
  () => r.value ? ["strand-badge", t.className].filter(Boolean).join(" ") : ["strand-badge", "strand-badge--inline", t.className].filter(Boolean).join(" ")
502
502
  );
503
- return (u, m) => (n(), l("span", y({ class: i.value }, u.$attrs), [
503
+ return (u, m) => (n(), l("span", k({ class: o.value }, u.$attrs), [
504
504
  g(u.$slots, "default"),
505
505
  f("span", {
506
506
  class: b(d.value),
507
- "aria-label": o.value,
507
+ "aria-label": i.value,
508
508
  role: "status"
509
509
  }, _(s.value), 11, ve)
510
510
  ], 16));
@@ -513,7 +513,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
513
513
  key: 1,
514
514
  class: "strand-avatar__initials",
515
515
  "aria-hidden": "true"
516
- }, ha = /* @__PURE__ */ h({
516
+ }, ba = /* @__PURE__ */ h({
517
517
  __name: "Avatar",
518
518
  props: {
519
519
  src: {},
@@ -525,28 +525,28 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
525
525
  setup(e) {
526
526
  const t = e, a = x(!1), r = () => {
527
527
  a.value = !0;
528
- }, s = c(() => t.src && !a.value), o = c(() => t.initials.slice(0, 2).toUpperCase()), d = c(
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 (i, u) => (n(), l("div", y({
535
+ return (o, u) => (n(), l("div", k({
536
536
  class: d.value,
537
537
  role: "img",
538
- "aria-label": e.alt || o.value
539
- }, i.$attrs), [
538
+ "aria-label": e.alt || i.value
539
+ }, o.$attrs), [
540
540
  s.value ? (n(), l("img", {
541
541
  key: 0,
542
542
  class: "strand-avatar__img",
543
543
  src: e.src,
544
544
  alt: e.alt,
545
545
  onError: r
546
- }, null, 40, he)) : (n(), l("span", _e, _(o.value), 1))
546
+ }, null, 40, he)) : (n(), l("span", _e, _(i.value), 1))
547
547
  ], 16, me));
548
548
  }
549
- }), be = { class: "strand-tag__text" }, _a = /* @__PURE__ */ h({
549
+ }), be = { class: "strand-tag__text" }, pa = /* @__PURE__ */ h({
550
550
  __name: "Tag",
551
551
  props: {
552
552
  variant: { default: "solid" },
@@ -564,16 +564,16 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
564
564
  a.className
565
565
  ].filter(Boolean).join(" ")
566
566
  );
567
- return (o, d) => (n(), l("span", y({ class: s.value }, o.$attrs), [
567
+ return (i, d) => (n(), l("span", k({ class: s.value }, i.$attrs), [
568
568
  f("span", be, [
569
- g(o.$slots, "default")
569
+ g(i.$slots, "default")
570
570
  ]),
571
571
  e.removable ? (n(), l("button", {
572
572
  key: 0,
573
573
  type: "button",
574
574
  class: "strand-tag__remove",
575
575
  "aria-label": "Remove",
576
- onClick: d[0] || (d[0] = (i) => r("remove"))
576
+ onClick: d[0] || (d[0] = (o) => r("remove"))
577
577
  }, [...d[1] || (d[1] = [
578
578
  f("svg", {
579
579
  width: "12",
@@ -589,13 +589,13 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
589
589
  "stroke-linecap": "round"
590
590
  })
591
591
  ], -1)
592
- ])])) : $("", !0)
592
+ ])])) : p("", !0)
593
593
  ], 16));
594
594
  }
595
- }), pe = { class: "strand-table" }, $e = { class: "strand-table__head" }, ge = ["aria-label", "onClick"], ye = {
595
+ }), pe = { 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
- }, ke = { class: "strand-table__body" }, ba = /* @__PURE__ */ h({
598
+ }, ye = { class: "strand-table__body" }, $a = /* @__PURE__ */ h({
599
599
  __name: "Table",
600
600
  props: {
601
601
  columns: {},
@@ -603,23 +603,23 @@ const M = ["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 = c(
606
+ const a = t, r = x(null), s = x("asc"), i = c(
607
607
  () => ["strand-table-wrapper"].filter(Boolean).join(" ")
608
608
  );
609
609
  function d(u) {
610
610
  const m = r.value === u && s.value === "asc" ? "desc" : "asc";
611
611
  r.value = u, s.value = m, a("sort", u, m);
612
612
  }
613
- function i(u) {
613
+ function o(u) {
614
614
  return r.value === u ? s.value === "asc" ? "↑" : "↓" : "↕";
615
615
  }
616
616
  return (u, m) => (n(), l("div", {
617
- class: b(o.value)
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(k, null, w(e.columns, (v) => (n(), l("th", {
622
+ (n(!0), l(y, null, w(e.columns, (v) => (n(), l("th", {
623
623
  key: v.key,
624
624
  class: "strand-table__th",
625
625
  style: S(v.width ? { width: v.width } : void 0)
@@ -631,29 +631,29 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
631
631
  "aria-label": `Sort by ${v.header}`,
632
632
  onClick: (B) => d(v.key)
633
633
  }, [
634
- N(_(v.header) + " ", 1),
635
- f("span", ye, _(i(v.key)), 1)
636
- ], 8, ge)) : (n(), l(k, { key: 1 }, [
637
- N(_(v.header), 1)
634
+ T(_(v.header) + " ", 1),
635
+ f("span", ke, _(o(v.key)), 1)
636
+ ], 8, ge)) : (n(), l(y, { key: 1 }, [
637
+ T(_(v.header), 1)
638
638
  ], 64))
639
639
  ], 4))), 128))
640
640
  ])
641
641
  ]),
642
- f("tbody", ke, [
643
- (n(!0), l(k, null, w(e.data, (v, B) => (n(), l("tr", {
642
+ f("tbody", ye, [
643
+ (n(!0), l(y, null, w(e.data, (v, B) => (n(), l("tr", {
644
644
  key: B,
645
645
  class: "strand-table__row"
646
646
  }, [
647
- (n(!0), l(k, null, w(e.columns, (p) => (n(), l("td", {
648
- key: p.key,
647
+ (n(!0), l(y, null, w(e.columns, ($) => (n(), l("td", {
648
+ key: $.key,
649
649
  class: "strand-table__td"
650
- }, _(v[p.key]), 1))), 128))
650
+ }, _(v[$.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" }, pa = /* @__PURE__ */ h({
656
+ }), Be = { class: "strand-data-readout__label" }, we = { class: "strand-data-readout__value" }, ga = /* @__PURE__ */ h({
657
657
  __name: "DataReadout",
658
658
  props: {
659
659
  label: {},
@@ -669,12 +669,33 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
669
669
  t.className
670
670
  ].filter(Boolean).join(" ")
671
671
  );
672
- return (r, s) => (n(), l("div", y({ class: a.value }, r.$attrs), [
672
+ return (r, s) => (n(), l("div", k({ class: a.value }, r.$attrs), [
673
673
  f("span", Be, _(e.label), 1),
674
674
  f("span", we, _(e.value), 1)
675
675
  ], 16));
676
676
  }
677
- }), $a = /* @__PURE__ */ h({
677
+ }), xe = {
678
+ key: 0,
679
+ class: "strand-code-block__label"
680
+ }, Ce = { class: "strand-code-block__pre" }, ka = /* @__PURE__ */ h({
681
+ __name: "CodeBlock",
682
+ props: {
683
+ code: {},
684
+ language: {},
685
+ className: { default: "" }
686
+ },
687
+ setup(e) {
688
+ const t = e, a = c(
689
+ () => ["strand-code-block", t.className].filter(Boolean).join(" ")
690
+ );
691
+ return (r, s) => (n(), l("div", k({ class: a.value }, r.$attrs), [
692
+ e.language ? (n(), l("span", xe, _(e.language), 1)) : p("", !0),
693
+ f("pre", Ce, [
694
+ f("code", null, _(e.code), 1)
695
+ ])
696
+ ], 16));
697
+ }
698
+ }), ya = /* @__PURE__ */ h({
678
699
  __name: "Stack",
679
700
  props: {
680
701
  direction: { default: "vertical" },
@@ -697,14 +718,14 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
697
718
  ), r = c(() => ({
698
719
  gap: `var(--strand-space-${t.gap})`
699
720
  }));
700
- return (s, o) => (n(), l("div", y({
721
+ return (s, i) => (n(), l("div", k({
701
722
  class: a.value,
702
723
  style: r.value
703
724
  }, s.$attrs), [
704
725
  g(s.$slots, "default")
705
726
  ], 16));
706
727
  }
707
- }), ga = /* @__PURE__ */ h({
728
+ }), Ba = /* @__PURE__ */ h({
708
729
  __name: "Grid",
709
730
  props: {
710
731
  columns: { default: 1 },
@@ -718,14 +739,14 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
718
739
  gridTemplateColumns: `repeat(${t.columns}, 1fr)`,
719
740
  gap: `var(--strand-space-${t.gap})`
720
741
  }));
721
- return (s, o) => (n(), l("div", y({
742
+ return (s, i) => (n(), l("div", k({
722
743
  class: a.value,
723
744
  style: r.value
724
745
  }, s.$attrs), [
725
746
  g(s.$slots, "default")
726
747
  ], 16));
727
748
  }
728
- }), ya = /* @__PURE__ */ h({
749
+ }), wa = /* @__PURE__ */ h({
729
750
  __name: "Container",
730
751
  props: {
731
752
  size: { default: "default" },
@@ -739,11 +760,11 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
739
760
  t.className
740
761
  ].filter(Boolean).join(" ")
741
762
  );
742
- return (r, s) => (n(), l("div", y({ class: a.value }, r.$attrs), [
763
+ return (r, s) => (n(), l("div", k({ class: a.value }, r.$attrs), [
743
764
  g(r.$slots, "default")
744
765
  ], 16));
745
766
  }
746
- }), xe = { class: "strand-divider__label" }, ka = /* @__PURE__ */ h({
767
+ }), je = { class: "strand-divider__label" }, xa = /* @__PURE__ */ h({
747
768
  __name: "Divider",
748
769
  props: {
749
770
  direction: { default: "horizontal" },
@@ -754,7 +775,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
754
775
  const t = e, a = c(() => t.direction === "vertical"), r = c(() => !a.value && !!t.label);
755
776
  c(() => !a.value && !t.label);
756
777
  const s = c(() => 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(" "));
757
- return (o, d) => a.value ? (n(), l("div", {
778
+ return (i, d) => a.value ? (n(), l("div", {
758
779
  key: 0,
759
780
  class: b(s.value),
760
781
  role: "separator",
@@ -766,7 +787,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
766
787
  "aria-orientation": "horizontal"
767
788
  }, [
768
789
  d[0] || (d[0] = f("span", { class: "strand-divider__line" }, null, -1)),
769
- f("span", xe, _(e.label), 1),
790
+ f("span", je, _(e.label), 1),
770
791
  d[1] || (d[1] = f("span", { class: "strand-divider__line" }, null, -1))
771
792
  ], 2)) : (n(), l("hr", {
772
793
  key: 2,
@@ -775,7 +796,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
775
796
  "aria-orientation": "horizontal"
776
797
  }, null, 2));
777
798
  }
778
- }), Ba = /* @__PURE__ */ h({
799
+ }), Ca = /* @__PURE__ */ h({
779
800
  __name: "Section",
780
801
  props: {
781
802
  variant: { default: "standard" },
@@ -791,11 +812,11 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
791
812
  t.className
792
813
  ].filter(Boolean).join(" ")
793
814
  );
794
- return (r, s) => (n(), l("section", y({ class: a.value }, r.$attrs), [
815
+ return (r, s) => (n(), l("section", k({ class: a.value }, r.$attrs), [
795
816
  g(r.$slots, "default")
796
817
  ], 16));
797
818
  }
798
- }), Ce = ["href"], wa = /* @__PURE__ */ h({
819
+ }), Ne = ["href"], ja = /* @__PURE__ */ h({
799
820
  __name: "Link",
800
821
  props: {
801
822
  href: {},
@@ -806,7 +827,7 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
806
827
  const t = e, a = c(
807
828
  () => ["strand-link", t.className].filter(Boolean).join(" ")
808
829
  );
809
- return (r, s) => (n(), l("a", y({
830
+ return (r, s) => (n(), l("a", k({
810
831
  href: e.href,
811
832
  class: a.value
812
833
  }, {
@@ -814,9 +835,9 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
814
835
  ...r.$attrs
815
836
  }), [
816
837
  g(r.$slots, "default")
817
- ], 16, Ce));
838
+ ], 16, Ne));
818
839
  }
819
- }), je = ["id", "aria-selected", "aria-controls", "tabindex", "onClick"], Te = ["id", "aria-labelledby", "hidden"], xa = /* @__PURE__ */ h({
840
+ }), Te = ["id", "aria-selected", "aria-controls", "tabindex", "onClick"], Se = ["id", "aria-labelledby", "hidden"], Na = /* @__PURE__ */ h({
820
841
  __name: "Tabs",
821
842
  props: {
822
843
  tabs: {},
@@ -824,17 +845,17 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
824
845
  },
825
846
  emits: ["change"],
826
847
  setup(e, { emit: t }) {
827
- const a = e, r = t, s = x(null), o = c(() => ["strand-tabs"].filter(Boolean).join(" "));
848
+ const a = e, r = t, s = x(null), i = c(() => ["strand-tabs"].filter(Boolean).join(" "));
828
849
  function d(u) {
829
850
  var v, B;
830
851
  const m = a.tabs[u];
831
852
  if (m) {
832
853
  r("change", m.id);
833
- const p = (v = s.value) == null ? void 0 : v.querySelectorAll('[role="tab"]');
834
- (B = p == null ? void 0 : p[u]) == null || B.focus();
854
+ const $ = (v = s.value) == null ? void 0 : v.querySelectorAll('[role="tab"]');
855
+ (B = $ == null ? void 0 : $[u]) == null || B.focus();
835
856
  }
836
857
  }
837
- function i(u) {
858
+ function o(u) {
838
859
  const m = a.tabs.findIndex((B) => B.id === a.activeTab);
839
860
  let v = null;
840
861
  switch (u.key) {
@@ -856,15 +877,15 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
856
877
  u.preventDefault(), d(v);
857
878
  }
858
879
  return (u, m) => (n(), l("div", {
859
- class: b(o.value)
880
+ class: b(i.value)
860
881
  }, [
861
882
  f("div", {
862
883
  ref_key: "tablistRef",
863
884
  ref: s,
864
885
  role: "tablist",
865
- onKeydown: i
886
+ onKeydown: o
866
887
  }, [
867
- (n(!0), l(k, null, w(e.tabs, (v) => (n(), l("button", {
888
+ (n(!0), l(y, null, w(e.tabs, (v) => (n(), l("button", {
868
889
  key: v.id,
869
890
  id: `tab-${v.id}`,
870
891
  role: "tab",
@@ -877,9 +898,9 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
877
898
  "aria-controls": `panel-${v.id}`,
878
899
  tabindex: v.id === e.activeTab ? 0 : -1,
879
900
  onClick: (B) => r("change", v.id)
880
- }, _(v.label), 11, je))), 128))
901
+ }, _(v.label), 11, Te))), 128))
881
902
  ], 544),
882
- (n(!0), l(k, null, w(e.tabs, (v) => (n(), l("div", {
903
+ (n(!0), l(y, null, w(e.tabs, (v) => (n(), l("div", {
883
904
  key: v.id,
884
905
  id: `panel-${v.id}`,
885
906
  role: "tabpanel",
@@ -888,18 +909,18 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
888
909
  tabindex: 0
889
910
  }, [
890
911
  g(u.$slots, `panel-${v.id}`)
891
- ], 8, Te))), 128))
912
+ ], 8, Se))), 128))
892
913
  ], 2));
893
914
  }
894
- }), Ne = { class: "strand-breadcrumb__list" }, Se = {
915
+ }), ze = { class: "strand-breadcrumb__list" }, Ve = {
895
916
  key: 0,
896
917
  class: "strand-breadcrumb__separator",
897
918
  "aria-hidden": "true"
898
- }, ze = {
919
+ }, De = {
899
920
  key: 1,
900
921
  class: "strand-breadcrumb__current",
901
922
  "aria-current": "page"
902
- }, Ve = ["href"], Ca = /* @__PURE__ */ h({
923
+ }, Ie = ["href"], Ta = /* @__PURE__ */ h({
903
924
  __name: "Breadcrumb",
904
925
  props: {
905
926
  items: {},
@@ -913,31 +934,31 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
913
934
  "aria-label": "Breadcrumb",
914
935
  class: b(t.value)
915
936
  }, [
916
- f("ol", Ne, [
917
- (n(!0), l(k, null, w(e.items, (s, o) => (n(), l("li", {
918
- key: `${s.label}-${o}`,
937
+ f("ol", ze, [
938
+ (n(!0), l(y, null, w(e.items, (s, i) => (n(), l("li", {
939
+ key: `${s.label}-${i}`,
919
940
  class: "strand-breadcrumb__item"
920
941
  }, [
921
- o > 0 ? (n(), l("span", Se, _(e.separator), 1)) : $("", !0),
922
- o === e.items.length - 1 ? (n(), l("span", ze, _(s.label), 1)) : (n(), l("a", {
942
+ i > 0 ? (n(), l("span", Ve, _(e.separator), 1)) : p("", !0),
943
+ i === e.items.length - 1 ? (n(), l("span", De, _(s.label), 1)) : (n(), l("a", {
923
944
  key: 2,
924
945
  href: s.href,
925
946
  class: "strand-breadcrumb__link"
926
- }, _(s.label), 9, Ve))
947
+ }, _(s.label), 9, Ie))
927
948
  ]))), 128))
928
949
  ])
929
950
  ], 2));
930
951
  }
931
- }), De = { class: "strand-nav__inner" }, Ie = {
952
+ }), Re = { class: "strand-nav__inner" }, Ee = {
932
953
  key: 0,
933
954
  class: "strand-nav__logo"
934
- }, Re = { class: "strand-nav__items" }, Ee = ["href", "aria-current"], Le = {
955
+ }, Le = { class: "strand-nav__items" }, Oe = ["href", "aria-current"], Ae = {
935
956
  key: 1,
936
957
  class: "strand-nav__actions"
937
- }, Oe = ["aria-expanded", "aria-label"], Ae = {
958
+ }, Fe = ["aria-expanded", "aria-label"], Ke = {
938
959
  key: 0,
939
960
  class: "strand-nav__mobile-menu"
940
- }, Fe = ["href", "aria-current"], ja = /* @__PURE__ */ h({
961
+ }, Me = ["href", "aria-current"], Sa = /* @__PURE__ */ h({
941
962
  __name: "Nav",
942
963
  props: {
943
964
  items: { default: () => [] }
@@ -948,16 +969,16 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
948
969
  t.value = !t.value;
949
970
  }
950
971
  const r = c(() => ["strand-nav"].filter(Boolean).join(" "));
951
- return (s, o) => (n(), l("nav", {
972
+ return (s, i) => (n(), l("nav", {
952
973
  class: b(r.value),
953
974
  "aria-label": "Main navigation"
954
975
  }, [
955
- f("div", De, [
956
- s.$slots.logo ? (n(), l("div", Ie, [
976
+ f("div", Re, [
977
+ s.$slots.logo ? (n(), l("div", Ee, [
957
978
  g(s.$slots, "logo")
958
- ])) : $("", !0),
959
- f("div", Re, [
960
- (n(!0), l(k, null, w(e.items, (d) => (n(), l("a", {
979
+ ])) : p("", !0),
980
+ f("div", Le, [
981
+ (n(!0), l(y, null, w(e.items, (d) => (n(), l("a", {
961
982
  key: d.href,
962
983
  href: d.href,
963
984
  class: b([
@@ -965,26 +986,26 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
965
986
  d.active && "strand-nav__link--active"
966
987
  ].filter(Boolean).join(" ")),
967
988
  "aria-current": d.active ? "page" : void 0
968
- }, _(d.label), 11, Ee))), 128))
989
+ }, _(d.label), 11, Oe))), 128))
969
990
  ]),
970
- s.$slots.actions ? (n(), l("div", Le, [
991
+ s.$slots.actions ? (n(), l("div", Ae, [
971
992
  g(s.$slots, "actions")
972
- ])) : $("", !0),
993
+ ])) : p("", !0),
973
994
  f("button", {
974
995
  type: "button",
975
996
  class: "strand-nav__hamburger",
976
997
  "aria-expanded": t.value ? "true" : "false",
977
998
  "aria-label": t.value ? "Close menu" : "Menu",
978
999
  onClick: a
979
- }, [...o[0] || (o[0] = [
1000
+ }, [...i[0] || (i[0] = [
980
1001
  f("span", {
981
1002
  class: "strand-nav__hamburger-icon",
982
1003
  "aria-hidden": "true"
983
1004
  }, null, -1)
984
- ])], 8, Oe)
1005
+ ])], 8, Fe)
985
1006
  ]),
986
- t.value ? (n(), l("div", Ae, [
987
- (n(!0), l(k, null, w(e.items, (d) => (n(), l("a", {
1007
+ t.value ? (n(), l("div", Ke, [
1008
+ (n(!0), l(y, null, w(e.items, (d) => (n(), l("a", {
988
1009
  key: d.href,
989
1010
  href: d.href,
990
1011
  class: b([
@@ -992,11 +1013,11 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
992
1013
  d.active && "strand-nav__mobile-link--active"
993
1014
  ].filter(Boolean).join(" ")),
994
1015
  "aria-current": d.active ? "page" : void 0
995
- }, _(d.label), 11, Fe))), 128))
996
- ])) : $("", !0)
1016
+ }, _(d.label), 11, Me))), 128))
1017
+ ])) : p("", !0)
997
1018
  ], 2));
998
1019
  }
999
- }), Ke = ["aria-live"], Me = { class: "strand-toast__message" }, Ta = /* @__PURE__ */ h({
1020
+ }), Pe = ["aria-live"], qe = { class: "strand-toast__message" }, za = /* @__PURE__ */ h({
1000
1021
  __name: "Toast",
1001
1022
  props: {
1002
1023
  status: { default: "info" },
@@ -1006,50 +1027,50 @@ const M = ["type", "disabled", "aria-disabled", "aria-busy"], P = {
1006
1027
  setup(e, { emit: t }) {
1007
1028
  const a = e, r = t, s = c(
1008
1029
  () => a.status === "error" || a.status === "warning"
1009
- ), o = c(
1030
+ ), i = c(
1010
1031
  () => ["strand-toast", `strand-toast--${a.status}`].filter(Boolean).join(" ")
1011
1032
  );
1012
- return (d, i) => (n(), l("div", {
1013
- class: b(o.value),
1033
+ return (d, o) => (n(), l("div", {
1034
+ class: b(i.value),
1014
1035
  role: "status",
1015
1036
  "aria-live": s.value ? "assertive" : "polite"
1016
1037
  }, [
1017
- f("span", Me, _(e.message), 1),
1038
+ f("span", qe, _(e.message), 1),
1018
1039
  f("button", {
1019
1040
  type: "button",
1020
1041
  class: "strand-toast__dismiss",
1021
1042
  "aria-label": "Dismiss",
1022
- onClick: i[0] || (i[0] = (u) => r("dismiss"))
1043
+ onClick: o[0] || (o[0] = (u) => r("dismiss"))
1023
1044
  }, " × ")
1024
- ], 10, Ke));
1045
+ ], 10, Pe));
1025
1046
  }
1026
1047
  });
1027
1048
  /*! Strand Vue | MIT License | dillingerstaffing.com */
1028
1049
  const O = Symbol("StrandToast");
1029
- function Na() {
1050
+ function Va() {
1030
1051
  const e = A(O);
1031
1052
  if (!e)
1032
1053
  throw new Error("useToast must be used within a ToastProvider");
1033
1054
  return e;
1034
1055
  }
1035
- const Pe = {
1056
+ const Ue = {
1036
1057
  key: 0,
1037
1058
  class: "strand-toast__container"
1038
- }, qe = ["aria-live"], Ue = { class: "strand-toast__message" }, Ge = ["onClick"], Sa = /* @__PURE__ */ h({
1059
+ }, Ge = ["aria-live"], He = { class: "strand-toast__message" }, We = ["onClick"], Da = /* @__PURE__ */ h({
1039
1060
  __name: "ToastProvider",
1040
1061
  setup(e) {
1041
1062
  let t = 0;
1042
1063
  const a = x([]), r = /* @__PURE__ */ new Map();
1043
- function s(i) {
1044
- const u = r.get(i);
1045
- u !== void 0 && (clearTimeout(u), r.delete(i)), a.value = a.value.filter((m) => m.id !== i);
1064
+ function s(o) {
1065
+ const u = r.get(o);
1066
+ u !== void 0 && (clearTimeout(u), r.delete(o)), a.value = a.value.filter((m) => m.id !== o);
1046
1067
  }
1047
- function o(i) {
1068
+ function i(o) {
1048
1069
  const u = {
1049
1070
  id: ++t,
1050
- message: i.message,
1051
- status: i.status ?? "info",
1052
- duration: i.duration ?? 5e3
1071
+ message: o.message,
1072
+ status: o.status ?? "info",
1073
+ duration: o.duration ?? 5e3
1053
1074
  };
1054
1075
  if (a.value = [...a.value, u], u.duration > 0) {
1055
1076
  const m = setTimeout(() => {
@@ -1058,35 +1079,35 @@ const Pe = {
1058
1079
  r.set(u.id, m);
1059
1080
  }
1060
1081
  }
1061
- F(O, { toast: o }), V(() => {
1062
- for (const i of r.values())
1063
- clearTimeout(i);
1082
+ F(O, { toast: i }), V(() => {
1083
+ for (const o of r.values())
1084
+ clearTimeout(o);
1064
1085
  r.clear();
1065
1086
  });
1066
- function d(i) {
1067
- return i === "error" || i === "warning";
1087
+ function d(o) {
1088
+ return o === "error" || o === "warning";
1068
1089
  }
1069
- return (i, u) => (n(), l(k, null, [
1070
- g(i.$slots, "default"),
1071
- a.value.length > 0 ? (n(), l("div", Pe, [
1072
- (n(!0), l(k, null, w(a.value, (m) => (n(), l("div", {
1090
+ return (o, u) => (n(), l(y, null, [
1091
+ g(o.$slots, "default"),
1092
+ a.value.length > 0 ? (n(), l("div", Ue, [
1093
+ (n(!0), l(y, null, w(a.value, (m) => (n(), l("div", {
1073
1094
  key: m.id,
1074
1095
  class: b(["strand-toast", `strand-toast--${m.status}`].join(" ")),
1075
1096
  role: "status",
1076
1097
  "aria-live": d(m.status) ? "assertive" : "polite"
1077
1098
  }, [
1078
- f("span", Ue, _(m.message), 1),
1099
+ f("span", He, _(m.message), 1),
1079
1100
  f("button", {
1080
1101
  type: "button",
1081
1102
  class: "strand-toast__dismiss",
1082
1103
  "aria-label": "Dismiss",
1083
1104
  onClick: (v) => s(m.id)
1084
- }, " × ", 8, Ge)
1085
- ], 10, qe))), 128))
1086
- ])) : $("", !0)
1105
+ }, " × ", 8, We)
1106
+ ], 10, Ge))), 128))
1107
+ ])) : p("", !0)
1087
1108
  ], 64));
1088
1109
  }
1089
- }), He = ["role"], We = { class: "strand-alert__content" }, za = /* @__PURE__ */ h({
1110
+ }), Ze = ["role"], Je = { class: "strand-alert__content" }, Ia = /* @__PURE__ */ h({
1090
1111
  __name: "Alert",
1091
1112
  props: {
1092
1113
  status: { default: "info" },
@@ -1096,7 +1117,7 @@ const Pe = {
1096
1117
  setup(e, { emit: t }) {
1097
1118
  const a = e, r = t, s = c(
1098
1119
  () => a.status === "error" || a.status === "warning" ? "alert" : "status"
1099
- ), o = c(
1120
+ ), i = c(
1100
1121
  () => [
1101
1122
  "strand-alert",
1102
1123
  `strand-alert--${a.status}`
@@ -1105,12 +1126,12 @@ const Pe = {
1105
1126
  function d() {
1106
1127
  r("dismiss");
1107
1128
  }
1108
- return (i, u) => (n(), l("div", {
1109
- class: b(o.value),
1129
+ return (o, u) => (n(), l("div", {
1130
+ class: b(i.value),
1110
1131
  role: s.value
1111
1132
  }, [
1112
- f("div", We, [
1113
- g(i.$slots, "default")
1133
+ f("div", Je, [
1134
+ g(o.$slots, "default")
1114
1135
  ]),
1115
1136
  e.dismissible ? (n(), l("button", {
1116
1137
  key: 0,
@@ -1118,13 +1139,13 @@ const Pe = {
1118
1139
  class: "strand-alert__dismiss",
1119
1140
  "aria-label": "Dismiss",
1120
1141
  onClick: d
1121
- }, " × ")) : $("", !0)
1122
- ], 10, He));
1142
+ }, " × ")) : p("", !0)
1143
+ ], 10, Ze));
1123
1144
  }
1124
- }), Ze = ["aria-labelledby"], Je = {
1145
+ }), Qe = ["aria-labelledby"], Xe = {
1125
1146
  key: 0,
1126
1147
  class: "strand-dialog__header"
1127
- }, Qe = { class: "strand-dialog__body" }, R = 'a[href], button:not(:disabled), textarea:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex]:not([tabindex="-1"])', Va = /* @__PURE__ */ h({
1148
+ }, Ye = { class: "strand-dialog__body" }, R = 'a[href], button:not(:disabled), textarea:not(:disabled), input:not(:disabled), select:not(:disabled), [tabindex]:not([tabindex="-1"])', Ra = /* @__PURE__ */ h({
1128
1149
  __name: "Dialog",
1129
1150
  props: {
1130
1151
  open: { type: Boolean },
@@ -1136,17 +1157,17 @@ const Pe = {
1136
1157
  setup(e, { emit: t }) {
1137
1158
  const a = e, r = t;
1138
1159
  let s = 0;
1139
- const o = `strand-dialog-title-${++s}`, d = x(null);
1140
- let i = null, u = "";
1160
+ const i = `strand-dialog-title-${++s}`, d = x(null);
1161
+ let o = null, u = "";
1141
1162
  const m = c(
1142
1163
  () => ["strand-dialog__panel"].filter(Boolean).join(" ")
1143
1164
  );
1144
- function v(p) {
1145
- if (p.key === "Escape" && a.closeOnEscape) {
1146
- p.stopPropagation(), r("close");
1165
+ function v($) {
1166
+ if ($.key === "Escape" && a.closeOnEscape) {
1167
+ $.stopPropagation(), r("close");
1147
1168
  return;
1148
1169
  }
1149
- if (p.key === "Tab") {
1170
+ if ($.key === "Tab") {
1150
1171
  const C = d.value;
1151
1172
  if (!C) return;
1152
1173
  const j = Array.from(
@@ -1154,29 +1175,29 @@ const Pe = {
1154
1175
  );
1155
1176
  if (j.length === 0) return;
1156
1177
  const D = j[0], I = j[j.length - 1];
1157
- p.shiftKey ? document.activeElement === D && (p.preventDefault(), I.focus()) : document.activeElement === I && (p.preventDefault(), D.focus());
1178
+ $.shiftKey ? document.activeElement === D && ($.preventDefault(), I.focus()) : document.activeElement === I && ($.preventDefault(), D.focus());
1158
1179
  }
1159
1180
  }
1160
- function B(p) {
1161
- a.closeOnOutsideClick && p.target === p.currentTarget && r("close");
1181
+ function B($) {
1182
+ a.closeOnOutsideClick && $.target === $.currentTarget && r("close");
1162
1183
  }
1163
1184
  return z(
1164
1185
  () => a.open,
1165
- async (p) => {
1166
- if (p) {
1167
- i = document.activeElement, u = document.body.style.overflow, document.body.style.overflow = "hidden", await K();
1186
+ async ($) => {
1187
+ if ($) {
1188
+ o = document.activeElement, u = document.body.style.overflow, document.body.style.overflow = "hidden", await K();
1168
1189
  const C = d.value;
1169
1190
  if (C) {
1170
1191
  const j = C.querySelectorAll(R);
1171
1192
  j.length > 0 ? j[0].focus() : C.focus();
1172
1193
  }
1173
1194
  } else
1174
- document.body.style.overflow = u, i && i instanceof HTMLElement && i.focus();
1195
+ document.body.style.overflow = u, o && o instanceof HTMLElement && o.focus();
1175
1196
  },
1176
1197
  { immediate: !0 }
1177
1198
  ), V(() => {
1178
1199
  a.open && (document.body.style.overflow = u);
1179
- }), (p, C) => e.open ? (n(), l("div", {
1200
+ }), ($, C) => e.open ? (n(), l("div", {
1180
1201
  key: 0,
1181
1202
  class: "strand-dialog__backdrop",
1182
1203
  onClick: B,
@@ -1188,28 +1209,28 @@ const Pe = {
1188
1209
  class: b(m.value),
1189
1210
  role: "dialog",
1190
1211
  "aria-modal": "true",
1191
- "aria-labelledby": e.title ? o : void 0,
1212
+ "aria-labelledby": e.title ? i : void 0,
1192
1213
  tabindex: -1
1193
1214
  }, [
1194
- e.title ? (n(), l("div", Je, [
1215
+ e.title ? (n(), l("div", Xe, [
1195
1216
  f("h2", {
1196
- id: o,
1217
+ id: i,
1197
1218
  class: "strand-dialog__title"
1198
1219
  }, _(e.title), 1)
1199
- ])) : $("", !0),
1220
+ ])) : p("", !0),
1200
1221
  f("button", {
1201
1222
  type: "button",
1202
1223
  class: "strand-dialog__close",
1203
1224
  "aria-label": "Close",
1204
1225
  onClick: C[0] || (C[0] = (j) => r("close"))
1205
1226
  }, " × "),
1206
- f("div", Qe, [
1207
- g(p.$slots, "default")
1227
+ f("div", Ye, [
1228
+ g($.$slots, "default")
1208
1229
  ])
1209
- ], 10, Ze)
1210
- ], 32)) : $("", !0);
1230
+ ], 10, Qe)
1231
+ ], 32)) : p("", !0);
1211
1232
  }
1212
- }), Xe = ["aria-hidden"], Da = /* @__PURE__ */ h({
1233
+ }), ea = ["aria-hidden"], Ea = /* @__PURE__ */ h({
1213
1234
  __name: "Tooltip",
1214
1235
  props: {
1215
1236
  content: {},
@@ -1220,17 +1241,17 @@ const Pe = {
1220
1241
  const t = e;
1221
1242
  let a = 0;
1222
1243
  const r = `strand-tooltip-${++a}`, s = x(!1);
1223
- let o = null;
1244
+ let i = null;
1224
1245
  function d() {
1225
- o = setTimeout(() => {
1246
+ i = setTimeout(() => {
1226
1247
  s.value = !0;
1227
1248
  }, t.delay);
1228
1249
  }
1229
- function i() {
1230
- o !== null && (clearTimeout(o), o = null), s.value = !1;
1250
+ function o() {
1251
+ i !== null && (clearTimeout(i), i = null), s.value = !1;
1231
1252
  }
1232
1253
  V(() => {
1233
- o !== null && clearTimeout(o);
1254
+ i !== null && clearTimeout(i);
1234
1255
  });
1235
1256
  const u = c(
1236
1257
  () => ["strand-tooltip__wrapper"].filter(Boolean).join(" ")
@@ -1245,9 +1266,9 @@ const Pe = {
1245
1266
  class: b(u.value),
1246
1267
  "aria-describedby": r,
1247
1268
  onMouseenter: d,
1248
- onMouseleave: i,
1269
+ onMouseleave: o,
1249
1270
  onFocus: d,
1250
- onBlur: i
1271
+ onBlur: o
1251
1272
  }, [
1252
1273
  g(v.$slots, "default"),
1253
1274
  f("span", {
@@ -1255,10 +1276,10 @@ const Pe = {
1255
1276
  class: b(m.value),
1256
1277
  role: "tooltip",
1257
1278
  "aria-hidden": !s.value
1258
- }, _(e.content), 11, Xe)
1279
+ }, _(e.content), 11, ea)
1259
1280
  ], 34));
1260
1281
  }
1261
- }), Ye = ["aria-valuenow"], ea = ["width", "height", "viewBox"], aa = ["cx", "cy", "r"], ta = ["cx", "cy", "r", "stroke-dasharray", "stroke-dashoffset", "transform"], T = 3, Ia = /* @__PURE__ */ h({
1282
+ }), aa = ["aria-valuenow"], ta = ["width", "height", "viewBox"], sa = ["cx", "cy", "r"], na = ["cx", "cy", "r", "stroke-dasharray", "stroke-dashoffset", "transform"], N = 3, La = /* @__PURE__ */ h({
1262
1283
  __name: "Progress",
1263
1284
  props: {
1264
1285
  variant: { default: "bar" },
@@ -1275,10 +1296,10 @@ const Pe = {
1275
1296
  !r.value && "strand-progress--indeterminate",
1276
1297
  t.className
1277
1298
  ].filter(Boolean).join(" ")
1278
- ), o = c(() => a[t.size] ?? a.md), d = c(() => (o.value - T) / 2), i = c(() => 2 * Math.PI * d.value), u = c(
1279
- () => r.value ? i.value - i.value * t.value / 100 : 0
1299
+ ), i = c(() => a[t.size] ?? a.md), d = c(() => (i.value - N) / 2), o = c(() => 2 * Math.PI * d.value), u = c(
1300
+ () => r.value ? o.value - o.value * t.value / 100 : 0
1280
1301
  );
1281
- return (m, v) => (n(), l("div", y({
1302
+ return (m, v) => (n(), l("div", k({
1282
1303
  class: s.value,
1283
1304
  role: "progressbar",
1284
1305
  "aria-valuemin": 0,
@@ -1287,39 +1308,39 @@ const Pe = {
1287
1308
  }, m.$attrs), [
1288
1309
  e.variant === "ring" ? (n(), l("svg", {
1289
1310
  key: 0,
1290
- width: o.value,
1291
- height: o.value,
1292
- viewBox: `0 0 ${o.value} ${o.value}`,
1311
+ width: i.value,
1312
+ height: i.value,
1313
+ viewBox: `0 0 ${i.value} ${i.value}`,
1293
1314
  class: "strand-progress__ring"
1294
1315
  }, [
1295
1316
  f("circle", {
1296
- cx: o.value / 2,
1297
- cy: o.value / 2,
1317
+ cx: i.value / 2,
1318
+ cy: i.value / 2,
1298
1319
  r: d.value,
1299
1320
  fill: "none",
1300
- "stroke-width": T,
1321
+ "stroke-width": N,
1301
1322
  class: "strand-progress__track"
1302
- }, null, 8, aa),
1323
+ }, null, 8, sa),
1303
1324
  f("circle", {
1304
- cx: o.value / 2,
1305
- cy: o.value / 2,
1325
+ cx: i.value / 2,
1326
+ cy: i.value / 2,
1306
1327
  r: d.value,
1307
1328
  fill: "none",
1308
- "stroke-width": T,
1309
- "stroke-dasharray": i.value,
1329
+ "stroke-width": N,
1330
+ "stroke-dasharray": o.value,
1310
1331
  "stroke-dashoffset": r.value ? u.value : void 0,
1311
1332
  "stroke-linecap": "round",
1312
1333
  class: "strand-progress__fill",
1313
- transform: `rotate(-90 ${o.value / 2} ${o.value / 2})`
1314
- }, null, 8, ta)
1315
- ], 8, ea)) : (n(), l("div", {
1334
+ transform: `rotate(-90 ${i.value / 2} ${i.value / 2})`
1335
+ }, null, 8, na)
1336
+ ], 8, ta)) : (n(), l("div", {
1316
1337
  key: 1,
1317
1338
  class: "strand-progress__fill",
1318
1339
  style: S(r.value ? { width: `${e.value}%` } : void 0)
1319
1340
  }, null, 4))
1320
- ], 16, Ye));
1341
+ ], 16, aa));
1321
1342
  }
1322
- }), Ra = /* @__PURE__ */ h({
1343
+ }), Oa = /* @__PURE__ */ h({
1323
1344
  __name: "Spinner",
1324
1345
  props: {
1325
1346
  size: { default: "md" },
@@ -1333,7 +1354,7 @@ const Pe = {
1333
1354
  t.className
1334
1355
  ].filter(Boolean).join(" ")
1335
1356
  );
1336
- return (r, s) => (n(), l("span", y({
1357
+ return (r, s) => (n(), l("span", k({
1337
1358
  class: a.value,
1338
1359
  role: "status"
1339
1360
  }, r.$attrs), [...s[0] || (s[0] = [
@@ -1344,7 +1365,7 @@ const Pe = {
1344
1365
  f("span", { class: "strand-spinner__sr-only" }, "Loading", -1)
1345
1366
  ])], 16));
1346
1367
  }
1347
- }), Ea = /* @__PURE__ */ h({
1368
+ }), Aa = /* @__PURE__ */ h({
1348
1369
  __name: "Skeleton",
1349
1370
  props: {
1350
1371
  variant: { default: "text" },
@@ -1364,50 +1385,51 @@ const Pe = {
1364
1385
  "strand-skeleton--shimmer",
1365
1386
  t.className
1366
1387
  ].filter(Boolean).join(" ")
1367
- ), o = c(() => ({
1388
+ ), i = c(() => ({
1368
1389
  width: a.value,
1369
1390
  height: r.value
1370
1391
  }));
1371
- return (d, i) => (n(), l("div", y({
1392
+ return (d, o) => (n(), l("div", k({
1372
1393
  class: s.value,
1373
1394
  "aria-hidden": "true",
1374
- style: o.value
1395
+ style: i.value
1375
1396
  }, d.$attrs), null, 16));
1376
1397
  }
1377
1398
  });
1378
1399
  export {
1379
- za as Alert,
1380
- ha as Avatar,
1381
- ma as Badge,
1382
- Ca as Breadcrumb,
1383
- na as Button,
1384
- va as Card,
1385
- oa as Checkbox,
1386
- ya as Container,
1387
- pa as DataReadout,
1388
- Va as Dialog,
1389
- ka as Divider,
1390
- fa as FormField,
1391
- ga as Grid,
1392
- la as Input,
1393
- wa as Link,
1394
- ja as Nav,
1395
- Ia as Progress,
1396
- da as Radio,
1397
- Ba as Section,
1398
- ia as Select,
1399
- Ea as Skeleton,
1400
- ua as Slider,
1401
- Ra as Spinner,
1402
- $a as Stack,
1403
- ca as Switch,
1404
- ba as Table,
1405
- xa as Tabs,
1406
- _a as Tag,
1407
- ra as Textarea,
1408
- Ta as Toast,
1409
- Sa as ToastProvider,
1410
- Da as Tooltip,
1411
- Na as useToast
1400
+ Ia as Alert,
1401
+ ba as Avatar,
1402
+ _a as Badge,
1403
+ Ta as Breadcrumb,
1404
+ ra as Button,
1405
+ ha as Card,
1406
+ ca as Checkbox,
1407
+ ka as CodeBlock,
1408
+ wa as Container,
1409
+ ga as DataReadout,
1410
+ Ra as Dialog,
1411
+ xa as Divider,
1412
+ ma as FormField,
1413
+ Ba as Grid,
1414
+ oa as Input,
1415
+ ja as Link,
1416
+ Sa as Nav,
1417
+ La as Progress,
1418
+ ua as Radio,
1419
+ Ca as Section,
1420
+ da as Select,
1421
+ Aa as Skeleton,
1422
+ va as Slider,
1423
+ Oa as Spinner,
1424
+ ya as Stack,
1425
+ fa as Switch,
1426
+ $a as Table,
1427
+ Na as Tabs,
1428
+ pa as Tag,
1429
+ ia as Textarea,
1430
+ za as Toast,
1431
+ Da as ToastProvider,
1432
+ Ea as Tooltip,
1433
+ Va as useToast
1412
1434
  };
1413
1435
  //# sourceMappingURL=index.js.map