boottent-design 0.1.80 → 0.1.82

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 (34) hide show
  1. package/README.md +0 -48
  2. package/dist/UrlFormField-C7DgIYeh.cjs +1 -0
  3. package/dist/UrlFormField-CPqQHGM4.js +428 -0
  4. package/dist/boottent-design.ads.cjs.js +1 -0
  5. package/dist/boottent-design.ads.es.js +1557 -0
  6. package/dist/boottent-design.feature.cjs.js +1 -1
  7. package/dist/boottent-design.feature.es.js +10 -1
  8. package/dist/boottent-design.layout.cjs.js +1 -1
  9. package/dist/boottent-design.layout.es.js +3 -3
  10. package/dist/boottent-design.provider.cjs.js +1 -1
  11. package/dist/boottent-design.provider.es.js +25 -23
  12. package/dist/boottent-design.ui.cjs.js +1 -1
  13. package/dist/boottent-design.ui.es.js +183 -619
  14. package/dist/boottent-design.utils.cjs.js +1 -1
  15. package/dist/boottent-design.utils.es.js +7 -6
  16. package/dist/index-Akpc2UCv.js +21 -0
  17. package/dist/{index-Bf4XH3AK.cjs → index-B21JbtdU.cjs} +1 -1
  18. package/dist/{index-BIxKM0nQ.cjs → index-BYinJUBt.cjs} +1 -1
  19. package/dist/{index-WGpe0bEl.js → index-CQACG110.js} +116 -104
  20. package/dist/index-Cw9G_f7P.cjs +1 -0
  21. package/dist/index-KZYAVDUp.js +3199 -0
  22. package/dist/index-T715hKYb.cjs +1 -0
  23. package/dist/{index-7TdmKUbH.js → index-goQ6Sq3Z.js} +1 -1
  24. package/dist/portal-container-B7fNqDpv.cjs +1 -0
  25. package/dist/portal-container-oVJMu2rm.js +56 -0
  26. package/dist/toggleButtonGroup-primitive-BawO6QQP.js +6598 -0
  27. package/dist/toggleButtonGroup-primitive-DLsmj_zA.cjs +52 -0
  28. package/dist/types/ads.d.ts +621 -0
  29. package/dist/types/feature.d.ts +94 -0
  30. package/dist/types/ui.d.ts +9 -55
  31. package/dist/types/utils.d.ts +2 -0
  32. package/package.json +2 -1
  33. package/dist/toggleButtonGroup-primitive-CibJg54C.cjs +0 -52
  34. package/dist/toggleButtonGroup-primitive-ZAStZ2ee.js +0 -9820
@@ -0,0 +1,1557 @@
1
+ import { jsx as f, jsxs as S } from "react/jsx-runtime";
2
+ import { F, B as N } from "./index-goQ6Sq3Z.js";
3
+ import { c as ie } from "./index-CQACG110.js";
4
+ import { colors as b } from "./boottent-design.styles.es.js";
5
+ import { i as oe, B as ye } from "./index-KZYAVDUp.js";
6
+ import "react";
7
+ import "./toggleButtonGroup-primitive-BawO6QQP.js";
8
+ import "react-dom";
9
+ import { S as p } from "./index-Akpc2UCv.js";
10
+ const se = ({
11
+ src: t,
12
+ alt: e,
13
+ object: n = "cover",
14
+ lazy: a = !0,
15
+ size: r = "auto",
16
+ className: i,
17
+ ...o
18
+ }) => {
19
+ const s = {
20
+ contain: "object-contain h-full",
21
+ cover: "object-cover h-full",
22
+ fill: "object-fill h-full",
23
+ "scale-down": "object-scale-down",
24
+ none: "object-none"
25
+ }, c = {
26
+ full: "w-full",
27
+ fit: "w-fit",
28
+ auto: "w-auto"
29
+ // number은 별도로 처리
30
+ };
31
+ let u = "", d = {};
32
+ return typeof r == "string" ? u = c[r] : typeof r == "number" && (d = { width: `${r}px` }), /* @__PURE__ */ f(
33
+ "img",
34
+ {
35
+ src: t,
36
+ alt: e ? `${e} 이미지` : "이미지",
37
+ loading: a ? "lazy" : "eager",
38
+ className: ie(s[n], u, i),
39
+ style: d,
40
+ ...o
41
+ }
42
+ );
43
+ }, W = {
44
+ mainBanner: {
45
+ value: "mainBanner",
46
+ text: "메인배너",
47
+ color: "",
48
+ background: ""
49
+ },
50
+ premiumCard: {
51
+ value: "premiumCard",
52
+ text: "상위노출카드",
53
+ color: b.main[600],
54
+ background: b.main[100]
55
+ },
56
+ event: {
57
+ value: "event",
58
+ text: "이벤트적용",
59
+ color: b.red[400],
60
+ background: b.yellow[300]
61
+ },
62
+ dDay: {
63
+ value: "dDay",
64
+ text: "디데이적용",
65
+ color: b.red[400],
66
+ background: b.yellow[400]
67
+ },
68
+ titleTag: {
69
+ value: "titleTag",
70
+ text: "타이틀태그",
71
+ color: b.white,
72
+ background: b.grey[800]
73
+ }
74
+ }, I = {
75
+ background: "#e9e9eca1",
76
+ title: "#222",
77
+ description: "#222",
78
+ button: "#975dff",
79
+ buttonText: "#ffffff",
80
+ shadow: "@titleline-background-color"
81
+ }, ue = 6048e5, xe = 864e5, ce = 6e4, le = 36e5, _ = Symbol.for("constructDateFrom");
82
+ function y(t, e) {
83
+ return typeof t == "function" ? t(e) : t && typeof t == "object" && _ in t ? t[_](e) : t instanceof Date ? new t.constructor(e) : new Date(e);
84
+ }
85
+ function g(t, e) {
86
+ return y(e || t, t);
87
+ }
88
+ let ve = {};
89
+ function q() {
90
+ return ve;
91
+ }
92
+ function Y(t, e) {
93
+ var s, c, u, d;
94
+ const n = q(), a = (e == null ? void 0 : e.weekStartsOn) ?? ((c = (s = e == null ? void 0 : e.locale) == null ? void 0 : s.options) == null ? void 0 : c.weekStartsOn) ?? n.weekStartsOn ?? ((d = (u = n.locale) == null ? void 0 : u.options) == null ? void 0 : d.weekStartsOn) ?? 0, r = g(t, e == null ? void 0 : e.in), i = r.getDay(), o = (i < a ? 7 : 0) + i - a;
95
+ return r.setDate(r.getDate() - o), r.setHours(0, 0, 0, 0), r;
96
+ }
97
+ function E(t, e) {
98
+ return Y(t, { ...e, weekStartsOn: 1 });
99
+ }
100
+ function de(t, e) {
101
+ const n = g(t, e == null ? void 0 : e.in), a = n.getFullYear(), r = y(n, 0);
102
+ r.setFullYear(a + 1, 0, 4), r.setHours(0, 0, 0, 0);
103
+ const i = E(r), o = y(n, 0);
104
+ o.setFullYear(a, 0, 4), o.setHours(0, 0, 0, 0);
105
+ const s = E(o);
106
+ return n.getTime() >= i.getTime() ? a + 1 : n.getTime() >= s.getTime() ? a : a - 1;
107
+ }
108
+ function L(t) {
109
+ const e = g(t), n = new Date(
110
+ Date.UTC(
111
+ e.getFullYear(),
112
+ e.getMonth(),
113
+ e.getDate(),
114
+ e.getHours(),
115
+ e.getMinutes(),
116
+ e.getSeconds(),
117
+ e.getMilliseconds()
118
+ )
119
+ );
120
+ return n.setUTCFullYear(e.getFullYear()), +t - +n;
121
+ }
122
+ function fe(t, ...e) {
123
+ const n = y.bind(
124
+ null,
125
+ e.find((a) => typeof a == "object")
126
+ );
127
+ return e.map(n);
128
+ }
129
+ function R(t, e) {
130
+ const n = g(t, e == null ? void 0 : e.in);
131
+ return n.setHours(0, 0, 0, 0), n;
132
+ }
133
+ function me(t, e, n) {
134
+ const [a, r] = fe(
135
+ n == null ? void 0 : n.in,
136
+ t,
137
+ e
138
+ ), i = R(a), o = R(r), s = +i - L(i), c = +o - L(o);
139
+ return Math.round((s - c) / xe);
140
+ }
141
+ function Me(t, e) {
142
+ const n = de(t, e), a = y(t, 0);
143
+ return a.setFullYear(n, 0, 4), a.setHours(0, 0, 0, 0), E(a);
144
+ }
145
+ function ke(t) {
146
+ return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
147
+ }
148
+ function De(t) {
149
+ return !(!ke(t) && typeof t != "number" || isNaN(+g(t)));
150
+ }
151
+ function pe(t, e, n) {
152
+ const [a, r] = fe(
153
+ n == null ? void 0 : n.in,
154
+ t,
155
+ e
156
+ ), i = Q(a, r), o = Math.abs(
157
+ me(a, r)
158
+ );
159
+ a.setDate(a.getDate() - i * o);
160
+ const s = +(Q(a, r) === -i), c = i * (o - s);
161
+ return c === 0 ? 0 : c;
162
+ }
163
+ function Q(t, e) {
164
+ const n = t.getFullYear() - e.getFullYear() || t.getMonth() - e.getMonth() || t.getDate() - e.getDate() || t.getHours() - e.getHours() || t.getMinutes() - e.getMinutes() || t.getSeconds() - e.getSeconds() || t.getMilliseconds() - e.getMilliseconds();
165
+ return n < 0 ? -1 : n > 0 ? 1 : n;
166
+ }
167
+ function Pe(t, e) {
168
+ const n = g(t, e == null ? void 0 : e.in);
169
+ return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n;
170
+ }
171
+ const Oe = {
172
+ lessThanXSeconds: {
173
+ one: "less than a second",
174
+ other: "less than {{count}} seconds"
175
+ },
176
+ xSeconds: {
177
+ one: "1 second",
178
+ other: "{{count}} seconds"
179
+ },
180
+ halfAMinute: "half a minute",
181
+ lessThanXMinutes: {
182
+ one: "less than a minute",
183
+ other: "less than {{count}} minutes"
184
+ },
185
+ xMinutes: {
186
+ one: "1 minute",
187
+ other: "{{count}} minutes"
188
+ },
189
+ aboutXHours: {
190
+ one: "about 1 hour",
191
+ other: "about {{count}} hours"
192
+ },
193
+ xHours: {
194
+ one: "1 hour",
195
+ other: "{{count}} hours"
196
+ },
197
+ xDays: {
198
+ one: "1 day",
199
+ other: "{{count}} days"
200
+ },
201
+ aboutXWeeks: {
202
+ one: "about 1 week",
203
+ other: "about {{count}} weeks"
204
+ },
205
+ xWeeks: {
206
+ one: "1 week",
207
+ other: "{{count}} weeks"
208
+ },
209
+ aboutXMonths: {
210
+ one: "about 1 month",
211
+ other: "about {{count}} months"
212
+ },
213
+ xMonths: {
214
+ one: "1 month",
215
+ other: "{{count}} months"
216
+ },
217
+ aboutXYears: {
218
+ one: "about 1 year",
219
+ other: "about {{count}} years"
220
+ },
221
+ xYears: {
222
+ one: "1 year",
223
+ other: "{{count}} years"
224
+ },
225
+ overXYears: {
226
+ one: "over 1 year",
227
+ other: "over {{count}} years"
228
+ },
229
+ almostXYears: {
230
+ one: "almost 1 year",
231
+ other: "almost {{count}} years"
232
+ }
233
+ }, Te = (t, e, n) => {
234
+ let a;
235
+ const r = Oe[t];
236
+ return typeof r == "string" ? a = r : e === 1 ? a = r.one : a = r.other.replace("{{count}}", e.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "in " + a : a + " ago" : a;
237
+ };
238
+ function H(t) {
239
+ return (e = {}) => {
240
+ const n = e.width ? String(e.width) : t.defaultWidth;
241
+ return t.formats[n] || t.formats[t.defaultWidth];
242
+ };
243
+ }
244
+ const Ne = {
245
+ full: "EEEE, MMMM do, y",
246
+ long: "MMMM do, y",
247
+ medium: "MMM d, y",
248
+ short: "MM/dd/yyyy"
249
+ }, We = {
250
+ full: "h:mm:ss a zzzz",
251
+ long: "h:mm:ss a z",
252
+ medium: "h:mm:ss a",
253
+ short: "h:mm a"
254
+ }, Se = {
255
+ full: "{{date}} 'at' {{time}}",
256
+ long: "{{date}} 'at' {{time}}",
257
+ medium: "{{date}}, {{time}}",
258
+ short: "{{date}}, {{time}}"
259
+ }, Ye = {
260
+ date: H({
261
+ formats: Ne,
262
+ defaultWidth: "full"
263
+ }),
264
+ time: H({
265
+ formats: We,
266
+ defaultWidth: "full"
267
+ }),
268
+ dateTime: H({
269
+ formats: Se,
270
+ defaultWidth: "full"
271
+ })
272
+ }, Ce = {
273
+ lastWeek: "'last' eeee 'at' p",
274
+ yesterday: "'yesterday at' p",
275
+ today: "'today at' p",
276
+ tomorrow: "'tomorrow at' p",
277
+ nextWeek: "eeee 'at' p",
278
+ other: "P"
279
+ }, Fe = (t, e, n, a) => Ce[t];
280
+ function P(t) {
281
+ return (e, n) => {
282
+ const a = n != null && n.context ? String(n.context) : "standalone";
283
+ let r;
284
+ if (a === "formatting" && t.formattingValues) {
285
+ const o = t.defaultFormattingWidth || t.defaultWidth, s = n != null && n.width ? String(n.width) : o;
286
+ r = t.formattingValues[s] || t.formattingValues[o];
287
+ } else {
288
+ const o = t.defaultWidth, s = n != null && n.width ? String(n.width) : t.defaultWidth;
289
+ r = t.values[s] || t.values[o];
290
+ }
291
+ const i = t.argumentCallback ? t.argumentCallback(e) : e;
292
+ return r[i];
293
+ };
294
+ }
295
+ const Ee = {
296
+ narrow: ["B", "A"],
297
+ abbreviated: ["BC", "AD"],
298
+ wide: ["Before Christ", "Anno Domini"]
299
+ }, qe = {
300
+ narrow: ["1", "2", "3", "4"],
301
+ abbreviated: ["Q1", "Q2", "Q3", "Q4"],
302
+ wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
303
+ }, je = {
304
+ narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
305
+ abbreviated: [
306
+ "Jan",
307
+ "Feb",
308
+ "Mar",
309
+ "Apr",
310
+ "May",
311
+ "Jun",
312
+ "Jul",
313
+ "Aug",
314
+ "Sep",
315
+ "Oct",
316
+ "Nov",
317
+ "Dec"
318
+ ],
319
+ wide: [
320
+ "January",
321
+ "February",
322
+ "March",
323
+ "April",
324
+ "May",
325
+ "June",
326
+ "July",
327
+ "August",
328
+ "September",
329
+ "October",
330
+ "November",
331
+ "December"
332
+ ]
333
+ }, Ie = {
334
+ narrow: ["S", "M", "T", "W", "T", "F", "S"],
335
+ short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
336
+ abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
337
+ wide: [
338
+ "Sunday",
339
+ "Monday",
340
+ "Tuesday",
341
+ "Wednesday",
342
+ "Thursday",
343
+ "Friday",
344
+ "Saturday"
345
+ ]
346
+ }, He = {
347
+ narrow: {
348
+ am: "a",
349
+ pm: "p",
350
+ midnight: "mi",
351
+ noon: "n",
352
+ morning: "morning",
353
+ afternoon: "afternoon",
354
+ evening: "evening",
355
+ night: "night"
356
+ },
357
+ abbreviated: {
358
+ am: "AM",
359
+ pm: "PM",
360
+ midnight: "midnight",
361
+ noon: "noon",
362
+ morning: "morning",
363
+ afternoon: "afternoon",
364
+ evening: "evening",
365
+ night: "night"
366
+ },
367
+ wide: {
368
+ am: "a.m.",
369
+ pm: "p.m.",
370
+ midnight: "midnight",
371
+ noon: "noon",
372
+ morning: "morning",
373
+ afternoon: "afternoon",
374
+ evening: "evening",
375
+ night: "night"
376
+ }
377
+ }, $e = {
378
+ narrow: {
379
+ am: "a",
380
+ pm: "p",
381
+ midnight: "mi",
382
+ noon: "n",
383
+ morning: "in the morning",
384
+ afternoon: "in the afternoon",
385
+ evening: "in the evening",
386
+ night: "at night"
387
+ },
388
+ abbreviated: {
389
+ am: "AM",
390
+ pm: "PM",
391
+ midnight: "midnight",
392
+ noon: "noon",
393
+ morning: "in the morning",
394
+ afternoon: "in the afternoon",
395
+ evening: "in the evening",
396
+ night: "at night"
397
+ },
398
+ wide: {
399
+ am: "a.m.",
400
+ pm: "p.m.",
401
+ midnight: "midnight",
402
+ noon: "noon",
403
+ morning: "in the morning",
404
+ afternoon: "in the afternoon",
405
+ evening: "in the evening",
406
+ night: "at night"
407
+ }
408
+ }, Be = (t, e) => {
409
+ const n = Number(t), a = n % 100;
410
+ if (a > 20 || a < 10)
411
+ switch (a % 10) {
412
+ case 1:
413
+ return n + "st";
414
+ case 2:
415
+ return n + "nd";
416
+ case 3:
417
+ return n + "rd";
418
+ }
419
+ return n + "th";
420
+ }, _e = {
421
+ ordinalNumber: Be,
422
+ era: P({
423
+ values: Ee,
424
+ defaultWidth: "wide"
425
+ }),
426
+ quarter: P({
427
+ values: qe,
428
+ defaultWidth: "wide",
429
+ argumentCallback: (t) => t - 1
430
+ }),
431
+ month: P({
432
+ values: je,
433
+ defaultWidth: "wide"
434
+ }),
435
+ day: P({
436
+ values: Ie,
437
+ defaultWidth: "wide"
438
+ }),
439
+ dayPeriod: P({
440
+ values: He,
441
+ defaultWidth: "wide",
442
+ formattingValues: $e,
443
+ defaultFormattingWidth: "wide"
444
+ })
445
+ };
446
+ function O(t) {
447
+ return (e, n = {}) => {
448
+ const a = n.width, r = a && t.matchPatterns[a] || t.matchPatterns[t.defaultMatchWidth], i = e.match(r);
449
+ if (!i)
450
+ return null;
451
+ const o = i[0], s = a && t.parsePatterns[a] || t.parsePatterns[t.defaultParseWidth], c = Array.isArray(s) ? Re(s, (w) => w.test(o)) : (
452
+ // [TODO] -- I challenge you to fix the type
453
+ Le(s, (w) => w.test(o))
454
+ );
455
+ let u;
456
+ u = t.valueCallback ? t.valueCallback(c) : c, u = n.valueCallback ? (
457
+ // [TODO] -- I challenge you to fix the type
458
+ n.valueCallback(u)
459
+ ) : u;
460
+ const d = e.slice(o.length);
461
+ return { value: u, rest: d };
462
+ };
463
+ }
464
+ function Le(t, e) {
465
+ for (const n in t)
466
+ if (Object.prototype.hasOwnProperty.call(t, n) && e(t[n]))
467
+ return n;
468
+ }
469
+ function Re(t, e) {
470
+ for (let n = 0; n < t.length; n++)
471
+ if (e(t[n]))
472
+ return n;
473
+ }
474
+ function Qe(t) {
475
+ return (e, n = {}) => {
476
+ const a = e.match(t.matchPattern);
477
+ if (!a) return null;
478
+ const r = a[0], i = e.match(t.parsePattern);
479
+ if (!i) return null;
480
+ let o = t.valueCallback ? t.valueCallback(i[0]) : i[0];
481
+ o = n.valueCallback ? n.valueCallback(o) : o;
482
+ const s = e.slice(r.length);
483
+ return { value: o, rest: s };
484
+ };
485
+ }
486
+ const Xe = /^(\d+)(th|st|nd|rd)?/i, Ae = /\d+/i, Ue = {
487
+ narrow: /^(b|a)/i,
488
+ abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
489
+ wide: /^(before christ|before common era|anno domini|common era)/i
490
+ }, Ge = {
491
+ any: [/^b/i, /^(a|c)/i]
492
+ }, Ve = {
493
+ narrow: /^[1234]/i,
494
+ abbreviated: /^q[1234]/i,
495
+ wide: /^[1234](th|st|nd|rd)? quarter/i
496
+ }, ze = {
497
+ any: [/1/i, /2/i, /3/i, /4/i]
498
+ }, Je = {
499
+ narrow: /^[jfmasond]/i,
500
+ abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
501
+ wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
502
+ }, Ze = {
503
+ narrow: [
504
+ /^j/i,
505
+ /^f/i,
506
+ /^m/i,
507
+ /^a/i,
508
+ /^m/i,
509
+ /^j/i,
510
+ /^j/i,
511
+ /^a/i,
512
+ /^s/i,
513
+ /^o/i,
514
+ /^n/i,
515
+ /^d/i
516
+ ],
517
+ any: [
518
+ /^ja/i,
519
+ /^f/i,
520
+ /^mar/i,
521
+ /^ap/i,
522
+ /^may/i,
523
+ /^jun/i,
524
+ /^jul/i,
525
+ /^au/i,
526
+ /^s/i,
527
+ /^o/i,
528
+ /^n/i,
529
+ /^d/i
530
+ ]
531
+ }, Ke = {
532
+ narrow: /^[smtwf]/i,
533
+ short: /^(su|mo|tu|we|th|fr|sa)/i,
534
+ abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
535
+ wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
536
+ }, et = {
537
+ narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
538
+ any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
539
+ }, tt = {
540
+ narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
541
+ any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
542
+ }, nt = {
543
+ any: {
544
+ am: /^a/i,
545
+ pm: /^p/i,
546
+ midnight: /^mi/i,
547
+ noon: /^no/i,
548
+ morning: /morning/i,
549
+ afternoon: /afternoon/i,
550
+ evening: /evening/i,
551
+ night: /night/i
552
+ }
553
+ }, at = {
554
+ ordinalNumber: Qe({
555
+ matchPattern: Xe,
556
+ parsePattern: Ae,
557
+ valueCallback: (t) => parseInt(t, 10)
558
+ }),
559
+ era: O({
560
+ matchPatterns: Ue,
561
+ defaultMatchWidth: "wide",
562
+ parsePatterns: Ge,
563
+ defaultParseWidth: "any"
564
+ }),
565
+ quarter: O({
566
+ matchPatterns: Ve,
567
+ defaultMatchWidth: "wide",
568
+ parsePatterns: ze,
569
+ defaultParseWidth: "any",
570
+ valueCallback: (t) => t + 1
571
+ }),
572
+ month: O({
573
+ matchPatterns: Je,
574
+ defaultMatchWidth: "wide",
575
+ parsePatterns: Ze,
576
+ defaultParseWidth: "any"
577
+ }),
578
+ day: O({
579
+ matchPatterns: Ke,
580
+ defaultMatchWidth: "wide",
581
+ parsePatterns: et,
582
+ defaultParseWidth: "any"
583
+ }),
584
+ dayPeriod: O({
585
+ matchPatterns: tt,
586
+ defaultMatchWidth: "any",
587
+ parsePatterns: nt,
588
+ defaultParseWidth: "any"
589
+ })
590
+ }, rt = {
591
+ code: "en-US",
592
+ formatDistance: Te,
593
+ formatLong: Ye,
594
+ formatRelative: Fe,
595
+ localize: _e,
596
+ match: at,
597
+ options: {
598
+ weekStartsOn: 0,
599
+ firstWeekContainsDate: 1
600
+ }
601
+ };
602
+ function it(t, e) {
603
+ const n = g(t, e == null ? void 0 : e.in);
604
+ return me(n, Pe(n)) + 1;
605
+ }
606
+ function ot(t, e) {
607
+ const n = g(t, e == null ? void 0 : e.in), a = +E(n) - +Me(n);
608
+ return Math.round(a / ue) + 1;
609
+ }
610
+ function he(t, e) {
611
+ var d, w, k, D;
612
+ const n = g(t, e == null ? void 0 : e.in), a = n.getFullYear(), r = q(), i = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((w = (d = e == null ? void 0 : e.locale) == null ? void 0 : d.options) == null ? void 0 : w.firstWeekContainsDate) ?? r.firstWeekContainsDate ?? ((D = (k = r.locale) == null ? void 0 : k.options) == null ? void 0 : D.firstWeekContainsDate) ?? 1, o = y((e == null ? void 0 : e.in) || t, 0);
613
+ o.setFullYear(a + 1, 0, i), o.setHours(0, 0, 0, 0);
614
+ const s = Y(o, e), c = y((e == null ? void 0 : e.in) || t, 0);
615
+ c.setFullYear(a, 0, i), c.setHours(0, 0, 0, 0);
616
+ const u = Y(c, e);
617
+ return +n >= +s ? a + 1 : +n >= +u ? a : a - 1;
618
+ }
619
+ function st(t, e) {
620
+ var s, c, u, d;
621
+ const n = q(), a = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((c = (s = e == null ? void 0 : e.locale) == null ? void 0 : s.options) == null ? void 0 : c.firstWeekContainsDate) ?? n.firstWeekContainsDate ?? ((d = (u = n.locale) == null ? void 0 : u.options) == null ? void 0 : d.firstWeekContainsDate) ?? 1, r = he(t, e), i = y((e == null ? void 0 : e.in) || t, 0);
622
+ return i.setFullYear(r, 0, a), i.setHours(0, 0, 0, 0), Y(i, e);
623
+ }
624
+ function ut(t, e) {
625
+ const n = g(t, e == null ? void 0 : e.in), a = +Y(n, e) - +st(n, e);
626
+ return Math.round(a / ue) + 1;
627
+ }
628
+ function l(t, e) {
629
+ const n = t < 0 ? "-" : "", a = Math.abs(t).toString().padStart(e, "0");
630
+ return n + a;
631
+ }
632
+ const x = {
633
+ // Year
634
+ y(t, e) {
635
+ const n = t.getFullYear(), a = n > 0 ? n : 1 - n;
636
+ return l(e === "yy" ? a % 100 : a, e.length);
637
+ },
638
+ // Month
639
+ M(t, e) {
640
+ const n = t.getMonth();
641
+ return e === "M" ? String(n + 1) : l(n + 1, 2);
642
+ },
643
+ // Day of the month
644
+ d(t, e) {
645
+ return l(t.getDate(), e.length);
646
+ },
647
+ // AM or PM
648
+ a(t, e) {
649
+ const n = t.getHours() / 12 >= 1 ? "pm" : "am";
650
+ switch (e) {
651
+ case "a":
652
+ case "aa":
653
+ return n.toUpperCase();
654
+ case "aaa":
655
+ return n;
656
+ case "aaaaa":
657
+ return n[0];
658
+ case "aaaa":
659
+ default:
660
+ return n === "am" ? "a.m." : "p.m.";
661
+ }
662
+ },
663
+ // Hour [1-12]
664
+ h(t, e) {
665
+ return l(t.getHours() % 12 || 12, e.length);
666
+ },
667
+ // Hour [0-23]
668
+ H(t, e) {
669
+ return l(t.getHours(), e.length);
670
+ },
671
+ // Minute
672
+ m(t, e) {
673
+ return l(t.getMinutes(), e.length);
674
+ },
675
+ // Second
676
+ s(t, e) {
677
+ return l(t.getSeconds(), e.length);
678
+ },
679
+ // Fraction of second
680
+ S(t, e) {
681
+ const n = e.length, a = t.getMilliseconds(), r = Math.trunc(
682
+ a * Math.pow(10, n - 3)
683
+ );
684
+ return l(r, e.length);
685
+ }
686
+ }, M = {
687
+ am: "am",
688
+ pm: "pm",
689
+ midnight: "midnight",
690
+ noon: "noon",
691
+ morning: "morning",
692
+ afternoon: "afternoon",
693
+ evening: "evening",
694
+ night: "night"
695
+ }, X = {
696
+ // Era
697
+ G: function(t, e, n) {
698
+ const a = t.getFullYear() > 0 ? 1 : 0;
699
+ switch (e) {
700
+ case "G":
701
+ case "GG":
702
+ case "GGG":
703
+ return n.era(a, { width: "abbreviated" });
704
+ case "GGGGG":
705
+ return n.era(a, { width: "narrow" });
706
+ case "GGGG":
707
+ default:
708
+ return n.era(a, { width: "wide" });
709
+ }
710
+ },
711
+ // Year
712
+ y: function(t, e, n) {
713
+ if (e === "yo") {
714
+ const a = t.getFullYear(), r = a > 0 ? a : 1 - a;
715
+ return n.ordinalNumber(r, { unit: "year" });
716
+ }
717
+ return x.y(t, e);
718
+ },
719
+ // Local week-numbering year
720
+ Y: function(t, e, n, a) {
721
+ const r = he(t, a), i = r > 0 ? r : 1 - r;
722
+ if (e === "YY") {
723
+ const o = i % 100;
724
+ return l(o, 2);
725
+ }
726
+ return e === "Yo" ? n.ordinalNumber(i, { unit: "year" }) : l(i, e.length);
727
+ },
728
+ // ISO week-numbering year
729
+ R: function(t, e) {
730
+ const n = de(t);
731
+ return l(n, e.length);
732
+ },
733
+ // Extended year. This is a single number designating the year of this calendar system.
734
+ // The main difference between `y` and `u` localizers are B.C. years:
735
+ // | Year | `y` | `u` |
736
+ // |------|-----|-----|
737
+ // | AC 1 | 1 | 1 |
738
+ // | BC 1 | 1 | 0 |
739
+ // | BC 2 | 2 | -1 |
740
+ // Also `yy` always returns the last two digits of a year,
741
+ // while `uu` pads single digit years to 2 characters and returns other years unchanged.
742
+ u: function(t, e) {
743
+ const n = t.getFullYear();
744
+ return l(n, e.length);
745
+ },
746
+ // Quarter
747
+ Q: function(t, e, n) {
748
+ const a = Math.ceil((t.getMonth() + 1) / 3);
749
+ switch (e) {
750
+ case "Q":
751
+ return String(a);
752
+ case "QQ":
753
+ return l(a, 2);
754
+ case "Qo":
755
+ return n.ordinalNumber(a, { unit: "quarter" });
756
+ case "QQQ":
757
+ return n.quarter(a, {
758
+ width: "abbreviated",
759
+ context: "formatting"
760
+ });
761
+ case "QQQQQ":
762
+ return n.quarter(a, {
763
+ width: "narrow",
764
+ context: "formatting"
765
+ });
766
+ case "QQQQ":
767
+ default:
768
+ return n.quarter(a, {
769
+ width: "wide",
770
+ context: "formatting"
771
+ });
772
+ }
773
+ },
774
+ // Stand-alone quarter
775
+ q: function(t, e, n) {
776
+ const a = Math.ceil((t.getMonth() + 1) / 3);
777
+ switch (e) {
778
+ case "q":
779
+ return String(a);
780
+ case "qq":
781
+ return l(a, 2);
782
+ case "qo":
783
+ return n.ordinalNumber(a, { unit: "quarter" });
784
+ case "qqq":
785
+ return n.quarter(a, {
786
+ width: "abbreviated",
787
+ context: "standalone"
788
+ });
789
+ case "qqqqq":
790
+ return n.quarter(a, {
791
+ width: "narrow",
792
+ context: "standalone"
793
+ });
794
+ case "qqqq":
795
+ default:
796
+ return n.quarter(a, {
797
+ width: "wide",
798
+ context: "standalone"
799
+ });
800
+ }
801
+ },
802
+ // Month
803
+ M: function(t, e, n) {
804
+ const a = t.getMonth();
805
+ switch (e) {
806
+ case "M":
807
+ case "MM":
808
+ return x.M(t, e);
809
+ case "Mo":
810
+ return n.ordinalNumber(a + 1, { unit: "month" });
811
+ case "MMM":
812
+ return n.month(a, {
813
+ width: "abbreviated",
814
+ context: "formatting"
815
+ });
816
+ case "MMMMM":
817
+ return n.month(a, {
818
+ width: "narrow",
819
+ context: "formatting"
820
+ });
821
+ case "MMMM":
822
+ default:
823
+ return n.month(a, { width: "wide", context: "formatting" });
824
+ }
825
+ },
826
+ // Stand-alone month
827
+ L: function(t, e, n) {
828
+ const a = t.getMonth();
829
+ switch (e) {
830
+ case "L":
831
+ return String(a + 1);
832
+ case "LL":
833
+ return l(a + 1, 2);
834
+ case "Lo":
835
+ return n.ordinalNumber(a + 1, { unit: "month" });
836
+ case "LLL":
837
+ return n.month(a, {
838
+ width: "abbreviated",
839
+ context: "standalone"
840
+ });
841
+ case "LLLLL":
842
+ return n.month(a, {
843
+ width: "narrow",
844
+ context: "standalone"
845
+ });
846
+ case "LLLL":
847
+ default:
848
+ return n.month(a, { width: "wide", context: "standalone" });
849
+ }
850
+ },
851
+ // Local week of year
852
+ w: function(t, e, n, a) {
853
+ const r = ut(t, a);
854
+ return e === "wo" ? n.ordinalNumber(r, { unit: "week" }) : l(r, e.length);
855
+ },
856
+ // ISO week of year
857
+ I: function(t, e, n) {
858
+ const a = ot(t);
859
+ return e === "Io" ? n.ordinalNumber(a, { unit: "week" }) : l(a, e.length);
860
+ },
861
+ // Day of the month
862
+ d: function(t, e, n) {
863
+ return e === "do" ? n.ordinalNumber(t.getDate(), { unit: "date" }) : x.d(t, e);
864
+ },
865
+ // Day of year
866
+ D: function(t, e, n) {
867
+ const a = it(t);
868
+ return e === "Do" ? n.ordinalNumber(a, { unit: "dayOfYear" }) : l(a, e.length);
869
+ },
870
+ // Day of week
871
+ E: function(t, e, n) {
872
+ const a = t.getDay();
873
+ switch (e) {
874
+ case "E":
875
+ case "EE":
876
+ case "EEE":
877
+ return n.day(a, {
878
+ width: "abbreviated",
879
+ context: "formatting"
880
+ });
881
+ case "EEEEE":
882
+ return n.day(a, {
883
+ width: "narrow",
884
+ context: "formatting"
885
+ });
886
+ case "EEEEEE":
887
+ return n.day(a, {
888
+ width: "short",
889
+ context: "formatting"
890
+ });
891
+ case "EEEE":
892
+ default:
893
+ return n.day(a, {
894
+ width: "wide",
895
+ context: "formatting"
896
+ });
897
+ }
898
+ },
899
+ // Local day of week
900
+ e: function(t, e, n, a) {
901
+ const r = t.getDay(), i = (r - a.weekStartsOn + 8) % 7 || 7;
902
+ switch (e) {
903
+ case "e":
904
+ return String(i);
905
+ case "ee":
906
+ return l(i, 2);
907
+ case "eo":
908
+ return n.ordinalNumber(i, { unit: "day" });
909
+ case "eee":
910
+ return n.day(r, {
911
+ width: "abbreviated",
912
+ context: "formatting"
913
+ });
914
+ case "eeeee":
915
+ return n.day(r, {
916
+ width: "narrow",
917
+ context: "formatting"
918
+ });
919
+ case "eeeeee":
920
+ return n.day(r, {
921
+ width: "short",
922
+ context: "formatting"
923
+ });
924
+ case "eeee":
925
+ default:
926
+ return n.day(r, {
927
+ width: "wide",
928
+ context: "formatting"
929
+ });
930
+ }
931
+ },
932
+ // Stand-alone local day of week
933
+ c: function(t, e, n, a) {
934
+ const r = t.getDay(), i = (r - a.weekStartsOn + 8) % 7 || 7;
935
+ switch (e) {
936
+ case "c":
937
+ return String(i);
938
+ case "cc":
939
+ return l(i, e.length);
940
+ case "co":
941
+ return n.ordinalNumber(i, { unit: "day" });
942
+ case "ccc":
943
+ return n.day(r, {
944
+ width: "abbreviated",
945
+ context: "standalone"
946
+ });
947
+ case "ccccc":
948
+ return n.day(r, {
949
+ width: "narrow",
950
+ context: "standalone"
951
+ });
952
+ case "cccccc":
953
+ return n.day(r, {
954
+ width: "short",
955
+ context: "standalone"
956
+ });
957
+ case "cccc":
958
+ default:
959
+ return n.day(r, {
960
+ width: "wide",
961
+ context: "standalone"
962
+ });
963
+ }
964
+ },
965
+ // ISO day of week
966
+ i: function(t, e, n) {
967
+ const a = t.getDay(), r = a === 0 ? 7 : a;
968
+ switch (e) {
969
+ case "i":
970
+ return String(r);
971
+ case "ii":
972
+ return l(r, e.length);
973
+ case "io":
974
+ return n.ordinalNumber(r, { unit: "day" });
975
+ case "iii":
976
+ return n.day(a, {
977
+ width: "abbreviated",
978
+ context: "formatting"
979
+ });
980
+ case "iiiii":
981
+ return n.day(a, {
982
+ width: "narrow",
983
+ context: "formatting"
984
+ });
985
+ case "iiiiii":
986
+ return n.day(a, {
987
+ width: "short",
988
+ context: "formatting"
989
+ });
990
+ case "iiii":
991
+ default:
992
+ return n.day(a, {
993
+ width: "wide",
994
+ context: "formatting"
995
+ });
996
+ }
997
+ },
998
+ // AM or PM
999
+ a: function(t, e, n) {
1000
+ const r = t.getHours() / 12 >= 1 ? "pm" : "am";
1001
+ switch (e) {
1002
+ case "a":
1003
+ case "aa":
1004
+ return n.dayPeriod(r, {
1005
+ width: "abbreviated",
1006
+ context: "formatting"
1007
+ });
1008
+ case "aaa":
1009
+ return n.dayPeriod(r, {
1010
+ width: "abbreviated",
1011
+ context: "formatting"
1012
+ }).toLowerCase();
1013
+ case "aaaaa":
1014
+ return n.dayPeriod(r, {
1015
+ width: "narrow",
1016
+ context: "formatting"
1017
+ });
1018
+ case "aaaa":
1019
+ default:
1020
+ return n.dayPeriod(r, {
1021
+ width: "wide",
1022
+ context: "formatting"
1023
+ });
1024
+ }
1025
+ },
1026
+ // AM, PM, midnight, noon
1027
+ b: function(t, e, n) {
1028
+ const a = t.getHours();
1029
+ let r;
1030
+ switch (a === 12 ? r = M.noon : a === 0 ? r = M.midnight : r = a / 12 >= 1 ? "pm" : "am", e) {
1031
+ case "b":
1032
+ case "bb":
1033
+ return n.dayPeriod(r, {
1034
+ width: "abbreviated",
1035
+ context: "formatting"
1036
+ });
1037
+ case "bbb":
1038
+ return n.dayPeriod(r, {
1039
+ width: "abbreviated",
1040
+ context: "formatting"
1041
+ }).toLowerCase();
1042
+ case "bbbbb":
1043
+ return n.dayPeriod(r, {
1044
+ width: "narrow",
1045
+ context: "formatting"
1046
+ });
1047
+ case "bbbb":
1048
+ default:
1049
+ return n.dayPeriod(r, {
1050
+ width: "wide",
1051
+ context: "formatting"
1052
+ });
1053
+ }
1054
+ },
1055
+ // in the morning, in the afternoon, in the evening, at night
1056
+ B: function(t, e, n) {
1057
+ const a = t.getHours();
1058
+ let r;
1059
+ switch (a >= 17 ? r = M.evening : a >= 12 ? r = M.afternoon : a >= 4 ? r = M.morning : r = M.night, e) {
1060
+ case "B":
1061
+ case "BB":
1062
+ case "BBB":
1063
+ return n.dayPeriod(r, {
1064
+ width: "abbreviated",
1065
+ context: "formatting"
1066
+ });
1067
+ case "BBBBB":
1068
+ return n.dayPeriod(r, {
1069
+ width: "narrow",
1070
+ context: "formatting"
1071
+ });
1072
+ case "BBBB":
1073
+ default:
1074
+ return n.dayPeriod(r, {
1075
+ width: "wide",
1076
+ context: "formatting"
1077
+ });
1078
+ }
1079
+ },
1080
+ // Hour [1-12]
1081
+ h: function(t, e, n) {
1082
+ if (e === "ho") {
1083
+ let a = t.getHours() % 12;
1084
+ return a === 0 && (a = 12), n.ordinalNumber(a, { unit: "hour" });
1085
+ }
1086
+ return x.h(t, e);
1087
+ },
1088
+ // Hour [0-23]
1089
+ H: function(t, e, n) {
1090
+ return e === "Ho" ? n.ordinalNumber(t.getHours(), { unit: "hour" }) : x.H(t, e);
1091
+ },
1092
+ // Hour [0-11]
1093
+ K: function(t, e, n) {
1094
+ const a = t.getHours() % 12;
1095
+ return e === "Ko" ? n.ordinalNumber(a, { unit: "hour" }) : l(a, e.length);
1096
+ },
1097
+ // Hour [1-24]
1098
+ k: function(t, e, n) {
1099
+ let a = t.getHours();
1100
+ return a === 0 && (a = 24), e === "ko" ? n.ordinalNumber(a, { unit: "hour" }) : l(a, e.length);
1101
+ },
1102
+ // Minute
1103
+ m: function(t, e, n) {
1104
+ return e === "mo" ? n.ordinalNumber(t.getMinutes(), { unit: "minute" }) : x.m(t, e);
1105
+ },
1106
+ // Second
1107
+ s: function(t, e, n) {
1108
+ return e === "so" ? n.ordinalNumber(t.getSeconds(), { unit: "second" }) : x.s(t, e);
1109
+ },
1110
+ // Fraction of second
1111
+ S: function(t, e) {
1112
+ return x.S(t, e);
1113
+ },
1114
+ // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
1115
+ X: function(t, e, n) {
1116
+ const a = t.getTimezoneOffset();
1117
+ if (a === 0)
1118
+ return "Z";
1119
+ switch (e) {
1120
+ case "X":
1121
+ return U(a);
1122
+ case "XXXX":
1123
+ case "XX":
1124
+ return v(a);
1125
+ case "XXXXX":
1126
+ case "XXX":
1127
+ default:
1128
+ return v(a, ":");
1129
+ }
1130
+ },
1131
+ // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
1132
+ x: function(t, e, n) {
1133
+ const a = t.getTimezoneOffset();
1134
+ switch (e) {
1135
+ case "x":
1136
+ return U(a);
1137
+ case "xxxx":
1138
+ case "xx":
1139
+ return v(a);
1140
+ case "xxxxx":
1141
+ case "xxx":
1142
+ default:
1143
+ return v(a, ":");
1144
+ }
1145
+ },
1146
+ // Timezone (GMT)
1147
+ O: function(t, e, n) {
1148
+ const a = t.getTimezoneOffset();
1149
+ switch (e) {
1150
+ case "O":
1151
+ case "OO":
1152
+ case "OOO":
1153
+ return "GMT" + A(a, ":");
1154
+ case "OOOO":
1155
+ default:
1156
+ return "GMT" + v(a, ":");
1157
+ }
1158
+ },
1159
+ // Timezone (specific non-location)
1160
+ z: function(t, e, n) {
1161
+ const a = t.getTimezoneOffset();
1162
+ switch (e) {
1163
+ case "z":
1164
+ case "zz":
1165
+ case "zzz":
1166
+ return "GMT" + A(a, ":");
1167
+ case "zzzz":
1168
+ default:
1169
+ return "GMT" + v(a, ":");
1170
+ }
1171
+ },
1172
+ // Seconds timestamp
1173
+ t: function(t, e, n) {
1174
+ const a = Math.trunc(+t / 1e3);
1175
+ return l(a, e.length);
1176
+ },
1177
+ // Milliseconds timestamp
1178
+ T: function(t, e, n) {
1179
+ return l(+t, e.length);
1180
+ }
1181
+ };
1182
+ function A(t, e = "") {
1183
+ const n = t > 0 ? "-" : "+", a = Math.abs(t), r = Math.trunc(a / 60), i = a % 60;
1184
+ return i === 0 ? n + String(r) : n + String(r) + e + l(i, 2);
1185
+ }
1186
+ function U(t, e) {
1187
+ return t % 60 === 0 ? (t > 0 ? "-" : "+") + l(Math.abs(t) / 60, 2) : v(t, e);
1188
+ }
1189
+ function v(t, e = "") {
1190
+ const n = t > 0 ? "-" : "+", a = Math.abs(t), r = l(Math.trunc(a / 60), 2), i = l(a % 60, 2);
1191
+ return n + r + e + i;
1192
+ }
1193
+ const G = (t, e) => {
1194
+ switch (t) {
1195
+ case "P":
1196
+ return e.date({ width: "short" });
1197
+ case "PP":
1198
+ return e.date({ width: "medium" });
1199
+ case "PPP":
1200
+ return e.date({ width: "long" });
1201
+ case "PPPP":
1202
+ default:
1203
+ return e.date({ width: "full" });
1204
+ }
1205
+ }, ge = (t, e) => {
1206
+ switch (t) {
1207
+ case "p":
1208
+ return e.time({ width: "short" });
1209
+ case "pp":
1210
+ return e.time({ width: "medium" });
1211
+ case "ppp":
1212
+ return e.time({ width: "long" });
1213
+ case "pppp":
1214
+ default:
1215
+ return e.time({ width: "full" });
1216
+ }
1217
+ }, ct = (t, e) => {
1218
+ const n = t.match(/(P+)(p+)?/) || [], a = n[1], r = n[2];
1219
+ if (!r)
1220
+ return G(t, e);
1221
+ let i;
1222
+ switch (a) {
1223
+ case "P":
1224
+ i = e.dateTime({ width: "short" });
1225
+ break;
1226
+ case "PP":
1227
+ i = e.dateTime({ width: "medium" });
1228
+ break;
1229
+ case "PPP":
1230
+ i = e.dateTime({ width: "long" });
1231
+ break;
1232
+ case "PPPP":
1233
+ default:
1234
+ i = e.dateTime({ width: "full" });
1235
+ break;
1236
+ }
1237
+ return i.replace("{{date}}", G(a, e)).replace("{{time}}", ge(r, e));
1238
+ }, lt = {
1239
+ p: ge,
1240
+ P: ct
1241
+ }, dt = /^D+$/, ft = /^Y+$/, mt = ["D", "DD", "YY", "YYYY"];
1242
+ function ht(t) {
1243
+ return dt.test(t);
1244
+ }
1245
+ function gt(t) {
1246
+ return ft.test(t);
1247
+ }
1248
+ function wt(t, e, n) {
1249
+ const a = bt(t, e, n);
1250
+ if (console.warn(a), mt.includes(t)) throw new RangeError(a);
1251
+ }
1252
+ function bt(t, e, n) {
1253
+ const a = t[0] === "Y" ? "years" : "days of the month";
1254
+ return `Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
1255
+ }
1256
+ const yt = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, xt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, vt = /^'([^]*?)'?$/, Mt = /''/g, kt = /[a-zA-Z]/;
1257
+ function $(t, e, n) {
1258
+ var d, w, k, D;
1259
+ const a = q(), r = a.locale ?? rt, i = a.firstWeekContainsDate ?? ((w = (d = a.locale) == null ? void 0 : d.options) == null ? void 0 : w.firstWeekContainsDate) ?? 1, o = a.weekStartsOn ?? ((D = (k = a.locale) == null ? void 0 : k.options) == null ? void 0 : D.weekStartsOn) ?? 0, s = g(t, n == null ? void 0 : n.in);
1260
+ if (!De(s))
1261
+ throw new RangeError("Invalid time value");
1262
+ let c = e.match(xt).map((h) => {
1263
+ const m = h[0];
1264
+ if (m === "p" || m === "P") {
1265
+ const j = lt[m];
1266
+ return j(h, r.formatLong);
1267
+ }
1268
+ return h;
1269
+ }).join("").match(yt).map((h) => {
1270
+ if (h === "''")
1271
+ return { isToken: !1, value: "'" };
1272
+ const m = h[0];
1273
+ if (m === "'")
1274
+ return { isToken: !1, value: Dt(h) };
1275
+ if (X[m])
1276
+ return { isToken: !0, value: h };
1277
+ if (m.match(kt))
1278
+ throw new RangeError(
1279
+ "Format string contains an unescaped latin alphabet character `" + m + "`"
1280
+ );
1281
+ return { isToken: !1, value: h };
1282
+ });
1283
+ r.localize.preprocessor && (c = r.localize.preprocessor(s, c));
1284
+ const u = {
1285
+ firstWeekContainsDate: i,
1286
+ weekStartsOn: o,
1287
+ locale: r
1288
+ };
1289
+ return c.map((h) => {
1290
+ if (!h.isToken) return h.value;
1291
+ const m = h.value;
1292
+ (gt(m) || ht(m)) && wt(m, e, String(t));
1293
+ const j = X[m[0]];
1294
+ return j(s, m, r.localize, u);
1295
+ }).join("");
1296
+ }
1297
+ function Dt(t) {
1298
+ const e = t.match(vt);
1299
+ return e ? e[1].replace(Mt, "'") : t;
1300
+ }
1301
+ function we(t, e) {
1302
+ const n = () => y(e == null ? void 0 : e.in, NaN), r = Tt(t);
1303
+ let i;
1304
+ if (r.date) {
1305
+ const u = Nt(r.date, 2);
1306
+ i = Wt(u.restDateString, u.year);
1307
+ }
1308
+ if (!i || isNaN(+i)) return n();
1309
+ const o = +i;
1310
+ let s = 0, c;
1311
+ if (r.time && (s = St(r.time), isNaN(s)))
1312
+ return n();
1313
+ if (r.timezone) {
1314
+ if (c = Yt(r.timezone), isNaN(c)) return n();
1315
+ } else {
1316
+ const u = new Date(o + s), d = g(0, e == null ? void 0 : e.in);
1317
+ return d.setFullYear(
1318
+ u.getUTCFullYear(),
1319
+ u.getUTCMonth(),
1320
+ u.getUTCDate()
1321
+ ), d.setHours(
1322
+ u.getUTCHours(),
1323
+ u.getUTCMinutes(),
1324
+ u.getUTCSeconds(),
1325
+ u.getUTCMilliseconds()
1326
+ ), d;
1327
+ }
1328
+ return g(o + s + c, e == null ? void 0 : e.in);
1329
+ }
1330
+ const C = {
1331
+ dateTimeDelimiter: /[T ]/,
1332
+ timeZoneDelimiter: /[Z ]/i,
1333
+ timezone: /([Z+-].*)$/
1334
+ }, pt = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/, Pt = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/, Ot = /^([+-])(\d{2})(?::?(\d{2}))?$/;
1335
+ function Tt(t) {
1336
+ const e = {}, n = t.split(C.dateTimeDelimiter);
1337
+ let a;
1338
+ if (n.length > 2)
1339
+ return e;
1340
+ if (/:/.test(n[0]) ? a = n[0] : (e.date = n[0], a = n[1], C.timeZoneDelimiter.test(e.date) && (e.date = t.split(C.timeZoneDelimiter)[0], a = t.substr(
1341
+ e.date.length,
1342
+ t.length
1343
+ ))), a) {
1344
+ const r = C.timezone.exec(a);
1345
+ r ? (e.time = a.replace(r[1], ""), e.timezone = r[1]) : e.time = a;
1346
+ }
1347
+ return e;
1348
+ }
1349
+ function Nt(t, e) {
1350
+ const n = new RegExp(
1351
+ "^(?:(\\d{4}|[+-]\\d{" + (4 + e) + "})|(\\d{2}|[+-]\\d{" + (2 + e) + "})$)"
1352
+ ), a = t.match(n);
1353
+ if (!a) return { year: NaN, restDateString: "" };
1354
+ const r = a[1] ? parseInt(a[1]) : null, i = a[2] ? parseInt(a[2]) : null;
1355
+ return {
1356
+ year: i === null ? r : i * 100,
1357
+ restDateString: t.slice((a[1] || a[2]).length)
1358
+ };
1359
+ }
1360
+ function Wt(t, e) {
1361
+ if (e === null) return /* @__PURE__ */ new Date(NaN);
1362
+ const n = t.match(pt);
1363
+ if (!n) return /* @__PURE__ */ new Date(NaN);
1364
+ const a = !!n[4], r = T(n[1]), i = T(n[2]) - 1, o = T(n[3]), s = T(n[4]), c = T(n[5]) - 1;
1365
+ if (a)
1366
+ return jt(e, s, c) ? Ct(e, s, c) : /* @__PURE__ */ new Date(NaN);
1367
+ {
1368
+ const u = /* @__PURE__ */ new Date(0);
1369
+ return !Et(e, i, o) || !qt(e, r) ? /* @__PURE__ */ new Date(NaN) : (u.setUTCFullYear(e, i, Math.max(r, o)), u);
1370
+ }
1371
+ }
1372
+ function T(t) {
1373
+ return t ? parseInt(t) : 1;
1374
+ }
1375
+ function St(t) {
1376
+ const e = t.match(Pt);
1377
+ if (!e) return NaN;
1378
+ const n = B(e[1]), a = B(e[2]), r = B(e[3]);
1379
+ return It(n, a, r) ? n * le + a * ce + r * 1e3 : NaN;
1380
+ }
1381
+ function B(t) {
1382
+ return t && parseFloat(t.replace(",", ".")) || 0;
1383
+ }
1384
+ function Yt(t) {
1385
+ if (t === "Z") return 0;
1386
+ const e = t.match(Ot);
1387
+ if (!e) return 0;
1388
+ const n = e[1] === "+" ? -1 : 1, a = parseInt(e[2]), r = e[3] && parseInt(e[3]) || 0;
1389
+ return Ht(a, r) ? n * (a * le + r * ce) : NaN;
1390
+ }
1391
+ function Ct(t, e, n) {
1392
+ const a = /* @__PURE__ */ new Date(0);
1393
+ a.setUTCFullYear(t, 0, 4);
1394
+ const r = a.getUTCDay() || 7, i = (e - 1) * 7 + n + 1 - r;
1395
+ return a.setUTCDate(a.getUTCDate() + i), a;
1396
+ }
1397
+ const Ft = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
1398
+ function be(t) {
1399
+ return t % 400 === 0 || t % 4 === 0 && t % 100 !== 0;
1400
+ }
1401
+ function Et(t, e, n) {
1402
+ return e >= 0 && e <= 11 && n >= 1 && n <= (Ft[e] || (be(t) ? 29 : 28));
1403
+ }
1404
+ function qt(t, e) {
1405
+ return e >= 1 && e <= (be(t) ? 366 : 365);
1406
+ }
1407
+ function jt(t, e, n) {
1408
+ return e >= 1 && e <= 53 && n >= 0 && n <= 6;
1409
+ }
1410
+ function It(t, e, n) {
1411
+ return t === 24 ? e === 0 && n === 0 : n >= 0 && n < 60 && e >= 0 && e < 60 && t >= 0 && t < 25;
1412
+ }
1413
+ function Ht(t, e) {
1414
+ return e >= 0 && e <= 59;
1415
+ }
1416
+ function en({
1417
+ logo: t,
1418
+ title: e,
1419
+ batchName: n = "",
1420
+ adTitle: a,
1421
+ startDate: r,
1422
+ tuition: i,
1423
+ nbCardRequired: o,
1424
+ isLoading: s = !1,
1425
+ regEndDate: c
1426
+ }) {
1427
+ if (s)
1428
+ return /* @__PURE__ */ f(Bt, {});
1429
+ const u = `${_t(r)} · ${Lt(i, o)}`;
1430
+ return /* @__PURE__ */ f(
1431
+ $t,
1432
+ {
1433
+ logo: t,
1434
+ title: `${e} ${n}`,
1435
+ adTitle: a,
1436
+ footerText: u,
1437
+ regEndDate: c
1438
+ }
1439
+ );
1440
+ }
1441
+ function $t({ logo: t, title: e, adTitle: n, footerText: a, regEndDate: r }) {
1442
+ return /* @__PURE__ */ S(F.Col, { className: "relative z-10 h-full w-full items-start justify-between gap-2 overflow-hidden rounded-[10px] border border-grey-200 bg-white p-4 text-grey-800 md:p-5 lg:p-6", children: [
1443
+ /* @__PURE__ */ f(
1444
+ oe,
1445
+ {
1446
+ variant: "ad",
1447
+ style: {
1448
+ background: W.event.background,
1449
+ color: W.event.color
1450
+ },
1451
+ children: r ? Rt(r) : W.event.value.toUpperCase()
1452
+ }
1453
+ ),
1454
+ /* @__PURE__ */ f(se, { src: t, alt: `${e} 로고`, className: "h-4 object-contain" }),
1455
+ /* @__PURE__ */ S(F.Col, { className: "w-full gap-2", children: [
1456
+ /* @__PURE__ */ f("h3", { className: "line-clamp-2 h-auto text-regular14 md:text-regular16 lg:h-12", title: e, children: e }),
1457
+ /* @__PURE__ */ f("p", { className: "line-clamp-2 h-auto w-full break-keep rounded bg-grey-100 px-2 py-1 text-[13px] font-semibold text-grey-600 md:h-[54px] md:text-[15px] md:text-grey-800", children: n }),
1458
+ /* @__PURE__ */ f(N, { className: "text-[13px] leading-[19px] text-grey-600", children: a })
1459
+ ] })
1460
+ ] });
1461
+ }
1462
+ function Bt() {
1463
+ return /* @__PURE__ */ S(
1464
+ p,
1465
+ {
1466
+ type: "background",
1467
+ className: "relative z-10 flex h-full w-full flex-col justify-between gap-2 overflow-hidden rounded-[10px] p-4 md:p-5 lg:p-6",
1468
+ children: [
1469
+ /* @__PURE__ */ f(
1470
+ oe,
1471
+ {
1472
+ variant: "ad",
1473
+ style: {
1474
+ background: W.event.background,
1475
+ color: W.event.color
1476
+ },
1477
+ className: ie("h-7 w-20 animate-pulse"),
1478
+ children: ""
1479
+ }
1480
+ ),
1481
+ /* @__PURE__ */ f(p, { className: "h-4 w-1/2" }),
1482
+ /* @__PURE__ */ S(F.Col, { className: "gap-2", children: [
1483
+ /* @__PURE__ */ f(N, { className: "h-10 w-full", children: /* @__PURE__ */ f(p, { className: "h-5 w-4/5" }) }),
1484
+ /* @__PURE__ */ f(p, { className: "h-8 w-full" })
1485
+ ] }),
1486
+ /* @__PURE__ */ f(p, { className: "mt-2 h-4 w-2/3" })
1487
+ ]
1488
+ }
1489
+ );
1490
+ }
1491
+ const _t = (t) => {
1492
+ if (!t) return "";
1493
+ const e = we(t), n = $(e, "MM/dd");
1494
+ return n.includes("98") ? `${$(e, "MM")}월중 개강` : n.includes("99") ? `${$(e, "MM")}월중(예상) 개강` : `${n} 개강`;
1495
+ }, Lt = (t, e) => {
1496
+ const n = e ? "(내배카💳)" : "";
1497
+ return t === 0 || t === void 0 ? `무료 ${n}` : `유료 ${n}`;
1498
+ }, Rt = (t) => {
1499
+ const e = pe(we(t), /* @__PURE__ */ new Date());
1500
+ return e <= 0 ? "마감임박" : `D-${e}`;
1501
+ }, Qt = {
1502
+ homepage: { label: "홈페이지", value: "homepage", query: !1 },
1503
+ boottent: { label: "자세히보기", value: "boottent", query: !1 },
1504
+ curriculum: {
1505
+ label: "커리큘럼 보기",
1506
+ value: "curriculum",
1507
+ query: "curriculum"
1508
+ },
1509
+ event: { label: "이벤트", value: "event", query: "event" },
1510
+ reviews: { label: "후기보기", value: "reviews", query: "reviews" }
1511
+ };
1512
+ function tn({
1513
+ adKey: t,
1514
+ filename: e,
1515
+ title: n,
1516
+ backgroundColor: a,
1517
+ hideButton: r = !1,
1518
+ buttonColors: i,
1519
+ linkType: o = "homepage"
1520
+ }) {
1521
+ var d;
1522
+ const s = t && e, c = `https://cdn.sayun.studio/boottent/images/banners/${t}/${e}`, u = {
1523
+ background: i ? i.button : I.button,
1524
+ color: i ? i.buttonText : I.buttonText,
1525
+ border: i ? i.button : I.button
1526
+ };
1527
+ return /* @__PURE__ */ S(
1528
+ N,
1529
+ {
1530
+ style: {
1531
+ backgroundColor: a
1532
+ },
1533
+ className: "relative flex h-40 w-full items-start justify-center overflow-hidden border-y border-y-grey-200 pb-6 md:h-[200px] md:pb-0 md:pt-10 lg:pt-6",
1534
+ children: [
1535
+ /* @__PURE__ */ f(F.Row, { className: "flex h-full w-full max-w-screen-xl items-center justify-center px-0 md:h-auto md:px-6 lg:px-10", children: s ? /* @__PURE__ */ f(se, { loading: "lazy", src: c, alt: `${n} 이미지`, className: "h-full w-full object-contain" }) : /* @__PURE__ */ f(N, { className: "h-full w-full bg-grey-100 text-muted", children: n }) }),
1536
+ !r && /* @__PURE__ */ f(N, { className: "absolute inset-0 mx-auto max-w-screen-xl px-4 md:px-6 lg:px-10", children: /* @__PURE__ */ f(
1537
+ ye,
1538
+ {
1539
+ style: u,
1540
+ theme: "etc",
1541
+ variant: "solid",
1542
+ className: "absolute bottom-4 right-4 w-24 md:bottom-6 md:right-6 md:w-32 lg:bottom-4 lg:right-10",
1543
+ children: ((d = Qt[o]) == null ? void 0 : d.label) + " →" || "홈페이지 →"
1544
+ }
1545
+ ) })
1546
+ ]
1547
+ }
1548
+ );
1549
+ }
1550
+ const { grey: V, main: z, green: J, red: Z, orange: K, lime: ee, brown: te, blue: ne, pink: ae, teal: re } = b;
1551
+ V[500], V[50], z[600], z[50], J[500], J[50], Z[400], Z[50], K[500], K[50], ne[500], ne[100], ae[500], ae[50], re[500], re[50], te[500], te[50], ee[500], ee[50];
1552
+ export {
1553
+ $t as ContentsCard,
1554
+ en as EventCard,
1555
+ Bt as LoadingCard,
1556
+ tn as MainBannerImage
1557
+ };