@iamfiro/design 0.3.1 → 0.3.2

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 (156) hide show
  1. package/agents/avatar/AGENTS.md +29 -1
  2. package/agents/tooltip/AGENTS.md +1 -1
  3. package/lib/components/Accordion/Accordion2.js +81 -81
  4. package/lib/components/ActionBar/ActionBar2.js +38 -39
  5. package/lib/components/Alert/Alert2.js +79 -79
  6. package/lib/components/AppShell/AppShell2.js +45 -45
  7. package/lib/components/AreaChart/AreaChart.js +45 -46
  8. package/lib/components/BarChart/BarChart2.js +166 -166
  9. package/lib/components/BarList/BarList2.js +83 -83
  10. package/lib/components/Breadcrumb/Breadcrumb2.js +68 -72
  11. package/lib/components/Calendar/Calendar2.js +166 -165
  12. package/lib/components/Calendar/DatePicker2.js +139 -139
  13. package/lib/components/Calendar/date.js +61 -58
  14. package/lib/components/Card/Card2.js +47 -47
  15. package/lib/components/CardFrame/CardFrame2.js +50 -45
  16. package/lib/components/Chart/ChartParts.js +78 -78
  17. package/lib/components/Chart/chart2.js +62 -62
  18. package/lib/components/Chart/useChartInteraction.js +56 -56
  19. package/lib/components/ChatBubble/ChatBubble2.js +116 -116
  20. package/lib/components/ChatBubble/formatChatTime.js +46 -39
  21. package/lib/components/ChatComposer/ChatComposer2.js +43 -43
  22. package/lib/components/CodeBlock/CodeBlock2.js +57 -57
  23. package/lib/components/CodeBlock/highlight.js +74 -74
  24. package/lib/components/ColorPicker/ColorPicker2.js +357 -357
  25. package/lib/components/ColorPicker/color.js +83 -83
  26. package/lib/components/ColorPicker/presets.js +47 -41
  27. package/lib/components/Combobox/Combobox2.js +143 -142
  28. package/lib/components/CommandMenu/CommandMenu.js +100 -100
  29. package/lib/components/Comment/Comment2.js +59 -60
  30. package/lib/components/ContextMenu/ContextMenu2.js +95 -96
  31. package/lib/components/DataGrid/DataGrid2.js +1202 -1203
  32. package/lib/components/DataGrid/GridPopover.js +87 -87
  33. package/lib/components/DataGrid/anchor.js +17 -19
  34. package/lib/components/DataGrid/model.js +261 -261
  35. package/lib/components/DataGrid/panels.js +397 -395
  36. package/lib/components/DataGrid/typeMeta.js +51 -51
  37. package/lib/components/DataGrid/types.js +38 -36
  38. package/lib/components/DescriptionList/DescriptionList2.js +74 -74
  39. package/lib/components/Dialog/AlertDialog.js +81 -82
  40. package/lib/components/Dialog/Dialog2.js +63 -63
  41. package/lib/components/Dialog/modal.js +70 -69
  42. package/lib/components/Drawer/Drawer2.js +122 -123
  43. package/lib/components/DropdownMenu/DropdownMenu2.js +257 -258
  44. package/lib/components/DropdownMenu/menuCore.js +43 -44
  45. package/lib/components/Dropzone/Dropzone2.js +76 -77
  46. package/lib/components/EmptyState/EmptyState2.js +59 -56
  47. package/lib/components/FileChip/FileChip2.js +73 -49
  48. package/lib/components/FileUpload/FileUpload.js +149 -150
  49. package/lib/components/FilterChips/FilterChips2.js +59 -59
  50. package/lib/components/FunnelChart/FunnelChart2.js +123 -123
  51. package/lib/components/FunnelChart/funnel.js +44 -47
  52. package/lib/components/Highlight/Highlight2.js +48 -48
  53. package/lib/components/HoverCard/HoverCard.js +89 -64
  54. package/lib/components/InlineDiff/InlineDiff2.js +123 -123
  55. package/lib/components/InlineDiff/diff.js +76 -76
  56. package/lib/components/InlineDiff/useDiffReview.js +69 -68
  57. package/lib/components/Kanban/Kanban2.js +366 -366
  58. package/lib/components/Kanban/KanbanCard.js +67 -67
  59. package/lib/components/Kanban/move.js +41 -45
  60. package/lib/components/LineChart/LineChart2.js +196 -196
  61. package/lib/components/List/List2.js +60 -59
  62. package/lib/components/Listbox/Listbox2.js +94 -94
  63. package/lib/components/Marker/Marker2.js +59 -52
  64. package/lib/components/Menubar/Menubar2.js +110 -112
  65. package/lib/components/MultiSelect/MultiSelect2.js +112 -112
  66. package/lib/components/NavigationMenu/NavigationMenu2.js +239 -240
  67. package/lib/components/NoticeStack/NoticeStack2.js +99 -99
  68. package/lib/components/NumberStepper/NumberStepper2.js +66 -65
  69. package/lib/components/OtpInput/OtpInput2.js +87 -88
  70. package/lib/components/Pagination/Pagination2.js +81 -81
  71. package/lib/components/Pagination/paginationRange.js +25 -24
  72. package/lib/components/PhoneInput/PhoneInput.js +77 -77
  73. package/lib/components/PieChart/PieChart2.js +101 -101
  74. package/lib/components/PieChart/arc.js +73 -76
  75. package/lib/components/PieChart/useArcTween.js +61 -57
  76. package/lib/components/Popover/Popover2.js +65 -64
  77. package/lib/components/ProgressTracker/ProgressTracker2.js +119 -119
  78. package/lib/components/Rating/Rating2.js +85 -85
  79. package/lib/components/Resizable/Resizable2.js +139 -139
  80. package/lib/components/Resizable/layout.js +68 -68
  81. package/lib/components/ScaledPreview/ScaledPreview2.js +55 -55
  82. package/lib/components/ScatterChart/ScatterChart2.js +249 -249
  83. package/lib/components/ScatterChart/scatter.js +55 -55
  84. package/lib/components/ScrollArea/ScrollArea2.js +132 -131
  85. package/lib/components/Select/Select2.js +81 -81
  86. package/lib/components/Sidebar/Sidebar2.js +61 -61
  87. package/lib/components/Skeleton/Skeleton2.js +46 -46
  88. package/lib/components/Slider/Slider2.js +74 -73
  89. package/lib/components/SocialLoginButton/SocialLoginButton.js +70 -70
  90. package/lib/components/SparkChart/SparkChart2.js +138 -137
  91. package/lib/components/SparkChart/spark.js +40 -61
  92. package/lib/components/Sparkbar/Sparkbar2.js +60 -59
  93. package/lib/components/SplitView/SplitView2.js +42 -42
  94. package/lib/components/Stat/Stat2.js +88 -88
  95. package/lib/components/StepList/StepList2.js +71 -71
  96. package/lib/components/Table/Table2.js +70 -70
  97. package/lib/components/Tabs/Tabs2.js +89 -89
  98. package/lib/components/TagInput/TagInput2.js +154 -154
  99. package/lib/components/TimePicker/TimePicker2.js +225 -226
  100. package/lib/components/TimePicker/time.js +50 -50
  101. package/lib/components/Timeline/Timeline2.js +201 -201
  102. package/lib/components/Timeline/scale.js +55 -53
  103. package/lib/components/Toast/Toaster.js +90 -92
  104. package/lib/components/Toast/store.js +91 -87
  105. package/lib/components/ToggleGroup/ToggleGroup2.js +84 -84
  106. package/lib/components/Toolbar/Toolbar2.js +166 -168
  107. package/lib/components/Tracker/Tracker2.js +89 -89
  108. package/lib/components/TreeDiagram/TreeDiagram2.js +126 -125
  109. package/lib/components/TreeView/TreeView2.js +154 -156
  110. package/lib/hooks/timing.js +35 -36
  111. package/lib/hooks/useControllableState.js +40 -39
  112. package/lib/hooks/useCountdown.js +57 -55
  113. package/lib/hooks/useDigitInput.js +59 -83
  114. package/lib/hooks/useDismiss.js +49 -46
  115. package/lib/hooks/useElapsed.js +53 -55
  116. package/lib/hooks/useFloating.js +44 -44
  117. package/lib/hooks/useFocusTrap.js +46 -70
  118. package/lib/hooks/usePresence.js +32 -29
  119. package/lib/hooks/usePressToOpen.js +50 -50
  120. package/lib/hooks/useScrollLock.js +51 -51
  121. package/lib/hooks/useSelection.js +55 -46
  122. package/lib/index.js +34 -35
  123. package/lib/primitives/AspectRatio2.js +59 -55
  124. package/lib/primitives/BrandIcon.js +160 -160
  125. package/lib/primitives/ColorDot2.js +38 -42
  126. package/lib/primitives/CopyButton2.js +56 -56
  127. package/lib/primitives/CountBadge2.js +66 -64
  128. package/lib/primitives/Countdown2.js +31 -32
  129. package/lib/primitives/Delta2.js +46 -71
  130. package/lib/primitives/Elapsed.js +44 -44
  131. package/lib/primitives/FileIcon2.js +82 -82
  132. package/lib/primitives/Flag2.js +134 -134
  133. package/lib/primitives/IconStack2.js +31 -53
  134. package/lib/primitives/IconTile2.js +46 -48
  135. package/lib/primitives/Kbd2.js +57 -57
  136. package/lib/primitives/Layout2.js +78 -78
  137. package/lib/primitives/Link2.js +29 -30
  138. package/lib/primitives/MaskedText2.js +47 -73
  139. package/lib/primitives/Progress2.js +77 -78
  140. package/lib/primitives/RelativeTime.js +49 -46
  141. package/lib/primitives/SearchInput2.js +58 -59
  142. package/lib/primitives/SelectorButton2.js +76 -74
  143. package/lib/primitives/Spinner2.js +62 -58
  144. package/lib/primitives/StatusIcon2.js +56 -56
  145. package/lib/primitives/Swatch2.js +69 -65
  146. package/lib/primitives/Tooltip2.js +92 -92
  147. package/lib/primitives/Typography2.js +68 -68
  148. package/lib/primitives/formatCountdown.js +39 -43
  149. package/lib/primitives/formatElapsed.js +43 -39
  150. package/lib/primitives/formatRelativeTime.js +50 -50
  151. package/lib/primitives/hotkey.js +76 -76
  152. package/lib/primitives/index.js +201 -181
  153. package/lib/primitives/maskValue.js +35 -39
  154. package/lib/style.css +1 -1
  155. package/lib/types/primitives/index.d.ts +6 -2
  156. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 아이콘 & 아바타 · `@iamfiro/design` · 직접 만들지 말고 이 컴포넌트를 쓴다.
4
4
 
5
- 사람이나 팀을 나타내는 이름 배지. 한국어 이름(3–4글자)은 성을 빼고 이름만(김민지 → 민지), 그 밖의 이름은 이니셜로 보여요. 배경색은 이름에 따라 정해져 같은 사람은 늘 같은 색이에요.
5
+ 사람이나 팀을 나타내는 이름 배지. 한국어 이름(3–4글자)은 성을 빼고 이름만(김민지 → 민지), 그 밖의 이름은 이니셜로 보여요. 배경색은 이름에 따라 정해져 같은 사람은 늘 같은 색이에요. 사진이 있으면 src로 넘기세요.
6
6
 
7
7
  ```tsx
8
8
  import { Avatar, AvatarGroup } from '@iamfiro/design'
@@ -11,6 +11,7 @@ import { Avatar, AvatarGroup } from '@iamfiro/design'
11
11
  ## 디자인 규칙
12
12
 
13
13
  - 행 앞 타일: 사람은 `Avatar`, 도구·사이트·문서는 `IconTile`(회색 채움 + 아이콘/글자). 선택된 것을 보여 주고 메뉴로 바꾸는 버튼(워크스페이스·계정 전환, 드롭다운 제목)은 `SelectorButton`을 `DropdownMenu` trigger에.
14
+ - 아바타는 hover하면 이름 `Tooltip`이 기본(`tooltip={false}`로 끔). `title` 속성 툴팁은 쓰지 않는다. 사진은 `Avatar src` / `AvatarGroup srcs`로 — `<img>`를 직접 얹지 않는다(불러오는 동안·실패 땐 이름 글자가 대신 보이고, 크기·모양·접속 점은 그대로).
14
15
 
15
16
  ## API
16
17
 
@@ -19,6 +20,7 @@ import { Avatar, AvatarGroup } from '@iamfiro/design'
19
20
  | prop | 타입 | 기본값 | 설명 |
20
21
  | --- | --- | --- | --- |
21
22
  | `name` (필수) | `string` | | 이름. 보이는 글자, 배경색, 툴팁, 화면 읽기 이름이 모두 여기서 나와요. |
23
+ | `src` | `string` | | 사진 주소. 불러오는 동안·실패하면 이름 글자를 보여 주고, 주소가 바뀌면 다시 불러와요. name은 그대로 화면 읽기 이름과 툴팁이 돼요. |
22
24
  | `size` | `number` | `28` | 지름(px). |
23
25
  | `square` | `boolean` | | 둥근 사각형. |
24
26
  | `online` | `boolean` | | 오른쪽 아래 접속 중 점. |
@@ -30,6 +32,7 @@ import { Avatar, AvatarGroup } from '@iamfiro/design'
30
32
  | prop | 타입 | 기본값 | 설명 |
31
33
  | --- | --- | --- | --- |
32
34
  | `names` (필수) | `string[]` | | 이름 목록. |
35
+ | `srcs` | `(string \| undefined)[]` | | 사진 주소 목록. names와 같은 순서이고, 사진이 없는 자리는 undefined면 글자로 보여요. |
33
36
  | `size` | `number` | `24` | 각 아바타 지름(px). |
34
37
  | `max` | `number` | `4` | 보여 줄 최대 인원. 나머지는 +N. |
35
38
 
@@ -57,6 +60,31 @@ export default function Example() {
57
60
  }
58
61
  ```
59
62
 
63
+ ### 사진
64
+
65
+ src에 사진 주소를 주면 사진을 보여 줘요. 불러오는 동안과 실패했을 때는 이름 글자가 그대로 보이고, 사진이 들어오면 글자가 사라져요. AvatarGroup은 srcs를 names와 같은 순서로 주고, 사진이 없는 사람 자리는 비워 두세요.
66
+
67
+ ```tsx
68
+ import { Avatar, AvatarGroup, Inline } from '@iamfiro/design'
69
+
70
+ export default function Example() {
71
+ return (
72
+ <Inline gap={3}>
73
+ <Avatar name="김민지" src="/avatars/minji.svg" size={40} />
74
+ <Avatar name="이도현" src="/avatars/dohyun.svg" size={40} online />
75
+ <Avatar name="박서연" src="/avatars/seoyeon.svg" size={40} square />
76
+ {/* 주소가 없거나 불러오지 못하면 이름 글자가 그대로 보여요 */}
77
+ <Avatar name="최하준" src="/avatars/없는-사진.png" size={40} />
78
+ <AvatarGroup
79
+ names={['김민지', '이도현', '박서연', '최하준']}
80
+ srcs={['/avatars/minji.svg', '/avatars/dohyun.svg', '/avatars/seoyeon.svg']}
81
+ size={32}
82
+ />
83
+ </Inline>
84
+ )
85
+ }
86
+ ```
87
+
60
88
  ### 크기 · 색
61
89
 
62
90
  size는 px 숫자예요. color로 배경색을 직접 정할 수 있어요.
@@ -11,7 +11,7 @@ import { Tooltip } from '@iamfiro/design'
11
11
  ## 디자인 규칙
12
12
 
13
13
  - 툴팁: 첫 번째는 `TIMING.tooltipDelay`(500ms) 뒤, 닫힌 지 `TIMING.tooltipSkip`(300ms) 안에 옆 툴팁으로 옮기면 즉시. 단 "즉시"는 **이미 기다린 시간만큼만** 건너뛴다 — `delay={0}` 툴팁을 거쳐 왔다고 `delay={1000}` 툴팁이 바로 열리면 안 된다(대기 시간 고장 버그). 키보드 포커스는 즉시, 누르면 닫고, Esc로 닫힌다. → `Tooltip`
14
- - 아바타는 hover하면 이름 `Tooltip`이 기본(`tooltip={false}`로 끔). `title` 속성 툴팁은 쓰지 않는다.
14
+ - 아바타는 hover하면 이름 `Tooltip`이 기본(`tooltip={false}`로 끔). `title` 속성 툴팁은 쓰지 않는다. 사진은 `Avatar src` / `AvatarGroup srcs`로 — `<img>`를 직접 얹지 않는다(불러오는 동안·실패 땐 이름 글자가 대신 보이고, 크기·모양·접속 점은 그대로).
15
15
 
16
16
  ## API
17
17
 
@@ -1,135 +1,135 @@
1
1
  "use client";
2
- const e = c;
2
+ const e = f;
3
3
  (function(e, t) {
4
- let n = c, r = e();
4
+ let n = f, r = e();
5
5
  for (;;) try {
6
- if (-parseInt(n(306)) / 1 * (-parseInt(n(311)) / 2) + -parseInt(n(294)) / 3 * (parseInt(n(282)) / 4) + -parseInt(n(310)) / 5 * (-parseInt(n(287)) / 6) + -parseInt(n(297)) / 7 * (parseInt(n(305)) / 8) + parseInt(n(293)) / 9 + -parseInt(n(295)) / 10 * (-parseInt(n(292)) / 11) + -parseInt(n(285)) / 12 == t) break;
6
+ if (parseInt(n(390)) / 1 * (parseInt(n(427)) / 2) + -parseInt(n(401)) / 3 + -parseInt(n(411)) / 4 + -parseInt(n(396)) / 5 + parseInt(n(428)) / 6 * (-parseInt(n(419)) / 7) + parseInt(n(405)) / 8 + parseInt(n(417)) / 9 == t) break;
7
7
  r.push(r.shift());
8
8
  } catch {
9
9
  r.push(r.shift());
10
10
  }
11
- })(g, 693264);
12
- import { useControllableState as t } from "../../hooks/useControllableState.js";
13
- import { cx as n } from "../../primitives/index.js";
14
- import { useSelection as r } from "../../hooks/useSelection.js";
11
+ })(t, 911233);
12
+ function t() {
13
+ let e = /* @__PURE__ */ "zhmTzgLZy2XVC3vYzv9FBgfIzwW.zhmTzgLZy2XVC3vYzv9Fy2HLDNjVBG.y3vYCMvUDa.lxrYAwDNzxi.mtC1otuZmLfTAe15qW.qwnJB3jKAw9UsxrLBsbTDxn0igjLihvZzwqGAw5ZAwrLidXby2nVCMrPB24+.ywn0AxzLrwXLBwvUDa.A2v5.sg9Tzq.rw5K.mJq1otq4mdrpB0DsAMO.CgXHAw4.mZvqDKj2DNC.zMLSDgvY.zhmTywnJB3jKAw9U.Aw5KzxHpzG.zhmTzgLZy2XVC3vYzv9Fy29UDgvUDa.zhmTzgLZy2XVC3vYzv9FzM9Sza.zhmTywnJB3jKAw9Uls0.zgvMyxvSDa.odeXnZCWuMTisgPM.mty2ntK3oefgrKrcuG.zgL2.uhjVDMLKzxi.C3bHBG.lMrZlwrPC2nSB3n1CMvFx3rYAwDNzxi6BM90kdPKAxnHyMXLzcK.y2XVC2vZDa.zhmTzgLZy2XVC3vYzs0TzMX1C2G.zhmTzgLZy2XVC3vYzv9FzgvZyW.AxnpCgvU.CxvLCNLtzwXLy3rVCKfSBa.m29KrgXosq.qxjYB3DeB3DU.zhmTzgLZy2XVC3vYzv9FAwnVBG.zhmTzgLZy2XVC3vYzq.Aw5SAw5L.zhmTzgLZy2XVC3vYzv9FAgvHzgLUzW.nJi0ndyWnwDXwfHQsa.lMrZlwfJy29YzgLVBG.Dg9Nz2XL.AxntzwXLy3rLza.zhmTzgLZy2XVC3vYzv9FDgv4Da.mtiZmZq1nLrArgj0Aq.zhmTzgLZy2XVC3vYzs0TAw5SAw5L.zhmTzgLZy2XVC3vYzv9FDhjPz2DLCG.lxjLz2LVBG.mZu5mJC0nfLjwLfQBa.BgvUz3rO".split(".");
14
+ return t = function() {
15
+ return e;
16
+ }, t();
17
+ }
18
+ import { useControllableState as n } from "../../hooks/useControllableState.js";
19
+ import { cx as r } from "../../primitives/index.js";
20
+ import { useSelection as i } from "../../hooks/useSelection.js";
15
21
  /* empty css */
16
- import { createContext as i, useContext as a, useId as o, useRef as s } from "react";
17
- function c(e, t) {
18
- e -= 272;
19
- let n = g(), r = n[e];
20
- c.wgdSiw === void 0 && (c.yTHQDg = function(e) {
22
+ import { createContext as a, useContext as o, useId as s, useRef as c } from "react";
23
+ import { ChevronDown as l } from "lucide-react";
24
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
25
+ function f(e, n) {
26
+ e -= 388;
27
+ let r = t(), i = r[e];
28
+ f.PHwuGE === void 0 && (f.zxlDlk = function(e) {
21
29
  let t = "", n = "";
22
30
  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);
23
31
  for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
24
32
  return decodeURIComponent(n);
25
- }, c.fLGrYU = {}, c.wgdSiw = !0);
26
- let i = n[0];
27
- c.XsACOT !== i && (c.fLGrYU = {}, c.XsACOT = i);
28
- let a = c.fLGrYU[e];
29
- return a === void 0 ? (r = c.yTHQDg(r), c.fLGrYU[e] = r) : r = a, r;
33
+ }, f.pLAvGE = {}, f.PHwuGE = !0);
34
+ let a = r[0];
35
+ f.eJJbrN !== a && (f.pLAvGE = {}, f.eJJbrN = a);
36
+ let o = f.pLAvGE[e];
37
+ return o === void 0 ? (i = f.zxlDlk(i), f.pLAvGE[e] = i) : i = o, i;
30
38
  }
31
- import { ChevronDown as l } from "lucide-react";
32
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
33
- function f({ open: e, defaultOpen: n = !1, onOpenChange: r, ...i }) {
34
- let [a, o] = t(e, n, r);
35
- return u(p, {
39
+ function p({ open: e, defaultOpen: t = !1, onOpenChange: r, ...i }) {
40
+ let [a, o] = n(e, t, r);
41
+ return u(m, {
36
42
  ...i,
37
43
  open: a,
38
44
  onToggle: () => o(!a)
39
45
  });
40
46
  }
41
- function p({ label: e, description: t, icon: r, disabled: i, open: a, onToggle: s, children: f, variant: p = "default", iconTone: m = "default", className: h }) {
42
- let g = c, _ = o(), v = p === "inline" ? "div" : "h3";
43
- return d(g(301), {
44
- className: n(g(314), p === g(317) && g(298), h),
45
- "data-open": a || void 0,
46
- "data-disabled": i || void 0,
47
+ function m({ label: t, description: n, icon: i, disabled: a, open: o, onToggle: c, children: f, variant: p = e(426), iconTone: m = "default", className: h }) {
48
+ let g = e, _ = s(), v = p === g(394) ? g(429) : "h3";
49
+ return d(g(429), {
50
+ className: r(g(393), p === g(394) && g(402), h),
51
+ "data-open": o || void 0,
52
+ "data-disabled": a || void 0,
47
53
  children: [u(v, {
48
- className: g(307),
54
+ className: g(395),
49
55
  children: d("button", {
50
- type: g(283),
51
- id: _ + g(309),
52
- "aria-expanded": a,
53
- "aria-controls": _ + g(284),
54
- disabled: i,
55
- className: g(308),
56
- onClick: s,
56
+ type: "button",
57
+ id: _ + g(410),
58
+ "aria-expanded": o,
59
+ "aria-controls": _ + g(404),
60
+ disabled: a,
61
+ className: g(403),
62
+ onClick: c,
57
63
  children: [
58
- r && u("span", {
59
- className: g(280),
60
- "data-tone": m === g(286) ? void 0 : m,
61
- children: r
64
+ i && u(g(431), {
65
+ className: g(392),
66
+ "data-tone": m === g(426) ? void 0 : m,
67
+ children: i
62
68
  }),
63
- d(g(304), {
64
- className: g(279),
65
- children: [u("span", {
66
- className: g(288),
67
- children: e
68
- }), t && u("span", {
69
- className: "ds-disclosure__desc",
69
+ d(g(431), {
70
+ className: g(400),
71
+ children: [u(g(431), {
72
+ className: g(407),
70
73
  children: t
74
+ }), n && u(g(431), {
75
+ className: g(435),
76
+ children: n
71
77
  })]
72
78
  }),
73
79
  u(l, {
74
- className: g(312),
80
+ className: g(408),
75
81
  "aria-hidden": !0
76
82
  })
77
83
  ]
78
84
  })
79
- }), u(g(301), {
80
- id: _ + g(284),
81
- role: g(278),
85
+ }), u(g(429), {
86
+ id: _ + g(404),
87
+ role: "region",
82
88
  "aria-labelledby": _ + "-trigger",
83
- className: g(291),
84
- inert: !a || void 0,
85
- children: u("div", {
86
- className: g(290),
87
- children: u(g(301), {
88
- className: g(296),
89
+ className: g(424),
90
+ inert: !o || void 0,
91
+ children: u(g(429), {
92
+ className: "ds-disclosure__inner",
93
+ children: u(g(429), {
94
+ className: g(423),
89
95
  children: f
90
96
  })
91
97
  })
92
98
  })]
93
99
  });
94
100
  }
95
- var m = i(null);
96
- function h({ variant: t = e(299), children: i, className: a, style: o, ...l }) {
97
- let d = e, f = r(l), p = s(null);
98
- return u(m[d(289)], {
101
+ var h = a(null);
102
+ function g({ variant: t = e(418), children: n, className: a, style: o, ...s }) {
103
+ let l = e, d = i(s), p = c(null);
104
+ return u(h[l(430)], {
99
105
  value: {
100
- isOpen: f[d(300)],
101
- toggle: f[d(273)]
106
+ isOpen: d[l(399)],
107
+ toggle: d[l(398)]
102
108
  },
103
109
  children: u("div", {
104
110
  ref: p,
105
- className: n("ds-accordion", d(313) + t, a),
111
+ className: r(l(421), l(425) + t, a),
106
112
  style: o,
107
113
  onKeyDown: (e) => {
108
- let t = c, n = [...p[t(303)]?.[t(281)](".ds-disclosure__trigger:not(:disabled)") ?? []].filter((e) => e[t(275)](".ds-accordion") === p[t(303)]), r = n[t(302)](document.activeElement);
114
+ let t = f, n = [...p[t(409)]?.[t(389)](t(432)) ?? []][t(420)]((e) => e[t(433)](t(397)) === p.current), r = n[t(422)](document[t(413)]);
109
115
  if (r < 0) return;
110
116
  let i;
111
- e.key === "ArrowDown" ? i = n[(r + 1) % n[t(277)]] : e[t(315)] === t(276) ? i = n[(r - 1 + n[t(277)]) % n.length] : e[t(315)] === t(272) ? i = n[0] : e[t(315)] === "End" && (i = n[n[t(277)] - 1]), i && (e.preventDefault(), i[t(274)]());
117
+ e[t(414)] === t(391) ? i = n[(r + 1) % n[t(406)]] : e.key === "ArrowUp" ? i = n[(r - 1 + n.length) % n[t(406)]] : e.key === t(415) ? i = n[0] : e.key === t(416) && (i = n[n[t(406)] - 1]), i && (e.preventDefault(), i.focus());
112
118
  },
113
- children: i
119
+ children: n
114
120
  })
115
121
  });
116
122
  }
117
- function g() {
118
- let e = /* @__PURE__ */ "mM1vvhvXEa.zhmTzgLZy2XVC3vYzv9Fy2HLDNjVBG.zhmTywnJB3jKAw9Uls0.zhmTzgLZy2XVC3vYzq.A2v5.qwnJB3jKAw9UsxrLBsbTDxn0igjLihvZzwqGAw5ZAwrLidXby2nVCMrPB24+.Aw5SAw5L.sg9Tzq.Dg9Nz2XL.zM9JDxm.y2XVC2vZDa.qxjYB3DvCa.BgvUz3rO.CMvNAw9U.zhmTzgLZy2XVC3vYzv9FDgv4Da.zhmTzgLZy2XVC3vYzv9FAwnVBG.CxvLCNLtzwXLy3rVCKfSBa.mJu2yuH4EM11.yNv0Dg9U.lxjLz2LVBG.nJCYmte0menPDMz2tG.zgvMyxvSDa.otqYBeLQuK9u.zhmTzgLZy2XVC3vYzv9FBgfIzwW.uhjVDMLKzxi.zhmTzgLZy2XVC3vYzv9FAw5Uzxi.zhmTzgLZy2XVC3vYzv9FzM9Sza.otm1rfLpvKXq.ntaYoti4muHpC2DAyq.mJuZndrYwKroq3y.mtiYmJCWDgTsvw5p.zhmTzgLZy2XVC3vYzv9Fy29UDgvUDa.mtK0nJyWowzPrwflwG.zhmTzgLZy2XVC3vYzs0TAw5SAw5L.CgXHAw4.AxntzwXLy3rLza.zgL2.Aw5KzxHpzG.y3vYCMvUDa.C3bHBG.mJrmwfHUD1y.odKWm3bMrwnzvW.zhmTzgLZy2XVC3vYzv9FAgvHzgLUzW.zhmTzgLZy2XVC3vYzv9FDhjPz2DLCG.lxrYAwDNzxi.mZi1mJvkteXgzhO".split(".");
119
- return g = function() {
120
- return e;
121
- }, g();
122
- }
123
123
  function _({ value: t, title: n, flush: r, ...i }) {
124
- let o = e, s = a(m);
125
- if (!s) throw Error(o(316));
126
- return u(p, {
124
+ let a = e, s = o(h);
125
+ if (!s) throw Error(a(412));
126
+ return u(m, {
127
127
  ...i,
128
- className: r ? "ds-disclosure--flush" : void 0,
128
+ className: r ? a(434) : void 0,
129
129
  label: n,
130
- open: s.isOpen(t),
131
- onToggle: () => s[o(273)](t)
130
+ open: s[a(388)](t),
131
+ onToggle: () => s[a(398)](t)
132
132
  });
133
133
  }
134
- h.Item = _;
135
- export { h as Accordion, _ as AccordionItem, f as Collapsible };
134
+ g.Item = _;
135
+ export { g as Accordion, _ as AccordionItem, p as Collapsible };
@@ -1,65 +1,64 @@
1
1
  "use client";
2
- var e = n;
2
+ var e = r;
3
3
  (function(e, t) {
4
- for (var r = n, i = e();;) try {
5
- if (parseInt(r(273)) / 1 * (-parseInt(r(267)) / 2) + parseInt(r(270)) / 3 + -parseInt(r(266)) / 4 + -parseInt(r(274)) / 5 * (-parseInt(r(262)) / 6) + parseInt(r(264)) / 7 * (parseInt(r(272)) / 8) + parseInt(r(269)) / 9 * (-parseInt(r(271)) / 10) + parseInt(r(260)) / 11 == t) break;
4
+ for (var n = r, i = e();;) try {
5
+ if (-parseInt(n(158)) / 1 + parseInt(n(164)) / 2 * (parseInt(n(161)) / 3) + parseInt(n(159)) / 4 * (-parseInt(n(168)) / 5) + -parseInt(n(160)) / 6 + -parseInt(n(154)) / 7 + parseInt(n(157)) / 8 * (-parseInt(n(155)) / 9) + -parseInt(n(167)) / 10 * (-parseInt(n(165)) / 11) == t) break;
6
6
  i.push(i.shift());
7
7
  } catch {
8
8
  i.push(i.shift());
9
9
  }
10
- })(r, 361033);
10
+ })(i, 412273);
11
11
  import { cx as t } from "../../primitives/index.js";
12
- function n(e, t) {
13
- e -= 258;
14
- var i = r(), a = i[e];
15
- n.cnnNfB === void 0 && (n.JIdoDC = function(e) {
12
+ /* empty css */
13
+ import { jsx as n } from "react/jsx-runtime";
14
+ function r(e, t) {
15
+ e -= 153;
16
+ var n = i(), a = n[e];
17
+ r.gIgryb === void 0 && (r.RpVNAJ = function(e) {
16
18
  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);
17
19
  for (var c = 0, l = n.length; c < l; c++) r += "%" + ("00" + n.charCodeAt(c).toString(16)).slice(-2);
18
20
  return decodeURIComponent(r);
19
- }, n.BbmDXR = {}, n.cnnNfB = !0);
20
- var o = i[0];
21
- n.DiysCn !== o && (n.BbmDXR = {}, n.DiysCn = o);
22
- var s = n.BbmDXR[e];
23
- return s === void 0 ? (a = n.JIdoDC(a), n.BbmDXR[e] = a) : a = s, a;
21
+ }, r.dcqamE = {}, r.gIgryb = !0);
22
+ var o = n[0];
23
+ r.NMjFRW !== o && (r.dcqamE = {}, r.NMjFRW = o);
24
+ var s = r.dcqamE[e];
25
+ return s === void 0 ? (a = r.RpVNAJ(a), r.dcqamE[e] = a) : a = s, a;
24
26
  }
25
- function r() {
27
+ function i() {
26
28
  var e = [
27
- "ndy5vhvOzwnm",
28
- "zhmTywn0Aw9UlwjHCI0T",
29
- "mtK0mdu4mfvuEe9bDG",
30
- "mJyZofzLAufeDq",
31
- "zhmTywn0Aw9UlwjHCI0TC3rPy2T5",
32
- "nZaXnZiXwuDIs3vn",
33
- "mtq0ode0oenuwNvNCa",
34
- "mZb1rNb5v20",
35
- "nZG4nZjpC0fuAwW",
36
- "ntiZBNvkDK15",
37
- "nwzPzenzsW",
29
+ "mtaWnZu2ne9VuwPmyW",
30
+ "mJGYodK4mKjStNrQvG",
31
+ "owzArvDZyq",
32
+ "y2vUDgvY",
33
+ "zhmTywn0Aw9UlwjHCG",
34
+ "ndy4nZCWt3P6Ew1s",
35
+ "mtmWmtnuzg9xthq",
38
36
  "zgL2",
37
+ "mtmYmJbKCw9wv2q",
38
+ "nwjbBgf5EG",
39
39
  "zhmTywn0Aw9UlwjHCL9Fz3jVDxa",
40
- "mZi1mdqZnhjVyLnKuG",
41
- "y2vUDgvY",
42
- "mtK4nJK1ngLbrMv6rq",
43
- "zMLLBgrZzxq"
40
+ "ndmZmtaZm0jWC2Tvwa",
41
+ "odq1ntC3qvLfBuXb",
42
+ "zhmTywn0Aw9UlwjHCI0TC3rPy2T5",
43
+ "mJrrqKPTuvm",
44
+ "mJmWodqYA0nhBNzU"
44
45
  ];
45
- return r = function() {
46
+ return i = function() {
46
47
  return e;
47
- }, r();
48
+ }, i();
48
49
  }
49
- /* empty css */
50
- import { jsx as i } from "react/jsx-runtime";
51
- function a({ children: n, align: r = e(261), sticky: a = !0, pending: o, "aria-label": s, className: c, style: l }) {
50
+ function a({ children: r, align: i = e(162), sticky: a = !0, pending: o, "aria-label": s, className: c, style: l }) {
52
51
  var u = e;
53
- return i(u(258), {
54
- className: t("ds-action-bar", u(265) + r, a && u(268), c),
52
+ return n(u(166), {
53
+ className: t(u(163), "ds-action-bar--" + i, a && u(156), c),
55
54
  "data-pending": o || void 0,
56
55
  style: l,
57
- children: i(u(263), {
58
- className: u(259),
56
+ children: n("fieldset", {
57
+ className: u(153),
59
58
  disabled: o,
60
59
  "aria-label": s,
61
60
  "aria-busy": o || void 0,
62
- children: n
61
+ children: r
63
62
  })
64
63
  });
65
64
  }
@@ -1,127 +1,127 @@
1
1
  "use client";
2
- const e = i;
2
+ const e = n;
3
3
  (function(e, t) {
4
- let n = i, r = e();
4
+ let r = n, i = e();
5
5
  for (;;) try {
6
- if (-parseInt(n(418)) / 1 * (-parseInt(n(400)) / 2) + parseInt(n(398)) / 3 + parseInt(n(422)) / 4 * (-parseInt(n(393)) / 5) + parseInt(n(395)) / 6 + parseInt(n(403)) / 7 + parseInt(n(420)) / 8 * (-parseInt(n(396)) / 9) + -parseInt(n(407)) / 10 == t) break;
7
- r.push(r.shift());
6
+ if (-parseInt(r(210)) / 1 + parseInt(r(213)) / 2 * (-parseInt(r(211)) / 3) + parseInt(r(203)) / 4 + parseInt(r(204)) / 5 + -parseInt(r(201)) / 6 * (-parseInt(r(198)) / 7) + parseInt(r(217)) / 8 + parseInt(r(215)) / 9 == t) break;
7
+ i.push(i.shift());
8
8
  } catch {
9
- r.push(r.shift());
9
+ i.push(i.shift());
10
10
  }
11
- })(f, 977308);
12
- import { Button as t, cx as n } from "../../primitives/index.js";
13
- /* empty css */
14
- import { useState as r } from "react";
15
- function i(e, t) {
16
- e -= 391;
17
- let n = f(), r = n[e];
18
- i.nbTKfX === void 0 && (i.YBedFN = function(e) {
11
+ })(t, 293631);
12
+ function t() {
13
+ let e = /* @__PURE__ */ "mZi2mJmYouHntefOEq.zgL2.ntiZmdaWr2X0tNbe.67cW64siioUlQ+Q4Sa.zhmTywXLCNq.zhmTywXLCNqTlq.zhmTywXLCNrFx2fJDgLVBNm.zhmTyMfUBMvYls1MBhvZAa.zhmTywXLCNrFx2nVBNrLBNq.C2v0vgLTzw91Da.ywXLCNq.C3rHDhvZ.D2fYBMLUzW.mtaWntjdsMzHCuq.zhmTyMfUBMvYx19Hy3rPB24.C3bHBG.odm0yuzVCMLw.zhmTywXLCNqTD3jHCa.nduYota4yvDiyKLT.ndyYmdiWu2zhrMnL.zhmTyMfUBMvYx190zxH0.Aw5MBW.Aw5SAw5L.zgfUz2vY.z2HVC3q.mJq2odi4uxPWs3Lt.mtiZm2vvCwz2ta.zhmTywXLCNrFx3rPDgXL.mtqYnfvTCgHhwa.zhmTywXLCNrFx2LJB24".split(".");
14
+ return t = function() {
15
+ return e;
16
+ }, t();
17
+ }
18
+ function n(e, r) {
19
+ e -= 193;
20
+ let i = t(), a = i[e];
21
+ n.ydVUvd === void 0 && (n.fFVEmi = function(e) {
19
22
  let t = "", n = "";
20
23
  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);
21
24
  for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
22
25
  return decodeURIComponent(n);
23
- }, i.bOgwOD = {}, i.nbTKfX = !0);
24
- let a = n[0];
25
- i.uCBDsV !== a && (i.bOgwOD = {}, i.uCBDsV = a);
26
- let o = i.bOgwOD[e];
27
- return o === void 0 ? (r = i.YBedFN(r), i.bOgwOD[e] = r) : r = o, r;
28
- }
29
- import { AlertTriangle as a, CheckCircle2 as o, Info as s, X as c, XCircle as l } from "lucide-react";
30
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
31
- function f() {
32
- let e = /* @__PURE__ */ "zhmTywXLCNrFx2fJDgLVBNm.Aw5SAw5L.mteWnZu3otbht2r0sKK.ywXLCNq.C3rHy2TLza.z2HVC3q.zhmTyMfUBMvYls1MBhvZAa.zhmTywXLCNq.zgL2.zhmTyMfUBMvYx19Hy3rPB24.zhmTywXLCNqTlq.zhmTywXLCNrFx2nVBNrLBNq.C2v0vgLTzw91Da.mvP5tNjSwq.C3rHDhvZ.nZG0nZC2AwPlvhnM.zhmTywXLCNqTD3jHCa.ntm0otm2nhjzDhHkvG.zhmTywXLCNrFx3rPDgXL.67cW64siioUlQ+Q4Sa.C3bHBG.Aw5MBW.nwHJqKz6sW.zhmTywXLCNrFx2jVzhK.ntu4odGXnefcwxzTqq.nZj2wgf5AwC.zhmTyMfUBMvY.ndq3nZu3mKzmCw1Krq.zhmTywXLCNrFx2LJB24.odG2nJm0qK9fB1bZ.7jwm66A8ioUlQ+Q4Sa.zhmTywXLCNrFx2nSB3nL.otm3nZG1ohPbBwHSva.D2fYBMLUzW".split(".");
33
- return f = function() {
34
- return e;
35
- }, f();
26
+ }, n.FkLiOT = {}, n.ydVUvd = !0);
27
+ let o = i[0];
28
+ n.cOVcCs !== o && (n.FkLiOT = {}, n.cOVcCs = o);
29
+ let s = n.FkLiOT[e];
30
+ return s === void 0 ? (a = n.fFVEmi(a), n.FkLiOT[e] = a) : a = s, a;
36
31
  }
32
+ import { Button as r, cx as i } from "../../primitives/index.js";
33
+ /* empty css */
34
+ import { useState as a } from "react";
35
+ import { AlertTriangle as o, CheckCircle2 as s, Info as c, X as l, XCircle as u } from "lucide-react";
36
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
37
37
  var p = {
38
- neutral: u(s, {}),
39
- info: u(s, {}),
40
- success: u(o, {}),
41
- warning: u(a, {}),
42
- danger: u(l, {})
38
+ neutral: d(c, {}),
39
+ info: d(c, {}),
40
+ success: d(s, {}),
41
+ warning: d(o, {}),
42
+ danger: d(u, {})
43
43
  }, m = 260;
44
- function h({ tone: a = e(392), title: o, children: s, icon: l, actions: f, onClose: h, layout: g = e(409), className: _ }) {
45
- let v = e, [y, b] = r(!1);
46
- return u(v(413), {
47
- className: v(421),
44
+ function h({ tone: t = e(206), title: o, children: s, icon: c, actions: u, onClose: h, layout: g = "stacked", className: _ }) {
45
+ let v = e, [y, b] = a(!1);
46
+ return d(v(216), {
47
+ className: v(202),
48
48
  "data-leaving": y || void 0,
49
- children: d("div", {
50
- role: a === "danger" || a === v(404) ? v(408) : v(419),
51
- className: n(v(412), v(415) + a, "ds-alert--" + g, _),
49
+ children: f("div", {
50
+ role: t === v(208) || t === v(197) ? v(195) : v(196),
51
+ className: i(v(219), v(220) + t, v(220) + g, _),
52
52
  children: [
53
- l !== !1 && u(v(391), {
54
- className: "ds-alert__icon",
55
- children: l ?? p[a]
53
+ c !== !1 && d(v(200), {
54
+ className: v(214),
55
+ children: c ?? p[t]
56
56
  }),
57
- d("div", {
58
- className: v(416),
57
+ f("div", {
58
+ className: v(193),
59
59
  children: [
60
- o && u("div", {
61
- className: v(423),
60
+ o && d(v(216), {
61
+ className: v(212),
62
62
  children: o
63
63
  }),
64
- s && u(v(413), {
65
- className: v(394),
64
+ s && d("div", {
65
+ className: "ds-alert__body",
66
66
  children: s
67
67
  }),
68
- f && g === v(409) && u(v(413), {
69
- className: v(405),
70
- children: f
68
+ u && g === "stacked" && d("div", {
69
+ className: v(221),
70
+ children: u
71
71
  })
72
72
  ]
73
73
  }),
74
- f && g === v(406) && u(v(413), {
74
+ u && g === v(207) && d("div", {
75
75
  className: "ds-alert__actions",
76
- children: f
76
+ children: u
77
77
  }),
78
- h && u(t, {
78
+ h && d(r, {
79
79
  iconOnly: !0,
80
- variant: "ghost",
80
+ variant: v(209),
81
81
  size: "sm",
82
- icon: u(c, {}),
83
- "aria-label": v(401),
84
- className: v(402),
82
+ icon: d(l, {}),
83
+ "aria-label": "알림 닫기",
84
+ className: "ds-alert__close",
85
85
  onClick: () => {
86
- let e = i;
87
- b(!0), window[e(417)](() => h?.(), m);
86
+ let e = n;
87
+ b(!0), window[e(194)](() => h?.(), m);
88
88
  }
89
89
  })
90
90
  ]
91
91
  })
92
92
  });
93
93
  }
94
- function g({ tone: a = e(392), children: o, action: s, onClose: l, icon: f, flush: h, className: g }) {
95
- let _ = e, [v, y] = r(!1);
96
- return u("div", {
97
- className: _(421),
94
+ function g({ tone: t = "info", children: o, action: s, onClose: c, icon: u, flush: h, className: g }) {
95
+ let _ = e, [v, y] = a(!1);
96
+ return d(_(216), {
97
+ className: _(202),
98
98
  "data-leaving": v || void 0,
99
- children: d(_(413), {
100
- role: _(419),
101
- className: n(_(397), _(415) + a, h && _(411), g),
99
+ children: f("div", {
100
+ role: _(196),
101
+ className: i("ds-banner", _(220) + t, h && _(222), g),
102
102
  children: [
103
- f !== !1 && u("span", {
104
- className: _(399),
105
- children: f ?? p[a]
103
+ u !== !1 && d(_(200), {
104
+ className: "ds-alert__icon",
105
+ children: u ?? p[t]
106
106
  }),
107
- u("span", {
108
- className: "ds-banner__text",
107
+ d(_(200), {
108
+ className: _(205),
109
109
  children: o
110
110
  }),
111
- s && u(_(391), {
112
- className: _(414),
111
+ s && d(_(200), {
112
+ className: _(199),
113
113
  children: s
114
114
  }),
115
- l && u(t, {
115
+ c && d(r, {
116
116
  iconOnly: !0,
117
- variant: _(410),
117
+ variant: _(209),
118
118
  size: "sm",
119
- icon: u(c, {}),
120
- "aria-label": _(424),
119
+ icon: d(l, {}),
120
+ "aria-label": _(218),
121
121
  className: "ds-banner__close",
122
122
  onClick: () => {
123
- let e = i;
124
- y(!0), window[e(417)](() => l?.(), m);
123
+ let e = n;
124
+ y(!0), window[e(194)](() => c?.(), m);
125
125
  }
126
126
  })
127
127
  ]