@typeach/core 0.0.0 → 0.0.5

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/typeach.js CHANGED
@@ -1,11 +1,11 @@
1
- import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createVNode as a, defineComponent as o, inject as s, markRaw as c, mergeProps as ee, onBeforeUnmount as l, onMounted as u, openBlock as d, provide as f, ref as p, renderSlot as m, resolveDynamicComponent as h, unref as g, useId as _, useModel as v, useTemplateRef as y, watch as b, watchEffect as te, withCtx as x } from "vue";
2
- import { defineStore as S } from "pinia";
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createVNode as a, defineComponent as o, inject as s, markRaw as c, mergeModels as l, mergeProps as u, onBeforeUnmount as ee, onMounted as d, openBlock as f, provide as p, ref as m, renderSlot as h, resolveDynamicComponent as g, unref as _, useId as v, useModel as y, useTemplateRef as b, watch as te, watchEffect as ne, withCtx as x, withDirectives as re } from "vue";
2
+ import { defineStore as ie } from "pinia";
3
3
  //#region src/components/button/Button.vue?vue&type=script&setup=true&lang.ts
4
- var C = [
4
+ var ae = [
5
5
  "aria-disabled",
6
6
  "disabled",
7
7
  "type"
8
- ], w = /* @__PURE__ */ o({
8
+ ], S = /* @__PURE__ */ o({
9
9
  __name: "Button",
10
10
  props: {
11
11
  type: { default: "button" },
@@ -19,20 +19,20 @@ var C = [
19
19
  let n = e, r = t, a = (e) => {
20
20
  n.disabled || r("click", e);
21
21
  };
22
- return (t, n) => (d(), i("button", {
22
+ return (t, n) => (f(), i("button", {
23
23
  ref: "element",
24
24
  "aria-disabled": e.disabled === !0 ? !0 : void 0,
25
25
  disabled: e.disabled === "without-focus" ? !0 : void 0,
26
26
  type: e.type,
27
27
  onClick: a
28
- }, [m(t.$slots, "default")], 8, C));
28
+ }, [h(t.$slots, "default")], 8, ae));
29
29
  }
30
- }), T = "\n height: 1px;\n width: 1px;\n\n position: absolute;\n overflow: hidden;\n\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n\n white-space: nowrap;\n", E = /* @__PURE__ */ o({
30
+ }), C = "\n height: 1px;\n width: 1px;\n\n position: absolute;\n overflow: hidden;\n\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n\n white-space: nowrap;\n", w = /* @__PURE__ */ o({
31
31
  __name: "VisuallyHidden",
32
32
  setup(e) {
33
- return (e, t) => (d(), i("div", { style: T }, [m(e.$slots, "default")]));
33
+ return (e, t) => (f(), i("div", { style: C }, [h(e.$slots, "default")]));
34
34
  }
35
- }), D = /* @__PURE__ */ o({
35
+ }), T = /* @__PURE__ */ o({
36
36
  __name: "CopyButton",
37
37
  props: {
38
38
  content: {},
@@ -40,36 +40,36 @@ var C = [
40
40
  },
41
41
  emits: ["copy"],
42
42
  setup(n) {
43
- let o = p(!1), s = n, c = t(() => s.content ? typeof s.content == "string" ? [new ClipboardItem({ "text/plain": s.content })] : Array.isArray(s.content) ? s.content : [s.content] : []), l = async (e) => {
43
+ let o = m(!1), s = n, c = t(() => s.content ? typeof s.content == "string" ? [new ClipboardItem({ "text/plain": s.content })] : Array.isArray(s.content) ? s.content : [s.content] : []), l = async (e) => {
44
44
  s.content ? await navigator.clipboard.write(c.value) : await s.onCopy?.(e), o.value = !0, setTimeout(() => {
45
45
  o.value = !1;
46
46
  }, 4e3);
47
47
  };
48
- return (t, n) => (d(), i(e, null, [a(g(E), { "aria-live": "polite" }, {
49
- default: x(() => [o.value ? m(t.$slots, "default", {
48
+ return (t, n) => (f(), i(e, null, [a(_(w), { "aria-live": "polite" }, {
49
+ default: x(() => [o.value ? h(t.$slots, "default", {
50
50
  key: 0,
51
51
  isCopying: o.value
52
52
  }) : r("", !0)]),
53
53
  _: 3
54
- }), a(g(w), ee(t.$attrs, { onClick: l }), {
55
- default: x(() => [m(t.$slots, "default", { isCopying: o.value })]),
54
+ }), a(_(S), u(t.$attrs, { onClick: l }), {
55
+ default: x(() => [h(t.$slots, "default", { isCopying: o.value })]),
56
56
  _: 3
57
57
  }, 16)], 64));
58
58
  }
59
- }), O = /([\p{Ll}\d])(\p{Lu})/gu, ne = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu, re = /(\d)\p{Ll}|(\p{L})\d/u, ie = /[^\p{L}\d]+/giu, k = "$1\0$2", A = "";
60
- function j(e) {
59
+ }), E = /([\p{Ll}\d])(\p{Lu})/gu, D = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu, O = /(\d)\p{Ll}|(\p{L})\d/u, k = /[^\p{L}\d]+/giu, A = "$1\0$2", j = "";
60
+ function M(e) {
61
61
  let t = e.trim();
62
- t = t.replace(O, k).replace(ne, k), t = t.replace(ie, "\0");
62
+ t = t.replace(E, A).replace(D, A), t = t.replace(k, "\0");
63
63
  let n = 0, r = t.length;
64
64
  for (; t.charAt(n) === "\0";) n++;
65
65
  if (n === r) return [];
66
66
  for (; t.charAt(r - 1) === "\0";) r--;
67
67
  return t.slice(n, r).split(/\0/g);
68
68
  }
69
- function M(e) {
70
- let t = j(e);
69
+ function oe(e) {
70
+ let t = M(e);
71
71
  for (let e = 0; e < t.length; e++) {
72
- let n = t[e], r = re.exec(n);
72
+ let n = t[e], r = O.exec(n);
73
73
  if (r) {
74
74
  let i = r.index + (r[1] ?? r[2]).length;
75
75
  t.splice(e, 1, n.slice(0, i), n.slice(i));
@@ -77,21 +77,21 @@ function M(e) {
77
77
  }
78
78
  return t;
79
79
  }
80
- function N(e, t) {
81
- let [n, r, i] = I(e, t);
82
- return n + r.map(F(t?.locale)).join(t?.delimiter ?? " ") + i;
80
+ function se(e, t) {
81
+ let [n, r, i] = le(e, t);
82
+ return n + r.map(ce(t?.locale)).join(t?.delimiter ?? " ") + i;
83
83
  }
84
- function P(e, t) {
85
- return N(e, {
84
+ function N(e, t) {
85
+ return se(e, {
86
86
  delimiter: "-",
87
87
  ...t
88
88
  });
89
89
  }
90
- function F(e) {
90
+ function ce(e) {
91
91
  return e === !1 ? (e) => e.toLowerCase() : (t) => t.toLocaleLowerCase(e);
92
92
  }
93
- function I(e, t = {}) {
94
- let n = t.split ?? (t.separateNumbers ? M : j), r = t.prefixCharacters ?? A, i = t.suffixCharacters ?? A, a = 0, o = e.length;
93
+ function le(e, t = {}) {
94
+ let n = t.split ?? (t.separateNumbers ? oe : M), r = t.prefixCharacters ?? j, i = t.suffixCharacters ?? j, a = 0, o = e.length;
95
95
  for (; a < e.length;) {
96
96
  let t = e.charAt(a);
97
97
  if (!r.includes(t)) break;
@@ -110,112 +110,258 @@ function I(e, t = {}) {
110
110
  }
111
111
  //#endregion
112
112
  //#region src/hooks/useBemClass.ts
113
- var L = (e, t) => {
113
+ var P = (e, t) => {
114
114
  let n = t ? `${t}-${e}` : e;
115
115
  return (...e) => {
116
- let t = [n, ...e].filter((e) => typeof e == "string").map((e) => P(e)).join("__"), r = { [t]: !0 };
116
+ let t = [n, ...e].filter((e) => typeof e == "string").map((e) => N(e)).join("__"), r = { [t]: !0 };
117
117
  for (let n of e.filter((e) => typeof e == "object")) for (let e of Object.keys(n)) {
118
118
  let i = n[e];
119
- typeof i == "string" && (r[`${t}--${i}`] = !0), typeof i == "number" && (r[`${t}--${P(e)}-${i}`] = !0), typeof i == "boolean" && (r[`${t}--${P(e)}`] = i);
119
+ typeof i == "string" && (r[`${t}--${i}`] = !0), typeof i == "number" && (r[`${t}--${N(e)}-${i}`] = !0), typeof i == "boolean" && (r[`${t}--${N(e)}`] = i);
120
120
  }
121
121
  return r;
122
122
  };
123
- }, R = (e) => (t) => L(t, e), z = (e, t) => (f(e, t), t), B = (e) => s(e, { missingContext: !0 }), V = (e) => s(e), H = (e) => e == null, U = (e) => {
123
+ }, F = (e) => (t) => P(t, e), I = (e, t) => (p(e, t), t), L = (e) => s(e, { missingContext: !0 }), R = (e) => s(e), z = (e) => e == null, B = (e) => {
124
124
  let { disabled: t } = e.dataset;
125
- return e.hasAttribute("disabled") || e.getAttribute("aria-disabled") === "true" || !H(t) && t !== "";
126
- }, W = (e, n) => {
127
- let r = p(/* @__PURE__ */ new Map()), i = n ? {
125
+ return e.hasAttribute("disabled") || e.getAttribute("aria-disabled") === "true" || !z(t) && t !== "";
126
+ }, V = (e, n) => {
127
+ let r = m(/* @__PURE__ */ new Map()), i = n ? {
128
128
  items: r,
129
129
  parent: n
130
130
  } : s(`${e}-elements`, {
131
131
  items: r,
132
- parent: p()
132
+ parent: m()
133
133
  });
134
- return n && f(`${e}-elements`, i), {
134
+ return n && p(`${e}-elements`, i), {
135
135
  getElements: (t = !0) => {
136
136
  let n = i.parent.value;
137
137
  if (!n) return [];
138
138
  let r = Array.from(n?.querySelectorAll(`[data-elements-${e}="true"]`));
139
- return Array.from(i.items.value.values()).sort((e, t) => r.indexOf(e) - r.indexOf(t)).filter((e) => t || !U(e));
139
+ return Array.from(i.items.value.values()).sort((e, t) => r.indexOf(e) - r.indexOf(t)).filter((e) => t || !B(e));
140
140
  },
141
141
  elements: t(() => Array.from(i.items.value.values()))
142
142
  };
143
- }, G = (e, t, n) => {
143
+ }, H = (e, t, n) => {
144
144
  let r = s(`${e}-elements`, void 0);
145
- te((e) => {
145
+ ne((e) => {
146
146
  if (!t.value) return;
147
147
  let i = c(t.value);
148
148
  n?.value ? r?.items.value.delete(i) : r?.items.value.set(i, t.value), e(() => r?.items.value.delete(i));
149
- }), u(() => {
149
+ }), d(() => {
150
150
  t.value?.setAttribute(`data-elements-${e}`, "true");
151
- }), l(() => {
151
+ }), ee(() => {
152
152
  t.value?.removeAttribute(`data-elements-${e}`);
153
153
  });
154
154
  };
155
155
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
156
- function K(e, t, n) {
157
- return b(e, t, {
156
+ function U(e, t, n) {
157
+ return te(e, t, {
158
158
  ...n,
159
159
  immediate: !0
160
160
  });
161
161
  }
162
162
  //#endregion
163
- //#region src/hooks/useThemeSettingsStore.ts
164
- var q = S("theme-settings", () => {
165
- let e = p(1), t = p(!0), n = (e, t) => {
163
+ //#region src/hooks/useId.ts
164
+ var W = (e) => {
165
+ let n = m();
166
+ return t({
167
+ set(e) {
168
+ n.value = e;
169
+ },
170
+ get() {
171
+ return n.value ?? e;
172
+ }
173
+ });
174
+ }, G = (e, t) => {
175
+ U(t, (t) => {
176
+ e.value = t;
177
+ });
178
+ }, ue = () => {
179
+ let e = m(/* @__PURE__ */ new Map());
180
+ return {
181
+ set(t, n) {
182
+ n ? e.value.set(t, n) : e.value.delete(t);
183
+ },
184
+ get(t) {
185
+ return e.value.get(t);
186
+ }
187
+ };
188
+ }, de = (e, t, n) => {
189
+ U(n, (n) => {
190
+ e.set(t, n);
191
+ });
192
+ }, fe = ie("theme-settings", () => {
193
+ let e = m(1), t = m(!0), n = (e, t) => {
166
194
  document.documentElement.style.setProperty(`--${e}`, t);
167
195
  };
168
- return K(e, (e) => {
196
+ return U(e, (e) => {
169
197
  document.documentElement.style.setProperty("saturation", `${e}`);
170
- }), K(t, (e) => {
198
+ }), U(t, (e) => {
171
199
  n("code-white-space", e ? "pre-wrap" : "pre");
172
200
  }), {
173
201
  saturation: e,
174
202
  wrapCode: t
175
203
  };
176
- }), J = ["id"], Y = /* @__PURE__ */ o({
204
+ }), K = Symbol("disclosure"), pe = { key: 0 }, q = /* @__PURE__ */ o({
205
+ __name: "Disclosure",
206
+ props: /*@__PURE__*/ l({
207
+ render: { type: Boolean },
208
+ disabled: { type: Boolean },
209
+ popover: { type: Boolean }
210
+ }, {
211
+ modelValue: {
212
+ type: Boolean,
213
+ default: !1
214
+ },
215
+ modelModifiers: {}
216
+ }),
217
+ emits: ["update:modelValue"],
218
+ setup(e) {
219
+ let n = y(e, "modelValue"), r = e;
220
+ return p(K, {
221
+ panelId: W(v()),
222
+ disabled: t(() => !!r.disabled),
223
+ popover: t(() => !!r.popover),
224
+ open: t({
225
+ get() {
226
+ return r.disabled ? !0 : n.value;
227
+ },
228
+ set(e) {
229
+ n.value = e;
230
+ }
231
+ })
232
+ }), (t, n) => e.render ? (f(), i("div", pe, [h(t.$slots, "default")])) : h(t.$slots, "default", { key: 1 });
233
+ }
234
+ }), me = /* @__PURE__ */ o({
235
+ __name: "DisclosureButton",
236
+ props: { disabled: { type: [Boolean, String] } },
237
+ setup(e) {
238
+ let { panelId: i, open: a, disabled: o, popover: s } = R(K), c = t(() => s.value ? {
239
+ command: "toggle-popover",
240
+ commandfor: i.value
241
+ } : { onClick() {
242
+ a.value = !a.value;
243
+ } });
244
+ return (t, s) => _(o) ? r("", !0) : (f(), n(_(S), u({
245
+ key: 0,
246
+ "aria-expanded": _(a),
247
+ "aria-controls": _(i),
248
+ disabled: e.disabled
249
+ }, c.value), {
250
+ default: x(() => [h(t.$slots, "default")]),
251
+ _: 3
252
+ }, 16, [
253
+ "aria-expanded",
254
+ "aria-controls",
255
+ "disabled"
256
+ ]));
257
+ }
258
+ }), he = m(0), ge = {
259
+ beforeMount(e, { value: t }) {
260
+ let n = `a-l-${he.value++}`;
261
+ e.setAttribute("data-labelledby-id", n), t && (J(t, n), e.setAttribute("aria-labelledby", n));
262
+ },
263
+ updated(e, { value: t, oldValue: n }) {
264
+ if (t === n) return;
265
+ let r = e.getAttribute("data-labelledby-id");
266
+ if (r) {
267
+ let n = document.getElementById(r);
268
+ t ? n ? n.innerText = t : (J(t, r), e.setAttribute("aria-labelledby", r)) : (e.removeAttribute("aria-labelledby"), n?.remove());
269
+ }
270
+ },
271
+ beforeUnmount(e) {
272
+ let t = e.getAttribute("data-labelledby-id");
273
+ t && (e.removeAttribute("aria-labelledby"), document.getElementById(t)?.remove());
274
+ }
275
+ }, J = (e, t) => {
276
+ let n = document.createElement("span");
277
+ return n.innerText = e, n.id = `${t}`, n.hidden = !0, document.documentElement.appendChild(n), n;
278
+ }, Y = {
279
+ beforeMount(e, { value: t }, { transition: n }) {
280
+ n && t === !1 ? n.beforeEnter(e) : X(e, t);
281
+ },
282
+ mounted(e, { value: t }, { transition: n }) {
283
+ n && t === !1 && n.enter(e);
284
+ },
285
+ updated(e, { value: t, oldValue: n }, { transition: r }) {
286
+ t !== n && (r ? t === !1 ? (r.beforeEnter(e), X(e, t), r.enter(e)) : r.leave(e, () => X(e, t)) : X(e, t));
287
+ },
288
+ beforeUnmount(e, { value: t }) {
289
+ X(e, t);
290
+ }
291
+ }, X = (e, t) => {
292
+ t ? e.setAttribute("hidden", `${t}`) : e.removeAttribute("hidden");
293
+ }, _e = /* @__PURE__ */ o({
294
+ __name: "DisclosurePanel",
295
+ props: {
296
+ hideFromSearch: { type: Boolean },
297
+ as: { default: "div" },
298
+ id: { default: void 0 }
299
+ },
300
+ setup(e) {
301
+ let r = e, { panelId: i, disabled: a, popover: o, open: s } = R(K);
302
+ G(i, () => r.id);
303
+ let c = b("element"), l = t(() => s.value ? void 0 : r.hideFromSearch ? !0 : "until-found"), u = (e) => {
304
+ console.log("event", e), e.newState === "open" ? s.value = !0 : s.value = !1;
305
+ };
306
+ return (t, r) => re((f(), n(g(e.as), {
307
+ id: _(i),
308
+ ref_key: "element",
309
+ ref: c,
310
+ popover: _(a) || !_(o) ? void 0 : "auto",
311
+ onBeforematch: r[0] ||= (e) => s.value = !0,
312
+ onToggle: u
313
+ }, {
314
+ default: x(() => [h(t.$slots, "default")]),
315
+ _: 3
316
+ }, 40, ["id", "popover"])), [[_(Y), l.value]]);
317
+ }
318
+ }), ve = ["id"], ye = /* @__PURE__ */ o({
177
319
  __name: "FieldDescription",
178
320
  setup(e) {
179
- let t = _(), n = y("element");
180
- return G("field-description", n), (e, r) => (d(), i("div", {
181
- id: g(t),
321
+ let t = v(), n = b("element");
322
+ return H("field-description", n), (e, r) => (f(), i("div", {
323
+ id: _(t),
182
324
  ref_key: "element",
183
325
  ref: n
184
- }, [m(e.$slots, "default")], 8, J));
326
+ }, [h(e.$slots, "default")], 8, ve));
185
327
  }
186
- }), ae = ["id"], oe = /* @__PURE__ */ o({
328
+ }), be = ["id"], xe = /* @__PURE__ */ o({
187
329
  __name: "FieldError",
188
330
  setup(e) {
189
- let t = _(), n = y("element");
190
- return G("field-error", n), (e, r) => (d(), i("div", {
191
- id: g(t),
331
+ let t = v(), n = b("element");
332
+ return H("field-error", n), (e, r) => (f(), i("div", {
333
+ id: _(t),
192
334
  ref_key: "element",
193
335
  ref: n
194
- }, [m(e.$slots, "default")], 8, ae));
336
+ }, [h(e.$slots, "default")], 8, be));
195
337
  }
196
- }), X = Symbol("field"), se = (e, n) => {
197
- let { elements: r } = W("field-error", n), { elements: i } = W("field-description", n), a = (e) => e.filter((e) => e.id).map((e) => e.id);
198
- return b(r, (e) => {
199
- console.log(e);
200
- }, { immediate: !0 }), z(X, {
338
+ }), Z = Symbol("field"), Se = (e, n) => {
339
+ let { elements: r } = V("field-error", n), { elements: i } = V("field-description", n), a = (e) => e.filter((e) => e.id).map((e) => e.id);
340
+ return I(Z, {
201
341
  id: e,
202
342
  hasErrors: t(() => r.value.length > 0),
203
343
  errorIds: t(() => a(r.value)),
204
344
  descriptionIds: t(() => a(i.value))
205
345
  });
206
- }, Z = () => V(X), ce = ["id", "for"], le = /* @__PURE__ */ o({
346
+ }, Q = () => R(Z), Ce = ["id", "for"], we = /* @__PURE__ */ o({
207
347
  __name: "FieldLabel",
208
348
  setup(e) {
209
- let { id: t } = Z(), n = () => {
349
+ let { id: t } = Q(), n = () => {
210
350
  document.getElementById(t)?.focus();
211
351
  };
212
- return (e, r) => (d(), i("label", {
213
- id: `${g(t)}-label`,
214
- for: g(t),
352
+ return (e, r) => (f(), i("label", {
353
+ id: `${_(t)}-label`,
354
+ for: _(t),
215
355
  onClick: n
216
- }, [m(e.$slots, "default")], 8, ce));
356
+ }, [h(e.$slots, "default")], 8, Ce));
357
+ }
358
+ }), Te = ["aria-orientation"], Ee = /* @__PURE__ */ o({
359
+ __name: "Separator",
360
+ props: { orientation: { default: "horizontal" } },
361
+ setup(e) {
362
+ return (t, n) => (f(), i("hr", { "aria-orientation": e.orientation }, null, 8, Te));
217
363
  }
218
- }), Q = Symbol("Switch-field"), ue = () => V(Q), de = /* @__PURE__ */ o({
364
+ }), $ = Symbol("Switch-field"), De = () => R($), Oe = /* @__PURE__ */ o({
219
365
  __name: "SwitchField",
220
366
  props: {
221
367
  modelValue: {
@@ -226,81 +372,81 @@ var q = S("theme-settings", () => {
226
372
  },
227
373
  emits: ["update:modelValue"],
228
374
  setup(e) {
229
- let t = v(e, "modelValue"), n = _(), r = y("element");
230
- return se(n, r), f(Q, {
375
+ let t = y(e, "modelValue"), n = v(), r = b("element");
376
+ return Se(n, r), p($, {
231
377
  id: n,
232
378
  modelValue: t
233
- }), (e, t) => (d(), i("div", {
379
+ }), (e, t) => (f(), i("div", {
234
380
  ref_key: "element",
235
381
  ref: r
236
- }, [m(e.$slots, "default")], 512));
382
+ }, [h(e.$slots, "default")], 512));
237
383
  }
238
- }), fe = { "aria-hidden": "true" }, pe = /* @__PURE__ */ o({
384
+ }), ke = { "aria-hidden": "true" }, Ae = /* @__PURE__ */ o({
239
385
  __name: "SwitchFieldStateLabel",
240
386
  setup(e) {
241
- return (e, t) => (d(), i("div", fe, [m(e.$slots, "default")]));
387
+ return (e, t) => (f(), i("div", ke, [h(e.$slots, "default")]));
242
388
  }
243
- }), $ = [
389
+ }), je = [
244
390
  "id",
245
391
  "aria-checked",
246
392
  "aria-describedby",
247
393
  "aria-invalid",
248
394
  "aria-labelledby",
249
395
  "aria-disabled"
250
- ], me = /* @__PURE__ */ o({
396
+ ], Me = /* @__PURE__ */ o({
251
397
  __name: "SwitchFieldSwitchButton",
252
398
  props: { disabled: { type: Boolean } },
253
399
  setup(e) {
254
- let t = e, { modelValue: n } = ue(), { id: r, hasErrors: a, errorIds: o, descriptionIds: s } = Z(), c = () => {
400
+ let t = e, { modelValue: n } = De(), { id: r, hasErrors: a, errorIds: o, descriptionIds: s } = Q(), c = () => {
255
401
  t.disabled || (n.value = !n.value);
256
402
  };
257
- return (t, ee) => (d(), i("button", {
258
- id: g(r),
259
- "aria-checked": g(n),
260
- "aria-describedby": [g(o), g(s)].flat().join(" ") || void 0,
261
- "aria-invalid": g(a) ? !0 : void 0,
262
- "aria-labelledby": `${g(r)}-label`,
403
+ return (t, l) => (f(), i("button", {
404
+ id: _(r),
405
+ "aria-checked": _(n),
406
+ "aria-describedby": [_(o), _(s)].flat().join(" ") || void 0,
407
+ "aria-invalid": _(a) ? !0 : void 0,
408
+ "aria-labelledby": `${_(r)}-label`,
263
409
  "aria-disabled": e.disabled,
264
410
  role: "switch",
265
411
  type: "button",
266
412
  onClick: c
267
- }, [m(t.$slots, "default")], 8, $));
413
+ }, [h(t.$slots, "default")], 8, je));
268
414
  }
269
- }), he = /* @__PURE__ */ o({
415
+ }), Ne = /* @__PURE__ */ o({
270
416
  __name: "Table",
271
417
  setup(e) {
272
- return (e, t) => (d(), i("table", null, [m(e.$slots, "default")]));
418
+ return (e, t) => (f(), i("table", null, [h(e.$slots, "default")]));
273
419
  }
274
- }), ge = /* @__PURE__ */ o({
420
+ }), Pe = /* @__PURE__ */ o({
275
421
  __name: "TableBody",
276
422
  setup(e) {
277
- return (e, t) => (d(), i("tbody", null, [m(e.$slots, "default")]));
423
+ return (e, t) => (f(), i("tbody", null, [h(e.$slots, "default")]));
278
424
  }
279
- }), _e = /* @__PURE__ */ o({
425
+ }), Fe = /* @__PURE__ */ o({
280
426
  __name: "TableCell",
281
427
  props: { heading: { type: Boolean } },
282
428
  setup(e) {
283
- return (t, r) => (d(), n(h(e.heading ? "th" : "td"), { scope: e.heading ? "row" : void 0 }, {
284
- default: x(() => [m(t.$slots, "default")]),
429
+ return (t, r) => (f(), n(g(e.heading ? "th" : "td"), { scope: e.heading ? "row" : void 0 }, {
430
+ default: x(() => [h(t.$slots, "default")]),
285
431
  _: 3
286
432
  }, 8, ["scope"]));
287
433
  }
288
- }), ve = /* @__PURE__ */ o({
434
+ }), Ie = /* @__PURE__ */ o({
289
435
  __name: "TableHead",
290
436
  setup(e) {
291
- return (e, t) => (d(), i("thead", null, [m(e.$slots, "default")]));
437
+ return (e, t) => (f(), i("thead", null, [h(e.$slots, "default")]));
292
438
  }
293
- }), ye = ["aria-sort"], be = /* @__PURE__ */ o({
439
+ }), Le = ["aria-sort"], Re = /* @__PURE__ */ o({
294
440
  __name: "TableHeadingCell",
295
441
  props: { sorted: {} },
296
442
  setup(e) {
297
- return (t, n) => (d(), i("th", { "aria-sort": e.sorted }, [m(t.$slots, "default")], 8, ye));
443
+ return (t, n) => (f(), i("th", { "aria-sort": e.sorted }, [h(t.$slots, "default")], 8, Le));
298
444
  }
299
- }), xe = /* @__PURE__ */ o({
445
+ }), ze = /* @__PURE__ */ o({
300
446
  __name: "TableRow",
301
447
  setup(e) {
302
- return (e, t) => (d(), i("tr", null, [m(e.$slots, "default")]));
448
+ return (e, t) => (f(), i("tr", null, [h(e.$slots, "default")]));
303
449
  }
304
450
  });
305
451
  //#endregion
306
- export { w as PeachyButton, D as PeachyCopyButton, Y as PeachyFieldDescription, oe as PeachyFieldError, le as PeachyFieldLabel, me as PeachySwitchButton, de as PeachySwitchField, pe as PeachySwitchStateLabel, he as PeachyTable, ge as PeachyTableBody, _e as PeachyTableCell, ve as PeachyTableHead, be as PeachyTableHeadingCell, xe as PeachyTableRow, E as PeachyVisuallyHidden, G as provideElement, L as useBemClass, V as useContext, z as useContextProvider, W as useElements, R as useGlobalBemClass, B as useOptionalContext, q as useThemeSettingsStore };
452
+ export { S as PeachyButton, T as PeachyCopyButton, q as PeachyDisclosure, me as PeachyDisclosureButton, _e as PeachyDisclosurePanel, ye as PeachyFieldDescription, xe as PeachyFieldError, we as PeachyFieldLabel, Ee as PeachySeparator, Me as PeachySwitchButton, Oe as PeachySwitchField, Ae as PeachySwitchStateLabel, Ne as PeachyTable, Pe as PeachyTableBody, Fe as PeachyTableCell, Ie as PeachyTableHead, Re as PeachyTableHeadingCell, ze as PeachyTableRow, w as PeachyVisuallyHidden, H as provideElement, ue as shareDynamicIds, W as shareId, P as useBemClass, R as useContext, I as useContextProvider, V as useElements, F as useGlobalBemClass, L as useOptionalContext, de as useSharedDynamicIds, G as useSharedId, fe as useThemeSettingsStore, ge as vAriaLabelledby, Y as vHidden };
@@ -9,4 +9,4 @@
9
9
  clip-path: inset(50%);
10
10
 
11
11
  white-space: nowrap;
12
- `,o=(0,t.defineComponent)({__name:`VisuallyHidden`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{style:a},[(0,t.renderSlot)(e.$slots,`default`)]))}}),s=(0,t.defineComponent)({__name:`CopyButton`,props:{content:{},onCopy:{type:Function}},emits:[`copy`],setup(e){let n=(0,t.ref)(!1),r=e,a=(0,t.computed)(()=>r.content?typeof r.content==`string`?[new ClipboardItem({"text/plain":r.content})]:Array.isArray(r.content)?r.content:[r.content]:[]),s=async e=>{r.content?await navigator.clipboard.write(a.value):await r.onCopy?.(e),n.value=!0,setTimeout(()=>{n.value=!1},4e3)};return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createVNode)((0,t.unref)(o),{"aria-live":`polite`},{default:(0,t.withCtx)(()=>[n.value?(0,t.renderSlot)(e.$slots,`default`,{key:0,isCopying:n.value}):(0,t.createCommentVNode)(``,!0)]),_:3}),(0,t.createVNode)((0,t.unref)(i),(0,t.mergeProps)(e.$attrs,{onClick:s}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{isCopying:n.value})]),_:3},16)],64))}}),c=/([\p{Ll}\d])(\p{Lu})/gu,l=/(\p{Lu})([\p{Lu}][\p{Ll}])/gu,u=/(\d)\p{Ll}|(\p{L})\d/u,d=/[^\p{L}\d]+/giu,f=`$1\0$2`,p=``;function m(e){let t=e.trim();t=t.replace(c,f).replace(l,f),t=t.replace(d,`\0`);let n=0,r=t.length;for(;t.charAt(n)===`\0`;)n++;if(n===r)return[];for(;t.charAt(r-1)===`\0`;)r--;return t.slice(n,r).split(/\0/g)}function h(e){let t=m(e);for(let e=0;e<t.length;e++){let n=t[e],r=u.exec(n);if(r){let i=r.index+(r[1]??r[2]).length;t.splice(e,1,n.slice(0,i),n.slice(i))}}return t}function g(e,t){let[n,r,i]=y(e,t);return n+r.map(v(t?.locale)).join(t?.delimiter??` `)+i}function _(e,t){return g(e,{delimiter:`-`,...t})}function v(e){return e===!1?e=>e.toLowerCase():t=>t.toLocaleLowerCase(e)}function y(e,t={}){let n=t.split??(t.separateNumbers?h:m),r=t.prefixCharacters??p,i=t.suffixCharacters??p,a=0,o=e.length;for(;a<e.length;){let t=e.charAt(a);if(!r.includes(t))break;a++}for(;o>a;){let t=o-1,n=e.charAt(t);if(!i.includes(n))break;o=t}return[e.slice(0,a),n(e.slice(a,o)),e.slice(o)]}var b=(e,t)=>{let n=t?`${t}-${e}`:e;return(...e)=>{let t=[n,...e].filter(e=>typeof e==`string`).map(e=>_(e)).join(`__`),r={[t]:!0};for(let n of e.filter(e=>typeof e==`object`))for(let e of Object.keys(n)){let i=n[e];typeof i==`string`&&(r[`${t}--${i}`]=!0),typeof i==`number`&&(r[`${t}--${_(e)}-${i}`]=!0),typeof i==`boolean`&&(r[`${t}--${_(e)}`]=i)}return r}},x=e=>t=>b(t,e),S=(e,n)=>((0,t.provide)(e,n),n),C=e=>(0,t.inject)(e,{missingContext:!0}),w=e=>(0,t.inject)(e),T=e=>e==null,E=e=>{let{disabled:t}=e.dataset;return e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`||!T(t)&&t!==``},D=(e,n)=>{let r=(0,t.ref)(new Map),i=n?{items:r,parent:n}:(0,t.inject)(`${e}-elements`,{items:r,parent:(0,t.ref)()});return n&&(0,t.provide)(`${e}-elements`,i),{getElements:(t=!0)=>{let n=i.parent.value;if(!n)return[];let r=Array.from(n?.querySelectorAll(`[data-elements-${e}="true"]`));return Array.from(i.items.value.values()).sort((e,t)=>r.indexOf(e)-r.indexOf(t)).filter(e=>t||!E(e))},elements:(0,t.computed)(()=>Array.from(i.items.value.values()))}},O=(e,n,r)=>{let i=(0,t.inject)(`${e}-elements`,void 0);(0,t.watchEffect)(e=>{if(!n.value)return;let a=(0,t.markRaw)(n.value);r?.value?i?.items.value.delete(a):i?.items.value.set(a,n.value),e(()=>i?.items.value.delete(a))}),(0,t.onMounted)(()=>{n.value?.setAttribute(`data-elements-${e}`,`true`)}),(0,t.onBeforeUnmount)(()=>{n.value?.removeAttribute(`data-elements-${e}`)})};typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;function k(e,n,r){return(0,t.watch)(e,n,{...r,immediate:!0})}var A=(0,n.defineStore)(`theme-settings`,()=>{let e=(0,t.ref)(1),n=(0,t.ref)(!0),r=(e,t)=>{document.documentElement.style.setProperty(`--${e}`,t)};return k(e,e=>{document.documentElement.style.setProperty(`saturation`,`${e}`)}),k(n,e=>{r(`code-white-space`,e?`pre-wrap`:`pre`)}),{saturation:e,wrapCode:n}}),j=[`id`],M=(0,t.defineComponent)({__name:`FieldDescription`,setup(e){let n=(0,t.useId)(),r=(0,t.useTemplateRef)(`element`);return O(`field-description`,r),(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{id:(0,t.unref)(n),ref_key:`element`,ref:r},[(0,t.renderSlot)(e.$slots,`default`)],8,j))}}),N=[`id`],P=(0,t.defineComponent)({__name:`FieldError`,setup(e){let n=(0,t.useId)(),r=(0,t.useTemplateRef)(`element`);return O(`field-error`,r),(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{id:(0,t.unref)(n),ref_key:`element`,ref:r},[(0,t.renderSlot)(e.$slots,`default`)],8,N))}}),F=Symbol(`field`),I=(e,n)=>{let{elements:r}=D(`field-error`,n),{elements:i}=D(`field-description`,n),a=e=>e.filter(e=>e.id).map(e=>e.id);return(0,t.watch)(r,e=>{console.log(e)},{immediate:!0}),S(F,{id:e,hasErrors:(0,t.computed)(()=>r.value.length>0),errorIds:(0,t.computed)(()=>a(r.value)),descriptionIds:(0,t.computed)(()=>a(i.value))})},L=()=>w(F),R=[`id`,`for`],z=(0,t.defineComponent)({__name:`FieldLabel`,setup(e){let{id:n}=L(),r=()=>{document.getElementById(n)?.focus()};return(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{id:`${(0,t.unref)(n)}-label`,for:(0,t.unref)(n),onClick:r},[(0,t.renderSlot)(e.$slots,`default`)],8,R))}}),B=Symbol(`Switch-field`),V=()=>w(B),H=(0,t.defineComponent)({__name:`SwitchField`,props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`),r=(0,t.useId)(),i=(0,t.useTemplateRef)(`element`);return I(r,i),(0,t.provide)(B,{id:r,modelValue:n}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`element`,ref:i},[(0,t.renderSlot)(e.$slots,`default`)],512))}}),U={"aria-hidden":`true`},W=(0,t.defineComponent)({__name:`SwitchFieldStateLabel`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,U,[(0,t.renderSlot)(e.$slots,`default`)]))}}),G=[`id`,`aria-checked`,`aria-describedby`,`aria-invalid`,`aria-labelledby`,`aria-disabled`],K=(0,t.defineComponent)({__name:`SwitchFieldSwitchButton`,props:{disabled:{type:Boolean}},setup(e){let n=e,{modelValue:r}=V(),{id:i,hasErrors:a,errorIds:o,descriptionIds:s}=L(),c=()=>{n.disabled||(r.value=!r.value)};return(n,l)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{id:(0,t.unref)(i),"aria-checked":(0,t.unref)(r),"aria-describedby":[(0,t.unref)(o),(0,t.unref)(s)].flat().join(` `)||void 0,"aria-invalid":(0,t.unref)(a)?!0:void 0,"aria-labelledby":`${(0,t.unref)(i)}-label`,"aria-disabled":e.disabled,role:`switch`,type:`button`,onClick:c},[(0,t.renderSlot)(n.$slots,`default`)],8,G))}}),q=(0,t.defineComponent)({__name:`Table`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`table`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}}),J=(0,t.defineComponent)({__name:`TableBody`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tbody`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}}),Y=(0,t.defineComponent)({__name:`TableCell`,props:{heading:{type:Boolean}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.heading?`th`:`td`),{scope:e.heading?`row`:void 0},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`scope`]))}}),X=(0,t.defineComponent)({__name:`TableHead`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`thead`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}}),Z=[`aria-sort`],Q=(0,t.defineComponent)({__name:`TableHeadingCell`,props:{sorted:{}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{"aria-sort":e.sorted},[(0,t.renderSlot)(n.$slots,`default`)],8,Z))}}),$=(0,t.defineComponent)({__name:`TableRow`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}});e.PeachyButton=i,e.PeachyCopyButton=s,e.PeachyFieldDescription=M,e.PeachyFieldError=P,e.PeachyFieldLabel=z,e.PeachySwitchButton=K,e.PeachySwitchField=H,e.PeachySwitchStateLabel=W,e.PeachyTable=q,e.PeachyTableBody=J,e.PeachyTableCell=Y,e.PeachyTableHead=X,e.PeachyTableHeadingCell=Q,e.PeachyTableRow=$,e.PeachyVisuallyHidden=o,e.provideElement=O,e.useBemClass=b,e.useContext=w,e.useContextProvider=S,e.useElements=D,e.useGlobalBemClass=x,e.useOptionalContext=C,e.useThemeSettingsStore=A});
12
+ `,o=(0,t.defineComponent)({__name:`VisuallyHidden`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{style:a},[(0,t.renderSlot)(e.$slots,`default`)]))}}),s=(0,t.defineComponent)({__name:`CopyButton`,props:{content:{},onCopy:{type:Function}},emits:[`copy`],setup(e){let n=(0,t.ref)(!1),r=e,a=(0,t.computed)(()=>r.content?typeof r.content==`string`?[new ClipboardItem({"text/plain":r.content})]:Array.isArray(r.content)?r.content:[r.content]:[]),s=async e=>{r.content?await navigator.clipboard.write(a.value):await r.onCopy?.(e),n.value=!0,setTimeout(()=>{n.value=!1},4e3)};return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createVNode)((0,t.unref)(o),{"aria-live":`polite`},{default:(0,t.withCtx)(()=>[n.value?(0,t.renderSlot)(e.$slots,`default`,{key:0,isCopying:n.value}):(0,t.createCommentVNode)(``,!0)]),_:3}),(0,t.createVNode)((0,t.unref)(i),(0,t.mergeProps)(e.$attrs,{onClick:s}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{isCopying:n.value})]),_:3},16)],64))}}),c=/([\p{Ll}\d])(\p{Lu})/gu,l=/(\p{Lu})([\p{Lu}][\p{Ll}])/gu,u=/(\d)\p{Ll}|(\p{L})\d/u,d=/[^\p{L}\d]+/giu,f=`$1\0$2`,p=``;function m(e){let t=e.trim();t=t.replace(c,f).replace(l,f),t=t.replace(d,`\0`);let n=0,r=t.length;for(;t.charAt(n)===`\0`;)n++;if(n===r)return[];for(;t.charAt(r-1)===`\0`;)r--;return t.slice(n,r).split(/\0/g)}function ee(e){let t=m(e);for(let e=0;e<t.length;e++){let n=t[e],r=u.exec(n);if(r){let i=r.index+(r[1]??r[2]).length;t.splice(e,1,n.slice(0,i),n.slice(i))}}return t}function h(e,t){let[n,r,i]=v(e,t);return n+r.map(_(t?.locale)).join(t?.delimiter??` `)+i}function g(e,t){return h(e,{delimiter:`-`,...t})}function _(e){return e===!1?e=>e.toLowerCase():t=>t.toLocaleLowerCase(e)}function v(e,t={}){let n=t.split??(t.separateNumbers?ee:m),r=t.prefixCharacters??p,i=t.suffixCharacters??p,a=0,o=e.length;for(;a<e.length;){let t=e.charAt(a);if(!r.includes(t))break;a++}for(;o>a;){let t=o-1,n=e.charAt(t);if(!i.includes(n))break;o=t}return[e.slice(0,a),n(e.slice(a,o)),e.slice(o)]}var y=(e,t)=>{let n=t?`${t}-${e}`:e;return(...e)=>{let t=[n,...e].filter(e=>typeof e==`string`).map(e=>g(e)).join(`__`),r={[t]:!0};for(let n of e.filter(e=>typeof e==`object`))for(let e of Object.keys(n)){let i=n[e];typeof i==`string`&&(r[`${t}--${i}`]=!0),typeof i==`number`&&(r[`${t}--${g(e)}-${i}`]=!0),typeof i==`boolean`&&(r[`${t}--${g(e)}`]=i)}return r}},te=e=>t=>y(t,e),b=(e,n)=>((0,t.provide)(e,n),n),x=e=>(0,t.inject)(e,{missingContext:!0}),S=e=>(0,t.inject)(e),C=e=>e==null,w=e=>{let{disabled:t}=e.dataset;return e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`||!C(t)&&t!==``},T=(e,n)=>{let r=(0,t.ref)(new Map),i=n?{items:r,parent:n}:(0,t.inject)(`${e}-elements`,{items:r,parent:(0,t.ref)()});return n&&(0,t.provide)(`${e}-elements`,i),{getElements:(t=!0)=>{let n=i.parent.value;if(!n)return[];let r=Array.from(n?.querySelectorAll(`[data-elements-${e}="true"]`));return Array.from(i.items.value.values()).sort((e,t)=>r.indexOf(e)-r.indexOf(t)).filter(e=>t||!w(e))},elements:(0,t.computed)(()=>Array.from(i.items.value.values()))}},E=(e,n,r)=>{let i=(0,t.inject)(`${e}-elements`,void 0);(0,t.watchEffect)(e=>{if(!n.value)return;let a=(0,t.markRaw)(n.value);r?.value?i?.items.value.delete(a):i?.items.value.set(a,n.value),e(()=>i?.items.value.delete(a))}),(0,t.onMounted)(()=>{n.value?.setAttribute(`data-elements-${e}`,`true`)}),(0,t.onBeforeUnmount)(()=>{n.value?.removeAttribute(`data-elements-${e}`)})};typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;function D(e,n,r){return(0,t.watch)(e,n,{...r,immediate:!0})}var O=e=>{let n=(0,t.ref)();return(0,t.computed)({set(e){n.value=e},get(){return n.value??e}})},k=(e,t)=>{D(t,t=>{e.value=t})},A=()=>{let e=(0,t.ref)(new Map);return{set(t,n){n?e.value.set(t,n):e.value.delete(t)},get(t){return e.value.get(t)}}},j=(e,t,n)=>{D(n,n=>{e.set(t,n)})},M=(0,n.defineStore)(`theme-settings`,()=>{let e=(0,t.ref)(1),n=(0,t.ref)(!0),r=(e,t)=>{document.documentElement.style.setProperty(`--${e}`,t)};return D(e,e=>{document.documentElement.style.setProperty(`saturation`,`${e}`)}),D(n,e=>{r(`code-white-space`,e?`pre-wrap`:`pre`)}),{saturation:e,wrapCode:n}}),N=Symbol(`disclosure`),P={key:0},F=(0,t.defineComponent)({__name:`Disclosure`,props:(0,t.mergeModels)({render:{type:Boolean},disabled:{type:Boolean},popover:{type:Boolean}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`),r=e;return(0,t.provide)(N,{panelId:O((0,t.useId)()),disabled:(0,t.computed)(()=>!!r.disabled),popover:(0,t.computed)(()=>!!r.popover),open:(0,t.computed)({get(){return r.disabled?!0:n.value},set(e){n.value=e}})}),(n,r)=>e.render?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,P,[(0,t.renderSlot)(n.$slots,`default`)])):(0,t.renderSlot)(n.$slots,`default`,{key:1})}}),I=(0,t.defineComponent)({__name:`DisclosureButton`,props:{disabled:{type:[Boolean,String]}},setup(e){let{panelId:n,open:r,disabled:a,popover:o}=S(N),s=(0,t.computed)(()=>o.value?{command:`toggle-popover`,commandfor:n.value}:{onClick(){r.value=!r.value}});return(o,c)=>(0,t.unref)(a)?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(i),(0,t.mergeProps)({key:0,"aria-expanded":(0,t.unref)(r),"aria-controls":(0,t.unref)(n),disabled:e.disabled},s.value),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(o.$slots,`default`)]),_:3},16,[`aria-expanded`,`aria-controls`,`disabled`]))}}),L=(0,t.ref)(0),R={beforeMount(e,{value:t}){let n=`a-l-${L.value++}`;e.setAttribute(`data-labelledby-id`,n),t&&(z(t,n),e.setAttribute(`aria-labelledby`,n))},updated(e,{value:t,oldValue:n}){if(t===n)return;let r=e.getAttribute(`data-labelledby-id`);if(r){let n=document.getElementById(r);t?n?n.innerText=t:(z(t,r),e.setAttribute(`aria-labelledby`,r)):(e.removeAttribute(`aria-labelledby`),n?.remove())}},beforeUnmount(e){let t=e.getAttribute(`data-labelledby-id`);t&&(e.removeAttribute(`aria-labelledby`),document.getElementById(t)?.remove())}},z=(e,t)=>{let n=document.createElement(`span`);return n.innerText=e,n.id=`${t}`,n.hidden=!0,document.documentElement.appendChild(n),n},B={beforeMount(e,{value:t},{transition:n}){n&&t===!1?n.beforeEnter(e):V(e,t)},mounted(e,{value:t},{transition:n}){n&&t===!1&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){t!==n&&(r?t===!1?(r.beforeEnter(e),V(e,t),r.enter(e)):r.leave(e,()=>V(e,t)):V(e,t))},beforeUnmount(e,{value:t}){V(e,t)}},V=(e,t)=>{t?e.setAttribute(`hidden`,`${t}`):e.removeAttribute(`hidden`)},H=(0,t.defineComponent)({__name:`DisclosurePanel`,props:{hideFromSearch:{type:Boolean},as:{default:`div`},id:{default:void 0}},setup(e){let n=e,{panelId:r,disabled:i,popover:a,open:o}=S(N);k(r,()=>n.id);let s=(0,t.useTemplateRef)(`element`),c=(0,t.computed)(()=>o.value?void 0:n.hideFromSearch?!0:`until-found`),l=e=>{console.log(`event`,e),e.newState===`open`?o.value=!0:o.value=!1};return(n,u)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.as),{id:(0,t.unref)(r),ref_key:`element`,ref:s,popover:(0,t.unref)(i)||!(0,t.unref)(a)?void 0:`auto`,onBeforematch:u[0]||=e=>o.value=!0,onToggle:l},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},40,[`id`,`popover`])),[[(0,t.unref)(B),c.value]])}}),U=[`id`],W=(0,t.defineComponent)({__name:`FieldDescription`,setup(e){let n=(0,t.useId)(),r=(0,t.useTemplateRef)(`element`);return E(`field-description`,r),(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{id:(0,t.unref)(n),ref_key:`element`,ref:r},[(0,t.renderSlot)(e.$slots,`default`)],8,U))}}),ne=[`id`],G=(0,t.defineComponent)({__name:`FieldError`,setup(e){let n=(0,t.useId)(),r=(0,t.useTemplateRef)(`element`);return E(`field-error`,r),(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{id:(0,t.unref)(n),ref_key:`element`,ref:r},[(0,t.renderSlot)(e.$slots,`default`)],8,ne))}}),K=Symbol(`field`),q=(e,n)=>{let{elements:r}=T(`field-error`,n),{elements:i}=T(`field-description`,n),a=e=>e.filter(e=>e.id).map(e=>e.id);return b(K,{id:e,hasErrors:(0,t.computed)(()=>r.value.length>0),errorIds:(0,t.computed)(()=>a(r.value)),descriptionIds:(0,t.computed)(()=>a(i.value))})},J=()=>S(K),Y=[`id`,`for`],X=(0,t.defineComponent)({__name:`FieldLabel`,setup(e){let{id:n}=J(),r=()=>{document.getElementById(n)?.focus()};return(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{id:`${(0,t.unref)(n)}-label`,for:(0,t.unref)(n),onClick:r},[(0,t.renderSlot)(e.$slots,`default`)],8,Y))}}),Z=[`aria-orientation`],re=(0,t.defineComponent)({__name:`Separator`,props:{orientation:{default:`horizontal`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,{"aria-orientation":e.orientation},null,8,Z))}}),Q=Symbol(`Switch-field`),ie=()=>S(Q),ae=(0,t.defineComponent)({__name:`SwitchField`,props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`),r=(0,t.useId)(),i=(0,t.useTemplateRef)(`element`);return q(r,i),(0,t.provide)(Q,{id:r,modelValue:n}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`element`,ref:i},[(0,t.renderSlot)(e.$slots,`default`)],512))}}),oe={"aria-hidden":`true`},se=(0,t.defineComponent)({__name:`SwitchFieldStateLabel`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,oe,[(0,t.renderSlot)(e.$slots,`default`)]))}}),ce=[`id`,`aria-checked`,`aria-describedby`,`aria-invalid`,`aria-labelledby`,`aria-disabled`],le=(0,t.defineComponent)({__name:`SwitchFieldSwitchButton`,props:{disabled:{type:Boolean}},setup(e){let n=e,{modelValue:r}=ie(),{id:i,hasErrors:a,errorIds:o,descriptionIds:s}=J(),c=()=>{n.disabled||(r.value=!r.value)};return(n,l)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{id:(0,t.unref)(i),"aria-checked":(0,t.unref)(r),"aria-describedby":[(0,t.unref)(o),(0,t.unref)(s)].flat().join(` `)||void 0,"aria-invalid":(0,t.unref)(a)?!0:void 0,"aria-labelledby":`${(0,t.unref)(i)}-label`,"aria-disabled":e.disabled,role:`switch`,type:`button`,onClick:c},[(0,t.renderSlot)(n.$slots,`default`)],8,ce))}}),$=(0,t.defineComponent)({__name:`Table`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`table`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}}),ue=(0,t.defineComponent)({__name:`TableBody`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tbody`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}}),de=(0,t.defineComponent)({__name:`TableCell`,props:{heading:{type:Boolean}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.heading?`th`:`td`),{scope:e.heading?`row`:void 0},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`scope`]))}}),fe=(0,t.defineComponent)({__name:`TableHead`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`thead`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}}),pe=[`aria-sort`],me=(0,t.defineComponent)({__name:`TableHeadingCell`,props:{sorted:{}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{"aria-sort":e.sorted},[(0,t.renderSlot)(n.$slots,`default`)],8,pe))}}),he=(0,t.defineComponent)({__name:`TableRow`,setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,null,[(0,t.renderSlot)(e.$slots,`default`)]))}});e.PeachyButton=i,e.PeachyCopyButton=s,e.PeachyDisclosure=F,e.PeachyDisclosureButton=I,e.PeachyDisclosurePanel=H,e.PeachyFieldDescription=W,e.PeachyFieldError=G,e.PeachyFieldLabel=X,e.PeachySeparator=re,e.PeachySwitchButton=le,e.PeachySwitchField=ae,e.PeachySwitchStateLabel=se,e.PeachyTable=$,e.PeachyTableBody=ue,e.PeachyTableCell=de,e.PeachyTableHead=fe,e.PeachyTableHeadingCell=me,e.PeachyTableRow=he,e.PeachyVisuallyHidden=o,e.provideElement=E,e.shareDynamicIds=A,e.shareId=O,e.useBemClass=y,e.useContext=S,e.useContextProvider=b,e.useElements=T,e.useGlobalBemClass=te,e.useOptionalContext=x,e.useSharedDynamicIds=j,e.useSharedId=k,e.useThemeSettingsStore=M,e.vAriaLabelledby=R,e.vHidden=B});
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@typeach/core",
3
- "version": "0.0.0",
3
+ "version": "0.0.5",
4
4
  "description": "Component library for Vue.",
5
+ "homepage": "https://sq11y.github.io/typeach/",
5
6
  "license": "MIT",
6
7
  "repository": {
7
8
  "type": "git",
@@ -50,6 +51,7 @@
50
51
  "dev": "playwright test -c playwright-ct.config.ts --ui && rimraf .tmp",
51
52
  "build": "run-p type-check \"build-only {@}\" --",
52
53
  "build-only": "vp build",
53
- "type-check": "vue-tsc --build"
54
+ "type-check": "vue-tsc --build",
55
+ "test": "playwright test -c playwright-ct.config.ts"
54
56
  }
55
57
  }