@vireo-ai/trellis-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/package.json +84 -0
  4. package/src/theme.css +536 -0
  5. package/trellis_ui/static/trellis_ui/css/styles.css +4382 -0
  6. package/trellis_ui/static/trellis_ui/js/esm/chunks/cally-TZl4LpyH.js +1134 -0
  7. package/trellis_ui/static/trellis_ui/js/esm/chunks/cally-TZl4LpyH.js.map +1 -0
  8. package/trellis_ui/static/trellis_ui/js/esm/chunks/dist-DMX3Q5Zu.js +551 -0
  9. package/trellis_ui/static/trellis_ui/js/esm/chunks/dist-DMX3Q5Zu.js.map +1 -0
  10. package/trellis_ui/static/trellis_ui/js/esm/index.js +14181 -0
  11. package/trellis_ui/static/trellis_ui/js/esm/index.js.map +1 -0
  12. package/trellis_ui/static/trellis_ui/js/index.js +10 -0
  13. package/types/bindings/disclosure.d.ts +3 -0
  14. package/types/bindings/index.d.ts +7 -0
  15. package/types/bindings/motion.d.ts +3 -0
  16. package/types/bindings/state.d.ts +3 -0
  17. package/types/bindings/types.d.ts +35 -0
  18. package/types/components/accordion/contract.d.ts +29 -0
  19. package/types/components/accordion/index.d.ts +44 -0
  20. package/types/components/action/contract.d.ts +14 -0
  21. package/types/components/action/index.d.ts +2 -0
  22. package/types/components/app/contract.d.ts +29 -0
  23. package/types/components/app/index.d.ts +2 -0
  24. package/types/components/badge/contract.d.ts +42 -0
  25. package/types/components/badge/index.d.ts +0 -0
  26. package/types/components/box/contract.d.ts +44 -0
  27. package/types/components/box/index.d.ts +2 -0
  28. package/types/components/brand/contract.d.ts +18 -0
  29. package/types/components/brand/index.d.ts +0 -0
  30. package/types/components/button/contract.d.ts +34 -0
  31. package/types/components/button/index.d.ts +3 -0
  32. package/types/components/card/contract.d.ts +56 -0
  33. package/types/components/card/index.d.ts +0 -0
  34. package/types/components/checkbox/contract.d.ts +85 -0
  35. package/types/components/checkbox/index.d.ts +34 -0
  36. package/types/components/combobox/contract.d.ts +57 -0
  37. package/types/components/combobox/index.d.ts +74 -0
  38. package/types/components/common.d.ts +61 -0
  39. package/types/components/date-picker/contract.d.ts +86 -0
  40. package/types/components/date-picker/index.d.ts +70 -0
  41. package/types/components/dropdown/contract.d.ts +18 -0
  42. package/types/components/dropdown/index.d.ts +53 -0
  43. package/types/components/field/contract.d.ts +67 -0
  44. package/types/components/field/index.d.ts +11 -0
  45. package/types/components/file-upload/contract.d.ts +60 -0
  46. package/types/components/file-upload/index.d.ts +35 -0
  47. package/types/components/frame/contract.d.ts +60 -0
  48. package/types/components/frame/index.d.ts +2 -0
  49. package/types/components/heading/contract.d.ts +8 -0
  50. package/types/components/heading/index.d.ts +0 -0
  51. package/types/components/image/contract.d.ts +19 -0
  52. package/types/components/image/index.d.ts +1 -0
  53. package/types/components/index.d.ts +1 -0
  54. package/types/components/input/contract.d.ts +49 -0
  55. package/types/components/input/index.d.ts +17 -0
  56. package/types/components/menu/contract.d.ts +34 -0
  57. package/types/components/menu/index.d.ts +0 -0
  58. package/types/components/modal/contract.d.ts +56 -0
  59. package/types/components/modal/index.d.ts +85 -0
  60. package/types/components/overlay/contract.d.ts +13 -0
  61. package/types/components/overlay/index.d.ts +0 -0
  62. package/types/components/radio/contract.d.ts +55 -0
  63. package/types/components/radio/index.d.ts +28 -0
  64. package/types/components/runtime.d.ts +35 -0
  65. package/types/components/scroll-area/contract.d.ts +23 -0
  66. package/types/components/scroll-area/index.d.ts +68 -0
  67. package/types/components/select/contract.d.ts +90 -0
  68. package/types/components/select/index.d.ts +92 -0
  69. package/types/components/separator/contract.d.ts +7 -0
  70. package/types/components/separator/index.d.ts +0 -0
  71. package/types/components/sidebar/contract.d.ts +66 -0
  72. package/types/components/sidebar/index.d.ts +106 -0
  73. package/types/components/slider/contract.d.ts +56 -0
  74. package/types/components/slider/index.d.ts +40 -0
  75. package/types/components/spacer/index.d.ts +0 -0
  76. package/types/components/stream/index.d.ts +0 -0
  77. package/types/components/switch/contract.d.ts +57 -0
  78. package/types/components/switch/index.d.ts +24 -0
  79. package/types/components/table/contract.d.ts +99 -0
  80. package/types/components/table/index.d.ts +2 -0
  81. package/types/components/tabs/contract.d.ts +25 -0
  82. package/types/components/tabs/index.d.ts +60 -0
  83. package/types/components/text/contract.d.ts +10 -0
  84. package/types/components/text/index.d.ts +0 -0
  85. package/types/components/textarea/contract.d.ts +22 -0
  86. package/types/components/textarea/index.d.ts +0 -0
  87. package/types/components/theme/contract.d.ts +6 -0
  88. package/types/components/theme/index.d.ts +0 -0
  89. package/types/components/toast/contract.d.ts +28 -0
  90. package/types/components/toast/index.d.ts +27 -0
  91. package/types/index.d.ts +46 -0
  92. package/types/motion/animate.d.ts +49 -0
  93. package/types/motion/index.d.ts +24 -0
  94. package/types/motion/presence.d.ts +34 -0
  95. package/types/motion/reduced-motion.d.ts +9 -0
  96. package/types/motion/stream.d.ts +18 -0
  97. package/types/motion/targets.d.ts +31 -0
  98. package/types/motion/view.d.ts +22 -0
  99. package/types/runtime/anchored-popover.d.ts +20 -0
  100. package/types/runtime/class-name.d.ts +9 -0
  101. package/types/runtime/codecs.d.ts +66 -0
  102. package/types/runtime/collection-navigation.d.ts +33 -0
  103. package/types/runtime/confirm.d.ts +18 -0
  104. package/types/runtime/create.d.ts +8 -0
  105. package/types/runtime/dismissable-layer.d.ts +8 -0
  106. package/types/runtime/dom.d.ts +39 -0
  107. package/types/runtime/form-control.d.ts +44 -0
  108. package/types/runtime/index.d.ts +85 -0
  109. package/types/runtime/manifest.d.ts +49 -0
  110. package/types/runtime/option-data.d.ts +5 -0
  111. package/types/runtime/props.d.ts +9 -0
  112. package/types/runtime/resizable.d.ts +36 -0
  113. package/types/runtime/scroll-lock.d.ts +3 -0
  114. package/types/runtime/stream.d.ts +47 -0
  115. package/types/runtime/styles.d.ts +28 -0
  116. package/types/runtime/theme.d.ts +17 -0
@@ -0,0 +1,1134 @@
1
+ //#region node_modules/.pnpm/cally@0.9.2/node_modules/cally/dist/cally.js
2
+ var e = class {
3
+ #e;
4
+ #t = /* @__PURE__ */ new Set();
5
+ constructor(e) {
6
+ this.#e = e;
7
+ }
8
+ get current() {
9
+ return this.#e;
10
+ }
11
+ set current(e) {
12
+ this.#e != e && (this.#e = e, this.#t.forEach((t) => t(e)));
13
+ }
14
+ on(e) {
15
+ return this.#t.add(e), () => this.#t.delete(e);
16
+ }
17
+ }, t = (t) => new e(t), n = Symbol.for("atomico.hooks");
18
+ globalThis[n] = globalThis[n] || {};
19
+ var r = globalThis[n], i = Symbol.for("Atomico.suspense"), a = Symbol.for("Atomico.effect"), o = Symbol.for("Atomico.layoutEffect"), s = Symbol.for("Atomico.insertionEffect"), c = (e, t, n) => {
20
+ let { i, hooks: a } = r.c, o = a[i] = a[i] || {};
21
+ return o.value = e(o.value), o.effect = t, o.tag = n, r.c.i++, a[i].value;
22
+ }, l = (e) => c((n = t(e)) => n), u = () => c((e = t(r.c.host)) => e), d = () => r.c.update, f = (e, t, n = 0) => {
23
+ let c = {}, l = !1, u = () => l, d = (e, t) => {
24
+ for (let n in c) {
25
+ let r = c[n];
26
+ r.effect && r.tag === e && (r.value = r.effect(r.value, t));
27
+ }
28
+ };
29
+ return {
30
+ load: (a) => {
31
+ r.c = {
32
+ host: t,
33
+ hooks: c,
34
+ update: e,
35
+ i: 0,
36
+ id: n
37
+ };
38
+ let o;
39
+ try {
40
+ l = !1, o = a();
41
+ } catch (e) {
42
+ if (e !== i) throw e;
43
+ l = !0;
44
+ } finally {
45
+ r.c = null;
46
+ }
47
+ return o;
48
+ },
49
+ cleanEffects: (e) => (d(s, e), () => (d(o, e), () => {
50
+ d(a, e);
51
+ })),
52
+ isSuspense: u
53
+ };
54
+ }, p = Symbol.for;
55
+ function m(e, t) {
56
+ let n = e.length;
57
+ if (n !== t.length) return !1;
58
+ for (let r = 0; r < n; r++) if (e[r] !== t[r]) return !1;
59
+ return !0;
60
+ }
61
+ var h = (e) => typeof e == "function", g = (e) => typeof e == "object", { isArray: _ } = Array, v = (e, t) => (t ? e instanceof HTMLStyleElement : !0) && "hydrate" in (e?.dataset || {});
62
+ function ee(e, t) {
63
+ let n, r = (e) => {
64
+ let { length: i } = e;
65
+ for (let a = 0; a < i; a++) {
66
+ let i = e[a];
67
+ if (i && Array.isArray(i)) r(i);
68
+ else {
69
+ let e = typeof i;
70
+ if (i == null || e === "function" || e === "boolean") continue;
71
+ e === "string" || e === "number" ? (n ??= "", n += i) : (n != null && (t(n), n = null), t(i));
72
+ }
73
+ }
74
+ };
75
+ r(e), n != null && t(n);
76
+ }
77
+ var y = (e, t, n) => (e.addEventListener(t, n), () => e.removeEventListener(t, n)), b = class {
78
+ constructor(e, t, n) {
79
+ this.message = t, this.target = e, this.value = n;
80
+ }
81
+ }, x = class extends b {}, te = class extends b {}, S = "Custom", ne = null, re = {
82
+ true: 1,
83
+ "": 1,
84
+ 1: 1
85
+ };
86
+ function ie(e, t, n, r, i) {
87
+ let { type: a, reflect: o, event: s, value: c, attr: l = oe(t) } = n?.name != S && g(n) && n != ne ? n : { type: n }, u = a?.name === S && a.map, d = c == null ? null : a == Function || !h(c) ? () => c : c;
88
+ Object.defineProperty(e, t, {
89
+ configurable: !0,
90
+ set(e) {
91
+ let n = this[t];
92
+ d && a != Boolean && e == null && (e = d());
93
+ let { error: r, value: i } = (u ? le : ue)(a, e);
94
+ if (r && i != null) throw new x(this, `The value defined for prop '${t}' must be of type '${a.name}'`, i);
95
+ n != i && (this._props[t] = i ?? void 0, this.update(), s && ae(this, s), this.updated.then(() => {
96
+ o && (this._ignoreAttr = l, se(this, a, l, this[t]), this._ignoreAttr = null);
97
+ }));
98
+ },
99
+ get() {
100
+ return this._props[t];
101
+ }
102
+ }), d && (i[t] = d()), r[l] = {
103
+ prop: t,
104
+ type: a
105
+ };
106
+ }
107
+ var ae = (e, { type: t, base: n = CustomEvent, ...r }) => e.dispatchEvent(new n(t, r)), oe = (e) => e.replace(/([A-Z])/g, "-$1").toLowerCase(), se = (e, t, n, r) => r == null || t == Boolean && !r ? e.removeAttribute(n) : e.setAttribute(n, t?.name === S && t?.serialize ? t?.serialize(r) : g(r) ? JSON.stringify(r) : t == Boolean ? "" : r), ce = (e, t) => e == Boolean ? !!re[t] : e == Number ? Number(t) : e == String ? t : e == Array || e == Object ? JSON.parse(t) : e.name == S ? t : new e(t), le = ({ map: e }, t) => {
108
+ try {
109
+ return {
110
+ value: e(t),
111
+ error: !1
112
+ };
113
+ } catch {
114
+ return {
115
+ value: t,
116
+ error: !0
117
+ };
118
+ }
119
+ }, ue = (e, t) => e == null || t == null ? {
120
+ value: t,
121
+ error: !1
122
+ } : e != String && t === "" ? {
123
+ value: void 0,
124
+ error: !1
125
+ } : e == Object || e == Array || e == Symbol ? {
126
+ value: t,
127
+ error: {}.toString.call(t) !== `[object ${e.name}]`
128
+ } : t instanceof e ? {
129
+ value: t,
130
+ error: e == Number && Number.isNaN(t.valueOf())
131
+ } : e == String || e == Number || e == Boolean ? {
132
+ value: t,
133
+ error: e == Number ? typeof t == "number" ? Number.isNaN(t) : !0 : e == String ? typeof t != "string" : typeof t != "boolean"
134
+ } : {
135
+ value: t,
136
+ error: !0
137
+ }, de = 0, fe = (e) => (e?.dataset || {})?.hydrate || "c" + de++, C = (e, t = HTMLElement) => {
138
+ let n = {}, r = {}, i = "prototype" in t && t.prototype instanceof Element, a = i ? t : "base" in t ? t.base : HTMLElement, { props: o, styles: s } = i ? e : t;
139
+ class c extends a {
140
+ constructor() {
141
+ super(), this._setup(), this._render = () => e({ ...this._props });
142
+ for (let e in r) this[e] = r[e];
143
+ }
144
+ static get styles() {
145
+ return [super.styles, s];
146
+ }
147
+ async _setup() {
148
+ if (this._props) return;
149
+ this._props = {};
150
+ let e, t;
151
+ this.mounted = new Promise((n) => this.mount = () => {
152
+ n(), e != this.parentNode && (t == e ? this.update() : this.unmounted.then(this.update)), e = this.parentNode;
153
+ }), this.unmounted = new Promise((r) => this.unmount = () => {
154
+ r(), (e != this.parentNode || !this.isConnected) && (n.cleanEffects(!0)()(), t = this.parentNode, e = null);
155
+ }), this.symbolId = this.symbolId || Symbol(), this.symbolIdParent = Symbol();
156
+ let n = f(() => this.update(), this, fe(this)), r, i = !0, a = v(this);
157
+ this.update = () => (r || (r = !0, this.updated = (this.updated || this.mounted).then(() => {
158
+ try {
159
+ let e = n.load(this._render), t = n.cleanEffects();
160
+ return e && e.render(this, this.symbolId, a), r = !1, i && !n.isSuspense() && (i = !1, !a && pe(this)), t();
161
+ } finally {
162
+ r = !1;
163
+ }
164
+ }).then((e) => {
165
+ e && e();
166
+ })), this.updated), this.update();
167
+ }
168
+ connectedCallback() {
169
+ this.mount(), super.connectedCallback && super.connectedCallback();
170
+ }
171
+ disconnectedCallback() {
172
+ super.disconnectedCallback && super.disconnectedCallback(), this.unmount();
173
+ }
174
+ attributeChangedCallback(e, t, r) {
175
+ if (n[e]) {
176
+ if (e === this._ignoreAttr || t === r) return;
177
+ let { prop: i, type: a } = n[e];
178
+ try {
179
+ this[i] = ce(a, r);
180
+ } catch {
181
+ throw new te(this, `The value defined as attr '${e}' cannot be parsed by type '${a.name}'`, r);
182
+ }
183
+ } else super.attributeChangedCallback(e, t, r);
184
+ }
185
+ static get props() {
186
+ return {
187
+ ...super.props,
188
+ ...o
189
+ };
190
+ }
191
+ static get observedAttributes() {
192
+ let e = super.observedAttributes || [];
193
+ for (let e in o) ie(this.prototype, e, o[e], n, r);
194
+ return Object.keys(n).concat(e);
195
+ }
196
+ }
197
+ return c;
198
+ };
199
+ function pe(e) {
200
+ let { styles: t } = e.constructor, { shadowRoot: n } = e;
201
+ if (n && t.length) {
202
+ let e = [];
203
+ ee(t, (t) => {
204
+ t && (t instanceof Element ? n.appendChild(t.cloneNode(!0)) : e.push(t));
205
+ }), e.length && (n.adoptedStyleSheets = e);
206
+ }
207
+ }
208
+ var me = (e) => (t, n) => {
209
+ c(([e, t] = []) => ((t || !t) && (t && m(t, n) ? e ||= !0 : (h(e) && e(), e = null)), [e, n]), ([e, n], r) => r ? (h(e) && e(), []) : [e || t(), n], e);
210
+ }, w = me(a), he = me(s), ge = class extends Array {
211
+ constructor(e, t) {
212
+ let n = !0, r = (e) => {
213
+ try {
214
+ t(e, this, n);
215
+ } finally {
216
+ n = !1;
217
+ }
218
+ };
219
+ super(void 0, r, t), r(e);
220
+ }
221
+ }, T = (e) => {
222
+ let t = d();
223
+ return c((n = new ge(e, (e, n, r) => {
224
+ e = h(e) ? e(n[0]) : e, e !== n[0] && (n[0] = e, r || t());
225
+ })) => n);
226
+ }, E = (e, t) => {
227
+ let [n] = c(([n, r, i = 0] = []) => ((!r || r && !m(r, t)) && (n = e()), [
228
+ n,
229
+ t,
230
+ i
231
+ ]));
232
+ return n;
233
+ }, D = (e) => {
234
+ let { current: t } = u();
235
+ if (!(e in t)) throw new x(t, `For useProp("${e}"), the prop does not exist on the host.`, e);
236
+ return c((n = new ge(t[e], (n, r) => {
237
+ n = h(n) ? n(t[e]) : n, t[e] = n;
238
+ })) => (n[0] = t[e], n));
239
+ }, O = (e, t = {}) => {
240
+ let n = u();
241
+ return n[e] || (n[e] = (r = t.detail) => ae(n.current, {
242
+ type: e,
243
+ ...t,
244
+ detail: r
245
+ })), n[e];
246
+ }, k = p("atomico/options");
247
+ globalThis[k] = globalThis[k] || { sheet: !!document.adoptedStyleSheets };
248
+ var A = globalThis[k], _e = new Promise((e) => {
249
+ A.ssr || (document.readyState === "loading" ? y(document, "DOMContentLoaded", e) : e());
250
+ }), ve = {
251
+ checked: 1,
252
+ value: 1,
253
+ selected: 1
254
+ }, ye = {
255
+ list: 1,
256
+ type: 1,
257
+ size: 1,
258
+ form: 1,
259
+ width: 1,
260
+ height: 1,
261
+ src: 1,
262
+ href: 1,
263
+ slot: 1
264
+ }, be = {
265
+ shadowDom: 1,
266
+ staticNode: 1,
267
+ cloneNode: 1,
268
+ children: 1,
269
+ key: 1
270
+ }, j = {}, M = [], N = class extends Text {}, xe = p("atomico/id"), P = p("atomico/type"), F = p("atomico/ref"), Se = p("atomico/vnode"), Ce = () => {};
271
+ function we(e, t, n) {
272
+ return Ee(this, e, t, n);
273
+ }
274
+ var Te = (e, t, ...n) => {
275
+ let r = t || j, { children: i } = r;
276
+ if (i ??= n.length ? n : M, e === Ce) return i;
277
+ let a = e ? e instanceof Node ? 1 : e.prototype instanceof HTMLElement && 2 : 0;
278
+ if (a === !1 && e instanceof Function) return e(i == M ? r : {
279
+ children: i,
280
+ ...r
281
+ });
282
+ let o = A.render || we;
283
+ return {
284
+ [P]: Se,
285
+ type: e,
286
+ props: r,
287
+ children: i,
288
+ key: r.key,
289
+ shadow: r.shadowDom,
290
+ static: r.staticNode,
291
+ raw: a,
292
+ is: r.is,
293
+ clone: r.cloneNode,
294
+ render: o
295
+ };
296
+ };
297
+ function Ee(e, t, n = xe, r, i) {
298
+ let a;
299
+ if (t && t[n] && t[n].vnode == e || e[P] != Se) return t;
300
+ (e || !t) && (i ||= e.type == "svg", a = e.type != "host" && (e.raw == 1 ? (t && e.clone ? t[F] : t) != e.type : e.raw == 2 ? !(t instanceof e.type) : t ? t[F] || t.localName != e.type : !t), a && e.type != null && (e.raw == 1 && e.clone ? (r = !0, t = e.type.cloneNode(!0), t[F] = e.type) : t = e.raw == 1 ? e.type : e.raw == 2 ? new e.type() : i ? document.createElementNS("http://www.w3.org/2000/svg", e.type) : document.createElement(e.type, e.is ? { is: e.is } : void 0)));
301
+ let o = t[n] ? t[n] : j, { vnode: s = j, cycle: c = 0 } = o, { fragment: l, handlers: u } = o, { children: d = M, props: f = j } = s;
302
+ if (u = a ? {} : u || {}, e.static && !a) return t;
303
+ if (e.shadow && !t.shadowRoot && t.attachShadow({
304
+ mode: "open",
305
+ ...e.shadow
306
+ }), e.props != f && ke(t, f, e.props, u, i), e.children !== d) {
307
+ let a = e.shadow ? t.shadowRoot : t;
308
+ l = Oe(e.children, l, a, n, !c && r, i && e.type == "foreignObject" ? !1 : i);
309
+ }
310
+ return t[n] = {
311
+ vnode: e,
312
+ handlers: u,
313
+ fragment: l,
314
+ cycle: c + 1
315
+ }, t;
316
+ }
317
+ function De(e, t) {
318
+ let n = new N(""), r = new N(""), i;
319
+ if (e[t ? "prepend" : "append"](n), t) {
320
+ let { lastElementChild: t } = e;
321
+ for (; t;) {
322
+ let { previousElementSibling: e } = t;
323
+ if (v(t, !0) && !v(e, !0)) {
324
+ i = t;
325
+ break;
326
+ }
327
+ t = e;
328
+ }
329
+ }
330
+ return i ? i.before(r) : e.append(r), {
331
+ markStart: n,
332
+ markEnd: r
333
+ };
334
+ }
335
+ function Oe(e, t, n, r, i, a) {
336
+ e = e == null ? null : _(e) ? e : [e];
337
+ let o = t || De(n, i), { markStart: s, markEnd: c, keyes: l } = o, u, d = l && /* @__PURE__ */ new Set(), f = s;
338
+ if (e && ee(e, (e) => {
339
+ if (typeof e == "object" && !e[P]) return;
340
+ let t = e[P] && e.key, o = l && t != null && l.get(t);
341
+ f != c && f === o ? d.delete(f) : f = f == c ? c : f.nextSibling;
342
+ let s = l ? o : f, p = s;
343
+ if (e[P]) p = Ee(e, s, r, i, a);
344
+ else {
345
+ let t = e + "";
346
+ !(p instanceof Text) || p instanceof N ? p = new Text(t) : p.data != t && (p.data = t);
347
+ }
348
+ p != f && (l && d.delete(p), !s || l ? (n.insertBefore(p, f), l && f != c && d.add(f)) : s == c ? n.insertBefore(p, c) : (n.replaceChild(p, s), f = p)), t != null && (u ||= /* @__PURE__ */ new Map(), u.set(t, p));
349
+ }), f = f == c ? c : f.nextSibling, t && f != c) for (; f != c;) {
350
+ let e = f;
351
+ f = f.nextSibling, e.remove();
352
+ }
353
+ return d && d.forEach((e) => e.remove()), o.keyes = u, o;
354
+ }
355
+ function ke(e, t, n, r, i) {
356
+ for (let a in t) !(a in n) && Ae(e, a, t[a], null, i, r);
357
+ for (let a in n) Ae(e, a, t[a], n[a], i, r);
358
+ }
359
+ function Ae(e, t, n, r, i, a) {
360
+ if (t = t == "class" && !i ? "className" : t, n ??= null, r ??= null, t in e && ve[t] && (n = e[t]), !(r === n || be[t] || t[0] == "_")) if (e.localName === "slot" && t === "assignNode" && "assign" in e) e.assign(r);
361
+ else if (t[0] == "o" && t[1] == "n" && (h(r) || h(n))) je(e, t.slice(2), r, a);
362
+ else if (t == "ref") r && (h(r) ? r(e) : r.current = e);
363
+ else if (t == "style") {
364
+ let { style: t } = e;
365
+ n ||= "", r ||= "";
366
+ let i = g(n), a = g(r);
367
+ if (i) for (let e in n) if (a) !(e in r) && Me(t, e, null);
368
+ else break;
369
+ if (a) for (let e in r) {
370
+ let a = r[e];
371
+ i && n[e] === a || Me(t, e, a);
372
+ }
373
+ else t.cssText = r;
374
+ } else {
375
+ let a = t[0] == "$" ? t.slice(1) : t;
376
+ a === t && (!i && !ye[t] && t in e || h(r) || h(n)) ? e[t] = r ?? "" : r == null ? e.removeAttribute(a) : e.setAttribute(a, g(r) ? JSON.stringify(r) : r);
377
+ }
378
+ }
379
+ function je(e, t, n, r) {
380
+ if (r.handleEvent ||= (t) => r[t.type].call(e, t), n) {
381
+ if (!r[t]) {
382
+ let i = n.capture || n.once || n.passive ? Object.assign({}, n) : null;
383
+ e.addEventListener(t, r, i);
384
+ }
385
+ r[t] = n;
386
+ } else r[t] && (e.removeEventListener(t, r), delete r[t]);
387
+ }
388
+ function Me(e, t, n) {
389
+ let r = "setProperty";
390
+ n ??= (r = "removeProperty", null), ~t.indexOf("-") ? e[r](t, n) : e[t] = n;
391
+ }
392
+ var Ne = Te("host", { style: "display: contents" }), Pe = "value", Fe = (e, t) => {
393
+ let n = u(), r = l();
394
+ he(() => y(n.current, "ConnectContext", (t) => {
395
+ t.composedPath().at(0) !== t.currentTarget && e === t.detail.id && (t.stopPropagation(), t.detail.connect(r));
396
+ }), [e]), r.current = t;
397
+ }, I = (e) => {
398
+ let t = O("ConnectContext", {
399
+ bubbles: !0,
400
+ composed: !0
401
+ }), [n, r] = T(() => {
402
+ if (A.ssr) return;
403
+ let n;
404
+ return t({
405
+ id: e,
406
+ connect(e) {
407
+ n = e;
408
+ }
409
+ }), n;
410
+ }), i = d();
411
+ return w(() => {
412
+ _e.then(() => t({
413
+ id: e,
414
+ connect: r
415
+ }));
416
+ }, [e]), w(() => {
417
+ if (n) return n.on(i);
418
+ }, [n]), n?.current || e[Pe];
419
+ }, Ie = (e) => {
420
+ let t = C(({ value: e }) => (Fe(t, e), Ne), { props: { value: {
421
+ type: Object,
422
+ value: () => e
423
+ } } });
424
+ return t[Pe] = e, t;
425
+ };
426
+ Ie({ dispatch(e, t) {} });
427
+ var Le = {};
428
+ function L(e, ...t) {
429
+ let n = (e.raw || e).reduce((e, n, r) => e + n + (t[r] || ""), "");
430
+ return Le[n] = Le[n] || Re(n);
431
+ }
432
+ function Re(e) {
433
+ if (A.sheet) {
434
+ let t = new CSSStyleSheet();
435
+ return t.replaceSync(e), t;
436
+ } else {
437
+ let t = document.createElement("style");
438
+ return t.textContent = e, t;
439
+ }
440
+ }
441
+ var R = (e, t, n) => (t == null ? t = { key: n } : t.key = n, Te(e, t)), z = R, B = L`*,*:before,*:after{box-sizing:border-box}button{padding:0;touch-action:manipulation;cursor:pointer;user-select:none}`, ze = L`.vh{position:absolute;transform:scale(0)}`;
442
+ function V() {
443
+ let e = /* @__PURE__ */ new Date();
444
+ return new K(e.getFullYear(), e.getMonth() + 1, e.getDate());
445
+ }
446
+ var Be = 864e5;
447
+ function Ve(e) {
448
+ let t = W(e);
449
+ t.setUTCDate(t.getUTCDate() + 3 - (t.getUTCDay() + 6) % 7);
450
+ let n = new Date(Date.UTC(t.getUTCFullYear(), 0, 4));
451
+ return 1 + Math.round(((t.getTime() - n.getTime()) / Be - 3 + (n.getUTCDay() + 6) % 7) / 7);
452
+ }
453
+ function H(e, t = 0) {
454
+ let n = W(e), r = n.getUTCDay(), i = (r < t ? 7 : 0) + r - t;
455
+ return n.setUTCDate(n.getUTCDate() - i), K.from(n);
456
+ }
457
+ function He(e, t = 0) {
458
+ return H(e, t).add({ days: 6 });
459
+ }
460
+ function Ue(e) {
461
+ return K.from(new Date(Date.UTC(e.year, e.month, 0)));
462
+ }
463
+ function U(e, t, n) {
464
+ return t && K.compare(e, t) < 0 ? t : n && K.compare(e, n) > 0 ? n : e;
465
+ }
466
+ var We = { days: 1 };
467
+ function Ge(e, t = 0) {
468
+ let n = H(e.toPlainDate(), t), r = He(Ue(e), t), i = [];
469
+ for (; K.compare(n, r) < 0;) {
470
+ let e = [];
471
+ for (let t = 0; t < 7; t++) e.push(n), n = n.add(We);
472
+ i.push(e);
473
+ }
474
+ return i;
475
+ }
476
+ function W(e) {
477
+ return new Date(Date.UTC(e.year, e.month - 1, e.day ?? 1));
478
+ }
479
+ var Ke = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[0-1])$/, G = (e, t) => e.toString().padStart(t, "0"), K = class e {
480
+ constructor(e, t, n) {
481
+ this.year = e, this.month = t, this.day = n;
482
+ }
483
+ add(t) {
484
+ let n = W(this);
485
+ if ("days" in t) return n.setUTCDate(this.day + t.days), e.from(n);
486
+ let { year: r, month: i } = this;
487
+ "months" in t ? (i = this.month + t.months, n.setUTCMonth(i - 1)) : (r = this.year + t.years, n.setUTCFullYear(r));
488
+ let a = e.from(W({
489
+ year: r,
490
+ month: i,
491
+ day: 1
492
+ }));
493
+ return U(e.from(n), a, Ue(a));
494
+ }
495
+ toString() {
496
+ return `${G(this.year, 4)}-${G(this.month, 2)}-${G(this.day, 2)}`;
497
+ }
498
+ toPlainYearMonth() {
499
+ return new q(this.year, this.month);
500
+ }
501
+ equals(t) {
502
+ return e.compare(this, t) === 0;
503
+ }
504
+ static compare(e, t) {
505
+ return e.year < t.year ? -1 : e.year > t.year ? 1 : e.month < t.month ? -1 : e.month > t.month ? 1 : e.day < t.day ? -1 : +(e.day > t.day);
506
+ }
507
+ static from(t) {
508
+ if (typeof t == "string") {
509
+ let n = t.match(Ke);
510
+ if (!n) throw TypeError(t);
511
+ let [, r, i, a] = n;
512
+ return new e(parseInt(r, 10), parseInt(i, 10), parseInt(a, 10));
513
+ }
514
+ return new e(t.getUTCFullYear(), t.getUTCMonth() + 1, t.getUTCDate());
515
+ }
516
+ }, q = class e {
517
+ constructor(e, t) {
518
+ this.year = e, this.month = t;
519
+ }
520
+ add(t) {
521
+ let n = W(this), r = (t.months ?? 0) + (t.years ?? 0) * 12;
522
+ return n.setUTCMonth(n.getUTCMonth() + r), new e(n.getUTCFullYear(), n.getUTCMonth() + 1);
523
+ }
524
+ equals(e) {
525
+ return this.year === e.year && this.month === e.month;
526
+ }
527
+ toPlainDate() {
528
+ return new K(this.year, this.month, 1);
529
+ }
530
+ static compare(e, t) {
531
+ return e.year < t.year ? -1 : e.year > t.year ? 1 : e.month < t.month ? -1 : +(e.month > t.month);
532
+ }
533
+ };
534
+ function J(e, t) {
535
+ if (t) try {
536
+ return e.from(t);
537
+ } catch {}
538
+ }
539
+ function Y(e) {
540
+ let [t, n] = D(e);
541
+ return [E(() => J(K, t), [t]), (e) => n(e?.toString())];
542
+ }
543
+ function qe(e) {
544
+ let [t = "", n] = D(e);
545
+ return [E(() => {
546
+ let [e, n] = t.split("/"), r = J(K, e), i = J(K, n);
547
+ return r && i ? [r, i] : [];
548
+ }, [t]), (e) => n(`${e[0]}/${e[1]}`)];
549
+ }
550
+ function Je(e) {
551
+ let [t = "", n] = D(e);
552
+ return [E(() => {
553
+ let e = [];
554
+ for (let n of t.trim().split(/\s+/)) {
555
+ let t = J(K, n);
556
+ t && e.push(t);
557
+ }
558
+ return e;
559
+ }, [t]), (e) => n(e.join(" "))];
560
+ }
561
+ function X(e, t) {
562
+ return E(() => new Intl.DateTimeFormat(t, {
563
+ timeZone: "UTC",
564
+ ...e
565
+ }), [t, e]);
566
+ }
567
+ function Ye(e, t, n) {
568
+ let r = X(e, n);
569
+ return E(() => {
570
+ let e = [], n = /* @__PURE__ */ new Date();
571
+ for (var i = 0; i < 7; i++) {
572
+ let i = (n.getUTCDay() - t + 7) % 7;
573
+ e[i] = r.format(n), n.setUTCDate(n.getUTCDate() + 1);
574
+ }
575
+ return e;
576
+ }, [t, r]);
577
+ }
578
+ var Xe = (e, t, n) => U(e, t, n) === e, Ze = (e) => e.target.matches(":dir(ltr)"), Qe = {
579
+ month: "long",
580
+ day: "numeric"
581
+ }, $e = { month: "long" }, et = { weekday: "long" }, Z = { bubbles: !0 };
582
+ function tt({ props: e, context: t }) {
583
+ let { offset: n } = e, { firstDayOfWeek: r, isDateDisallowed: i, min: a, max: o, today: s, page: c, locale: l, focusedDate: u, formatWeekday: d } = t, f = s ?? V(), p = Ye(et, r, l), m = Ye(E(() => ({ weekday: d }), [d]), r, l), h = X(Qe, l), g = X($e, l), _ = E(() => c.start.add({ months: n }), [c, n]), v = E(() => Ge(_, r), [_, r]), ee = O("focusday", Z), y = O("selectday", Z), b = O("hoverday", Z);
584
+ function x(e) {
585
+ ee(U(e, a, o));
586
+ }
587
+ function te(e) {
588
+ let t;
589
+ switch (e.key) {
590
+ case "ArrowRight":
591
+ t = u.add({ days: Ze(e) ? 1 : -1 });
592
+ break;
593
+ case "ArrowLeft":
594
+ t = u.add({ days: Ze(e) ? -1 : 1 });
595
+ break;
596
+ case "ArrowDown":
597
+ t = u.add({ days: 7 });
598
+ break;
599
+ case "ArrowUp":
600
+ t = u.add({ days: -7 });
601
+ break;
602
+ case "PageUp":
603
+ t = u.add(e.shiftKey ? { years: -1 } : { months: -1 });
604
+ break;
605
+ case "PageDown":
606
+ t = u.add(e.shiftKey ? { years: 1 } : { months: 1 });
607
+ break;
608
+ case "Home":
609
+ t = H(u, r);
610
+ break;
611
+ case "End":
612
+ t = He(u, r);
613
+ break;
614
+ default: return;
615
+ }
616
+ x(t), e.preventDefault();
617
+ }
618
+ function S(e) {
619
+ let n = _.equals(e);
620
+ if (!t.showOutsideDays && !n) return;
621
+ let r = e.equals(u), s = e.equals(f), c = W(e), l = i?.(c), d = !Xe(e, a, o), p = "", m;
622
+ if (t.type === "range") {
623
+ let [n, r] = t.value, i = n?.equals(e), a = r?.equals(e);
624
+ m = n && r && Xe(e, n, r), p = `${i ? "range-start" : ""} ${a ? "range-end" : ""} ${m && !i && !a ? "range-inner" : ""}`;
625
+ } else m = t.type === "multi" ? t.value.some((t) => t.equals(e)) : t.value?.equals(e);
626
+ return {
627
+ part: `${`button day day-${c.getUTCDay()} ${n ? m ? "selected" : "" : "outside"} ${l ? "disallowed" : ""} ${s ? "today" : ""} ${t.getDayParts?.(c) ?? ""}`} ${p}`,
628
+ tabindex: n && r ? 0 : -1,
629
+ disabled: d,
630
+ "aria-disabled": l ? "true" : void 0,
631
+ "aria-pressed": n && m,
632
+ "aria-current": s ? "date" : void 0,
633
+ "aria-label": h.format(c),
634
+ onkeydown: te,
635
+ onclick() {
636
+ l || y(e), x(e);
637
+ },
638
+ onmouseover() {
639
+ !l && !d && b(e);
640
+ }
641
+ };
642
+ }
643
+ return {
644
+ weeks: v,
645
+ yearMonth: _,
646
+ daysLong: p,
647
+ daysVisible: m,
648
+ formatter: g,
649
+ getDayProps: S
650
+ };
651
+ }
652
+ var Q = V(), $ = Ie({
653
+ type: "date",
654
+ firstDayOfWeek: 1,
655
+ focusedDate: Q,
656
+ page: {
657
+ start: Q.toPlainYearMonth(),
658
+ end: Q.toPlainYearMonth()
659
+ }
660
+ });
661
+ customElements.define("calendar-ctx", $);
662
+ var nt = (e, t) => (t + e) % 7, rt = C((e) => {
663
+ let t = I($), n = l(), r = tt({
664
+ props: e,
665
+ context: t
666
+ });
667
+ function i() {
668
+ n.current.querySelector("button[tabindex='0']")?.focus();
669
+ }
670
+ return /* @__PURE__ */ z("host", {
671
+ shadowDom: !0,
672
+ focus: i,
673
+ children: [/* @__PURE__ */ R("div", {
674
+ id: "h",
675
+ part: "heading",
676
+ children: r.formatter.format(W(r.yearMonth))
677
+ }), /* @__PURE__ */ z("table", {
678
+ ref: n,
679
+ "aria-labelledby": "h",
680
+ part: "table",
681
+ children: [
682
+ /* @__PURE__ */ z("colgroup", { children: [
683
+ t.showWeekNumbers && /* @__PURE__ */ R("col", { part: "col-weeknumber" }),
684
+ /* @__PURE__ */ R("col", { part: "col-1" }),
685
+ /* @__PURE__ */ R("col", { part: "col-2" }),
686
+ /* @__PURE__ */ R("col", { part: "col-3" }),
687
+ /* @__PURE__ */ R("col", { part: "col-4" }),
688
+ /* @__PURE__ */ R("col", { part: "col-5" }),
689
+ /* @__PURE__ */ R("col", { part: "col-6" }),
690
+ /* @__PURE__ */ R("col", { part: "col-7" })
691
+ ] }),
692
+ /* @__PURE__ */ R("thead", { children: /* @__PURE__ */ z("tr", {
693
+ part: "tr head",
694
+ children: [t.showWeekNumbers && /* @__PURE__ */ R("th", {
695
+ part: "th weeknumber",
696
+ children: /* @__PURE__ */ z("slot", {
697
+ name: "weeknumber",
698
+ children: [/* @__PURE__ */ R("span", {
699
+ class: "vh",
700
+ children: "Week"
701
+ }), /* @__PURE__ */ R("span", {
702
+ "aria-hidden": "true",
703
+ children: "#"
704
+ })]
705
+ })
706
+ }), r.daysLong.map((e, n) => /* @__PURE__ */ z("th", {
707
+ part: `th day day-${nt(t.firstDayOfWeek, n)}`,
708
+ scope: "col",
709
+ children: [/* @__PURE__ */ R("span", {
710
+ class: "vh",
711
+ children: e
712
+ }), /* @__PURE__ */ R("span", {
713
+ "aria-hidden": "true",
714
+ children: r.daysVisible[n]
715
+ })]
716
+ }))]
717
+ }) }),
718
+ /* @__PURE__ */ R("tbody", { children: r.weeks.map((e, n) => /* @__PURE__ */ z("tr", {
719
+ part: "tr week",
720
+ children: [t.showWeekNumbers && /* @__PURE__ */ R("th", {
721
+ class: "num",
722
+ part: "th weeknumber",
723
+ scope: "row",
724
+ children: Ve(e[0])
725
+ }), e.map((e, t) => {
726
+ let n = r.getDayProps(e);
727
+ return /* @__PURE__ */ R("td", {
728
+ part: "td",
729
+ children: n && /* @__PURE__ */ R("button", {
730
+ class: "num",
731
+ ...n,
732
+ children: e.day
733
+ })
734
+ }, t);
735
+ })]
736
+ }, n)) })
737
+ ]
738
+ })]
739
+ });
740
+ }, {
741
+ props: { offset: {
742
+ type: Number,
743
+ value: 0
744
+ } },
745
+ styles: [
746
+ B,
747
+ ze,
748
+ L`:host{--color-accent: black;--color-text-on-accent: white;display:flex;flex-direction:column;gap:.25rem;text-align:center;inline-size:fit-content}table{border-collapse:collapse;font-size:.875rem}th{inline-size:2.25rem;block-size:2.25rem}td{padding-inline:0}.num{font-variant-numeric:tabular-nums}button{color:inherit;font-size:inherit;background:transparent;border:0;block-size:2.25rem;inline-size:2.25rem}button:hover:where(:not(:disabled,[aria-disabled])){background:#0000000d}button:is([aria-pressed=true],:focus-visible){background:var(--color-accent);color:var(--color-text-on-accent)}button:focus-visible{outline:1px solid var(--color-text-on-accent);outline-offset:-2px}button:disabled,:host::part(outside),:host::part(disallowed){cursor:default;opacity:.5}`
749
+ ]
750
+ });
751
+ customElements.define("calendar-month", rt);
752
+ function it(e) {
753
+ return /* @__PURE__ */ R("button", {
754
+ part: `button ${e.name} ${e.onclick ? "" : "disabled"}`,
755
+ onclick: e.onclick,
756
+ "aria-disabled": e.onclick ? null : "true",
757
+ children: /* @__PURE__ */ R("slot", {
758
+ name: e.name,
759
+ children: e.children
760
+ })
761
+ });
762
+ }
763
+ function at(e) {
764
+ let t = W(e.page.start), n = W(e.page.end);
765
+ return /* @__PURE__ */ R($, {
766
+ value: e,
767
+ onselectday: e.onSelect,
768
+ onfocusday: e.onFocus,
769
+ onhoverday: e.onHover,
770
+ children: /* @__PURE__ */ z("div", {
771
+ role: "group",
772
+ "aria-labelledby": "h",
773
+ part: "container",
774
+ children: [
775
+ /* @__PURE__ */ R("div", {
776
+ id: "h",
777
+ class: "vh",
778
+ "aria-live": "polite",
779
+ "aria-atomic": "true",
780
+ children: e.formatVerbose.formatRange(t, n)
781
+ }),
782
+ /* @__PURE__ */ z("div", {
783
+ part: "header",
784
+ children: [
785
+ /* @__PURE__ */ R(it, {
786
+ name: "previous",
787
+ onclick: e.previous,
788
+ children: "Previous"
789
+ }),
790
+ /* @__PURE__ */ R("slot", {
791
+ part: "heading",
792
+ name: "heading",
793
+ children: /* @__PURE__ */ R("div", {
794
+ "aria-hidden": "true",
795
+ children: e.format.formatRange(t, n)
796
+ })
797
+ }),
798
+ /* @__PURE__ */ R(it, {
799
+ name: "next",
800
+ onclick: e.next,
801
+ children: "Next"
802
+ })
803
+ ]
804
+ }),
805
+ /* @__PURE__ */ R("slot", { part: "months" })
806
+ ]
807
+ })
808
+ });
809
+ }
810
+ var ot = {
811
+ value: {
812
+ type: String,
813
+ value: ""
814
+ },
815
+ min: {
816
+ type: String,
817
+ value: ""
818
+ },
819
+ max: {
820
+ type: String,
821
+ value: ""
822
+ },
823
+ today: {
824
+ type: String,
825
+ value: ""
826
+ },
827
+ isDateDisallowed: {
828
+ type: Function,
829
+ value: (e) => !1
830
+ },
831
+ formatWeekday: {
832
+ type: String,
833
+ value: () => "narrow"
834
+ },
835
+ getDayParts: {
836
+ type: Function,
837
+ value: (e) => ""
838
+ },
839
+ firstDayOfWeek: {
840
+ type: Number,
841
+ value: () => 1
842
+ },
843
+ showOutsideDays: {
844
+ type: Boolean,
845
+ value: !1
846
+ },
847
+ locale: {
848
+ type: String,
849
+ value: () => {}
850
+ },
851
+ months: {
852
+ type: Number,
853
+ value: 1
854
+ },
855
+ focusedDate: {
856
+ type: String,
857
+ value: () => {}
858
+ },
859
+ pageBy: {
860
+ type: String,
861
+ value: () => "months"
862
+ },
863
+ showWeekNumbers: {
864
+ type: Boolean,
865
+ value: !1
866
+ }
867
+ }, st = [
868
+ B,
869
+ ze,
870
+ L`:host{display:block;inline-size:fit-content}:host::part(container){display:flex;flex-direction:column;gap:1em}:host::part(header){display:flex;align-items:center;justify-content:space-between}:host::part(heading){font-weight:700;font-size:1.25em}:host::part(button){display:flex;align-items:center;justify-content:center}:host::part(button disabled){cursor:default;opacity:.5}`
871
+ ], ct = { year: "numeric" }, lt = {
872
+ year: "numeric",
873
+ month: "long"
874
+ };
875
+ function ut(e, t) {
876
+ return (t.year - e.year) * 12 + t.month - e.month;
877
+ }
878
+ var dt = (e, t) => (e = t === 12 ? new q(e.year, 1) : e, {
879
+ start: e,
880
+ end: e.add({ months: t - 1 })
881
+ });
882
+ function ft({ pageBy: e, focusedDate: t, months: n, max: r, min: i, goto: a }) {
883
+ let o = e === "single" ? 1 : n, [s, c] = T(() => dt(t.toPlainYearMonth(), n)), l = (e) => c(dt(s.start.add({ months: e }), n)), u = (e) => {
884
+ let t = ut(s.start, e.toPlainYearMonth());
885
+ return t >= 0 && t < n;
886
+ };
887
+ return w(() => {
888
+ if (u(t)) return;
889
+ let e = ut(t.toPlainYearMonth(), s.start);
890
+ a(t.add({ months: e }));
891
+ }, [s.start]), w(() => {
892
+ if (u(t)) return;
893
+ let e = ut(s.start, t.toPlainYearMonth());
894
+ l(e === -1 ? -o : e === n ? o : Math.floor(e / n) * n);
895
+ }, [
896
+ t,
897
+ o,
898
+ n
899
+ ]), {
900
+ page: s,
901
+ previous: !i || !u(i) ? () => l(-o) : void 0,
902
+ next: !r || !u(r) ? () => l(o) : void 0
903
+ };
904
+ }
905
+ function pt({ months: e, pageBy: t, locale: n, focusedDate: r, setFocusedDate: i }) {
906
+ let [a] = Y("min"), [o] = Y("max"), [s] = Y("today"), c = O("focusday"), l = O("change"), d = E(() => U(r ?? s ?? V(), a, o), [
907
+ r,
908
+ s,
909
+ a,
910
+ o
911
+ ]);
912
+ function f(e) {
913
+ i(e), c(W(e));
914
+ }
915
+ let { next: p, previous: m, page: h } = ft({
916
+ pageBy: t,
917
+ focusedDate: d,
918
+ months: e,
919
+ min: a,
920
+ max: o,
921
+ goto: f
922
+ }), g = u();
923
+ function _(e) {
924
+ let t = e?.target ?? "day";
925
+ t === "day" ? g.current.querySelectorAll("calendar-month").forEach((t) => t.focus(e)) : g.current.shadowRoot.querySelector(`[part~='${t}']`).focus(e);
926
+ }
927
+ return {
928
+ format: X(ct, n),
929
+ formatVerbose: X(lt, n),
930
+ page: h,
931
+ focusedDate: d,
932
+ dispatch: l,
933
+ onFocus(e) {
934
+ e.stopPropagation(), f(e.detail), setTimeout(_);
935
+ },
936
+ min: a,
937
+ max: o,
938
+ today: s,
939
+ next: p,
940
+ previous: m,
941
+ focus: _
942
+ };
943
+ }
944
+ var mt = C((e) => {
945
+ let [t, n] = Y("value"), [r = t, i] = Y("focusedDate"), a = pt({
946
+ ...e,
947
+ focusedDate: r,
948
+ setFocusedDate: i
949
+ });
950
+ function o(e) {
951
+ n(e.detail), a.dispatch();
952
+ }
953
+ return /* @__PURE__ */ R("host", {
954
+ shadowDom: !0,
955
+ focus: a.focus,
956
+ children: /* @__PURE__ */ R(at, {
957
+ ...e,
958
+ ...a,
959
+ type: "date",
960
+ value: t,
961
+ onSelect: o
962
+ })
963
+ });
964
+ }, {
965
+ props: ot,
966
+ styles: st
967
+ });
968
+ customElements.define("calendar-date", mt);
969
+ function ht(e) {
970
+ return /* @__PURE__ */ z(Ce, { children: [/* @__PURE__ */ R("label", {
971
+ part: "label",
972
+ for: "s",
973
+ children: /* @__PURE__ */ R("slot", {
974
+ name: "label",
975
+ children: e.label
976
+ })
977
+ }), /* @__PURE__ */ R("select", {
978
+ id: "s",
979
+ part: "select",
980
+ onchange: e.onChange,
981
+ children: e.options.map((e) => /* @__PURE__ */ R("option", {
982
+ part: "option",
983
+ ...e
984
+ }))
985
+ })] });
986
+ }
987
+ var gt = [B, ze];
988
+ function _t(e, t) {
989
+ return Array.from({ length: e }, (e, n) => t(n));
990
+ }
991
+ function vt(e) {
992
+ let { min: t, max: n, focusedDate: r } = I($), i = O("focusday", { bubbles: !0 }), a = r.toPlainYearMonth(), o = a.year, s = Math.floor(e.maxYears / 2), c = o - s, l = o + (e.maxYears - s - 1), u = Math.max(c, t?.year ?? -Infinity), d = _t(Math.min(l, n?.year ?? Infinity) - u + 1, (e) => {
993
+ let t = u + e;
994
+ return {
995
+ label: `${t}`,
996
+ value: `${t}`,
997
+ selected: t === a.year
998
+ };
999
+ });
1000
+ function f(e) {
1001
+ let t = parseInt(e.currentTarget.value) - a.year;
1002
+ i(r.add({ years: t }));
1003
+ }
1004
+ return {
1005
+ options: d,
1006
+ onChange: f
1007
+ };
1008
+ }
1009
+ var yt = C((e) => /* @__PURE__ */ R("host", {
1010
+ shadowDom: !0,
1011
+ children: /* @__PURE__ */ R(ht, {
1012
+ label: "Year",
1013
+ ...vt(e)
1014
+ })
1015
+ }), {
1016
+ props: { maxYears: {
1017
+ type: Number,
1018
+ value: 20
1019
+ } },
1020
+ styles: gt
1021
+ });
1022
+ customElements.define("calendar-select-year", yt);
1023
+ function bt(e) {
1024
+ let { min: t, max: n, focusedDate: r, locale: i } = I($), a = O("focusday", { bubbles: !0 }), o = X(E(() => ({ month: e.formatMonth }), [e.formatMonth]), i), s = E(() => {
1025
+ let e = [], t = /* @__PURE__ */ new Date();
1026
+ t.setUTCDate(1);
1027
+ for (var n = 0; n < 12; n++) {
1028
+ let n = (t.getUTCMonth() + 12) % 12;
1029
+ e[n] = o.format(t), t.setUTCMonth(t.getUTCMonth() + 1);
1030
+ }
1031
+ return e;
1032
+ }, [o]), c = r.toPlainYearMonth(), l = s.map((e, r) => {
1033
+ let i = r + 1, a = c.add({ months: i - c.month }), o = t != null && q.compare(a, t) < 0 || n != null && q.compare(a, n) > 0;
1034
+ return {
1035
+ label: e,
1036
+ value: `${i}`,
1037
+ disabled: o,
1038
+ selected: i === c.month
1039
+ };
1040
+ });
1041
+ function u(e) {
1042
+ let t = parseInt(e.currentTarget.value) - c.month;
1043
+ a(r.add({ months: t }));
1044
+ }
1045
+ return {
1046
+ options: l,
1047
+ onChange: u
1048
+ };
1049
+ }
1050
+ var xt = C((e) => /* @__PURE__ */ R("host", {
1051
+ shadowDom: !0,
1052
+ children: /* @__PURE__ */ R(ht, {
1053
+ label: "Month",
1054
+ ...bt(e)
1055
+ })
1056
+ }), {
1057
+ props: { formatMonth: {
1058
+ type: String,
1059
+ value: () => "long"
1060
+ } },
1061
+ styles: gt
1062
+ });
1063
+ customElements.define("calendar-select-month", xt);
1064
+ var St = (e, t) => K.compare(e, t) < 0 ? [e, t] : [t, e], Ct = C((e) => {
1065
+ let [t, n] = qe("value"), [r = t[0], i] = Y("focusedDate"), a = pt({
1066
+ ...e,
1067
+ focusedDate: r,
1068
+ setFocusedDate: i
1069
+ }), o = O("rangestart"), s = O("rangeend"), [c, l] = Y("tentative"), [u, d] = T();
1070
+ w(() => d(void 0), [c]);
1071
+ function f(e) {
1072
+ a.onFocus(e), p(e);
1073
+ }
1074
+ function p(e) {
1075
+ e.stopPropagation(), c && d(e.detail);
1076
+ }
1077
+ function m(e) {
1078
+ let t = e.detail;
1079
+ e.stopPropagation(), c ? (n(St(c, t)), l(void 0), s(W(t)), a.dispatch()) : (l(t), o(W(t)));
1080
+ }
1081
+ let h = c ? St(c, u ?? c) : t;
1082
+ return /* @__PURE__ */ R("host", {
1083
+ shadowDom: !0,
1084
+ focus: a.focus,
1085
+ children: /* @__PURE__ */ R(at, {
1086
+ ...e,
1087
+ ...a,
1088
+ type: "range",
1089
+ value: h,
1090
+ onFocus: f,
1091
+ onHover: p,
1092
+ onSelect: m
1093
+ })
1094
+ });
1095
+ }, {
1096
+ props: {
1097
+ ...ot,
1098
+ tentative: {
1099
+ type: String,
1100
+ value: ""
1101
+ }
1102
+ },
1103
+ styles: st
1104
+ });
1105
+ customElements.define("calendar-range", Ct);
1106
+ var wt = C((e) => {
1107
+ let [t, n] = Je("value"), [r = t[0], i] = Y("focusedDate"), a = pt({
1108
+ ...e,
1109
+ focusedDate: r,
1110
+ setFocusedDate: i
1111
+ });
1112
+ function o(e) {
1113
+ let r = [...t], i = t.findIndex((t) => t.equals(e.detail));
1114
+ i < 0 ? r.push(e.detail) : r.splice(i, 1), n(r), a.dispatch();
1115
+ }
1116
+ return /* @__PURE__ */ R("host", {
1117
+ shadowDom: !0,
1118
+ focus: a.focus,
1119
+ children: /* @__PURE__ */ R(at, {
1120
+ ...e,
1121
+ ...a,
1122
+ type: "multi",
1123
+ value: t,
1124
+ onSelect: o
1125
+ })
1126
+ });
1127
+ }, {
1128
+ props: ot,
1129
+ styles: st
1130
+ });
1131
+ customElements.define("calendar-multi", wt);
1132
+ //#endregion
1133
+
1134
+ //# sourceMappingURL=cally-TZl4LpyH.js.map