@shellui/core 0.0.5 → 0.0.7

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.
@@ -1,633 +0,0 @@
1
- import { jsx as n, jsxs as d } from "react/jsx-runtime";
2
- import { useMemo as Z, useState as P, useRef as M, useEffect as T, useCallback as g } from "react";
3
- import { useTranslation as ne } from "react-i18next";
4
- import { shellui as q } from "@shellui/sdk";
5
- import { a as re, s as oe, b as J, Z as $, r as O, c as C } from "./index-PsePV0Ng.js";
6
- import { L as se, O as ie } from "./OverlayShell-CGjN4rTu.js";
7
- import { C as ae } from "./ContentView-CZG-ro_B.js";
8
- const F = (o) => {
9
- try {
10
- const w = new URL(o).hostname;
11
- return w ? `https://icons.duckduckgo.com/ip3/${w}.ico` : null;
12
- } catch {
13
- return null;
14
- }
15
- }, X = (o) => o.startsWith("/icons/"), le = () => `win-${Date.now()}-${Math.random().toString(36).slice(2)}`, Q = 280, ee = 200, ce = 720, de = 480, V = 48;
16
- function te() {
17
- return {
18
- x: 0,
19
- y: 0,
20
- w: typeof window < "u" ? window.innerWidth : 800,
21
- h: typeof window < "u" ? window.innerHeight - V : 600
22
- };
23
- }
24
- function ue(o, L, w) {
25
- const x = `/${L}`, u = w.length > x.length ? w.slice(x.length + 1) : "";
26
- return u ? `${o.endsWith("/") ? o : `${o}/`}${u}` : o;
27
- }
28
- function he({
29
- win: o,
30
- navItem: L,
31
- currentLanguage: w,
32
- isFocused: x,
33
- onFocus: u,
34
- onClose: A,
35
- onBoundsChange: m,
36
- maxZIndex: R,
37
- zIndex: Y
38
- }) {
39
- const H = O(L.label, w), [c, l] = P(o.bounds), [h, y] = P(!1), N = M(c), b = M(null), p = M(null), v = M(null), _ = M(null), z = M(null);
40
- T(() => {
41
- l(o.bounds);
42
- }, [o.bounds]), T(() => {
43
- m(c);
44
- }, [c, m]), T(() => {
45
- if (!h) return;
46
- const t = () => l(te());
47
- return window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
48
- }, [h]);
49
- const W = g((t) => {
50
- if (!p.current) return;
51
- const r = p.current, a = t.clientX - r.startX, I = t.clientY - r.startY;
52
- r.lastDx = a, r.lastDy = I;
53
- const f = b.current;
54
- f && (f.style.willChange = "transform", f.style.transform = `translate(${a}px, ${I}px)`);
55
- }, []), E = g(
56
- (t) => {
57
- const r = b.current;
58
- if (r && (r.removeEventListener("pointermove", W), r.removeEventListener("pointerup", E), r.releasePointerCapture(t.pointerId)), p.current) {
59
- const a = p.current;
60
- r && (r.style.transform = "", r.style.willChange = "");
61
- const I = {
62
- ...a.startBounds,
63
- x: Math.max(0, a.startBounds.x + a.lastDx),
64
- y: Math.max(0, a.startBounds.y + a.lastDy)
65
- };
66
- l(I), p.current = null;
67
- }
68
- },
69
- [W]
70
- ), j = g(
71
- (t) => {
72
- if (t.button !== 0 || h || t.target.closest("button")) return;
73
- t.preventDefault(), u(), p.current = {
74
- startX: t.clientX,
75
- startY: t.clientY,
76
- startBounds: { ...c },
77
- lastDx: 0,
78
- lastDy: 0
79
- };
80
- const r = b.current;
81
- r && (r.setPointerCapture(t.pointerId), r.addEventListener("pointermove", W, { passive: !0 }), r.addEventListener("pointerup", E));
82
- },
83
- [c, h, u, W, E]
84
- ), U = g(() => {
85
- h ? (l(N.current), y(!1)) : (N.current = { ...c }, l(te()), y(!0));
86
- }, [h, c]), B = g((t) => {
87
- if (!v.current) return;
88
- const { edge: r, startX: a, startY: I, startBounds: f } = v.current, G = t.clientX - a, K = t.clientY - I, D = { ...f };
89
- if (r.includes("e") && (D.w = Math.max(Q, f.w + G)), r.includes("w")) {
90
- const k = Math.max(Q, f.w - G);
91
- D.x = f.x + f.w - k, D.w = k;
92
- }
93
- if (r.includes("s") && (D.h = Math.max(ee, f.h + K)), r.includes("n")) {
94
- const k = Math.max(ee, f.h - K);
95
- D.y = f.y + f.h - k, D.h = k;
96
- }
97
- z.current = D, _.current === null && (_.current = requestAnimationFrame(() => {
98
- const k = z.current;
99
- _.current = null, z.current = null, k && l(k);
100
- }));
101
- }, []), S = g(
102
- (t) => {
103
- const r = b.current;
104
- r && (r.removeEventListener("pointermove", B), r.removeEventListener("pointerup", S), r.releasePointerCapture(t.pointerId)), v.current = null;
105
- },
106
- [B]
107
- ), e = g(
108
- (t, r) => {
109
- if (t.button !== 0) return;
110
- t.preventDefault(), t.stopPropagation(), u(), v.current = {
111
- edge: r,
112
- startX: t.clientX,
113
- startY: t.clientY,
114
- startBounds: { ...c }
115
- };
116
- const a = b.current;
117
- a && (a.setPointerCapture(t.pointerId), a.addEventListener("pointermove", B, {
118
- passive: !0
119
- }), a.addEventListener("pointerup", S));
120
- },
121
- [c, u, B, S]
122
- ), s = Z(
123
- () => ue(o.baseUrl, o.path, o.pathname),
124
- [o.baseUrl, o.path, o.pathname]
125
- ), i = x ? R : Y;
126
- return /* @__PURE__ */ d(
127
- "div",
128
- {
129
- ref: b,
130
- className: "absolute flex flex-col rounded-lg border border-border bg-card shadow-lg overflow-hidden",
131
- style: {
132
- left: c.x,
133
- top: c.y,
134
- width: c.w,
135
- height: c.h,
136
- zIndex: i
137
- },
138
- onClick: u,
139
- onMouseDown: u,
140
- children: [
141
- /* @__PURE__ */ d(
142
- "div",
143
- {
144
- className: "flex items-center gap-2 pl-2 pr-1 py-1 bg-muted/80 border-b border-border cursor-move select-none shrink-0",
145
- onPointerDown: j,
146
- children: [
147
- o.icon && /* @__PURE__ */ n(
148
- "img",
149
- {
150
- src: o.icon,
151
- alt: "",
152
- className: C(
153
- "h-4 w-4 shrink-0 rounded-sm object-cover",
154
- X(o.icon) && "opacity-90 dark:opacity-100 dark:invert"
155
- )
156
- }
157
- ),
158
- /* @__PURE__ */ n("span", { className: "flex-1 text-sm font-medium truncate min-w-0", children: H }),
159
- /* @__PURE__ */ n(
160
- "button",
161
- {
162
- type: "button",
163
- onClick: (t) => {
164
- t.stopPropagation(), U();
165
- },
166
- className: "p-1 rounded cursor-pointer text-muted-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
167
- "aria-label": h ? "Restore" : "Maximize",
168
- children: h ? /* @__PURE__ */ n(fe, { className: "h-4 w-4" }) : /* @__PURE__ */ n(pe, { className: "h-4 w-4" })
169
- }
170
- ),
171
- /* @__PURE__ */ n(
172
- "button",
173
- {
174
- type: "button",
175
- onClick: (t) => {
176
- t.stopPropagation(), A();
177
- },
178
- className: "p-1 rounded cursor-pointer text-muted-foreground hover:bg-destructive/20 hover:text-destructive transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
179
- "aria-label": "Close",
180
- children: /* @__PURE__ */ n(me, { className: "h-4 w-4" })
181
- }
182
- )
183
- ]
184
- }
185
- ),
186
- /* @__PURE__ */ d("div", { className: "flex-1 min-h-0 relative bg-background", children: [
187
- !x && /* @__PURE__ */ n(
188
- "div",
189
- {
190
- className: "absolute inset-0 z-10 cursor-pointer",
191
- onClick: u,
192
- onMouseDown: (t) => {
193
- t.stopPropagation(), u();
194
- },
195
- "aria-hidden": !0
196
- }
197
- ),
198
- /* @__PURE__ */ n(
199
- ae,
200
- {
201
- url: s,
202
- pathPrefix: o.path,
203
- ignoreMessages: !0,
204
- navItem: L
205
- }
206
- )
207
- ] }),
208
- !h && ["n", "s", "e", "w", "ne", "nw", "se", "sw"].map((t) => /* @__PURE__ */ n(
209
- "div",
210
- {
211
- className: C(
212
- "absolute bg-transparent",
213
- t.includes("n") && "top-0 h-2 cursor-n-resize",
214
- t.includes("s") && "bottom-0 h-2 cursor-s-resize",
215
- t.includes("e") && "right-0 w-2 cursor-e-resize",
216
- t.includes("w") && "left-0 w-2 cursor-w-resize",
217
- t === "n" && "left-2 right-2",
218
- t === "s" && "left-2 right-2",
219
- t === "e" && "top-2 bottom-2",
220
- t === "w" && "top-2 bottom-2",
221
- t === "ne" && "top-0 right-0 w-2 h-2 cursor-ne-resize",
222
- t === "nw" && "top-0 left-0 w-2 h-2 cursor-nw-resize",
223
- t === "se" && "bottom-0 right-0 w-2 h-2 cursor-se-resize",
224
- t === "sw" && "bottom-0 left-0 w-2 h-2 cursor-sw-resize"
225
- ),
226
- style: t === "n" ? { left: 8, right: 8 } : t === "s" ? { left: 8, right: 8 } : t === "e" ? { top: 8, bottom: 8 } : t === "w" ? { top: 8, bottom: 8 } : void 0,
227
- onPointerDown: (r) => e(r, t)
228
- },
229
- t
230
- ))
231
- ]
232
- }
233
- );
234
- }
235
- function pe({ className: o }) {
236
- return /* @__PURE__ */ d(
237
- "svg",
238
- {
239
- xmlns: "http://www.w3.org/2000/svg",
240
- width: "24",
241
- height: "24",
242
- viewBox: "0 0 24 24",
243
- fill: "none",
244
- stroke: "currentColor",
245
- strokeWidth: "2",
246
- strokeLinecap: "round",
247
- strokeLinejoin: "round",
248
- className: o,
249
- "aria-hidden": !0,
250
- children: [
251
- /* @__PURE__ */ n("path", { d: "M8 3H5a2 2 0 0 0-2 2v3" }),
252
- /* @__PURE__ */ n("path", { d: "M21 8V5a2 2 0 0 0-2-2h-3" }),
253
- /* @__PURE__ */ n("path", { d: "M3 16v3a2 2 0 0 0 2 2h3" }),
254
- /* @__PURE__ */ n("path", { d: "M16 21h3a2 2 0 0 0 2-2v-3" })
255
- ]
256
- }
257
- );
258
- }
259
- function fe({ className: o }) {
260
- return /* @__PURE__ */ d(
261
- "svg",
262
- {
263
- xmlns: "http://www.w3.org/2000/svg",
264
- width: "24",
265
- height: "24",
266
- viewBox: "0 0 24 24",
267
- fill: "none",
268
- stroke: "currentColor",
269
- strokeWidth: "2",
270
- strokeLinecap: "round",
271
- strokeLinejoin: "round",
272
- className: o,
273
- "aria-hidden": !0,
274
- children: [
275
- /* @__PURE__ */ n(
276
- "rect",
277
- {
278
- x: "3",
279
- y: "3",
280
- width: "10",
281
- height: "10",
282
- rx: "1"
283
- }
284
- ),
285
- /* @__PURE__ */ n(
286
- "rect",
287
- {
288
- x: "11",
289
- y: "11",
290
- width: "10",
291
- height: "10",
292
- rx: "1"
293
- }
294
- )
295
- ]
296
- }
297
- );
298
- }
299
- function me({ className: o }) {
300
- return /* @__PURE__ */ d(
301
- "svg",
302
- {
303
- xmlns: "http://www.w3.org/2000/svg",
304
- width: "24",
305
- height: "24",
306
- viewBox: "0 0 24 24",
307
- fill: "none",
308
- stroke: "currentColor",
309
- strokeWidth: "2",
310
- strokeLinecap: "round",
311
- strokeLinejoin: "round",
312
- className: o,
313
- "aria-hidden": !0,
314
- children: [
315
- /* @__PURE__ */ n("path", { d: "M18 6 6 18" }),
316
- /* @__PURE__ */ n("path", { d: "m6 6 12 12" })
317
- ]
318
- }
319
- );
320
- }
321
- function be({ className: o }) {
322
- return /* @__PURE__ */ n(
323
- "svg",
324
- {
325
- xmlns: "http://www.w3.org/2000/svg",
326
- width: "24",
327
- height: "24",
328
- viewBox: "0 0 24 24",
329
- fill: "currentColor",
330
- className: o,
331
- "aria-hidden": !0,
332
- children: /* @__PURE__ */ n("path", { d: "M3 3h8v8H3V3zm10 0h8v8h-8V3zM3 13h8v8H3v-8zm10 0h8v8h-8v-8z" })
333
- }
334
- );
335
- }
336
- function ge() {
337
- return typeof window < "u" && Intl.DateTimeFormat ? Intl.DateTimeFormat().resolvedOptions().timeZone : "UTC";
338
- }
339
- function ze({
340
- title: o,
341
- appIcon: L,
342
- logo: w,
343
- navigation: x
344
- }) {
345
- const { i18n: u } = ne(), { settings: A } = re(), m = u.language || "en", R = A.region?.timezone ?? ge(), { startNavItems: Y, endNavItems: H, navigationItems: c } = Z(() => {
346
- const { start: e, end: s } = oe(x);
347
- return {
348
- startNavItems: J(e),
349
- endNavItems: s,
350
- navigationItems: J(x)
351
- };
352
- }, [x]), [l, h] = P([]), [y, N] = P(null), [b, p] = P(!1), [v, _] = P(() => /* @__PURE__ */ new Date()), z = M(null);
353
- T(() => {
354
- const e = setInterval(() => _(/* @__PURE__ */ new Date()), 1e3);
355
- return () => clearInterval(e);
356
- }, []);
357
- const W = Z(
358
- () => $.WINDOWS_WINDOW_BASE + Math.max(l.length, 1),
359
- [l.length]
360
- ), E = g(
361
- (e) => {
362
- const s = typeof e.label == "string" ? e.label : O(e.label, m), i = e.openIn === "external" && !e.icon ? F(e.url) : null, t = e.icon ?? i ?? null, r = le(), a = {
363
- x: 60 + l.length * 24,
364
- y: 60 + l.length * 24,
365
- w: ce,
366
- h: de
367
- };
368
- h((I) => [
369
- ...I,
370
- {
371
- id: r,
372
- path: e.path,
373
- pathname: `/${e.path}`,
374
- baseUrl: e.url,
375
- label: s,
376
- icon: t,
377
- bounds: a
378
- }
379
- ]), N(r), p(!1);
380
- },
381
- [m, l.length]
382
- ), j = g((e) => {
383
- h((s) => s.filter((i) => i.id !== e)), N((s) => s === e ? null : s);
384
- }, []);
385
- T(() => {
386
- if (l.length === 0) {
387
- N(null);
388
- return;
389
- }
390
- y !== null && l.some((s) => s.id === y) || N(l[0].id);
391
- }, [l, y]);
392
- const U = g((e) => {
393
- N(e);
394
- }, []), B = g((e, s) => {
395
- h((i) => i.map((t) => t.id === e ? { ...t, bounds: s } : t));
396
- }, []);
397
- T(() => {
398
- if (!b) return;
399
- const e = (s) => {
400
- z.current && !z.current.contains(s.target) && p(!1);
401
- };
402
- return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
403
- }, [b]);
404
- const S = g(
405
- (e) => {
406
- if (e.openIn === "modal") {
407
- q.openModal(e.url), p(!1);
408
- return;
409
- }
410
- if (e.openIn === "drawer") {
411
- q.openDrawer({ url: e.url, position: e.drawerPosition }), p(!1);
412
- return;
413
- }
414
- if (e.openIn === "external") {
415
- window.open(e.url, "_blank", "noopener,noreferrer"), p(!1);
416
- return;
417
- }
418
- E(e);
419
- },
420
- [E]
421
- );
422
- return /* @__PURE__ */ n(se, { children: /* @__PURE__ */ d(ie, { navigationItems: c, children: [
423
- /* @__PURE__ */ n(
424
- "div",
425
- {
426
- className: "fixed inset-0 bg-muted/30",
427
- style: { paddingBottom: V },
428
- children: l.map((e, s) => {
429
- const i = c.find((a) => a.path === e.path);
430
- if (!i) return null;
431
- const t = e.id === y, r = $.WINDOWS_WINDOW_BASE + s;
432
- return /* @__PURE__ */ n(
433
- he,
434
- {
435
- win: e,
436
- navItem: i,
437
- currentLanguage: m,
438
- isFocused: t,
439
- onFocus: () => U(e.id),
440
- onClose: () => j(e.id),
441
- onBoundsChange: (a) => B(e.id, a),
442
- maxZIndex: W,
443
- zIndex: r
444
- },
445
- e.id
446
- );
447
- })
448
- }
449
- ),
450
- /* @__PURE__ */ d(
451
- "div",
452
- {
453
- className: "fixed left-0 right-0 bottom-0 flex items-center gap-1 px-2 border-t border-border bg-sidebar-background",
454
- style: {
455
- height: V,
456
- zIndex: $.WINDOWS_TASKBAR,
457
- paddingBottom: "env(safe-area-inset-bottom, 0px)"
458
- },
459
- children: [
460
- /* @__PURE__ */ d(
461
- "div",
462
- {
463
- className: "relative shrink-0",
464
- ref: z,
465
- children: [
466
- /* @__PURE__ */ d(
467
- "button",
468
- {
469
- type: "button",
470
- onClick: () => p((e) => !e),
471
- className: C(
472
- "flex items-center gap-2 h-9 px-3 rounded cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
473
- b ? "bg-sidebar-accent text-sidebar-accent-foreground" : "text-sidebar-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-foreground"
474
- ),
475
- "aria-expanded": b,
476
- "aria-haspopup": "true",
477
- "aria-label": "Start",
478
- children: [
479
- /* @__PURE__ */ n(be, { className: "h-5 w-5" }),
480
- /* @__PURE__ */ n("span", { className: "font-semibold text-sm hidden sm:inline", children: o || "Start" })
481
- ]
482
- }
483
- ),
484
- b && /* @__PURE__ */ d(
485
- "div",
486
- {
487
- className: "absolute bottom-full left-0 mb-1 w-64 max-h-[70vh] overflow-y-auto rounded-lg border border-border bg-popover shadow-lg py-2 z-[10001]",
488
- style: { zIndex: $.MODAL_CONTENT },
489
- children: [
490
- /* @__PURE__ */ n("div", { className: "px-2 pb-2 border-b border-border mb-2", children: /* @__PURE__ */ n("span", { className: "text-sm font-semibold text-popover-foreground", children: o || "Applications" }) }),
491
- /* @__PURE__ */ n("div", { className: "grid gap-0.5", children: Y.filter((e) => !e.hidden).map((e) => {
492
- const s = typeof e.label == "string" ? e.label : O(e.label, m), i = e.icon ?? (e.openIn === "external" ? F(e.url) : null);
493
- return /* @__PURE__ */ d(
494
- "button",
495
- {
496
- type: "button",
497
- onClick: () => S(e),
498
- className: "flex items-center gap-3 w-full px-3 py-2 text-left text-sm cursor-pointer text-popover-foreground hover:bg-accent hover:text-accent-foreground rounded-none transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
499
- children: [
500
- i ? /* @__PURE__ */ n(
501
- "img",
502
- {
503
- src: i,
504
- alt: "",
505
- className: C(
506
- "h-5 w-5 shrink-0 rounded-sm object-cover",
507
- X(i) && "opacity-90 dark:opacity-100 dark:invert"
508
- )
509
- }
510
- ) : /* @__PURE__ */ n("span", { className: "h-5 w-5 shrink-0 rounded-sm bg-muted" }),
511
- /* @__PURE__ */ n("span", { className: "truncate", children: s })
512
- ]
513
- },
514
- e.path
515
- );
516
- }) })
517
- ]
518
- }
519
- )
520
- ]
521
- }
522
- ),
523
- /* @__PURE__ */ n("div", { className: "flex-1 flex items-center gap-1 min-w-0 overflow-x-auto", children: l.map((e) => {
524
- const s = c.find((r) => r.path === e.path), i = s ? O(s.label, m) : e.label, t = e.id === y;
525
- return /* @__PURE__ */ d(
526
- "button",
527
- {
528
- type: "button",
529
- onClick: () => U(e.id),
530
- onContextMenu: (r) => {
531
- r.preventDefault(), j(e.id);
532
- },
533
- className: C(
534
- "flex items-center gap-2 h-8 px-2 rounded min-w-0 max-w-[140px] shrink-0 cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
535
- t ? "bg-sidebar-accent text-sidebar-accent-foreground" : "text-sidebar-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-foreground"
536
- ),
537
- title: i,
538
- children: [
539
- e.icon ? /* @__PURE__ */ n(
540
- "img",
541
- {
542
- src: e.icon,
543
- alt: "",
544
- className: C(
545
- "h-4 w-4 shrink-0 rounded-sm object-cover",
546
- X(e.icon) && "opacity-90 dark:opacity-100 dark:invert"
547
- )
548
- }
549
- ) : /* @__PURE__ */ n("span", { className: "h-4 w-4 shrink-0 rounded-sm bg-muted" }),
550
- /* @__PURE__ */ n("span", { className: "text-xs truncate", children: i })
551
- ]
552
- },
553
- e.id
554
- );
555
- }) }),
556
- H.length > 0 && /* @__PURE__ */ n("div", { className: "flex items-center gap-0.5 shrink-0 border-l border-sidebar-border pl-2 ml-1", children: H.map((e) => {
557
- const s = typeof e.label == "string" ? e.label : O(e.label, m), i = e.icon ?? (e.openIn === "external" ? F(e.url) : null);
558
- return /* @__PURE__ */ d(
559
- "button",
560
- {
561
- type: "button",
562
- onClick: () => S(e),
563
- className: "flex items-center gap-2 h-8 px-2 rounded cursor-pointer text-sidebar-foreground hover:bg-sidebar-accent/50 hover:text-sidebar-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
564
- title: s,
565
- children: [
566
- i ? /* @__PURE__ */ n(
567
- "img",
568
- {
569
- src: i,
570
- alt: "",
571
- className: C(
572
- "h-4 w-4 shrink-0 rounded-sm object-cover",
573
- X(i) && "opacity-90 dark:opacity-100 dark:invert"
574
- )
575
- }
576
- ) : /* @__PURE__ */ n("span", { className: "h-4 w-4 shrink-0 rounded-sm bg-muted" }),
577
- /* @__PURE__ */ n("span", { className: "text-xs truncate max-w-[100px]", children: s })
578
- ]
579
- },
580
- e.path
581
- );
582
- }) }),
583
- /* @__PURE__ */ d(
584
- "div",
585
- {
586
- className: "flex flex-col items-end justify-center shrink-0 px-3 py-1 text-sidebar-foreground border-l border-sidebar-border ml-1 min-w-0",
587
- style: { paddingRight: "max(0.75rem, env(safe-area-inset-right))" },
588
- role: "timer",
589
- "aria-live": "off",
590
- "aria-label": new Intl.DateTimeFormat(m, {
591
- timeZone: R,
592
- dateStyle: "full",
593
- timeStyle: "medium"
594
- }).format(v),
595
- children: [
596
- /* @__PURE__ */ n(
597
- "time",
598
- {
599
- dateTime: v.toISOString(),
600
- className: "text-xs leading-tight tabular-nums whitespace-nowrap",
601
- children: new Intl.DateTimeFormat(m, {
602
- timeZone: R,
603
- hour: "2-digit",
604
- minute: "2-digit",
605
- second: "2-digit"
606
- }).format(v)
607
- }
608
- ),
609
- /* @__PURE__ */ n(
610
- "time",
611
- {
612
- dateTime: v.toISOString(),
613
- className: "text-[10px] leading-tight whitespace-nowrap text-sidebar-foreground/90",
614
- children: new Intl.DateTimeFormat(m, {
615
- timeZone: R,
616
- weekday: "short",
617
- day: "numeric",
618
- month: "short"
619
- }).format(v)
620
- }
621
- )
622
- ]
623
- }
624
- )
625
- ]
626
- }
627
- )
628
- ] }) });
629
- }
630
- export {
631
- ze as WindowsLayout
632
- };
633
- //# sourceMappingURL=WindowsLayout-DkSNQDSb.js.map