@iamfiro/design 0.1.0 → 0.3.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 (160) hide show
  1. package/AGENTS.md +1 -0
  2. package/agents/INDEX.md +1 -0
  3. package/agents/brand-icon/AGENTS.md +2 -2
  4. package/agents/social-login-button/AGENTS.md +156 -0
  5. package/lib/components/Accordion/Accordion2.js +135 -0
  6. package/lib/components/ActionBar/ActionBar2.js +65 -0
  7. package/lib/components/Alert/Alert2.js +131 -0
  8. package/lib/components/AppShell/AppShell2.js +94 -0
  9. package/lib/components/AreaChart/AreaChart.js +59 -0
  10. package/lib/components/BarChart/BarChart2.js +243 -0
  11. package/lib/components/BarList/BarList2.js +172 -0
  12. package/lib/components/Breadcrumb/Breadcrumb2.js +87 -0
  13. package/lib/components/Calendar/Calendar2.js +309 -0
  14. package/lib/components/Calendar/DatePicker2.js +229 -0
  15. package/lib/components/Calendar/date.js +121 -0
  16. package/lib/components/Card/Card2.js +104 -0
  17. package/lib/components/CardFrame/CardFrame2.js +72 -0
  18. package/lib/components/Chart/ChartParts.js +150 -0
  19. package/lib/components/Chart/chart2.js +96 -0
  20. package/lib/components/Chart/useChartInteraction.js +94 -0
  21. package/lib/components/ChatBubble/ChatBubble2.js +174 -0
  22. package/lib/components/ChatBubble/formatChatTime.js +53 -0
  23. package/lib/components/ChatComposer/ChatComposer2.js +153 -0
  24. package/lib/components/CodeBlock/CodeBlock2.js +93 -0
  25. package/lib/components/CodeBlock/highlight.js +114 -0
  26. package/lib/components/ColorPicker/ColorPicker2.js +610 -0
  27. package/lib/components/ColorPicker/color.js +180 -0
  28. package/lib/components/ColorPicker/presets.js +75 -0
  29. package/lib/components/Combobox/Combobox2.js +229 -0
  30. package/lib/components/CommandMenu/CommandMenu.js +267 -0
  31. package/lib/components/Comment/Comment2.js +134 -0
  32. package/lib/components/ContextMenu/ContextMenu2.js +168 -0
  33. package/lib/components/DataGrid/DataGrid2.js +1996 -0
  34. package/lib/components/DataGrid/GridPopover.js +154 -0
  35. package/lib/components/DataGrid/anchor.js +50 -0
  36. package/lib/components/DataGrid/model.js +558 -0
  37. package/lib/components/DataGrid/panels.js +703 -0
  38. package/lib/components/DataGrid/typeMeta.js +76 -0
  39. package/lib/components/DataGrid/types.js +54 -0
  40. package/lib/components/DescriptionList/DescriptionList2.js +180 -0
  41. package/lib/components/Dialog/AlertDialog.js +118 -0
  42. package/lib/components/Dialog/Dialog2.js +109 -0
  43. package/lib/components/Dialog/modal.js +92 -0
  44. package/lib/components/Drawer/Drawer2.js +244 -0
  45. package/lib/components/DropdownMenu/DropdownMenu2.js +394 -0
  46. package/lib/components/DropdownMenu/menuCore.js +63 -0
  47. package/lib/components/Dropzone/Dropzone2.js +144 -0
  48. package/lib/components/EmptyState/EmptyState2.js +72 -0
  49. package/lib/components/FileChip/FileChip2.js +118 -0
  50. package/lib/components/FileUpload/FileUpload.js +258 -0
  51. package/lib/components/FilterChips/FilterChips2.js +101 -0
  52. package/lib/components/FunnelChart/FunnelChart2.js +283 -0
  53. package/lib/components/FunnelChart/funnel.js +69 -0
  54. package/lib/components/Highlight/Highlight2.js +100 -0
  55. package/lib/components/HoverCard/HoverCard.js +134 -0
  56. package/lib/components/InlineDiff/InlineDiff2.js +215 -0
  57. package/lib/components/InlineDiff/diff.js +126 -0
  58. package/lib/components/InlineDiff/useDiffReview.js +109 -0
  59. package/lib/components/Kanban/Kanban2.js +691 -0
  60. package/lib/components/Kanban/KanbanCard.js +159 -0
  61. package/lib/components/Kanban/move.js +69 -0
  62. package/lib/components/LineChart/LineChart2.js +342 -0
  63. package/lib/components/List/List2.js +133 -0
  64. package/lib/components/Listbox/Listbox2.js +163 -0
  65. package/lib/components/Marker/Marker2.js +82 -0
  66. package/lib/components/Menubar/Menubar2.js +223 -0
  67. package/lib/components/MultiSelect/MultiSelect2.js +204 -0
  68. package/lib/components/NavigationMenu/NavigationMenu2.js +481 -0
  69. package/lib/components/NoticeStack/NoticeStack2.js +178 -0
  70. package/lib/components/NumberStepper/NumberStepper2.js +129 -0
  71. package/lib/components/OtpInput/OtpInput2.js +122 -0
  72. package/lib/components/Pagination/Pagination2.js +210 -0
  73. package/lib/components/Pagination/paginationRange.js +53 -0
  74. package/lib/components/PhoneInput/PhoneInput.js +175 -0
  75. package/lib/components/PieChart/PieChart2.js +246 -0
  76. package/lib/components/PieChart/arc.js +66 -0
  77. package/lib/components/PieChart/useArcTween.js +94 -0
  78. package/lib/components/Popover/Popover2.js +112 -0
  79. package/lib/components/ProgressTracker/ProgressTracker2.js +226 -0
  80. package/lib/components/Rating/Rating2.js +186 -0
  81. package/lib/components/Resizable/Resizable2.js +236 -0
  82. package/lib/components/Resizable/layout.js +115 -0
  83. package/lib/components/ScaledPreview/ScaledPreview2.js +100 -0
  84. package/lib/components/ScatterChart/ScatterChart2.js +356 -0
  85. package/lib/components/ScatterChart/scatter.js +83 -0
  86. package/lib/components/ScrollArea/ScrollArea2.js +218 -0
  87. package/lib/components/Select/Select2.js +153 -0
  88. package/lib/components/Sidebar/Sidebar2.js +127 -0
  89. package/lib/components/Skeleton/Skeleton2.js +91 -0
  90. package/lib/components/Slider/Slider2.js +142 -0
  91. package/lib/components/SocialLoginButton/SocialLoginButton.js +85 -0
  92. package/lib/components/SparkChart/SparkChart2.js +217 -0
  93. package/lib/components/SparkChart/spark.js +76 -0
  94. package/lib/components/Sparkbar/Sparkbar2.js +111 -0
  95. package/lib/components/SplitView/SplitView2.js +95 -0
  96. package/lib/components/Stat/Stat2.js +164 -0
  97. package/lib/components/StepList/StepList2.js +131 -0
  98. package/lib/components/Table/Table2.js +104 -0
  99. package/lib/components/Tabs/Tabs2.js +131 -0
  100. package/lib/components/TagInput/TagInput2.js +360 -0
  101. package/lib/components/TimePicker/TimePicker2.js +388 -0
  102. package/lib/components/TimePicker/time.js +83 -0
  103. package/lib/components/Timeline/Timeline2.js +369 -0
  104. package/lib/components/Timeline/scale.js +83 -0
  105. package/lib/components/Toast/Toaster.js +212 -0
  106. package/lib/components/Toast/store.js +129 -0
  107. package/lib/components/ToggleGroup/ToggleGroup2.js +125 -0
  108. package/lib/components/Toolbar/Toolbar2.js +281 -0
  109. package/lib/components/Tracker/Tracker2.js +172 -0
  110. package/lib/components/TreeDiagram/TreeDiagram2.js +223 -0
  111. package/lib/components/TreeView/TreeView2.js +284 -0
  112. package/lib/hooks/timing.js +55 -0
  113. package/lib/hooks/useControllableState.js +49 -0
  114. package/lib/hooks/useCountdown.js +80 -0
  115. package/lib/hooks/useDigitInput.js +105 -0
  116. package/lib/hooks/useDismiss.js +71 -0
  117. package/lib/hooks/useElapsed.js +83 -0
  118. package/lib/hooks/useFloating.js +70 -0
  119. package/lib/hooks/useFocusTrap.js +61 -0
  120. package/lib/hooks/usePresence.js +60 -0
  121. package/lib/hooks/usePressToOpen.js +69 -0
  122. package/lib/hooks/useScrollLock.js +70 -0
  123. package/lib/hooks/useSelection.js +68 -0
  124. package/lib/index.js +175 -17911
  125. package/lib/primitives/AspectRatio2.js +80 -0
  126. package/lib/primitives/BrandIcon.js +245 -0
  127. package/lib/primitives/ColorDot2.js +70 -0
  128. package/lib/primitives/CopyButton2.js +85 -0
  129. package/lib/primitives/CountBadge2.js +78 -0
  130. package/lib/primitives/Countdown2.js +65 -0
  131. package/lib/primitives/Delta2.js +67 -0
  132. package/lib/primitives/Elapsed.js +62 -0
  133. package/lib/primitives/FileIcon2.js +125 -0
  134. package/lib/primitives/Flag2.js +263 -0
  135. package/lib/primitives/IconStack2.js +85 -0
  136. package/lib/primitives/IconTile2.js +68 -0
  137. package/lib/primitives/Kbd2.js +88 -0
  138. package/lib/primitives/Layout2.js +118 -0
  139. package/lib/primitives/Link2.js +53 -0
  140. package/lib/primitives/MaskedText2.js +120 -0
  141. package/lib/primitives/Progress2.js +137 -0
  142. package/lib/primitives/RelativeTime.js +84 -0
  143. package/lib/primitives/SearchInput2.js +84 -0
  144. package/lib/primitives/SelectorButton2.js +97 -0
  145. package/lib/primitives/Spinner2.js +98 -0
  146. package/lib/primitives/StatusIcon2.js +126 -0
  147. package/lib/primitives/Swatch2.js +79 -0
  148. package/lib/primitives/Tooltip2.js +132 -0
  149. package/lib/primitives/Typography2.js +97 -0
  150. package/lib/primitives/formatCountdown.js +51 -0
  151. package/lib/primitives/formatElapsed.js +66 -0
  152. package/lib/primitives/formatRelativeTime.js +64 -0
  153. package/lib/primitives/hotkey.js +94 -0
  154. package/lib/primitives/index.js +352 -0
  155. package/lib/primitives/maskValue.js +65 -0
  156. package/lib/style.css +1 -1
  157. package/lib/types/components/SocialLoginButton/SocialLoginButton.d.ts +10 -0
  158. package/lib/types/components/index.d.ts +2 -0
  159. package/lib/types/primitives/BrandIcon.d.ts +1 -1
  160. package/package.json +2 -1
@@ -0,0 +1,64 @@
1
+ "use client";
2
+ const e = l;
3
+ function t() {
4
+ let e = /* @__PURE__ */ "z2v0tw9UDgG.zM9YBwf0.mJjrqKrtrue.7iUC6RceioYGHa.z2v0rNvSBfLLyxi.C2HVCNq.z2v0rgf0zq.ovnHzwf4Ca.mZm4nZeYofPAt0XxEq.Bwf4.7iUC6Rceio2BHa.Axnoyu4.mZi1otK2D0XmC05s.ywjZ.z2v0vgLTzq.mtuXnZDhuKDwCLa.nJe4otm0ofDJr3fdsq.mtC5ndKWueHAzMDA.n2TxEhH2sa.67Aeio2BHa.mtq5ndu5nNzxz2r3uq.zMXVB3i.nxvIqKrpDa.CM91BMq.BwLU.mZu4mJe5mgnvugntsG.A28Ts1i.mty0CMDgCNf2".split(".");
5
+ return t = function() {
6
+ return e;
7
+ }, t();
8
+ }
9
+ (function(e, t) {
10
+ let n = l, r = e();
11
+ for (;;) try {
12
+ if (-parseInt(n(316)) / 1 + parseInt(n(303)) / 2 * (parseInt(n(319)) / 3) + parseInt(n(324)) / 4 * (parseInt(n(326)) / 5) + parseInt(n(321)) / 6 * (parseInt(n(322)) / 7) + parseInt(n(312)) / 8 * (parseInt(n(311)) / 9) + parseInt(n(301)) / 10 + parseInt(n(306)) / 11 * (-parseInt(n(320)) / 12) == t) break;
13
+ r.push(r.shift());
14
+ } catch {
15
+ r.push(r.shift());
16
+ }
17
+ })(t, 242458);
18
+ var n = 1e3, r = 60 * n, i = 60 * r, a = 24 * i, o = (e) => e instanceof Date ? e : new Date(e), s = (t) => new Date(t.getFullYear(), t[e(304)](), t[e(310)]())[e(318)](), c = (t, n) => Math[e(299)]((s(n) - s(t)) / a);
19
+ function l(e, n) {
20
+ e -= 299;
21
+ let r = t(), i = r[e];
22
+ l.ZyIxsg === void 0 && (l.fcfGIl = function(e) {
23
+ let t = "", n = "";
24
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
25
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
26
+ return decodeURIComponent(n);
27
+ }, l.AoJnHE = {}, l.ZyIxsg = !0);
28
+ let a = r[0];
29
+ l.RKILZw !== a && (l.AoJnHE = {}, l.RKILZw = a);
30
+ let o = l.AoJnHE[e];
31
+ return o === void 0 ? (i = l.fcfGIl(i), l.AoJnHE[e] = i) : i = o, i;
32
+ }
33
+ function u(t, a = /* @__PURE__ */ new Date()) {
34
+ let s = e, l = o(t);
35
+ if (Number[s(315)](l.getTime())) return "";
36
+ let u = a[s(318)]() - l.getTime(), d = Math[s(317)](u), f = u >= 0, p = c(l, a);
37
+ if (d < 45 * n) return f ? "방금" : "곧";
38
+ if (d < i) {
39
+ let e = Math[s(313)](1, Math[s(325)](d / r));
40
+ return f ? e + "분 전" : e + s(323);
41
+ }
42
+ if (p === 0 || d < 6 * i) {
43
+ let e = Math[s(325)](d / i);
44
+ return f ? e + s(307) : e + s(314);
45
+ }
46
+ if (p === 1) return "어제";
47
+ if (p === -1) return "내일";
48
+ if (Math[s(317)](p) < 7) return f ? p + "일 전" : -p + "일 후";
49
+ let m = l[s(304)]() + 1 + "월 " + l.getDate() + "일";
50
+ return l.getFullYear() === a[s(308)]() ? m : l[s(308)]() + "년 " + m;
51
+ }
52
+ var d = new Intl.DateTimeFormat(e(302), {
53
+ dateStyle: "long",
54
+ timeStyle: e(309)
55
+ });
56
+ function f(t) {
57
+ let n = e, r = o(t);
58
+ return Number.isNaN(r.getTime()) ? "" : d[n(305)](r);
59
+ }
60
+ function p(t, s = /* @__PURE__ */ new Date()) {
61
+ let c = e, l = o(t), u = Math[c(317)](s[c(318)]() - l[c(318)]()), d;
62
+ return d = u < 45 * n ? 45 * n - u : u < i ? r - u % r : u < a ? i - u % i : i, Math[c(300)](Math[c(313)](d + 50, n), i);
63
+ }
64
+ export { f as formatFullDate, u as formatRelativeTime, p as nextRelativeTimeChange, o as toDate };
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ function e(t, n) {
3
+ t -= 330;
4
+ let i = r(), a = i[t];
5
+ e.QPzQZx === void 0 && (e.vodmnB = function(e) {
6
+ let t = "", n = "";
7
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
8
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
9
+ return decodeURIComponent(n);
10
+ }, e.JILsDr = {}, e.QPzQZx = !0);
11
+ let o = i[0];
12
+ e.QEKXJh !== o && (e.JILsDr = {}, e.QEKXJh = o);
13
+ let s = e.JILsDr[t];
14
+ return s === void 0 ? (a = e.vodmnB(a), e.JILsDr[t] = a) : a = s, a;
15
+ }
16
+ const t = e;
17
+ (function(t, n) {
18
+ let r = e, i = t();
19
+ for (;;) try {
20
+ if (-parseInt(r(349)) / 1 + -parseInt(r(334)) / 2 + parseInt(r(351)) / 3 * (parseInt(r(358)) / 4) + parseInt(r(364)) / 5 * (parseInt(r(350)) / 6) + parseInt(r(370)) / 7 + -parseInt(r(355)) / 8 * (-parseInt(r(343)) / 9) + parseInt(r(332)) / 10 == n) break;
21
+ i.push(i.shift());
22
+ } catch {
23
+ i.push(i.shift());
24
+ }
25
+ })(r, 181887);
26
+ import { isMac as n } from "./Kbd2.js";
27
+ function r() {
28
+ let e = /* @__PURE__ */ "CMfKAw8.AM9PBG.ywX0.rgLNAxq.qxjYB3DsAwDODa.twv0yq.BgvUz3rO.B3b0Aw9U.Dg9mB3DLCKnHC2u.Bw9K.ody1mZaWBLb3r3HI.Aw5JBhvKzxm.ndKYodrtrvjcBKO.C2HPzNq.CMvZzxq.Bwv0yq.DhLWzq.y29SB3i.C29Tzq.Bwv0yuTLEq.AxndB250zw50rwrPDgfIBgu.oti4nJjYvwfXyLi.qMfJA3nWywnL.qxjYB3DvCa.BwfW.ywX0s2v5.u2HPzNq.mJK1ody4zerTyunl.mtjXsKTtsMu.nta2mdm0DvHez0LX.rw50zxi.C3vIBwL0.q29UDhjVBa.mtzPCwTmsxi.vgfI.y3rYBa.ne52DKrQBq.y3rYBeTLEq.y2HLy2TIB3G.qxjYB3DeB3DU.DgvZDa.y21K.mtmXoda1teXVq2zJ.C2HPzNrlzxK.Dg9vChbLCKnHC2u.AgfZ.y29UDhjVBa.rgvSzxrL.mtiXnJGXn093shLnCG.u3bHy2u.y29Kzq.A2v5.rxnJyxbL".split(".");
29
+ return r = function() {
30
+ return e;
31
+ }, r();
32
+ }
33
+ var i = /* @__PURE__ */ new Set([
34
+ t(331),
35
+ "cmd",
36
+ t(337),
37
+ t(357),
38
+ "control",
39
+ t(377),
40
+ t(382),
41
+ t(335)
42
+ ]), a = {
43
+ enter: t(352),
44
+ return: t(352),
45
+ esc: t(374),
46
+ escape: t(374),
47
+ tab: t(356),
48
+ space: " ",
49
+ backspace: t(344),
50
+ delete: t(369),
51
+ up: t(345),
52
+ down: t(361),
53
+ left: "ArrowLeft",
54
+ right: t(379)
55
+ };
56
+ function o(e) {
57
+ let n = t;
58
+ return e instanceof HTMLElement ? e[n(342)] || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement ? !0 : e instanceof HTMLInputElement && ![
59
+ n(360),
60
+ n(375),
61
+ "button",
62
+ n(353),
63
+ n(336),
64
+ "range",
65
+ n(339),
66
+ "file"
67
+ ].includes(e[n(338)]) : !1;
68
+ }
69
+ function s(e, r) {
70
+ let o = t, s = r[o(346)]((e) => e[o(330)]()), c = (...e) => e[o(340)]((e) => s[o(333)](e)), l = c(o(337), o(363)) || c(o(331)) && n, u = c(o(357), o(368)) || c(o(331)) && !n, d = c(o(377), o(382)), f = c(o(335)), p = r.find((e) => !i[o(367)](e[o(330)]()));
71
+ if (!p || e[o(341)] !== l || e[o(359)] !== u || e[o(347)] !== d) return !1;
72
+ let m = p[o(330)]();
73
+ if (/^[a-z]$/[o(362)](m)) return e[o(365)] === f && (e[o(372)] === "Key" + m[o(366)]() || e[o(373)][o(330)]() === m);
74
+ if (/^[0-9]$/.test(m)) return e[o(365)] === f && (e[o(372)] === o(378) + m || e[o(372)] === "Numpad" + m || e.key === m);
75
+ let h = a[m];
76
+ return h ? e[o(365)] === f && e[o(373)] === h : e[o(373)] === p;
77
+ }
78
+ var c = {
79
+ ctrl: t(354),
80
+ control: "Control",
81
+ alt: "Alt",
82
+ option: "Alt",
83
+ shift: t(348),
84
+ meta: t(380),
85
+ cmd: t(380)
86
+ };
87
+ function l(r) {
88
+ let i = t;
89
+ return r.map((t) => {
90
+ let r = e, i = t[r(330)]();
91
+ return i === r(331) ? r(n ? 380 : 354) : c[i] ? c[i] : a[i] ? a[i] === " " ? r(371) : a[i] : t[r(381)] === 1 ? t[r(366)]() : t;
92
+ })[i(376)]("+");
93
+ }
94
+ export { o as isTypingTarget, s as matchesHotkey, l as toAriaShortcut };
@@ -0,0 +1,352 @@
1
+ "use client";
2
+ const e = r;
3
+ (function(e, t) {
4
+ let n = r, i = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(313)) / 1 + parseInt(n(356)) / 2 + -parseInt(n(412)) / 3 + parseInt(n(306)) / 4 + -parseInt(n(405)) / 5 * (-parseInt(n(304)) / 6) + -parseInt(n(349)) / 7 * (parseInt(n(376)) / 8) + parseInt(n(336)) / 9 * (parseInt(n(355)) / 10) == t) break;
7
+ i.push(i.shift());
8
+ } catch {
9
+ i.push(i.shift());
10
+ }
11
+ })(q, 784100);
12
+ import { Spinner as t } from "./Spinner2.js";
13
+ import { IconStack as n } from "./IconStack2.js";
14
+ function r(e, t) {
15
+ e -= 300;
16
+ let n = q(), i = n[e];
17
+ r.ROYmZn === void 0 && (r.ZDNBCf = function(e) {
18
+ let t = "", n = "";
19
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
20
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
21
+ return decodeURIComponent(n);
22
+ }, r.XxMTTu = {}, r.ROYmZn = !0);
23
+ let a = n[0];
24
+ r.XxireD !== a && (r.XxMTTu = {}, r.XxireD = a);
25
+ let o = r.XxMTTu[e];
26
+ return o === void 0 ? (i = r.ZDNBCf(i), r.XxMTTu[e] = i) : i = o, i;
27
+ }
28
+ import { Kbd as i, formatKey as a, isMac as o } from "./Kbd2.js";
29
+ import { TIMING as s } from "../hooks/timing.js";
30
+ import { Tooltip as c } from "./Tooltip2.js";
31
+ import { isTypingTarget as l, matchesHotkey as u, toAriaShortcut as d } from "./hotkey.js";
32
+ /* empty css */
33
+ import { Flag as f } from "./Flag2.js";
34
+ import { SearchInput as p } from "./SearchInput2.js";
35
+ import { Heading as m, Prose as h, Text as g } from "./Typography2.js";
36
+ import { Progress as _, ProgressCircle as v } from "./Progress2.js";
37
+ import { FileIcon as y, fileKind as b } from "./FileIcon2.js";
38
+ import { CopyButton as x } from "./CopyButton2.js";
39
+ import { Swatch as S } from "./Swatch2.js";
40
+ import { BRAND_NAMES as C, BrandIcon as w } from "./BrandIcon.js";
41
+ import { ColorDot as T } from "./ColorDot2.js";
42
+ import { Box as E, Grid as D, Inline as O, Separator as ee, Stack as te } from "./Layout2.js";
43
+ import { AspectRatio as ne } from "./AspectRatio2.js";
44
+ import { formatFullDate as re, formatRelativeTime as ie, nextRelativeTimeChange as ae } from "./formatRelativeTime.js";
45
+ import { RelativeTime as oe } from "./RelativeTime.js";
46
+ import { IconTile as se } from "./IconTile2.js";
47
+ import { SelectorButton as k } from "./SelectorButton2.js";
48
+ import { StatusIcon as A } from "./StatusIcon2.js";
49
+ import { Delta as j } from "./Delta2.js";
50
+ import { formatCountdown as M } from "./formatCountdown.js";
51
+ import { Countdown as N } from "./Countdown2.js";
52
+ import { formatElapsed as P } from "./formatElapsed.js";
53
+ import { Elapsed as F } from "./Elapsed.js";
54
+ import { CountBadge as I } from "./CountBadge2.js";
55
+ import { Link as L } from "./Link2.js";
56
+ import { maskParts as R, maskValue as z } from "./maskValue.js";
57
+ import { MaskedText as B } from "./MaskedText2.js";
58
+ import { forwardRef as V, useCallback as H, useEffect as U, useImperativeHandle as W, useLayoutEffect as G, useRef as K, useState as ce } from "react";
59
+ import { Check as le, ChevronDown as ue, ChevronRight as de } from "lucide-react";
60
+ function q() {
61
+ let e = /* @__PURE__ */ "y3rYBeTLEq.i2u4otyZyq.zhmTC3DPDgnOx190AhvTyG.y2HLy2TIB3G.zhmTC3DPDgnOx190CMfJAW.zhmTyNrUls1IBg9JAW.CMvWzwf0.CgfKzgLUz1rVCa.y2XLyxjuAw1LB3v0.y2XVC2vZDa.AwnVBG.zhmTDgv4DgfYzwe.nwXADwLOsa.CxvLCNLtzwXLy3rVCG.A2v5q29Kzq.i2u1ntC3yq.CMvKDwnL.iZDJnMnMzG.C2nYB2XSsgvPz2H0.mZiWntaWmKPkruDlsW.BgfIzwW.zhmTC3DPDgnO.zhmTyNrUx19SywjLBa.zxnJyxbL.BgvMDa.DMfSDwu.Aw5WDxq.C3DPDgnO.zhmTyMfKz2uTlxnXDwfYzq.mtC2nJyZnffis1LqCG.CgfKzgLUz0jVDhrVBq.ndC5mdm4ofrVD0LptW.C3f1yxjL.zhmTyMfKz2uTlwLUDgvYywn0AxzL.CMfKAw8.Dhj1zq.Bwf0y2HLCW.BwLU.mtqWotCWmuD2zK1hsa.A2v5.A2v5zg93BG.C2vSzwn0.iZjMyJq4yq.zgf0yxnLDa.ChjLC3nLza.i2i2nwfKoa.C2vJB25Kyxj5.zhmTDgv4DgfYzweTlwf1Dg8GzhmTC2nYB2XS.zgvMyxvSDfbYzxzLBNrLza.zgL2.zhmTy2HLy2SGzhmTy2HLy2STlxjHzgLV.zhmTyxzHDgfY.C3bHBG.B3zLCMzSB3Dz.zgLZy29UBMvJDa.Aw1N.zhmTyMfKz2vFx3nWAw5Uzxi.zhmTC2vNx19PDgvT.zhmTy2HLy2S.zhmTyxzHDgfYx19ZDgf0Dxm.ChjLC3ngBgfZAa.mta4mdu0oufPAgzzua.zhmTyxzHDgfYlwDYB3vW.B2jZzxj2zq.ChjLDMvUDerLzMf1Bhq.CgLSBa.iZnMowjLoa.C3bSAxq.iZvJnMi3yq.DgfIBgLZDa.zhmTAw5WDxq.w2rHDgeTDMfSDwu9iG.BgvUz3rO.D2LKDgG.n3LPy3jUrG.w2LUzxj0xq.qxjYB3DsAwDODa.zhmTzMLLBgrFx2HPBNq.zhmTyMfKz2uTlw92zxjSAw5L.zhmTyNrUls0.mtKWz3roD0De.mtG5nZiWnKD0Ee9pBq.B2zMC2v0tgvMDa.zhmTC2vN.C3r5Bgu.AgvPz2H0.yNv0Dg9U.z2v0q2XPzw50uMvJDhm.zhmTAw5WDxqTlwjHCMu.C2v0vgLTzw91Da.zhmTyMfKz2uTlq.BMv1DhjHBa.y291BNq.y3vYCMvUDa.zhmTyMfKz2vFx2nOzxzYB24.oMrPC2fIBgvK.CMvTB3zLrxzLBNrmAxn0zw5LCG.qxjYB3Dmzwz0.zhmTC2vNx190AhvTyG.Dg9vChbLCKnHC2u.zhmTyNrUls1Py29U.mte2nZCZmdrHBeHJCeu.C2XPy2u.zhmTzMLLBgrFx2XHyMvS.zhmTyNrU.B2zMC2v0v2LKDgG.zhmTy2HLy2STlwnPCMnSzq.zhmTAw5WDxqTlq.y2HHCKnVzgvbDa.zhmTyMfKz2vFx2rVDa.zhmTyxzHDgfYls1ZCxvHCMu.DgfYz2v0.DgvZDa.yxv0BW.AM9PBG.C3rHCNrZv2L0Aa.zhmTDgv4DgfYzweTlwjHCMu.BwfW".split(".");
62
+ return q = function() {
63
+ return e;
64
+ }, q();
65
+ }
66
+ import { jsx as J, jsxs as Y } from "react/jsx-runtime";
67
+ var X = (...t) => t.filter(Boolean)[e(389)](" "), fe = V(function({ variant: n = e(321), size: r = "md", icon: a, iconRight: o, iconOnly: c, loading: f, block: p, shortcut: m, hotkey: h, className: g, children: _, disabled: v, ...y }, b) {
68
+ let x = e, S = K(null);
69
+ W(b, () => S[x(368)]);
70
+ let C = m == null ? void 0 : Array.isArray(m) ? m : [m], w = C?.join("\n");
71
+ return U(() => {
72
+ let e = x;
73
+ if (!h || !w) return;
74
+ let t = w[e(342)]("\n"), n = 0, r = (r) => {
75
+ let i = e, a = S.current;
76
+ !a || r[i(323)] || r[i(399)] || r.isComposing || r[i(407)] === 229 || u(r, t) && (r.metaKey || r[i(393)] || r.altKey || !l(r[i(386)])) && (a[i(311)](i(370)) || a[i(402)](i(350)) || a[i(362)]()[i(347)] === 0 || (r[i(339)](), a[i(318)][i(319)] = i(310), window[i(401)](n), n = window[i(364)](() => delete a.dataset[i(319)], s[i(335)]), a.click()));
77
+ };
78
+ return document.addEventListener(e(315), r), () => {
79
+ let t = e;
80
+ document[t(371)](t(315), r), window[t(401)](n);
81
+ };
82
+ }, [h, w]), Y(x(361), {
83
+ ref: S,
84
+ type: x(361),
85
+ className: X(x(379), x(354) + n, r !== "md" && "ds-btn--" + r, c && x(375), p && x(398), g),
86
+ "data-loading": f || void 0,
87
+ disabled: v || f,
88
+ "aria-busy": f || void 0,
89
+ "aria-keyshortcuts": h && C ? d(C) : void 0,
90
+ ...y,
91
+ children: [
92
+ f ? J(t, { size: r === "sm" ? 12 : 14 }) : a,
93
+ !c && _ != null && J(x(327), {
94
+ className: x(415),
95
+ children: _
96
+ }),
97
+ o,
98
+ C && !c && J(x(327), {
99
+ className: "ds-btn__kbd",
100
+ "aria-hidden": !0,
101
+ children: J(i, {
102
+ keys: C,
103
+ size: "sm"
104
+ })
105
+ })
106
+ ]
107
+ });
108
+ });
109
+ function pe({ label: t, hint: n, invalid: r, children: i, htmlFor: a }) {
110
+ let o = e;
111
+ return Y(o(324), {
112
+ className: "ds-field",
113
+ "data-invalid": r || void 0,
114
+ children: [
115
+ t && J(o(413), {
116
+ className: o(378),
117
+ htmlFor: a,
118
+ children: t
119
+ }),
120
+ i,
121
+ n && J(o(327), {
122
+ className: o(352),
123
+ children: n
124
+ })
125
+ ]
126
+ });
127
+ }
128
+ var me = V(function({ size: t = "md", leading: n, trailing: r, invalid: i, bare: a, disabled: o, wrapperClassName: s, wrapperStyle: c, wrapperRef: l, ...u }, d) {
129
+ let f = e;
130
+ return Y("div", {
131
+ ref: l,
132
+ className: X(f(345), t !== "md" && f(382) + t, a && f(363), s),
133
+ style: c,
134
+ "data-invalid": i || void 0,
135
+ "data-disabled": o || void 0,
136
+ children: [
137
+ n,
138
+ J(f(301), {
139
+ ref: d,
140
+ disabled: o,
141
+ "aria-invalid": i || void 0,
142
+ ...u
143
+ }),
144
+ r
145
+ ]
146
+ });
147
+ }), he = V(function({ autoResize: t, maxRows: n, bare: r, className: i, onInput: a, ...o }, s) {
148
+ let c = e, l = K(null);
149
+ W(s, () => l[c(368)]);
150
+ let u = H(() => {
151
+ let e = c, r = l[e(368)];
152
+ if (!r || !t) return;
153
+ r[e(359)][e(360)] = e(388);
154
+ let i = getComputedStyle(r), a = parseFloat(i[e(400)]) + parseFloat(i[e(305)]), o = n ? parseFloat(i.lineHeight) * n + a : Infinity;
155
+ r.style[e(360)] = Math[e(312)](r.scrollHeight, o) + "px", r[e(359)][e(328)] = r[e(411)] > o ? e(388) : "hidden";
156
+ }, [t, n]);
157
+ return G(u, [u, o.value]), J("textarea", {
158
+ ref: l,
159
+ rows: t ? 1 : void 0,
160
+ className: X(c(404), t && c(322), r && c(391), i),
161
+ onInput: (e) => {
162
+ u(), a?.(e);
163
+ },
164
+ ...o
165
+ });
166
+ });
167
+ function Z({ children: t, style: n, ...r }) {
168
+ let i = e;
169
+ return Y(i(327), {
170
+ className: "ds-select",
171
+ style: n,
172
+ children: [J(i(316), {
173
+ ...r,
174
+ children: t
175
+ }), J(ue, {})]
176
+ });
177
+ }
178
+ function ge({ label: t, shape: n = e(307), className: r, ...i }) {
179
+ let a = e;
180
+ return Y(a(413), {
181
+ className: X(a(333), n === "circle" && a(381), r),
182
+ children: [
183
+ J("input", {
184
+ type: a(396),
185
+ ...i
186
+ }),
187
+ J(a(327), {
188
+ className: "ds-check__box",
189
+ children: J(le, {})
190
+ }),
191
+ t
192
+ ]
193
+ });
194
+ }
195
+ function _e({ label: t, className: n, ...r }) {
196
+ let i = e;
197
+ return Y("label", {
198
+ className: X(i(325), n),
199
+ children: [
200
+ J("input", {
201
+ type: i(309),
202
+ ...r
203
+ }),
204
+ J(i(327), { className: "ds-check__box" }),
205
+ t
206
+ ]
207
+ });
208
+ }
209
+ function ve({ label: t, className: n, ...r }) {
210
+ let i = e;
211
+ return Y(i(413), {
212
+ className: X(i(414), n),
213
+ children: [
214
+ J(i(301), {
215
+ type: i(396),
216
+ role: i(302),
217
+ ...r
218
+ }),
219
+ J("span", {
220
+ className: i(397),
221
+ children: J(i(327), { className: i(395) })
222
+ }),
223
+ t
224
+ ]
225
+ });
226
+ }
227
+ function ye({ tone: n = e(366), dot: r, pulse: i, spinner: a, square: o, icon: s, iconRight: c, chevron: l, size: u = "md", overline: d, as: f = e(327), disabled: p, className: m, children: h, ...g }) {
228
+ let _ = e, v = f, y = f === "button";
229
+ return Y(v, {
230
+ type: y ? _(361) : void 0,
231
+ disabled: y ? p : void 0,
232
+ className: X("ds-badge", n !== _(366) && _(365) + n, o && _(303), u !== "md" && _(365) + u, d && _(353), y && _(308), m),
233
+ ...g,
234
+ children: [
235
+ a ? J("span", {
236
+ className: _(331),
237
+ "aria-hidden": !0,
238
+ children: J(t, { size: u === "sm" || d ? 9 : 10 })
239
+ }) : (r || i) && J(_(327), {
240
+ className: _(384),
241
+ "data-pulse": i || void 0
242
+ }),
243
+ !a && s,
244
+ h,
245
+ c,
246
+ l && J(de, {
247
+ className: _(369),
248
+ "aria-hidden": !0
249
+ })
250
+ ]
251
+ });
252
+ }
253
+ var Q = [
254
+ e(410),
255
+ e(408),
256
+ e(317),
257
+ e(394),
258
+ e(341),
259
+ e(320),
260
+ e(343)
261
+ ];
262
+ function $({ name: t, size: n = 28, square: r, online: i, color: a, tooltip: o = !0 }) {
263
+ let s = e, l = t[s(390)]("+") ? t : /^[가-힣]{3,4}$/[s(387)](t) ? t[s(377)](-2) : t[s(342)](/\s+/)[s(392)]((e) => e[0])[s(377)](0, 2).join("")[s(374)](), u = [...t][s(409)]((e, t) => e + t[s(383)](0), 0), d = a ?? Q[u % Q[s(347)]], f = Y(s(327), {
264
+ className: X(s(326), r && s(385)),
265
+ style: {
266
+ "--_s": n + "px",
267
+ "--_c": d
268
+ },
269
+ role: s(330),
270
+ "aria-label": t,
271
+ children: [J("span", {
272
+ "aria-hidden": !0,
273
+ children: l
274
+ }), i && J(s(327), { className: s(334) })]
275
+ });
276
+ return o === !1 ? f : J(c, {
277
+ content: o === !0 ? t : o,
278
+ children: f
279
+ });
280
+ }
281
+ function be({ names: t, size: r = 24, max: i = 4 }) {
282
+ let a = e;
283
+ return J(n, {
284
+ className: a(337),
285
+ icons: t[a(392)]((e) => J($, {
286
+ name: e,
287
+ size: r
288
+ }, e)),
289
+ size: r,
290
+ max: i,
291
+ overlap: 8,
292
+ label: t[a(389)](", "),
293
+ renderOverflow: (e) => J($, {
294
+ name: "+" + e,
295
+ size: r,
296
+ color: "var(--n5)",
297
+ tooltip: t[a(377)](-e)[a(389)](", ")
298
+ })
299
+ });
300
+ }
301
+ function xe({ options: t, value: n, onChange: i, variant: a = e(340), ariaLabel: o }) {
302
+ let s = e, c = K(null), [l, u] = ce(null);
303
+ G(() => {
304
+ let e = r, t = c[e(368)], i = t?.[e(406)](e(346) + CSS[e(416)](n) + "\"]");
305
+ if (!t || !i) return;
306
+ let a = () => u({
307
+ left: i[e(357)],
308
+ width: i[e(380)]
309
+ });
310
+ a();
311
+ let o = new ResizeObserver(a);
312
+ return o[e(338)](t), () => o[e(329)]();
313
+ }, [n, t.length]);
314
+ let d = (e) => {
315
+ let a = r, o = t[(t.findIndex((e) => e.value === n) + e + t[a(347)]) % t[a(347)]];
316
+ i(o[a(300)]);
317
+ };
318
+ return Y(s(324), {
319
+ ref: c,
320
+ className: X(s(358), a !== s(340) && "ds-seg--" + a),
321
+ role: s(344),
322
+ "aria-label": o,
323
+ onKeyDown: (e) => {
324
+ let t = s;
325
+ e[t(314)] === t(351) && d(1), e[t(314)] === t(372) && d(-1);
326
+ },
327
+ children: [l && a !== "chip" && J("span", {
328
+ className: s(373),
329
+ style: {
330
+ left: l[s(417)],
331
+ width: l[s(348)]
332
+ }
333
+ }), t[s(392)]((e) => Y(s(361), {
334
+ type: s(361),
335
+ role: "tab",
336
+ "data-value": e[s(300)],
337
+ "aria-selected": e[s(300)] === n,
338
+ tabIndex: e.value === n ? 0 : -1,
339
+ className: s(332),
340
+ onClick: () => i(e[s(300)]),
341
+ children: [
342
+ e[s(403)],
343
+ e[s(413)],
344
+ e[s(367)] != null && J(s(327), {
345
+ className: "ds-seg__count",
346
+ children: e[s(367)]
347
+ })
348
+ ]
349
+ }, e[s(300)]))]
350
+ });
351
+ }
352
+ export { ne as AspectRatio, $ as Avatar, be as AvatarGroup, C as BRAND_NAMES, ye as Badge, E as Box, w as BrandIcon, fe as Button, ge as Checkbox, T as ColorDot, x as CopyButton, I as CountBadge, N as Countdown, j as Delta, F as Elapsed, pe as Field, y as FileIcon, f as Flag, D as Grid, m as Heading, n as IconStack, se as IconTile, O as Inline, me as Input, i as Kbd, L as Link, B as MaskedText, Z as NativeSelect, _ as Progress, v as ProgressCircle, h as Prose, _e as Radio, oe as RelativeTime, p as SearchInput, xe as SegmentedControl, k as SelectorButton, ee as Separator, t as Spinner, te as Stack, A as StatusIcon, S as Swatch, ve as Switch, g as Text, he as Textarea, c as Tooltip, X as cx, b as fileKind, M as formatCountdown, P as formatElapsed, re as formatFullDate, a as formatKey, ie as formatRelativeTime, o as isMac, l as isTypingTarget, R as maskParts, z as maskValue, u as matchesHotkey, ae as nextRelativeTimeChange, d as toAriaShortcut };
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ function e(t, n) {
3
+ t -= 433;
4
+ let i = r(), a = i[t];
5
+ e.SvJCxe === void 0 && (e.YtynHa = function(e) {
6
+ let t = "", n = "";
7
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
8
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
9
+ return decodeURIComponent(n);
10
+ }, e.GQKMjP = {}, e.SvJCxe = !0);
11
+ let o = i[0];
12
+ e.ddwzZh !== o && (e.GQKMjP = {}, e.ddwzZh = o);
13
+ let s = e.GQKMjP[t];
14
+ return s === void 0 ? (a = e.YtynHa(a), e.GQKMjP[t] = a) : a = s, a;
15
+ }
16
+ (function(t, n) {
17
+ let r = e, i = t();
18
+ for (;;) try {
19
+ if (parseInt(r(444)) / 1 + parseInt(r(445)) / 2 * (-parseInt(r(436)) / 3) + -parseInt(r(442)) / 4 + parseInt(r(438)) / 5 + -parseInt(r(443)) / 6 + parseInt(r(440)) / 7 + -parseInt(r(447)) / 8 * (-parseInt(r(441)) / 9) == n) break;
20
+ i.push(i.shift());
21
+ } catch {
22
+ i.push(i.shift());
23
+ }
24
+ })(r, 976157);
25
+ function t(t, { visibleStart: n = 4, visibleEnd: r = 4, mask: i = "•", groupSize: a = 4, maskLength: o } = {}) {
26
+ let s = e, c = Array[s(433)](t.replace(/\s+/g, "")), l = Math[s(439)](0, n), u = Math[s(439)](0, r), d = c[s(435)] <= l + u, f = Math[s(439)](1, o ?? a), p = Math[s(439)](1, a), m = [];
27
+ for (let e = 0; e < f; e += p) m.push(i[s(437)](Math[s(448)](p, f - e)));
28
+ return {
29
+ start: d ? "" : c[s(446)](0, l)[s(434)](""),
30
+ hidden: m[s(434)](" "),
31
+ end: d || u === 0 ? "" : c[s(446)](-u)[s(434)]("")
32
+ };
33
+ }
34
+ function n(n, r) {
35
+ let i = e, { start: a, hidden: o, end: s } = t(n, r);
36
+ return [
37
+ a,
38
+ o,
39
+ s
40
+ ].filter(Boolean)[i(434)](" ");
41
+ }
42
+ export { t as maskParts, n as maskValue };
43
+ function r() {
44
+ let e = [
45
+ "nJmXnJCYyMrYzKPM",
46
+ "ogXnqNLRAa",
47
+ "C2XPy2u",
48
+ "mtiXmtuXmK9ruhjAra",
49
+ "BwLU",
50
+ "zNjVBq",
51
+ "AM9PBG",
52
+ "BgvUz3rO",
53
+ "mteYndu0nen6qNPLDG",
54
+ "CMvWzwf0",
55
+ "ntq1mde3nuzoveLMza",
56
+ "Bwf4",
57
+ "mti5ote5ntHbv1rSChe",
58
+ "oxD0vw5zyq",
59
+ "nda3nZa5nKHYB0HYBW",
60
+ "mtqWntKWmMTbzKzorG"
61
+ ];
62
+ return r = function() {
63
+ return e;
64
+ }, r();
65
+ }