@purpurds/countdown 8.12.2 → 8.13.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.
@@ -1,45 +1,45 @@
1
- import { jsx as p, jsxs as j, Fragment as L } from "react/jsx-runtime";
1
+ import { jsx as i, jsxs as j, Fragment as T } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
- import { useRef as U, useState as S, useCallback as X, useEffect as R, forwardRef as Y, useId as rr } from "react";
3
+ import { forwardRef as Y, useId as k, useState as rr, useMemo as A, useEffect as nr } from "react";
4
4
  import "react-dom";
5
- function nr(r) {
6
- return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
5
+ function tr(n) {
6
+ return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
7
7
  }
8
- var T = { exports: {} }, M;
9
- function tr() {
10
- return M || (M = 1, (function(r) {
8
+ var I = { exports: {} }, V;
9
+ function er() {
10
+ return V || (V = 1, (function(n) {
11
11
  (function() {
12
- var e = {}.hasOwnProperty;
12
+ var u = {}.hasOwnProperty;
13
13
  function t() {
14
- for (var n = "", a = 0; a < arguments.length; a++) {
15
- var i = arguments[a];
16
- i && (n = u(n, o.call(this, i)));
14
+ for (var r = "", e = 0; e < arguments.length; e++) {
15
+ var p = arguments[e];
16
+ p && (r = a(r, o.call(this, p)));
17
17
  }
18
- return n;
18
+ return r;
19
19
  }
20
- function o(n) {
21
- if (typeof n == "string" || typeof n == "number")
22
- return this && this[n] || n;
23
- if (typeof n != "object")
20
+ function o(r) {
21
+ if (typeof r == "string" || typeof r == "number")
22
+ return this && this[r] || r;
23
+ if (typeof r != "object")
24
24
  return "";
25
- if (Array.isArray(n))
26
- return t.apply(this, n);
27
- if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]"))
28
- return n.toString();
29
- var a = "";
30
- for (var i in n)
31
- e.call(n, i) && n[i] && (a = u(a, this && this[i] || i));
32
- return a;
25
+ if (Array.isArray(r))
26
+ return t.apply(this, r);
27
+ if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
28
+ return r.toString();
29
+ var e = "";
30
+ for (var p in r)
31
+ u.call(r, p) && r[p] && (e = a(e, this && this[p] || p));
32
+ return e;
33
33
  }
34
- function u(n, a) {
35
- return a ? n ? n + " " + a : n + a : n;
34
+ function a(r, e) {
35
+ return e ? r ? r + " " + e : r + e : r;
36
36
  }
37
- r.exports ? (t.default = t, r.exports = t) : window.classNames = t;
37
+ n.exports ? (t.default = t, n.exports = t) : window.classNames = t;
38
38
  })();
39
- })(T)), T.exports;
39
+ })(I)), I.exports;
40
40
  }
41
- var er = tr();
42
- const ar = /* @__PURE__ */ nr(er), ur = {
41
+ var ur = er();
42
+ const ar = /* @__PURE__ */ tr(ur), or = {
43
43
  "purpur-paragraph": "_purpur-paragraph_1vz75_1",
44
44
  "purpur-paragraph--disabled": "_purpur-paragraph--disabled_1vz75_7",
45
45
  "purpur-paragraph--hyphens": "_purpur-paragraph--hyphens_1vz75_10",
@@ -55,89 +55,89 @@ const ar = /* @__PURE__ */ nr(er), ur = {
55
55
  "purpur-paragraph--additional-100-bold": "_purpur-paragraph--additional-100-bold_1vz75_67",
56
56
  "purpur-paragraph--overline-100": "_purpur-paragraph--overline-100_1vz75_74",
57
57
  "purpur-paragraph--overline-200": "_purpur-paragraph--overline-200_1vz75_82"
58
- }, or = ar.bind(ur), ir = {
58
+ }, pr = ar.bind(or), ir = {
59
59
  PARAGRAPH100: "paragraph-100"
60
- }, $ = "purpur-paragraph", z = ({
61
- children: r,
62
- className: e,
60
+ }, y = "purpur-paragraph", x = ({
61
+ children: n,
62
+ className: u,
63
63
  disabled: t,
64
64
  enableHyphenation: o = !1,
65
- negative: u = !1,
66
- variant: n = ir.PARAGRAPH100,
67
- ...a
65
+ negative: a = !1,
66
+ variant: r = ir.PARAGRAPH100,
67
+ ...e
68
68
  }) => {
69
- const i = or(e, $, `${$}--${n}`, {
70
- [`${$}--hyphens`]: o,
71
- [`${$}--disabled`]: t,
72
- [`${$}--negative`]: u
69
+ const p = pr(u, y, `${y}--${r}`, {
70
+ [`${y}--hyphens`]: o,
71
+ [`${y}--disabled`]: t,
72
+ [`${y}--negative`]: a
73
73
  });
74
- return /* @__PURE__ */ p("p", { ...a, className: i, children: r });
74
+ return /* @__PURE__ */ i("p", { ...e, className: p, children: n });
75
75
  };
76
- z.displayName = "Paragraph";
77
- function E(r, e) {
78
- if (typeof r == "function")
79
- return r(e);
80
- r != null && (r.current = e);
76
+ x.displayName = "Paragraph";
77
+ function W(n, u) {
78
+ if (typeof n == "function")
79
+ return n(u);
80
+ n != null && (n.current = u);
81
81
  }
82
- function pr(...r) {
83
- return (e) => {
82
+ function sr(...n) {
83
+ return (u) => {
84
84
  let t = !1;
85
- const o = r.map((u) => {
86
- const n = E(u, e);
87
- return !t && typeof n == "function" && (t = !0), n;
85
+ const o = n.map((a) => {
86
+ const r = W(a, u);
87
+ return !t && typeof r == "function" && (t = !0), r;
88
88
  });
89
89
  if (t)
90
90
  return () => {
91
- for (let u = 0; u < o.length; u++) {
92
- const n = o[u];
93
- typeof n == "function" ? n() : E(r[u], null);
91
+ for (let a = 0; a < o.length; a++) {
92
+ const r = o[a];
93
+ typeof r == "function" ? r() : W(n[a], null);
94
94
  }
95
95
  };
96
96
  };
97
97
  }
98
98
  // @__NO_SIDE_EFFECTS__
99
- function sr(r) {
100
- const e = /* @__PURE__ */ cr(r), t = s.forwardRef((o, u) => {
101
- const { children: n, ...a } = o, i = s.Children.toArray(n), l = i.find(dr);
99
+ function cr(n) {
100
+ const u = /* @__PURE__ */ lr(n), t = s.forwardRef((o, a) => {
101
+ const { children: r, ...e } = o, p = s.Children.toArray(r), l = p.find(_r);
102
102
  if (l) {
103
- const h = l.props.children, b = i.map((d) => d === l ? s.Children.count(h) > 1 ? s.Children.only(null) : s.isValidElement(h) ? h.props.children : null : d);
104
- return /* @__PURE__ */ p(e, { ...a, ref: u, children: s.isValidElement(h) ? s.cloneElement(h, void 0, b) : null });
103
+ const c = l.props.children, v = p.map(($) => $ === l ? s.Children.count(c) > 1 ? s.Children.only(null) : s.isValidElement(c) ? c.props.children : null : $);
104
+ return /* @__PURE__ */ i(u, { ...e, ref: a, children: s.isValidElement(c) ? s.cloneElement(c, void 0, v) : null });
105
105
  }
106
- return /* @__PURE__ */ p(e, { ...a, ref: u, children: n });
106
+ return /* @__PURE__ */ i(u, { ...e, ref: a, children: r });
107
107
  });
108
- return t.displayName = `${r}.Slot`, t;
108
+ return t.displayName = `${n}.Slot`, t;
109
109
  }
110
110
  // @__NO_SIDE_EFFECTS__
111
- function cr(r) {
112
- const e = s.forwardRef((t, o) => {
113
- const { children: u, ...n } = t;
114
- if (s.isValidElement(u)) {
115
- const a = hr(u), i = _r(n, u.props);
116
- return u.type !== s.Fragment && (i.ref = o ? pr(o, a) : a), s.cloneElement(u, i);
111
+ function lr(n) {
112
+ const u = s.forwardRef((t, o) => {
113
+ const { children: a, ...r } = t;
114
+ if (s.isValidElement(a)) {
115
+ const e = fr(a), p = hr(r, a.props);
116
+ return a.type !== s.Fragment && (p.ref = o ? sr(o, e) : e), s.cloneElement(a, p);
117
117
  }
118
- return s.Children.count(u) > 1 ? s.Children.only(null) : null;
118
+ return s.Children.count(a) > 1 ? s.Children.only(null) : null;
119
119
  });
120
- return e.displayName = `${r}.SlotClone`, e;
120
+ return u.displayName = `${n}.SlotClone`, u;
121
121
  }
122
- var lr = Symbol("radix.slottable");
123
- function dr(r) {
124
- return s.isValidElement(r) && typeof r.type == "function" && "__radixId" in r.type && r.type.__radixId === lr;
122
+ var dr = Symbol("radix.slottable");
123
+ function _r(n) {
124
+ return s.isValidElement(n) && typeof n.type == "function" && "__radixId" in n.type && n.type.__radixId === dr;
125
125
  }
126
- function _r(r, e) {
127
- const t = { ...e };
128
- for (const o in e) {
129
- const u = r[o], n = e[o];
130
- /^on[A-Z]/.test(o) ? u && n ? t[o] = (...a) => {
131
- n(...a), u(...a);
132
- } : u && (t[o] = u) : o === "style" ? t[o] = { ...u, ...n } : o === "className" && (t[o] = [u, n].filter(Boolean).join(" "));
126
+ function hr(n, u) {
127
+ const t = { ...u };
128
+ for (const o in u) {
129
+ const a = n[o], r = u[o];
130
+ /^on[A-Z]/.test(o) ? a && r ? t[o] = (...e) => {
131
+ r(...e), a(...e);
132
+ } : a && (t[o] = a) : o === "style" ? t[o] = { ...a, ...r } : o === "className" && (t[o] = [a, r].filter(Boolean).join(" "));
133
133
  }
134
- return { ...r, ...t };
134
+ return { ...n, ...t };
135
135
  }
136
- function hr(r) {
137
- let e = Object.getOwnPropertyDescriptor(r.props, "ref")?.get, t = e && "isReactWarning" in e && e.isReactWarning;
138
- return t ? r.ref : (e = Object.getOwnPropertyDescriptor(r, "ref")?.get, t = e && "isReactWarning" in e && e.isReactWarning, t ? r.props.ref : r.props.ref || r.ref);
136
+ function fr(n) {
137
+ let u = Object.getOwnPropertyDescriptor(n.props, "ref")?.get, t = u && "isReactWarning" in u && u.isReactWarning;
138
+ return t ? n.ref : (u = Object.getOwnPropertyDescriptor(n, "ref")?.get, t = u && "isReactWarning" in u && u.isReactWarning, t ? n.props.ref : n.props.ref || n.ref);
139
139
  }
140
- var fr = [
140
+ var mr = [
141
141
  "a",
142
142
  "button",
143
143
  "div",
@@ -154,18 +154,18 @@ var fr = [
154
154
  "span",
155
155
  "svg",
156
156
  "ul"
157
- ], mr = fr.reduce((r, e) => {
158
- const t = /* @__PURE__ */ sr(`Primitive.${e}`), o = s.forwardRef((u, n) => {
159
- const { asChild: a, ...i } = u, l = a ? t : e;
160
- return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ p(l, { ...i, ref: n });
157
+ ], br = mr.reduce((n, u) => {
158
+ const t = /* @__PURE__ */ cr(`Primitive.${u}`), o = s.forwardRef((a, r) => {
159
+ const { asChild: e, ...p } = a, l = e ? t : u;
160
+ return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ i(l, { ...p, ref: r });
161
161
  });
162
- return o.displayName = `Primitive.${e}`, { ...r, [e]: o };
163
- }, {}), gr = "VisuallyHidden", V = s.forwardRef(
164
- (r, e) => /* @__PURE__ */ p(
165
- mr.span,
162
+ return o.displayName = `Primitive.${u}`, { ...n, [u]: o };
163
+ }, {}), gr = "VisuallyHidden", B = s.forwardRef(
164
+ (n, u) => /* @__PURE__ */ i(
165
+ br.span,
166
166
  {
167
- ...r,
168
- ref: e,
167
+ ...n,
168
+ ref: u,
169
169
  style: {
170
170
  // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
171
171
  position: "absolute",
@@ -178,53 +178,53 @@ var fr = [
178
178
  clip: "rect(0, 0, 0, 0)",
179
179
  whiteSpace: "nowrap",
180
180
  wordWrap: "normal",
181
- ...r.style
181
+ ...n.style
182
182
  }
183
183
  }
184
184
  )
185
185
  );
186
- V.displayName = gr;
187
- var yr = V;
188
- const wr = ({ asChild: r, children: e, ...t }) => /* @__PURE__ */ p(yr, { asChild: r, ...t, children: e });
189
- function br(r) {
190
- return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
186
+ B.displayName = gr;
187
+ var wr = B;
188
+ const yr = ({ asChild: n, children: u, ...t }) => /* @__PURE__ */ i(wr, { asChild: n, ...t, children: u });
189
+ function vr(n) {
190
+ return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
191
191
  }
192
192
  var P = { exports: {} };
193
- var D;
194
- function vr() {
195
- return D || (D = 1, (function(r) {
193
+ var H;
194
+ function $r() {
195
+ return H || (H = 1, (function(n) {
196
196
  (function() {
197
- var e = {}.hasOwnProperty;
197
+ var u = {}.hasOwnProperty;
198
198
  function t() {
199
- for (var n = "", a = 0; a < arguments.length; a++) {
200
- var i = arguments[a];
201
- i && (n = u(n, o.call(this, i)));
199
+ for (var r = "", e = 0; e < arguments.length; e++) {
200
+ var p = arguments[e];
201
+ p && (r = a(r, o.call(this, p)));
202
202
  }
203
- return n;
203
+ return r;
204
204
  }
205
- function o(n) {
206
- if (typeof n == "string" || typeof n == "number")
207
- return this && this[n] || n;
208
- if (typeof n != "object")
205
+ function o(r) {
206
+ if (typeof r == "string" || typeof r == "number")
207
+ return this && this[r] || r;
208
+ if (typeof r != "object")
209
209
  return "";
210
- if (Array.isArray(n))
211
- return t.apply(this, n);
212
- if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]"))
213
- return n.toString();
214
- var a = "";
215
- for (var i in n)
216
- e.call(n, i) && n[i] && (a = u(a, this && this[i] || i));
217
- return a;
210
+ if (Array.isArray(r))
211
+ return t.apply(this, r);
212
+ if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
213
+ return r.toString();
214
+ var e = "";
215
+ for (var p in r)
216
+ u.call(r, p) && r[p] && (e = a(e, this && this[p] || p));
217
+ return e;
218
218
  }
219
- function u(n, a) {
220
- return a ? n ? n + " " + a : n + a : n;
219
+ function a(r, e) {
220
+ return e ? r ? r + " " + e : r + e : r;
221
221
  }
222
- r.exports ? (t.default = t, r.exports = t) : window.classNames = t;
222
+ n.exports ? (t.default = t, n.exports = t) : window.classNames = t;
223
223
  })();
224
224
  })(P)), P.exports;
225
225
  }
226
- var $r = vr();
227
- const W = /* @__PURE__ */ br($r), zr = {
226
+ var Nr = $r();
227
+ const G = /* @__PURE__ */ vr(Nr), zr = {
228
228
  "purpur-countdown--size-md": "_purpur-countdown--size-md_ytnsp_1",
229
229
  "purpur-countdown--size-lg": "_purpur-countdown--size-lg_ytnsp_5",
230
230
  "purpur-countdown--use-container-queries": "_purpur-countdown--use-container-queries_ytnsp_10",
@@ -237,139 +237,157 @@ const W = /* @__PURE__ */ br($r), zr = {
237
237
  "purpur-countdown--negative": "_purpur-countdown--negative_ytnsp_46",
238
238
  "purpur-countdown--show-days": "_purpur-countdown--show-days_ytnsp_56",
239
239
  "purpur-countdown__label": "_purpur-countdown__label_ytnsp_72"
240
- }, Nr = {
241
- "purpur-countdown-counter": "_purpur-countdown-counter_19zid_1",
242
- "purpur-countdown-counter__number--size-lg": "_purpur-countdown-counter__number--size-lg_19zid_11",
243
- "purpur-countdown-counter__number--size-md": "_purpur-countdown-counter__number--size-md_19zid_17",
244
- "purpur-countdown-counter__number": "_purpur-countdown-counter__number_19zid_11",
245
- "tick-animation": "_tick-animation_19zid_1",
246
- "tick-animation-pseudo": "_tick-animation-pseudo_19zid_1",
247
- "purpur-countdown-counter__label": "_purpur-countdown-counter__label_19zid_44",
248
- "purpur-countdown-counter__label--abbr": "_purpur-countdown-counter__label--abbr_19zid_51",
249
- "purpur-countdown-counter__label--full": "_purpur-countdown-counter__label--full_19zid_54"
250
- };
251
- function k(r) {
252
- const e = (/* @__PURE__ */ new Date()).getTime(), t = Math.abs(r - e);
253
- let o = 0, u = 0, n = 0, a = 0;
254
- return t >= c.day && (a = Math.floor(t / c.day)), t >= c.hour && (n = Math.floor(t % c.day / c.hour)), t >= c.minute && (u = Math.floor(t % c.hour / c.minute)), t >= c.second && (o = Math.floor(t % c.minute / c.second)), {
255
- seconds: o,
256
- minutes: u,
257
- hours: n,
258
- days: a
240
+ }, Sr = {
241
+ "purpur-countdown-counter": "_purpur-countdown-counter_23fbu_1",
242
+ "purpur-countdown-counter--size-lg": "_purpur-countdown-counter--size-lg_23fbu_10",
243
+ "purpur-countdown-counter__number": "_purpur-countdown-counter__number_23fbu_15",
244
+ "purpur-countdown-counter--size-md": "_purpur-countdown-counter--size-md_23fbu_21",
245
+ "purpur-countdown-counter__number-list-container": "_purpur-countdown-counter__number-list-container_23fbu_35",
246
+ "purpur-countdown-counter__number-list": "_purpur-countdown-counter__number-list_23fbu_35",
247
+ "purpur-countdown-counter__number--selected": "_purpur-countdown-counter__number--selected_23fbu_61",
248
+ "purpur-countdown-counter__label": "_purpur-countdown-counter__label_23fbu_64",
249
+ "purpur-countdown-counter__label--abbr": "_purpur-countdown-counter__label--abbr_23fbu_71",
250
+ "purpur-countdown-counter__label--full": "_purpur-countdown-counter__label--full_23fbu_74"
251
+ }, b = G.bind(Sr), d = "purpur-countdown-counter", z = ({ tag: n, size: u, numbers: t, counterLabels: o }) => {
252
+ const a = () => {
253
+ const r = o[n], e = o[`${n}Abbr`];
254
+ return /* @__PURE__ */ j(T, { children: [
255
+ e && /* @__PURE__ */ i(x, { className: b(`${d}__label`, `${d}__label--abbr`), children: /* @__PURE__ */ i("abbr", { title: r, children: e }) }),
256
+ /* @__PURE__ */ i(
257
+ x,
258
+ {
259
+ className: b(`${d}__label`, {
260
+ [`${d}__label--full`]: !!e
261
+ }),
262
+ children: r
263
+ }
264
+ )
265
+ ] });
259
266
  };
260
- }
261
- function xr(r, e) {
262
- let t = 0;
263
- return e === "seconds" && (t = r - 1 >= 0 ? r - 1 : 59), e === "minutes" && (t = r - 1 >= 0 ? r - 1 : 59), e === "hours" && (t = r - 1 >= 0 ? r - 1 : 23), e === "days" && (t = r - 1 >= 0 ? r - 1 : 0), t;
264
- }
265
- const c = {
266
- day: 1440 * 60 * 1e3,
267
- hour: 3600 * 1e3,
268
- minute: 60 * 1e3,
269
- second: 1e3
270
- }, x = W.bind(Nr), m = "purpur-countdown-counter", q = /* @__PURE__ */ new Map(), C = ({ tag: r, size: e, end: t, counterLabels: o }) => {
271
- const u = U(null), n = `${r}-interval`, [a, i] = S(0), [l, h] = S(0), [b, d] = S(0), g = X(() => {
272
- const y = k(t), A = xr(y[r], r);
273
- h(A), i(y[r]);
274
- }, [t, r]);
275
- R(() => {
276
- g();
277
- }, []), R(() => (q.set(n, setInterval(g, c.second)), () => clearInterval(q.get(n))), [g, n]), R(() => {
278
- d((y) => y + 1);
279
- }, [a]);
280
- const N = o[r], f = o[`${r}Abbr`];
281
267
  return /* @__PURE__ */ j(
282
268
  "div",
283
269
  {
284
- className: x(m),
270
+ className: b(d, `${d}--size-${u}`),
285
271
  role: "group",
286
272
  "aria-hidden": "true",
287
- "data-testid": `counter-${r}`,
273
+ "data-testid": `counter-${n}`,
288
274
  children: [
289
- /* @__PURE__ */ p(
290
- z,
275
+ /* @__PURE__ */ i("div", { className: b(`${d}__number-list-container`), children: t.map((r, e) => /* @__PURE__ */ i(
276
+ "ul",
291
277
  {
292
- className: x(`${m}__number`, `${m}__number--size-${e}`),
293
- ref: u,
294
- "data-tick": l,
295
- children: a
278
+ className: b(`${d}__number-list`),
279
+ style: {
280
+ "--offset": r
281
+ },
282
+ children: jr.map((p, l) => {
283
+ const c = p === r;
284
+ return /* @__PURE__ */ i(
285
+ "li",
286
+ {
287
+ className: b(`${d}__number`, {
288
+ [`${d}__number--selected`]: c
289
+ }),
290
+ children: p
291
+ },
292
+ l
293
+ );
294
+ })
296
295
  },
297
- b
298
- ),
299
- f && /* @__PURE__ */ p(z, { className: x(`${m}__label`, `${m}__label--abbr`), children: /* @__PURE__ */ p("abbr", { title: N, children: f }) }),
300
- /* @__PURE__ */ p(
301
- z,
302
- {
303
- className: x(`${m}__label`, {
304
- [`${m}__label--full`]: !!f
305
- }),
306
- children: N
307
- }
308
- )
296
+ e
297
+ )) }),
298
+ a()
309
299
  ]
310
300
  }
311
301
  );
312
- }, O = W.bind(zr), _ = "purpur-countdown", I = /* @__PURE__ */ new Date(), Cr = Y(
313
- ({ renderAfterEnd: r, renderBeforeStart: e, ...t }, o) => {
314
- const u = rr(), {
315
- size: n = "lg",
316
- fullWidth: a = !1,
317
- negative: i = !1,
318
- showDays: l = !0,
319
- variant: h = "primary",
320
- className: b,
321
- counterLabels: d,
322
- useMediaQueries: g = !1
323
- } = t, N = new Date(t.starttime).getTime(), f = new Date(t.endtime).getTime(), y = N > I.getTime(), A = f < I.getTime();
324
- if (y) return e ? e(t) : null;
325
- if (A) return r ? r(t) : null;
326
- const H = () => {
327
- const w = { size: n, end: f, counterLabels: d };
328
- return /* @__PURE__ */ j(L, { children: [
329
- l && /* @__PURE__ */ p(C, { tag: "days", ...w }),
330
- /* @__PURE__ */ p(C, { tag: "hours", ...w }),
331
- /* @__PURE__ */ p(C, { tag: "minutes", ...w }),
332
- /* @__PURE__ */ p(C, { tag: "seconds", ...w })
302
+ }, jr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
303
+ function xr(n) {
304
+ const u = (/* @__PURE__ */ new Date()).getTime(), t = Math.max(0, n - u), o = Math.floor(t / f.day), a = Math.floor(t % f.day / f.hour), r = Math.floor(t % f.hour / f.minute), e = Math.floor(t % f.minute / f.second), p = S(o), l = S(a), c = S(r);
305
+ return {
306
+ seconds: S(e),
307
+ minutes: c,
308
+ hours: l,
309
+ days: p
310
+ };
311
+ }
312
+ const f = {
313
+ second: 1e3,
314
+ minute: 60 * 1e3,
315
+ hour: 3600 * 1e3,
316
+ day: 1440 * 60 * 1e3
317
+ };
318
+ function F(n) {
319
+ return n instanceof Date ? n : new Date(n);
320
+ }
321
+ function S(n) {
322
+ return String(n).padStart(2, "0").split("");
323
+ }
324
+ const R = G.bind(zr), _ = "purpur-countdown", Cr = Y(
325
+ ({ renderAfterEnd: n, renderBeforeStart: u, ...t }, o) => {
326
+ const a = /* @__PURE__ */ new Date(), r = k(), {
327
+ size: e = "lg",
328
+ fullWidth: p = !1,
329
+ negative: l = !1,
330
+ showDays: c = !0,
331
+ variant: v = "primary",
332
+ className: $,
333
+ counterLabels: g,
334
+ useMediaQueries: O = !1
335
+ } = t, [m, L] = rr(a), C = A(() => F(t.starttime), [t.starttime]), N = A(() => F(t.endtime), [t.endtime]), { days: D, hours: E, minutes: M, seconds: q } = A(() => xr(N.getTime()), [m]);
336
+ nr(() => {
337
+ if (m < C || m > N) return;
338
+ const h = setInterval(() => L(/* @__PURE__ */ new Date()), 1e3);
339
+ return () => clearInterval(h);
340
+ }, [C, N, m]);
341
+ const Q = C > m, Z = N < m;
342
+ if (Q) return u ? u(t) : null;
343
+ if (Z) return n ? n(t) : null;
344
+ const J = () => {
345
+ const h = { size: e, counterLabels: g };
346
+ return /* @__PURE__ */ j(T, { children: [
347
+ c && /* @__PURE__ */ i(z, { numbers: D, tag: "days", ...h }),
348
+ /* @__PURE__ */ i(z, { numbers: E, tag: "hours", ...h }),
349
+ /* @__PURE__ */ i(z, { numbers: M, tag: "minutes", ...h }),
350
+ /* @__PURE__ */ i(z, { numbers: q, tag: "seconds", ...h })
333
351
  ] });
334
- }, F = () => {
335
- const w = () => {
336
- const { days: K, hours: Q, minutes: Z, seconds: J } = k(f), v = [];
337
- return l && v.push(`${K} ${d.days}`), v.push(`${Q} ${d.hours}`), v.push(`${Z} ${d.minutes}`), v.push(`${J} ${d.seconds}`), v.join(", ");
352
+ }, K = () => {
353
+ const h = () => {
354
+ const w = [];
355
+ return c && w.push(`${D.join("")} ${g.days}`), w.push(`${E.join("")} ${g.hours}`), w.push(`${M.join("")} ${g.minutes}`), w.push(`${q.join("")} ${g.seconds}`), w.join(", ");
338
356
  };
339
- return /* @__PURE__ */ p(
340
- wr,
357
+ return /* @__PURE__ */ i(
358
+ yr,
341
359
  {
342
360
  "data-testid": "live-region",
343
361
  "aria-live": "polite",
344
362
  "aria-label": t["aria-label"],
345
- children: w()
363
+ children: h()
346
364
  }
347
365
  );
348
- }, B = H(), G = O(
366
+ }, U = J(), X = R(
349
367
  _,
350
- `${_}--size-${n}`,
351
- `${_}--variant-${h}`,
368
+ `${_}--size-${e}`,
369
+ `${_}--variant-${v}`,
352
370
  {
353
- [`${_}--full-width`]: a,
354
- [`${_}--negative`]: i,
355
- [`${_}--show-days`]: l,
356
- [`${_}--use-media-queries`]: g,
357
- [`${_}--use-container-queries`]: !g
371
+ [`${_}--full-width`]: p,
372
+ [`${_}--negative`]: l,
373
+ [`${_}--show-days`]: c,
374
+ [`${_}--use-media-queries`]: O,
375
+ [`${_}--use-container-queries`]: !O
358
376
  },
359
- b
377
+ $
360
378
  );
361
379
  return /* @__PURE__ */ j(
362
380
  "section",
363
381
  {
364
- id: u,
365
- className: G,
382
+ id: r,
383
+ className: X,
366
384
  ref: o,
367
385
  role: "timer",
368
386
  "data-testid": t["data-testid"],
369
387
  children: [
370
- F(),
371
- t.label && /* @__PURE__ */ p(z, { className: O(`${_}__label`), variant: "paragraph-100-medium", children: t.label }),
372
- /* @__PURE__ */ p("div", { className: O(`${_}__counter-container`), children: B })
388
+ K(),
389
+ t.label && /* @__PURE__ */ i(x, { className: R(`${_}__label`), variant: "paragraph-100-medium", children: t.label }),
390
+ /* @__PURE__ */ i("div", { className: R(`${_}__counter-container`), children: U })
373
391
  ]
374
392
  }
375
393
  );