@iamfiro/design 0.1.0 → 0.3.1

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 +66 -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 +90 -0
  13. package/lib/components/Calendar/Calendar2.js +309 -0
  14. package/lib/components/Calendar/DatePicker2.js +228 -0
  15. package/lib/components/Calendar/date.js +118 -0
  16. package/lib/components/Card/Card2.js +103 -0
  17. package/lib/components/CardFrame/CardFrame2.js +67 -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 +48 -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 +111 -0
  26. package/lib/components/ColorPicker/ColorPicker2.js +609 -0
  27. package/lib/components/ColorPicker/color.js +180 -0
  28. package/lib/components/ColorPicker/presets.js +70 -0
  29. package/lib/components/Combobox/Combobox2.js +228 -0
  30. package/lib/components/CommandMenu/CommandMenu.js +267 -0
  31. package/lib/components/Comment/Comment2.js +110 -0
  32. package/lib/components/ContextMenu/ContextMenu2.js +168 -0
  33. package/lib/components/DataGrid/DataGrid2.js +1998 -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 +557 -0
  37. package/lib/components/DataGrid/panels.js +701 -0
  38. package/lib/components/DataGrid/typeMeta.js +75 -0
  39. package/lib/components/DataGrid/types.js +53 -0
  40. package/lib/components/DescriptionList/DescriptionList2.js +180 -0
  41. package/lib/components/Dialog/AlertDialog.js +119 -0
  42. package/lib/components/Dialog/Dialog2.js +110 -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 +393 -0
  46. package/lib/components/DropdownMenu/menuCore.js +63 -0
  47. package/lib/components/Dropzone/Dropzone2.js +145 -0
  48. package/lib/components/EmptyState/EmptyState2.js +70 -0
  49. package/lib/components/FileChip/FileChip2.js +94 -0
  50. package/lib/components/FileUpload/FileUpload.js +259 -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 +72 -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 +110 -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 +132 -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 +222 -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 +128 -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 +52 -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 +90 -0
  77. package/lib/components/PieChart/useArcTween.js +92 -0
  78. package/lib/components/Popover/Popover2.js +111 -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 +238 -0
  82. package/lib/components/Resizable/layout.js +115 -0
  83. package/lib/components/ScaledPreview/ScaledPreview2.js +99 -0
  84. package/lib/components/ScatterChart/ScatterChart2.js +355 -0
  85. package/lib/components/ScatterChart/scatter.js +85 -0
  86. package/lib/components/ScrollArea/ScrollArea2.js +217 -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 +84 -0
  92. package/lib/components/SparkChart/SparkChart2.js +217 -0
  93. package/lib/components/SparkChart/spark.js +71 -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 +357 -0
  101. package/lib/components/TimePicker/TimePicker2.js +388 -0
  102. package/lib/components/TimePicker/time.js +81 -0
  103. package/lib/components/Timeline/Timeline2.js +369 -0
  104. package/lib/components/Timeline/scale.js +81 -0
  105. package/lib/components/Toast/Toaster.js +213 -0
  106. package/lib/components/Toast/store.js +128 -0
  107. package/lib/components/ToggleGroup/ToggleGroup2.js +125 -0
  108. package/lib/components/Toolbar/Toolbar2.js +283 -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 +286 -0
  112. package/lib/hooks/timing.js +57 -0
  113. package/lib/hooks/useControllableState.js +49 -0
  114. package/lib/hooks/useCountdown.js +75 -0
  115. package/lib/hooks/useDigitInput.js +103 -0
  116. package/lib/hooks/useDismiss.js +69 -0
  117. package/lib/hooks/useElapsed.js +85 -0
  118. package/lib/hooks/useFloating.js +70 -0
  119. package/lib/hooks/useFocusTrap.js +85 -0
  120. package/lib/hooks/usePresence.js +58 -0
  121. package/lib/hooks/usePressToOpen.js +70 -0
  122. package/lib/hooks/useScrollLock.js +71 -0
  123. package/lib/hooks/useSelection.js +65 -0
  124. package/lib/index.js +176 -17911
  125. package/lib/primitives/AspectRatio2.js +76 -0
  126. package/lib/primitives/BrandIcon.js +245 -0
  127. package/lib/primitives/ColorDot2.js +71 -0
  128. package/lib/primitives/CopyButton2.js +86 -0
  129. package/lib/primitives/CountBadge2.js +80 -0
  130. package/lib/primitives/Countdown2.js +61 -0
  131. package/lib/primitives/Delta2.js +92 -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 +69 -0
  137. package/lib/primitives/Kbd2.js +88 -0
  138. package/lib/primitives/Layout2.js +118 -0
  139. package/lib/primitives/Link2.js +55 -0
  140. package/lib/primitives/MaskedText2.js +121 -0
  141. package/lib/primitives/Progress2.js +137 -0
  142. package/lib/primitives/RelativeTime.js +82 -0
  143. package/lib/primitives/SearchInput2.js +85 -0
  144. package/lib/primitives/SelectorButton2.js +96 -0
  145. package/lib/primitives/Spinner2.js +94 -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 +54 -0
  151. package/lib/primitives/formatElapsed.js +63 -0
  152. package/lib/primitives/formatRelativeTime.js +64 -0
  153. package/lib/primitives/hotkey.js +94 -0
  154. package/lib/primitives/index.js +351 -0
  155. package/lib/primitives/maskValue.js +69 -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,48 @@
1
+ "use client";
2
+ (function(e, n) {
3
+ for (var r = t, i = e();;) try {
4
+ if (-parseInt(r(140)) / 1 + parseInt(r(143)) / 2 + parseInt(r(141)) / 3 + parseInt(r(139)) / 4 + parseInt(r(136)) / 5 * (-parseInt(r(144)) / 6) + parseInt(r(142)) / 7 + -parseInt(r(135)) / 8 == n) break;
5
+ i.push(i.shift());
6
+ } catch {
7
+ i.push(i.shift());
8
+ }
9
+ })(n, 936314);
10
+ function e(e) {
11
+ var n = t;
12
+ return new Intl.DateTimeFormat(n(137), {
13
+ hour: "numeric",
14
+ minute: n(138)
15
+ })[n(134)](e);
16
+ }
17
+ export { e as formatChatTime };
18
+ function t(e, r) {
19
+ e -= 134;
20
+ var i = n(), a = i[e];
21
+ t.qzSMGM === void 0 && (t.EhURdZ = function(e) {
22
+ for (var t = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=", n = "", r = "", i = 0, a, o, s = 0; o = e.charAt(s++); ~o && (a = i % 4 ? a * 64 + o : o, i++ % 4) && (n += String.fromCharCode(255 & a >> (-2 * i & 6)))) o = t.indexOf(o);
23
+ for (var c = 0, l = n.length; c < l; c++) r += "%" + ("00" + n.charCodeAt(c).toString(16)).slice(-2);
24
+ return decodeURIComponent(r);
25
+ }, t.rOXkAc = {}, t.qzSMGM = !0);
26
+ var o = i[0];
27
+ t.sTYwel !== o && (t.rOXkAc = {}, t.sTYwel = o);
28
+ var s = t.rOXkAc[e];
29
+ return s === void 0 ? (a = t.EhURdZ(a), t.rOXkAc[e] = a) : a = s, a;
30
+ }
31
+ function n() {
32
+ var e = [
33
+ "mZm3nJaYovzVuNbfAa",
34
+ "otqZodGWmfbKy2nVra",
35
+ "mtGYmtG0ofHZzxf1rG",
36
+ "nZyYtg9hs2vt",
37
+ "zM9YBwf0",
38
+ "mty1nZGXmtjJufbtv3q",
39
+ "mJG3mdvftKHeywu",
40
+ "A28Ts1i",
41
+ "mI1KAwDPDa",
42
+ "mtu4nZiYoe1bBNbdrq",
43
+ "ndm3odL5Cvjzrey"
44
+ ];
45
+ return n = function() {
46
+ return e;
47
+ }, n();
48
+ }
@@ -0,0 +1,153 @@
1
+ "use client";
2
+ const e = t;
3
+ function t(e, n) {
4
+ e -= 418;
5
+ let r = c(), i = r[e];
6
+ t.BjikyN === void 0 && (t.jWUtUI = function(e) {
7
+ let t = "", n = "";
8
+ 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);
9
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
10
+ return decodeURIComponent(n);
11
+ }, t.OywVaV = {}, t.BjikyN = !0);
12
+ let a = r[0];
13
+ t.zRjTmT !== a && (t.OywVaV = {}, t.zRjTmT = a);
14
+ let o = t.OywVaV[e];
15
+ return o === void 0 ? (i = t.jWUtUI(i), t.OywVaV[e] = i) : i = o, i;
16
+ }
17
+ (function(e, n) {
18
+ let r = t, i = e();
19
+ for (;;) try {
20
+ if (-parseInt(r(440)) / 1 + parseInt(r(421)) / 2 * (parseInt(r(437)) / 3) + -parseInt(r(419)) / 4 + parseInt(r(445)) / 5 + parseInt(r(426)) / 6 + parseInt(r(439)) / 7 * (parseInt(r(452)) / 8) + -parseInt(r(423)) / 9 == n) break;
21
+ i.push(i.shift());
22
+ } catch {
23
+ i.push(i.shift());
24
+ }
25
+ })(c, 397919);
26
+ import { Kbd as n } from "../../primitives/Kbd2.js";
27
+ import { Tooltip as r } from "../../primitives/Tooltip2.js";
28
+ import { Box as i, Inline as a, Stack as o } from "../../primitives/Layout2.js";
29
+ import { useControllableState as s } from "../../hooks/useControllableState.js";
30
+ function c() {
31
+ let e = /* @__PURE__ */ "mJG3mZG3nfnTvxjusq.DhjPBq.67o064k06RIWia.zhmTy29TCg9ZzxiTlxnT.zw50zxi.y3vYCMvUDfrHCMDLDa.7yYm7j28ioYYQoU2Ga.ChjLDMvUDerLzMf1Bhq.y3vYCMvUDa.ChjPBwfYEq.yNv0Dg9UlcbHlcbPBNb1DcWGDgv4DgfYzweSifTYB2XLpsjTzw51iL0.ntaZmZeZv015u0ft.DgfYz2v0.ndLfsNDyv0C.mZaZndz5q29QrK4.y2XVC2vZDa.67o064k06RIW.zgL2.zhmTy29TCg9ZzxjFx2LUChv0.mte4mtuZmhfZqNzgva.zxnJ.66Y07jEh7j2065oGioUSVoYwToUZToYeUoYALa.BMf0AxzLrxzLBNq.zM9JDxm.A2v5.rxnJyxbL.mZe5otKYA2LhDKj1.zw5K.nJeXoti4BMriy0fx.zhmTy29TCg9ZzxjFx3nLBMq.neTPvvz3rG.zhmTy29TCg9ZzxjFx2zVB3rLCG.nJC0nJe1n0XwyunlEG.rw50zxi.66Mu7iUC7kEa".split(".");
32
+ return c = function() {
33
+ return e;
34
+ }, c();
35
+ }
36
+ import { Button as l, Textarea as u, cx as d } from "../../primitives/index.js";
37
+ /* empty css */
38
+ import { useRef as f } from "react";
39
+ import { ArrowUp as p, Plus as m, Square as h } from "lucide-react";
40
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
41
+ function y({ value: t, defaultValue: c = "", onValueChange: y, onSubmit: b, placeholder: x = e(447), disabled: S, pending: C, onStop: w, onAttach: T, attachLabel: E = e(432), tools: D, actions: O, attachments: k, footer: A, maxRows: j, size: M = "md", autoFocus: N, name: P, "aria-label": F = e(425), className: I }) {
42
+ let L = e, [R, z] = s(t, c, y), B = f(null), V = !S && !C && R[L(427)]() !== "", H = M === "sm", U = () => {
43
+ V && (b?.(R), z(""));
44
+ }, W = (e) => {
45
+ let t = L;
46
+ e[t(448)].isComposing || (e.key === t(424) && !e.shiftKey ? (e[t(433)](), U()) : e[t(450)] === t(451) && C && w?.());
47
+ }, G = (e) => {
48
+ let t = L, n = e.target;
49
+ !S && e[t(431)].contains(n) && (n[t(441)](t(436)) || (e[t(433)](), B[t(434)]?.[t(449)]()));
50
+ }, K = H ? "sm" : "md", q = _(u, {
51
+ ref: B,
52
+ className: L(444),
53
+ bare: !0,
54
+ autoResize: !0,
55
+ maxRows: j ?? (H ? 4 : 8),
56
+ value: R,
57
+ onChange: (e) => z(e[L(438)].value),
58
+ onKeyDown: W,
59
+ placeholder: x,
60
+ disabled: S,
61
+ autoFocus: N,
62
+ name: P,
63
+ "aria-label": F
64
+ }), J = T && _(l, {
65
+ variant: "ghost",
66
+ size: K,
67
+ iconOnly: !0,
68
+ icon: _(m, {}),
69
+ "aria-label": E,
70
+ onClick: T,
71
+ disabled: S
72
+ }), Y = C ? _(r, {
73
+ content: v(g, { children: ["중지 ", _(n, {
74
+ keys: [L(446)],
75
+ size: "sm"
76
+ })] }),
77
+ children: _(l, {
78
+ className: L(420),
79
+ variant: L(435),
80
+ size: K,
81
+ iconOnly: !0,
82
+ icon: _(h, { fill: "currentColor" }),
83
+ "aria-label": "응답 중지",
84
+ onClick: w
85
+ })
86
+ }) : _(r, {
87
+ content: v(g, { children: [L(428), _(n, {
88
+ keys: [L(430)],
89
+ size: "sm"
90
+ })] }),
91
+ children: _(l, {
92
+ className: L(420),
93
+ variant: L(435),
94
+ size: K,
95
+ iconOnly: !0,
96
+ icon: _(p, {}),
97
+ "aria-label": L(442),
98
+ disabled: !V,
99
+ onClick: U
100
+ })
101
+ });
102
+ return v(L(443), {
103
+ className: d("ds-control ds-composer", H && L(429), I),
104
+ "data-disabled": S || void 0,
105
+ "data-pending": C || void 0,
106
+ onMouseDown: G,
107
+ children: [H ? _(i, {
108
+ padding: 2,
109
+ children: v(o, {
110
+ gap: 2,
111
+ children: [k, v(a, {
112
+ gap: 1,
113
+ align: L(418),
114
+ wrap: !1,
115
+ children: [
116
+ J,
117
+ D,
118
+ q,
119
+ O,
120
+ Y
121
+ ]
122
+ })]
123
+ })
124
+ }) : _(i, {
125
+ padding: 3,
126
+ children: v(o, {
127
+ gap: 3,
128
+ children: [
129
+ k,
130
+ q,
131
+ v(a, {
132
+ gap: 2,
133
+ justify: "between",
134
+ wrap: !1,
135
+ children: [v(a, {
136
+ gap: 2,
137
+ wrap: !1,
138
+ children: [J, D]
139
+ }), v(a, {
140
+ gap: 1,
141
+ wrap: !1,
142
+ children: [O, Y]
143
+ })]
144
+ })
145
+ ]
146
+ })
147
+ }), A && _(L(443), {
148
+ className: L(422),
149
+ children: A
150
+ })]
151
+ });
152
+ }
153
+ export { y as ChatComposer };
@@ -0,0 +1,93 @@
1
+ "use client";
2
+ const e = t;
3
+ function t(e, r) {
4
+ e -= 181;
5
+ let i = n(), a = i[e];
6
+ t.RzYnjt === void 0 && (t.YvxplU = function(e) {
7
+ let t = "", n = "";
8
+ 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);
9
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
10
+ return decodeURIComponent(n);
11
+ }, t.qudnaW = {}, t.RzYnjt = !0);
12
+ let o = i[0];
13
+ t.SuzbxC !== o && (t.qudnaW = {}, t.SuzbxC = o);
14
+ let s = t.qudnaW[e];
15
+ return s === void 0 ? (a = t.YvxplU(a), t.qudnaW[e] = a) : a = s, a;
16
+ }
17
+ function n() {
18
+ let e = /* @__PURE__ */ "mLvZEwLpyG.ChjL.Dgv4Da.7l2u65oCioUnLcdRS7tQUlaGWRCG.BgvUz3rO.ntKYmtC5meTMy3PxEG.CgXHAw4.zhmTy29Kzv9FBw9Yzq.zhmTy29Kzv9FDc0.odeZmJm0muDdALDiBa.ota1yvj1Bw5d.zhmTy29Kzq.zhmTy29Kzv9FChjVBxb0.C3bSAxq.zgL2.y29Kzq.yMfZAa.zNjVBq.Dhn4.nZK0ngfOrufitq.zhmTy29Kzv9FChjLigrZlxnJCM9SBa.CMvWBgfJzq.nZqWn1z0yNHfta.nJi5otqWsMPIs05A.DhLWzq.nduYmZiXnLbPy2Xztq.C3bHBG.zhmTy29Kzv9FAgvHza.mJC5mJyZmvjxz0Pfzq.mJy5ntHoD2TWwgq.zhmTy29Kzv9FDgL0Bgu.yNv0Dg9U.zhmTy29Kzv9Fz3v0DgvY".split(".");
19
+ return n = function() {
20
+ return e;
21
+ }, n();
22
+ }
23
+ (function(e, n) {
24
+ let r = t, i = e();
25
+ for (;;) try {
26
+ if (-parseInt(r(190)) / 1 * (parseInt(r(200)) / 2) + -parseInt(r(195)) / 3 + parseInt(r(192)) / 4 + -parseInt(r(210)) / 5 * (-parseInt(r(196)) / 6) + -parseInt(r(209)) / 7 + parseInt(r(186)) / 8 * (parseInt(r(189)) / 9) + parseInt(r(205)) / 10 == n) break;
27
+ i.push(i.shift());
28
+ } catch {
29
+ i.push(i.shift());
30
+ }
31
+ })(n, 630875);
32
+ import { CopyButton as r } from "../../primitives/CopyButton2.js";
33
+ import { cx as i } from "../../primitives/index.js";
34
+ import { tokenize as a } from "./highlight.js";
35
+ /* empty css */
36
+ import { useMemo as o, useState as s } from "react";
37
+ import { ChevronDown as c } from "lucide-react";
38
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
39
+ function d({ code: t, language: n = e(185), title: d, command: p, showLineNumbers: m, maxHeight: h, copyable: g = !0, className: _ }) {
40
+ let v = e, y = t[v(188)](/\n+$/, ""), b = o(() => a(y, p ? v(183) : n), [
41
+ y,
42
+ n,
43
+ p
44
+ ]), [x, S] = s(!1), C = y[v(213)]("\n")[v(204)], w = !!h && C * 22 > h;
45
+ return p ? u(v(181), {
46
+ className: i(v(211), "ds-code--command", _),
47
+ children: [
48
+ l(v(193), {
49
+ className: v(212),
50
+ "aria-hidden": !0,
51
+ children: "$"
52
+ }),
53
+ l(v(182), {
54
+ className: "ds-code__inline",
55
+ children: f(b)
56
+ }),
57
+ g && l(r, { value: y })
58
+ ]
59
+ }) : u(v(181), {
60
+ className: i("ds-code", _),
61
+ "data-collapsed": w && !x || void 0,
62
+ children: [
63
+ (d || g) && u(v(181), {
64
+ className: v(194),
65
+ children: [l(v(193), {
66
+ className: v(197),
67
+ children: d
68
+ }), g && l(r, { value: y })]
69
+ }),
70
+ u(v(201), {
71
+ className: v(187),
72
+ style: w && !x ? { maxHeight: h } : void 0,
73
+ children: [m && l(v(193), {
74
+ className: v(199),
75
+ "aria-hidden": !0,
76
+ children: Array[v(184)]({ length: C }, (e, t) => l(v(193), { children: t + 1 }, t))
77
+ }), l(v(182), { children: f(b) })]
78
+ }),
79
+ w && u("button", {
80
+ type: v(198),
81
+ className: v(207),
82
+ "data-expanded": x || void 0,
83
+ onClick: () => S((e) => !e),
84
+ children: [x ? "접기" : v(203) + C + "줄", l(c, {})]
85
+ })
86
+ ]
87
+ });
88
+ }
89
+ var f = (t) => t.map((t, n) => t[e(191)] === e(206) ? t[e(202)] : l(e(193), {
90
+ className: e(208) + t.type,
91
+ children: t[e(202)]
92
+ }, n));
93
+ export { d as CodeBlock };
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ function e(t, n) {
3
+ t -= 337;
4
+ let i = r(), a = i[t];
5
+ e.DfjUbx === void 0 && (e.fzPfRK = 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.OsriIO = {}, e.DfjUbx = !0);
11
+ let o = i[0];
12
+ e.DYwvyp !== o && (e.OsriIO = {}, e.DYwvyp = o);
13
+ let s = e.OsriIO[t];
14
+ return s === void 0 ? (a = e.fzPfRK(a), e.OsriIO[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(347)) / 1 + -parseInt(r(341)) / 2 + -parseInt(r(343)) / 3 + parseInt(r(349)) / 4 + parseInt(r(345)) / 5 + -parseInt(r(352)) / 6 + parseInt(r(351)) / 7 * (parseInt(r(337)) / 8) == n) break;
21
+ i.push(i.shift());
22
+ } catch {
23
+ i.push(i.shift());
24
+ }
25
+ })(r, 427961);
26
+ var n = {
27
+ tsx: [
28
+ [t(350), /\/\/[^\n]*|\/\*[\s\S]*?\*\//y],
29
+ [t(338), /'(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|`(?:\\.|[^`\\])*`/y],
30
+ [t(355), /<\/?[A-Za-z][\w.]*|\/?>/y],
31
+ [t(358), /\b(?:import|from|export|default|const|let|var|function|return|if|else|for|of|in|new|type|interface|extends|as|async|await|true|false|null|undefined|typeof|keyof)\b/y],
32
+ [t(339), /\b\d[\d_.]*\b/y],
33
+ ["attr", /\b[a-zA-Z-]+(?==)/y],
34
+ ["fn", /\b[a-zA-Z_]\w*(?=\()/y],
35
+ [t(357), /[{}()[\];,.:?=+\-*&|!<>]/y]
36
+ ],
37
+ css: [
38
+ [t(350), /\/\*[\s\S]*?\*\//y],
39
+ [t(338), /'[^']*'|"[^"]*"/y],
40
+ [t(354), /--?[a-zA-Z][\w-]*(?=\s*:)/y],
41
+ [t(355), /[.#]?[a-zA-Z][\w-]*(?=[^{;]*\{)/y],
42
+ ["number", /\b\d[\d.]*(?:px|rem|em|%|ms|s|deg|fr)?\b|#[0-9a-fA-F]{3,8}\b/y],
43
+ ["fn", /\b[a-z-]+(?=\()/y],
44
+ [t(357), /[{}();:,]/y]
45
+ ],
46
+ bash: [
47
+ [t(350), /#[^\n]*/y],
48
+ [t(338), /'[^']*'|"[^"]*"/y],
49
+ [t(358), /\b(?:npm|npx|pnpm|yarn|git|cd)\b/y],
50
+ [t(346), /\s--?[\w-]+/y]
51
+ ]
52
+ };
53
+ function r() {
54
+ let e = [
55
+ "zxHLyW",
56
+ "mtiXnJq3q05jBMHX",
57
+ "ChvZAa",
58
+ "mteYnZC3nw1Xt1HPDG",
59
+ "yxr0CG",
60
+ "mtC5ntq0u2DUBMH2",
61
+ "Dgv4Da",
62
+ "mtKXodG2nfnABNr3sW",
63
+ "y29TBwvUDa",
64
+ "n25XDvfova",
65
+ "mJy5mZq0ofj5u3b4ra",
66
+ "BgfZDeLUzgv4",
67
+ "ChjVCa",
68
+ "DgfN",
69
+ "CgXHAw4",
70
+ "ChvUy3q",
71
+ "A2v5D29Yza",
72
+ "mJuZmZe5mM14txHlva",
73
+ "C3rYAw5N",
74
+ "BNvTyMvY",
75
+ "BgvUz3rO",
76
+ "nty4mdKYuNHxuhDf"
77
+ ];
78
+ return r = function() {
79
+ return e;
80
+ }, r();
81
+ }
82
+ function i(e, r) {
83
+ let i = t;
84
+ if (r === i(348)) return [{
85
+ type: i(356),
86
+ text: e
87
+ }];
88
+ let a = n[r], o = [], s = "", c = 0;
89
+ b: for (; c < e[i(340)];) {
90
+ for (let [t, n] of a) {
91
+ n[i(353)] = c;
92
+ let r = n[i(342)](e);
93
+ if (r && r[0].length) {
94
+ s && o.push({
95
+ type: i(356),
96
+ text: s
97
+ }), s = "", o[i(344)]({
98
+ type: t,
99
+ text: r[0]
100
+ }), c += r[0].length;
101
+ continue b;
102
+ }
103
+ }
104
+ s += e[c++];
105
+ }
106
+ return s && o[i(344)]({
107
+ type: i(356),
108
+ text: s
109
+ }), o;
110
+ }
111
+ export { i as tokenize };