@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,557 @@
1
+ "use client";
2
+ const e = F;
3
+ (function(e, t) {
4
+ let n = F, r = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(220)) / 1 * (parseInt(n(227)) / 2) + parseInt(n(277)) / 3 * (parseInt(n(309)) / 4) + -parseInt(n(285)) / 5 * (parseInt(n(271)) / 6) + parseInt(n(297)) / 7 + -parseInt(n(266)) / 8 + parseInt(n(330)) / 9 + -parseInt(n(270)) / 10 * (-parseInt(n(322)) / 11) == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(b, 171914);
12
+ var t = (t) => t[e(251)] ?? "text";
13
+ function n(e) {
14
+ return e == null || e === "" || Array.isArray(e) && !e.length;
15
+ }
16
+ var r = {
17
+ plain: (t, n) => n == null ? String(t) : t[e(235)](n),
18
+ comma: (t, n) => t[e(286)](e(236), {
19
+ minimumFractionDigits: n ?? 0,
20
+ maximumFractionDigits: n ?? 2
21
+ }),
22
+ percent: (t, n) => (t * 100).toLocaleString(e(236), { maximumFractionDigits: n ?? 1 }) + "%",
23
+ won: (t, n) => t.toLocaleString(e(236), { maximumFractionDigits: n ?? 0 }) + "원",
24
+ usd: (t, n) => "$" + t[e(286)](e(292), {
25
+ minimumFractionDigits: n ?? 2,
26
+ maximumFractionDigits: n ?? 2
27
+ })
28
+ }, i = (e, t = "comma", n) => r[t](e, n), a = (e) => String(e).padStart(2, "0"), o = (t) => t[e(280)]() + "-" + a(t[e(313)]() + 1) + "-" + a(t[e(273)]()), s = () => o(/* @__PURE__ */ new Date());
29
+ function c(t) {
30
+ let n = e, r = /^(\d{4})-(\d{2})-(\d{2})$/[n(254)](t);
31
+ if (!r) return t;
32
+ let [, i, a, o] = r, s = Number(a) + "월 " + Number(o) + "일";
33
+ return Number(i) === (/* @__PURE__ */ new Date())[n(280)]() ? s : i + "년 " + s;
34
+ }
35
+ function l(t) {
36
+ let n = e, r = t.trim();
37
+ if (!r) return null;
38
+ let i = /* @__PURE__ */ new Date(), a = {
39
+ 오늘: 0,
40
+ 내일: 1,
41
+ 어제: -1,
42
+ 모레: 2
43
+ };
44
+ if (r in a) return o(new Date(i[n(280)](), i[n(313)](), i.getDate() + a[r]));
45
+ let s = /^(\d{4})[-./]\s*(\d{1,2})[-./]\s*(\d{1,2})\.?$/[n(254)](r);
46
+ return s ? u(+s[1], +s[2], +s[3]) : (s = /^(?:(\d{4})년\s*)?(\d{1,2})월\s*(\d{1,2})일?$/.exec(r), s ? u(s[1] ? +s[1] : i.getFullYear(), +s[2], +s[3]) : (s = /^(\d{1,2})[/.-](\d{1,2})$/[n(254)](r), s ? u(i[n(280)](), +s[1], +s[2]) : null));
47
+ }
48
+ function u(t, n, r) {
49
+ let i = e, a = new Date(t, n - 1, r);
50
+ return a[i(313)]() === n - 1 && a[i(273)]() === r ? o(a) : null;
51
+ }
52
+ function d(t) {
53
+ let n = e, r = t.trim();
54
+ if (!r) return null;
55
+ let i = r[n(282)]("%"), a = Number(r.replace(/[,\s₩원$%]/g, ""));
56
+ return Number[n(223)](a) ? i ? a / 100 : a : null;
57
+ }
58
+ var f = [
59
+ e(267),
60
+ "1",
61
+ "y",
62
+ e(275),
63
+ "o",
64
+ "✓",
65
+ "✔",
66
+ "예",
67
+ "네",
68
+ "체크",
69
+ "x"
70
+ ], p = (t) => f.includes(t[e(218)]()[e(242)]());
71
+ function m(r, i) {
72
+ let a = e;
73
+ if (n(i)) return "";
74
+ switch (t(r)) {
75
+ case a(256): return a(i ? 244 : 289);
76
+ case a(318): return i.join(", ");
77
+ case a(265): return String(i);
78
+ default: return String(i);
79
+ }
80
+ }
81
+ function h(r, a) {
82
+ let o = e;
83
+ if (n(a)) return "";
84
+ switch (t(r)) {
85
+ case o(265): return typeof a === o(265) ? i(a, r[o(305)], r[o(336)]) : String(a);
86
+ case o(231): return c(String(a));
87
+ default: return m(r, a);
88
+ }
89
+ }
90
+ var g = [
91
+ e(342),
92
+ e(253),
93
+ e(260),
94
+ e(211),
95
+ e(283),
96
+ e(224)
97
+ ];
98
+ function _(n, r) {
99
+ let i = e, a = r[i(218)]();
100
+ switch (t(n)) {
101
+ case i(265): {
102
+ if (!a) return {
103
+ ok: !0,
104
+ value: null
105
+ };
106
+ let e = d(a);
107
+ return e == null ? {
108
+ ok: !1,
109
+ error: i(257)
110
+ } : {
111
+ ok: !0,
112
+ value: e
113
+ };
114
+ }
115
+ case i(256): return {
116
+ ok: !0,
117
+ value: p(a)
118
+ };
119
+ case i(231): {
120
+ if (!a) return {
121
+ ok: !0,
122
+ value: null
123
+ };
124
+ let e = l(a);
125
+ return e ? {
126
+ ok: !0,
127
+ value: e
128
+ } : {
129
+ ok: !1,
130
+ error: i(278)
131
+ };
132
+ }
133
+ case i(312):
134
+ case i(318): {
135
+ let e = (t(n) === i(312) ? [a] : a[i(232)](/[,\n]/))[i(308)]((e) => e[i(218)]())[i(328)](Boolean), r = n[i(335)] ?? [], o = [], s = [];
136
+ for (let t of e) {
137
+ let e = r[i(259)]((e) => e[i(221)].toLowerCase() === t[i(242)]()) ?? o.find((e) => e[i(221)] === t);
138
+ if (e) s[i(295)](e[i(221)]);
139
+ else {
140
+ if (n[i(262)] === !1) return {
141
+ ok: !1,
142
+ error: "‘" + t + "’은(는) 없는 선택지예요"
143
+ };
144
+ o[i(295)]({
145
+ label: t,
146
+ tone: g[(r[i(272)] + o[i(272)]) % g[i(272)]]
147
+ }), s[i(295)](t);
148
+ }
149
+ }
150
+ return {
151
+ ok: !0,
152
+ value: t(n) === i(312) ? s[0] ?? null : [...new Set(s)],
153
+ newOptions: o.length ? o : void 0
154
+ };
155
+ }
156
+ default: return {
157
+ ok: !0,
158
+ value: a ? r : null
159
+ };
160
+ }
161
+ }
162
+ var v = (t = []) => g[t[e(272)] % g[e(272)]];
163
+ function y(t, r, i) {
164
+ let a = e;
165
+ if (n(i)) return r.type !== a(256) && null;
166
+ let o = _(r, m(t, i));
167
+ return o.ok ? o[a(284)] : null;
168
+ }
169
+ function b() {
170
+ let e = /* @__PURE__ */ "DhLWzq.AM9PBG.C3vJy2vZCW.zxHLyW.67MiioY5UcdSHlJQUla.y2HLy2TIB3G.7iIR7j6q66w8ioYEHEUGPE2vMoYeUoYALa.Dg9tDhjPBMC.zMLUza.D2fYBMLUzW.C2L6zq.y3jLyxrHyMXL.CMvKDwnL.6Rca7j6LioUkPUYDGcdRGQdSP5W.BNvTyMvY.mtCZota2nhjUsMLKwa.Dhj1zq.ywz0zxi.CM91BMq.mteYotqZmefcy0zSvG.mJmWodjtDvLjBKi.BgvUz3rO.z2v0rgf0zq.C3vT.EwvZ.Bwf4.ntiYntq5svDlr05v.64kG7kECio2yLEYlNEYDTcdSLytRI4JSL5dSMPqGkoYyIdOGmtdSM5qGmJxSNBWP.C3rHCNrZv2L0Aa.z2v0rNvSBfLLyxi.BhrL.zw5KC1DPDgG.Aw5MBW.DMfSDwu.ndvTEu9MChK.Dg9mB2nHBgvtDhjPBMC.C29Tzq.CM93CW.rKfmu0u.zMLSDgvYtw9Kzq.yMvMB3jL.zw4Tvvm.BwLU.CgvYy2vUDevTChr5.ChvZAa.A2v5.mtCXoda1mKzwyxvjEa.y2HLy2TLza.C2vHCMnO.CMfUz2u.y29SDw1U.zMLSBgvK.CgvYy2vUDenOzwnRzwq.yMfZzq.zM9YBwf0.zgLY.AgfZ.BwfW.ng1Jy01AyG.y291BNq.CgfYC2u.C2vSzwn0.z2v0tw9UDgG.CMvWBgfJzq.66+47lk07ygS.AxnoB3q.C2v0.BxvSDgLtzwXLy3q.6RcsioYeUoQ4Sa.CM93.Dw5PCxvL.mtfbzxDNwKi.C29YDa.66QO65gqioYeUoQ4Sa.CgvYy2vUDezPBgXLza.BwvKAwfU.zwfYBgLLC3q.zMLSDgvY.zxzLCNK.ntm0odyXt1LzDvfr.6RcsioU5HoYCQa.BM9Uzq.BM93.zNjVBq.B3b0Aw9UCW.zgvJAw1HBhm.6Rcz7kEaioYvIUYDJa.7lwC64Yt6Rcs.7lk07ygSioU5HoYCQa.zw1WDhK.zMXHDe1HCa.ywnJzw50.C3bSAwnL.z2v0.AgLKzgvU.zgfUz2vY.Dw5JAgvJA2vK.ioYxHUYDJa.7ksr7jwz6Rcs.Bgf0zxn0.AxnbCNjHEq.67Me7jA0ioYEIoYDJa.DhjPBq.67MiioY5Ua.mty4mdCXs1LKAKfd.BgfIzwW.zMLUzeLUzgv4.AxngAw5PDgu.BMv1DhjHBa.BM90q29UDgfPBNm.67Me7jA0ioYEIoYNGcdSLyRSNyW.mK5Ts2LMyW.6Rca7j6LioYDToULUcdRGQdSP5W.BMfTzq.ywjZ.zgf0zq.C3bSAxq.yxzN.7lk07ygS65cO.Dg9gAxHLza.A28Ts1i.Aw5JBhvKzxm.BM90rw1WDhK.67MiioY5UcdRUytSNkG.y29UDgfPBNm.C29YDhm.Dg9mB3DLCKnHC2u.Dg9Uzq.vfjvrq.7lk07ygSioYvIcdRKkG.6RoG7jYGioQWKIdSHlJQUla.z3rL.q29SBgf0B3i.y29TCgfYzq.7y+S7zwO7zwy7kEaioYvIUYDJa".split(".");
171
+ return b = function() {
172
+ return e;
173
+ }, b();
174
+ }
175
+ function x(t, n, r = []) {
176
+ let i = e, a = [...r];
177
+ for (let e of t) {
178
+ let t = e[n];
179
+ for (let e of Array[i(216)](t) ? t : t == null || t === "" ? [] : [String(t)]) a[i(287)]((t) => t.label === e) || a[i(295)]({
180
+ label: e,
181
+ tone: v(a)
182
+ });
183
+ }
184
+ return a;
185
+ }
186
+ var S = {
187
+ text: [
188
+ e(240),
189
+ e(225),
190
+ "is",
191
+ e(316),
192
+ e(279),
193
+ e(282),
194
+ "empty",
195
+ e(238)
196
+ ],
197
+ url: [
198
+ e(240),
199
+ e(225),
200
+ "is",
201
+ e(316),
202
+ "empty",
203
+ e(238)
204
+ ],
205
+ number: [
206
+ "is",
207
+ e(316),
208
+ "gt",
209
+ "lt",
210
+ e(247),
211
+ e(281),
212
+ e(340),
213
+ e(238)
214
+ ],
215
+ select: [
216
+ "is",
217
+ e(316),
218
+ e(340),
219
+ "notEmpty"
220
+ ],
221
+ multiSelect: [
222
+ e(240),
223
+ e(225),
224
+ e(340),
225
+ e(238)
226
+ ],
227
+ checkbox: [e(298), e(212)],
228
+ date: [
229
+ "is",
230
+ e(291),
231
+ e(268),
232
+ e(340),
233
+ e(238)
234
+ ]
235
+ }, C = {
236
+ contains: "포함",
237
+ notContains: e(250),
238
+ is: "같음",
239
+ isNot: e(337),
240
+ startsWith: "시작",
241
+ endsWith: "끝",
242
+ gt: ">",
243
+ lt: "<",
244
+ gte: "≥",
245
+ lte: "≤",
246
+ before: "이전",
247
+ after: "이후",
248
+ checked: e(234),
249
+ unchecked: e(245),
250
+ empty: e(217),
251
+ notEmpty: e(226)
252
+ }, w = (t) => ![
253
+ e(298),
254
+ e(212),
255
+ e(340),
256
+ e(238)
257
+ ][e(237)](t);
258
+ function T(r, i, a) {
259
+ let o = e, s = t(r), c = (i[o(284)] ?? "")[o(218)]();
260
+ switch (i.op) {
261
+ case "empty": return n(a);
262
+ case o(238): return !n(a);
263
+ case o(298): return !!a;
264
+ case o(212): return !a;
265
+ }
266
+ if (!c) return !0;
267
+ if (s === "number") {
268
+ let e = d(c);
269
+ return e == null ? !0 : typeof a === o(265) ? {
270
+ is: a === e,
271
+ isNot: a !== e,
272
+ gt: a > e,
273
+ lt: a < e,
274
+ gte: a >= e,
275
+ lte: a <= e
276
+ }[i.op] ?? !0 : !1;
277
+ }
278
+ if (s === o(231)) {
279
+ let e = l(c) ?? c;
280
+ return typeof a == "string" ? i.op === o(291) ? a < e : i.op === o(268) ? a > e : a === e : !1;
281
+ }
282
+ if (s === o(318)) {
283
+ let e = Array.isArray(a) && a[o(237)](c);
284
+ return i.op === "notContains" ? !e : e;
285
+ }
286
+ let u = m(r, a).toLowerCase(), f = c[o(242)]();
287
+ switch (i.op) {
288
+ case o(240): return u[o(237)](f);
289
+ case o(225): return !u[o(237)](f);
290
+ case "is": return u === f;
291
+ case "isNot": return u !== f;
292
+ case o(279): return u[o(279)](f);
293
+ case o(282): return u.endsWith(f);
294
+ default: return !0;
295
+ }
296
+ }
297
+ var E = new Intl[e(248)]("ko", {
298
+ numeric: !0,
299
+ sensitivity: e(304)
300
+ });
301
+ function D(n, r, i) {
302
+ let a = e;
303
+ switch (t(n)) {
304
+ case a(265): return r - i;
305
+ case a(256): return Number(!!r) - Number(!!i);
306
+ case a(312):
307
+ case a(318): {
308
+ let e = (e) => {
309
+ let t = a, r = Array[t(216)](e) ? e[0] : e, i = n[t(335)]?.findIndex((e) => e[t(221)] === r) ?? -1;
310
+ return i < 0 ? 2 ** 53 - 1 : i;
311
+ };
312
+ return e(r) - e(i);
313
+ }
314
+ default: return E[a(249)](String(r), String(i));
315
+ }
316
+ }
317
+ function O(t, r, i) {
318
+ let a = e, o = new Map(r[a(308)]((e) => [e[a(296)], e])), s = i.filters[a(328)]((e) => o.has(e[a(296)])), c = i[a(299)].trim()[a(242)](), l = r[a(328)]((e) => !e[a(210)]), u = t[a(328)]((e) => {
319
+ let t = a;
320
+ if (s.length) {
321
+ let n = s[t(308)]((n) => T(o[t(344)](n[t(296)]), n, e[n[t(296)]]));
322
+ if (i[t(290)] === "and" ? !n[t(329)](Boolean) : !n[t(287)](Boolean)) return !1;
323
+ }
324
+ return !c || l[t(287)]((n) => h(n, e[n[t(296)]])[t(242)]()[t(237)](c));
325
+ }), d = i[a(241)][a(341)]((e) => {
326
+ let t = a, n = o[t(344)](e[t(296)]);
327
+ return n ? [{
328
+ ...e,
329
+ column: n
330
+ }] : [];
331
+ });
332
+ return d.length && (u = u[a(308)]((e, t) => ({
333
+ row: e,
334
+ i: t
335
+ }))[a(323)]((e, t) => {
336
+ let r = a;
337
+ for (let i of d) {
338
+ let a = e[r(320)][i[r(296)]], o = t[r(320)][i[r(296)]], s = n(a) && i.column[r(251)] !== r(256), c = n(o) && i[r(301)][r(251)] !== r(256);
339
+ if (s || c) {
340
+ if (s && c) continue;
341
+ return s ? 1 : -1;
342
+ }
343
+ let l = D(i[r(301)], a, o);
344
+ if (l) return i[r(306)] === "asc" ? l : -l;
345
+ }
346
+ return e.i - t.i;
347
+ })[a(308)]((e) => e[a(320)])), u;
348
+ }
349
+ function k(r, i) {
350
+ let a = e, o = i, s = t(o), c = /* @__PURE__ */ new Map(), l = (e, t, n, r) => {
351
+ let i = F;
352
+ return c[i(307)](e) || c[i(317)](e, {
353
+ key: e,
354
+ label: t,
355
+ value: n,
356
+ tone: r,
357
+ rows: []
358
+ }), c[i(344)](e);
359
+ };
360
+ if (s === "select") for (let e of o[a(335)] ?? []) l(e.label, e[a(221)], e[a(221)], e[a(243)] ?? a(224));
361
+ s === a(256) && (l(a(267), a(234), !0), l("false", a(245), !1));
362
+ for (let e of r) {
363
+ let t = e[o[a(296)]];
364
+ if (s === "checkbox") l(String(!!t), "", !!t).rows.push(e);
365
+ else if (n(t)) l("∅", o[a(229)] + a(213), null)[a(288)].push(e);
366
+ else {
367
+ let n = Array[a(216)](t) ? t[0] : t, r = String(n), i = s === a(312) || s === a(318) ? o.options?.[a(259)]((e) => e.label === r)?.[a(243)] ?? a(224) : void 0;
368
+ l(r, h({
369
+ ...o,
370
+ type: s === a(318) ? "select" : s
371
+ }, n), s === a(318) ? [n] : n, i).rows[a(295)](e);
372
+ }
373
+ }
374
+ let u = [...c.values()], d = u[a(222)]((e) => e.key === "∅");
375
+ return d >= 0 && u[a(295)](...u[a(343)](d, 1)), u;
376
+ }
377
+ var A = {
378
+ none: "없음",
379
+ count: e(324),
380
+ empty: e(255),
381
+ filled: e(319),
382
+ percentEmpty: e(239),
383
+ percentFilled: e(331),
384
+ unique: e(246),
385
+ sum: "합계",
386
+ avg: "평균",
387
+ median: "중앙값",
388
+ min: "최솟값",
389
+ max: e(338),
390
+ range: "범위",
391
+ checked: e(234),
392
+ unchecked: "체크 안 됨",
393
+ percentChecked: e(339),
394
+ earliest: e(228),
395
+ latest: e(264)
396
+ }, j = {
397
+ count: "개수",
398
+ empty: e(219),
399
+ filled: "값",
400
+ percentEmpty: e(219),
401
+ percentFilled: "값",
402
+ unique: "고유",
403
+ sum: "합계",
404
+ avg: "평균",
405
+ median: e(214),
406
+ min: "최소",
407
+ max: "최대",
408
+ range: "범위",
409
+ checked: "체크",
410
+ unchecked: e(315),
411
+ percentChecked: "체크",
412
+ earliest: "최초",
413
+ latest: "최근"
414
+ };
415
+ function M(t) {
416
+ let n = e, r = [
417
+ n(332),
418
+ n(310),
419
+ n(340),
420
+ "filled",
421
+ n(294),
422
+ n(325),
423
+ n(321)
424
+ ];
425
+ return t === n(265) ? [
426
+ ...r,
427
+ n(274),
428
+ n(233),
429
+ n(326),
430
+ n(293),
431
+ n(276),
432
+ n(300)
433
+ ] : t === "checkbox" ? [
434
+ n(332),
435
+ n(310),
436
+ n(298),
437
+ n(212),
438
+ n(303)
439
+ ] : t === n(231) ? [
440
+ ...r,
441
+ n(327),
442
+ "latest",
443
+ n(300)
444
+ ] : r;
445
+ }
446
+ function N(r, a, o) {
447
+ let s = e;
448
+ if (o === "none") return null;
449
+ let l = a.map((e) => e[r[s(296)]]), u = l.filter((e) => !n(e)), d = u[s(328)]((e) => typeof e === s(265))[s(323)]((e, t) => e - t), f = u[s(328)]((e) => typeof e == "string")[s(323)](), p = (e) => (a[s(272)] ? Math[s(269)](e / a.length * 100) : 0) + "%", m = (e) => i(e, r[s(305)], r[s(336)]), h = (e) => e[s(286)](s(236)), g = j[o] ?? "", _ = l.filter(Boolean)[s(272)], v;
450
+ switch (o) {
451
+ case s(310):
452
+ v = h(a.length);
453
+ break;
454
+ case s(340):
455
+ v = h(a.length - u[s(272)]);
456
+ break;
457
+ case s(302):
458
+ v = h(u.length);
459
+ break;
460
+ case s(294):
461
+ v = p(a[s(272)] - u[s(272)]);
462
+ break;
463
+ case s(325):
464
+ v = p(u[s(272)]);
465
+ break;
466
+ case s(321):
467
+ v = h(new Set(u[s(341)]((e) => Array[s(216)](e) ? e : [String(e)]))[s(261)]);
468
+ break;
469
+ case s(274):
470
+ v = m(d.reduce((e, t) => e + t, 0));
471
+ break;
472
+ case s(233):
473
+ v = d[s(272)] ? m(d[s(263)]((e, t) => e + t, 0) / d[s(272)]) : "—";
474
+ break;
475
+ case s(326): {
476
+ let e = d[s(272)] >> 1;
477
+ v = d[s(272)] ? m(d[s(272)] % 2 ? d[e] : (d[e - 1] + d[e]) / 2) : "—";
478
+ break;
479
+ }
480
+ case s(293):
481
+ v = d[s(272)] ? m(d[0]) : "—";
482
+ break;
483
+ case s(276):
484
+ v = d[s(272)] ? m(d[d[s(272)] - 1]) : "—";
485
+ break;
486
+ case s(300):
487
+ v = t(r) === s(231) ? (f[s(272)] ? Math[s(269)]((Date[s(311)](f[f[s(272)] - 1]) - Date[s(311)](f[0])) / 864e5) : 0) + "일" : d[s(272)] ? m(d[d.length - 1] - d[0]) : "—";
488
+ break;
489
+ case s(298):
490
+ v = h(_);
491
+ break;
492
+ case s(212):
493
+ v = h(a[s(272)] - _);
494
+ break;
495
+ case "percentChecked":
496
+ v = p(_);
497
+ break;
498
+ case s(327):
499
+ v = f[s(272)] ? c(f[0]) : "—";
500
+ break;
501
+ case s(215): v = f[s(272)] ? c(f[f.length - 1]) : "—";
502
+ }
503
+ return {
504
+ label: g,
505
+ value: v
506
+ };
507
+ }
508
+ function P(t) {
509
+ let n = e;
510
+ return t.map((e) => e.map((e) => /[\t\n"]/.test(e) ? "\"" + e.replace(/"/g, "\"\"") + "\"" : e)[n(252)](" ")).join("\n");
511
+ }
512
+ function F(e, t) {
513
+ e -= 210;
514
+ let n = b(), r = n[e];
515
+ F.cqzIWu === void 0 && (F.yqYAco = function(e) {
516
+ let t = "", n = "";
517
+ 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);
518
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
519
+ return decodeURIComponent(n);
520
+ }, F.iFkaWy = {}, F.cqzIWu = !0);
521
+ let i = n[0];
522
+ F.tEruwn !== i && (F.iFkaWy = {}, F.tEruwn = i);
523
+ let a = F.iFkaWy[e];
524
+ return a === void 0 ? (r = F.yqYAco(r), F.iFkaWy[e] = r) : r = a, r;
525
+ }
526
+ function I(t) {
527
+ let n = e, r = [], i = [], a = "", o = !1, s = t[n(314)](/\r\n?/g, "\n").replace(/\n$/, "");
528
+ for (let e = 0; e < s[n(272)]; e++) {
529
+ let t = s[e];
530
+ o ? t === "\"" && s[e + 1] === "\"" ? (a += "\"", e++) : t === "\"" ? o = !1 : a += t : t === "\"" && a === "" ? o = !0 : t === " " ? (i[n(295)](a), a = "") : t === "\n" ? (i[n(295)](a), r[n(295)](i), i = [], a = "") : a += t;
531
+ }
532
+ return i[n(295)](a), r[n(295)](i), r;
533
+ }
534
+ function L(t, n) {
535
+ let r = e, i = (e) => /[",\n]/.test(e) ? "\"" + e.replace(/"/g, "\"\"") + "\"" : e, a = [t[r(308)]((e) => i(e[r(229)]))[r(252)](",")];
536
+ for (let e of n) a[r(295)](t[r(308)]((t) => i(m(t, e[t.key])))[r(252)](","));
537
+ return a[r(252)]("\n");
538
+ }
539
+ function R(t, n) {
540
+ let r = e, i = t[r(329)]((e) => typeof e === r(265)) ? t : null;
541
+ if (i && i[r(272)] >= 2) {
542
+ let e = i[1] - i[0];
543
+ if (i[r(329)]((t, n) => n === 0 || Math[r(230)](t - i[n - 1] - e) < 1e-9)) {
544
+ let t = i[i.length - 1];
545
+ return Array.from({ length: n }, (n, i) => +(t + e * (i + 1))[r(235)](10));
546
+ }
547
+ }
548
+ return Array[r(334)]({ length: n }, (e, n) => {
549
+ let i = r, a = t[n % t[i(272)]];
550
+ return Array[i(216)](a) ? [...a] : a;
551
+ });
552
+ }
553
+ var z = (t, n) => {
554
+ let r = e, i = n[r(218)]()[r(242)]();
555
+ return i ? t[r(328)]((e) => e.label[r(242)]()[r(237)](i)) : t;
556
+ }, B = 0, V = (t = e(320)) => t + "-" + Date[e(333)]()[e(258)](36) + "-" + (++B)[e(258)](36);
557
+ export { A as AGGREGATE_LABEL, S as FILTER_OPS, C as FILTER_OP_LABEL, N as aggregate, M as aggregatesFor, y as convertValue, h as displayText, R as fillSeries, z as filterOptions, c as formatDate, i as formatNumber, k as groupRows, n as isEmptyValue, V as newId, v as nextOptionTone, w as opNeedsValue, x as optionsFromValues, p as parseBoolean, l as parseDate, d as parseNumber, I as parseTSV, _ as parseValue, L as toCSV, o as toISODate, P as toTSV, s as todayISO, t as typeOf, m as valueToText, O as viewRows };