@danxbot/ui 8.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/index.js +11215 -11735
  2. package/dist/index.js.map +1 -1
  3. package/dist/pure.js +110 -172
  4. package/dist/pure.js.map +1 -1
  5. package/dist/styles.css +1 -1
  6. package/dist/types/components/Badge.d.ts +1 -1
  7. package/dist/types/components/Callout.d.ts +1 -1
  8. package/dist/types/components/Combobox.d.ts +0 -27
  9. package/dist/types/components/Dialog.d.ts +3 -3
  10. package/dist/types/components/Menu.d.ts +10 -45
  11. package/dist/types/components/ReadMore.d.ts +0 -50
  12. package/dist/types/components/Table.d.ts +4 -0
  13. package/dist/types/components/calendar/format.d.ts +1 -3
  14. package/dist/types/components/chat/Message.d.ts +1 -9
  15. package/dist/types/components/chat/types.d.ts +0 -1
  16. package/dist/types/components/overlay-shell.d.ts +18 -0
  17. package/dist/types/components/rbac/RBACProvider.d.ts +5 -0
  18. package/dist/types/components/roadmap/OrderedEntityManager.d.ts +41 -0
  19. package/dist/types/index.d.ts +10 -13
  20. package/dist/types/lib/icons.d.ts +13 -24
  21. package/dist/types/lib/pad.d.ts +6 -0
  22. package/dist/types/lib/syntax/markdown/index.d.ts +1 -1
  23. package/dist/types/lib/syntax/markdown/parse.d.ts +4 -0
  24. package/dist/types/lib/values/absent.d.ts +7 -0
  25. package/dist/types/lib/values/currency.d.ts +1 -1
  26. package/dist/types/lib/values/index.d.ts +0 -3
  27. package/dist/types/pure.d.ts +1 -1
  28. package/package.json +1 -1
  29. package/dist/types/components/InfiniteScroller.d.ts +0 -34
  30. package/dist/types/components/PhoneField.d.ts +0 -17
  31. package/dist/types/components/calendar/index.d.ts +0 -9
  32. package/dist/types/lib/use-debounced-value.d.ts +0 -22
  33. package/dist/types/lib/values/email.d.ts +0 -12
  34. package/dist/types/lib/values/phone.d.ts +0 -68
  35. package/dist/types/lib/values/url.d.ts +0 -6
package/dist/pure.js CHANGED
@@ -1,4 +1,4 @@
1
- function q(t) {
1
+ function P(t) {
2
2
  if (!Number.isFinite(t) || t < 0) return "";
3
3
  if (t < 1024) return `${t} B`;
4
4
  const n = ["KB", "MB", "GB", "TB"];
@@ -7,10 +7,10 @@ function q(t) {
7
7
  e /= 1024, r += 1;
8
8
  return `${e < 10 ? e.toFixed(1) : Math.round(e)} ${n[r]}`;
9
9
  }
10
- function Q(t) {
11
- return E(t);
10
+ function H(t) {
11
+ return x(t);
12
12
  }
13
- function E(t) {
13
+ function x(t) {
14
14
  if (t == null || !Number.isFinite(t)) return "—";
15
15
  const n = t < 0 ? "-" : "", e = Math.abs(t), r = [
16
16
  [1e12, "T"],
@@ -22,68 +22,66 @@ function E(t) {
22
22
  if (e >= o) return `${n}${Number((e / o).toFixed(1))}${i}`;
23
23
  return `${n}${Math.round(e)}`;
24
24
  }
25
- class b extends Error {
25
+ function c(t, n = 2) {
26
+ return String(t).padStart(n, "0");
27
+ }
28
+ class y extends Error {
26
29
  constructor(n, e, r) {
27
30
  super(
28
- r === "gap" ? `${y(n)} does not exist in ${e} — the clock skipped it.` : `${y(n)} happens twice in ${e}.`
31
+ r === "gap" ? `${g(n)} does not exist in ${e} — the clock skipped it.` : `${g(n)} happens twice in ${e}.`
29
32
  ), this.wall = n, this.zone = e, this.kind = r, this.name = "AmbiguousTimeError";
30
33
  }
31
34
  wall;
32
35
  zone;
33
36
  kind;
34
37
  }
35
- function y(t) {
36
- const n = (e, r = 2) => String(e).padStart(r, "0");
37
- return `${n(t.year, 4)}-${n(t.month)}-${n(t.day)}T${n(t.hour)}:${n(t.minute)}:${n(t.second)}.${n(t.millisecond, 3)}`;
38
+ function g(t) {
39
+ return `${c(t.year, 4)}-${c(t.month)}-${c(t.day)}T${c(t.hour)}:${c(t.minute)}:${c(t.second)}.${c(t.millisecond, 3)}`;
38
40
  }
39
- function M(t) {
40
- const n = (e, r = 2) => String(e).padStart(r, "0");
41
- return `${n(t.year, 4)}-${n(t.month)}-${n(t.day)}`;
41
+ function E(t) {
42
+ return `${c(t.year, 4)}-${c(t.month)}-${c(t.day)}`;
42
43
  }
43
- function d(t, n) {
44
+ function l(t, n) {
44
45
  const e = /* @__PURE__ */ new Date(0);
45
46
  return e.setUTCFullYear(t, n, 0), e.getUTCDate();
46
47
  }
47
- function A(t) {
48
+ function U(t) {
48
49
  const n = /^(\d{4})-(\d{2})-(\d{2})$/.exec(t);
49
50
  if (!n) throw new Error(`not an ISO date: ${JSON.stringify(t)} — expected YYYY-MM-DD`);
50
51
  const e = Number(n[1]), r = Number(n[2]), o = Number(n[3]);
51
52
  if (r < 1 || r > 12) throw new Error(`month out of range in ${t}`);
52
- if (o < 1 || o > d(e, r))
53
- throw new Error(`${t} is not a real date — ${e}-${r} has ${d(e, r)} days`);
53
+ if (o < 1 || o > l(e, r))
54
+ throw new Error(`${t} is not a real date — ${e}-${r} has ${l(e, r)} days`);
54
55
  return { year: e, month: r, day: o };
55
56
  }
56
- const U = "—";
57
- function S(t, n = 2) {
58
- return String(t).padStart(n, "0");
59
- }
60
- function X(t) {
61
- if (t == null || t === "") return U;
57
+ const $ = "—";
58
+ function Z(t) {
59
+ if (t == null || t === "") return $;
62
60
  let n;
63
61
  try {
64
- n = A(t);
62
+ n = U(t);
65
63
  } catch {
66
64
  return t;
67
65
  }
68
- return `${S(n.month)}/${S(n.day)}/${n.year}`;
66
+ return `${c(n.month)}/${c(n.day)}/${n.year}`;
69
67
  }
70
- const x = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/, B = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
71
- function v(t) {
68
+ const w = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/, O = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
69
+ function W(t) {
72
70
  const n = t.trim();
73
71
  if (n === "") return null;
74
72
  let e, r, o;
75
- const i = B.exec(n);
73
+ const i = O.exec(n);
76
74
  if (i)
77
75
  e = Number(i[1]), r = Number(i[2]), o = Number(i[3]);
78
76
  else {
79
- const s = x.exec(n);
80
- if (!s) return null;
81
- r = Number(s[1]), o = Number(s[2]), e = Number(s[3]);
77
+ const u = w.exec(n);
78
+ if (!u) return null;
79
+ r = Number(u[1]), o = Number(u[2]), e = Number(u[3]);
82
80
  }
83
- return r < 1 || r > 12 || o < 1 || o > d(e, r) ? null : M({ year: e, month: r, day: o });
81
+ return r < 1 || r > 12 || o < 1 || o > l(e, r) ? null : E({ year: e, month: r, day: o });
84
82
  }
85
83
  const h = 36e5, D = /* @__PURE__ */ new Map();
86
- function w(t) {
84
+ function A(t) {
87
85
  let n = D.get(t);
88
86
  return n || (n = new Intl.DateTimeFormat("en-US", {
89
87
  timeZone: t,
@@ -99,146 +97,123 @@ function w(t) {
99
97
  hourCycle: "h23"
100
98
  }), D.set(t, n)), n;
101
99
  }
102
- function N(t, n) {
103
- const e = w(t).formatToParts(new Date(n));
104
- let r = 0, o = 1, i = 1, s = 0, u = 0, c = 0;
105
- for (const m of e)
106
- switch (m.type) {
100
+ function b(t, n) {
101
+ const e = A(t).formatToParts(new Date(n));
102
+ let r = 0, o = 1, i = 1, u = 0, s = 0, m = 0;
103
+ for (const f of e)
104
+ switch (f.type) {
107
105
  case "year":
108
- r = Number(m.value);
106
+ r = Number(f.value);
109
107
  break;
110
108
  case "month":
111
- o = Number(m.value);
109
+ o = Number(f.value);
112
110
  break;
113
111
  case "day":
114
- i = Number(m.value);
112
+ i = Number(f.value);
115
113
  break;
116
114
  case "hour":
117
- s = Number(m.value);
115
+ u = Number(f.value);
118
116
  break;
119
117
  case "minute":
120
- u = Number(m.value);
118
+ s = Number(f.value);
121
119
  break;
122
120
  case "second":
123
- c = Number(m.value);
121
+ m = Number(f.value);
124
122
  break;
125
123
  }
126
124
  const a = (n % 1e3 + 1e3) % 1e3;
127
- return { year: r, month: o, day: i, hour: s, minute: u, second: c, millisecond: a };
125
+ return { year: r, month: o, day: i, hour: u, minute: s, second: m, millisecond: a };
128
126
  }
129
- function g(t) {
127
+ function p(t) {
130
128
  const n = /* @__PURE__ */ new Date(0);
131
129
  return n.setUTCFullYear(t.year, t.month - 1, t.day), n.setUTCHours(t.hour, t.minute, t.second, t.millisecond), n.getTime();
132
130
  }
133
- function $(t, n) {
134
- return g(N(t, n)) - n;
131
+ function N(t, n) {
132
+ return p(b(t, n)) - n;
135
133
  }
136
134
  function I(t, n) {
137
135
  return t.year === n.year && t.month === n.month && t.day === n.day && t.hour === n.hour && t.minute === n.minute && t.second === n.second && t.millisecond === n.millisecond;
138
136
  }
139
- function O(t, n) {
140
- const e = g(n), r = $(t, e - 24 * h), o = $(t, e + 24 * h), i = [];
141
- for (const s of r === o ? [r] : [r, o]) {
142
- const u = e - s;
143
- I(N(t, u), n) && i.push(u);
137
+ function k(t, n) {
138
+ const e = p(n), r = N(t, e - 24 * h), o = N(t, e + 24 * h), i = [];
139
+ for (const u of r === o ? [r] : [r, o]) {
140
+ const s = e - u;
141
+ I(b(t, s), n) && i.push(s);
144
142
  }
145
- return i.sort((s, u) => s - u), i.filter((s, u) => u === 0 || s !== i[u - 1]);
143
+ return i.sort((u, s) => u - s), i.filter((u, s) => s === 0 || u !== i[s - 1]);
146
144
  }
147
- function k(t, n, e = "compatible") {
148
- const r = O(t, n);
145
+ function B(t, n, e = "compatible") {
146
+ const r = k(t, n);
149
147
  if (r.length === 1) return r[0];
150
148
  if (r.length > 1) {
151
- if (e === "reject") throw new b(n, t, "overlap");
149
+ if (e === "reject") throw new y(n, t, "overlap");
152
150
  return e === "later" ? r[r.length - 1] : r[0];
153
151
  }
154
- if (e === "reject") throw new b(n, t, "gap");
155
- const o = g(n), i = $(t, o - 24 * h), s = $(t, o + 24 * h), u = s - i, c = o - i, a = o - s;
156
- return e === "earlier" ? Math.min(c, a) : u > 0 ? Math.max(c, a) : Math.min(c, a);
157
- }
158
- const C = "—";
159
- function p(t, n = 2) {
160
- return String(t).padStart(n, "0");
152
+ if (e === "reject") throw new y(n, t, "gap");
153
+ const o = p(n), i = N(t, o - 24 * h), u = N(t, o + 24 * h), s = u - i, m = o - i, a = o - u;
154
+ return e === "earlier" ? Math.min(m, a) : s > 0 ? Math.max(m, a) : Math.min(m, a);
161
155
  }
162
- function T() {
156
+ function F() {
163
157
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
164
158
  }
165
- function L(t) {
159
+ function T(t) {
166
160
  if (typeof t == "number") return Number.isFinite(t) ? t : null;
167
161
  const n = t.replace(/(\.\d{3})\d+/, "$1"), e = Date.parse(n);
168
162
  return Number.isNaN(e) ? null : e;
169
163
  }
170
- function tt(t, n = {}) {
171
- if (t == null || t === "") return C;
172
- const e = L(t);
164
+ function j(t, n = {}) {
165
+ if (t == null || t === "") return $;
166
+ const e = T(t);
173
167
  if (e === null) return String(t);
174
- const r = n.zone ?? T(), o = N(r, e), i = (o.hour + 11) % 12 + 1, s = o.hour < 12 ? "AM" : "PM";
175
- return `${p(o.month)}/${p(o.day)}/${o.year}, ${i}:${p(o.minute)} ${s}`;
168
+ const r = n.zone ?? F(), o = b(r, e), i = (o.hour + 11) % 12 + 1, u = o.hour < 12 ? "AM" : "PM";
169
+ return `${c(o.month)}/${c(o.day)}/${o.year}, ${i}:${c(o.minute)} ${u}`;
176
170
  }
177
- const _ = /^(\d{1,2})\/(\d{1,2})\/(\d{4})(?:,?\s+(\d{1,2}):(\d{2})(?::(\d{2}))?\s*([AaPp][Mm]))?$/, P = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?\s*(Z|[+-]\d{2}:?\d{2})$/;
178
- function nt(t, n = {}) {
171
+ const C = /^(\d{1,2})\/(\d{1,2})\/(\d{4})(?:,?\s+(\d{1,2}):(\d{2})(?::(\d{2}))?\s*([AaPp][Mm]))?$/, L = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?\s*(Z|[+-]\d{2}:?\d{2})$/;
172
+ function J(t, n = {}) {
179
173
  const e = t.trim();
180
174
  if (e === "") return null;
181
- if (P.test(e)) {
182
- const f = e.replace(/(\.\d{3})\d+/, "$1"), l = Date.parse(f);
183
- return Number.isNaN(l) ? null : new Date(l).toISOString();
175
+ if (L.test(e)) {
176
+ const d = T(e);
177
+ return d === null ? null : new Date(d).toISOString();
184
178
  }
185
- const r = _.exec(e);
179
+ const r = C.exec(e);
186
180
  if (!r) return null;
187
- const o = Number(r[1]), i = Number(r[2]), s = Number(r[3]);
188
- if (o < 1 || o > 12 || i < 1 || i > d(s, o)) return null;
189
- let u = 0, c = 0, a = 0;
181
+ const o = Number(r[1]), i = Number(r[2]), u = Number(r[3]);
182
+ if (o < 1 || o > 12 || i < 1 || i > l(u, o)) return null;
183
+ let s = 0, m = 0, a = 0;
190
184
  if (r[4] !== void 0) {
191
- const f = Number(r[4]);
192
- c = Number(r[5]), a = r[6] !== void 0 ? Number(r[6]) : 0;
193
- const l = r[7].toUpperCase();
194
- if (f < 1 || f > 12 || c > 59 || a > 59) return null;
195
- u = l === "AM" ? f === 12 ? 0 : f : f === 12 ? 12 : f + 12;
185
+ const d = Number(r[4]);
186
+ m = Number(r[5]), a = r[6] !== void 0 ? Number(r[6]) : 0;
187
+ const M = r[7].toUpperCase();
188
+ if (d < 1 || d > 12 || m > 59 || a > 59) return null;
189
+ s = M === "AM" ? d === 12 ? 0 : d : d === 12 ? 12 : d + 12;
196
190
  }
197
- const m = { year: s, month: o, day: i, hour: u, minute: c, second: a, millisecond: 0 }, F = n.zone ?? T();
198
- return new Date(k(F, m)).toISOString();
191
+ const f = { year: u, month: o, day: i, hour: s, minute: m, second: a, millisecond: 0 }, S = n.zone ?? F();
192
+ return new Date(B(S, f)).toISOString();
199
193
  }
200
- const R = "—", H = new Intl.NumberFormat("en-US", {
194
+ const _ = new Intl.NumberFormat("en-US", {
201
195
  style: "currency",
202
196
  currency: "USD",
203
197
  minimumFractionDigits: 2,
204
198
  maximumFractionDigits: 2
205
199
  });
206
- function et(t) {
207
- return t == null || !Number.isFinite(t) ? R : H.format(t);
200
+ function G(t) {
201
+ return t == null || !Number.isFinite(t) ? $ : _.format(t);
208
202
  }
209
- function rt(t) {
203
+ function K(t) {
210
204
  const n = t.trim();
211
205
  if (n === "") return null;
212
206
  const e = /^\((.*)\)$/.exec(n), r = e !== null, i = (e ? e[1] : n).replace(/[$,\s]/g, "");
213
207
  if (!/^-?\d+(\.\d+)?$/.test(i)) return null;
214
- const s = Number(i);
215
- return Number.isFinite(s) ? r ? -Math.abs(s) : s : null;
208
+ const u = Number(i);
209
+ return Number.isFinite(u) ? r ? -Math.abs(u) : u : null;
216
210
  }
217
- const Y = "—";
218
- function ot(t) {
219
- if (t == null || t === "") return Y;
220
- const n = t.replace(/\D/g, "");
221
- return n.length !== 10 ? t : W(n);
222
- }
223
- function it(t) {
224
- const n = t.replace(/\D/g, "");
225
- return n.length === 11 && n.startsWith("1") ? n.slice(1) : n.length === 10 ? n : null;
226
- }
227
- function st(t) {
228
- return t.replace(/\D/g, "");
229
- }
230
- function W(t) {
231
- if (t.length === 0) return "";
232
- const n = t.slice(0, 10), e = t.slice(10), r = n.length < 4 ? `(${n}` : n.length < 7 ? `(${n.slice(0, 3)}) ${n.slice(3)}` : `(${n.slice(0, 3)}) ${n.slice(3, 6)}-${n.slice(6)}`;
233
- return e ? `${r} ${e}` : r;
234
- }
235
- const Z = "—";
236
- function ut(t, n = {}) {
237
- if (t == null || !Number.isFinite(t)) return Z;
211
+ function V(t, n = {}) {
212
+ if (t == null || !Number.isFinite(t)) return $;
238
213
  const { decimals: e } = n, r = e === void 0 ? { maximumFractionDigits: 6 } : { minimumFractionDigits: e, maximumFractionDigits: e };
239
214
  return new Intl.NumberFormat("en-US", r).format(t);
240
215
  }
241
- function ct(t) {
216
+ function q(t) {
242
217
  const n = t.trim();
243
218
  if (n === "") return null;
244
219
  const e = n.replace(/,/g, "");
@@ -246,52 +221,21 @@ function ct(t) {
246
221
  const r = Number(e);
247
222
  return Number.isFinite(r) ? r : null;
248
223
  }
249
- function at(t, n = {}) {
224
+ function Q(t, n = {}) {
250
225
  const { trueLabel: e = "Yes", falseLabel: r = "No", unknownLabel: o = "Unknown" } = n;
251
226
  return t === !0 ? e : t === !1 ? r : o;
252
227
  }
253
- const V = /* @__PURE__ */ new Set(["yes", "y", "true", "t", "1"]), j = /* @__PURE__ */ new Set(["no", "n", "false", "f", "0"]);
254
- function mt(t) {
228
+ const R = /* @__PURE__ */ new Set(["yes", "y", "true", "t", "1"]), Y = /* @__PURE__ */ new Set(["no", "n", "false", "f", "0"]);
229
+ function X(t) {
255
230
  const n = t.trim().toLowerCase();
256
- return V.has(n) ? !0 : j.has(n) ? !1 : null;
257
- }
258
- const J = /^([^\s@]+)@([^\s@]+)$/;
259
- function z(t) {
260
- return t.split(".").some((n) => n.length === 0);
261
- }
262
- function ft(t) {
263
- const n = t.trim();
264
- if (n === "") return !0;
265
- if (/[.,]$/.test(n)) return !1;
266
- const e = J.exec(n);
267
- if (!e) return !1;
268
- const r = e[2], o = r.split(".");
269
- return o.length < 2 || z(r) ? !1 : /^[a-z]{2,}$/i.test(o[o.length - 1]);
270
- }
271
- const G = /^https?:\/\//i;
272
- function K(t) {
273
- if (t === "localhost") return !0;
274
- const n = t.split(".");
275
- return n.length < 2 || n.some((e) => e.length === 0) ? !1 : /^[a-z]{2,}$/i.test(n[n.length - 1]);
276
- }
277
- function lt(t) {
278
- const n = t.trim();
279
- if (n === "") return !0;
280
- if (/\s/.test(n)) return !1;
281
- const e = G.test(n) ? n : `https://${n}`;
282
- try {
283
- const r = new URL(e);
284
- return r.protocol !== "http:" && r.protocol !== "https:" ? !1 : K(r.hostname);
285
- } catch {
286
- return !1;
287
- }
231
+ return R.has(n) ? !0 : Y.has(n) ? !1 : null;
288
232
  }
289
- function dt(t, n) {
233
+ function v(t, n) {
290
234
  if (!Number.isFinite(t) || !Number.isFinite(n) || n <= 0 || t <= 0) return null;
291
235
  const e = Math.round(Math.min(t, n) / n * 5);
292
236
  return Math.max(1, Math.min(5, e));
293
237
  }
294
- const ht = {
238
+ const z = {
295
239
  1: "Just a guess",
296
240
  2: "Somewhat unsure",
297
241
  3: "Fairly confident",
@@ -299,26 +243,20 @@ const ht = {
299
243
  5: "Highly confident"
300
244
  };
301
245
  export {
302
- ht as CONFIDENCE_LEVEL_LABELS,
303
- dt as confidenceLevel,
304
- st as digitsOfPhoneInProgress,
305
- at as formatBoolean,
306
- q as formatBytes,
307
- E as formatCompactNumber,
308
- et as formatCurrency,
309
- X as formatDate,
310
- tt as formatDateTime,
311
- ut as formatNumber,
312
- ot as formatPhone,
313
- W as formatPhonePartial,
314
- Q as formatTokens,
315
- ft as isValidEmail,
316
- lt as isValidUrl,
317
- mt as parseBoolean,
318
- rt as parseCurrency,
319
- v as parseDate,
320
- nt as parseDateTime,
321
- ct as parseNumber,
322
- it as parsePhone
246
+ z as CONFIDENCE_LEVEL_LABELS,
247
+ v as confidenceLevel,
248
+ Q as formatBoolean,
249
+ P as formatBytes,
250
+ x as formatCompactNumber,
251
+ G as formatCurrency,
252
+ Z as formatDate,
253
+ j as formatDateTime,
254
+ V as formatNumber,
255
+ H as formatTokens,
256
+ X as parseBoolean,
257
+ K as parseCurrency,
258
+ W as parseDate,
259
+ J as parseDateTime,
260
+ q as parseNumber
323
261
  };
324
262
  //# sourceMappingURL=pure.js.map