@iamfiro/design 0.3.0 → 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 +76 -76
  4. package/lib/components/ActionBar/ActionBar2.js +43 -43
  5. package/lib/components/Alert/Alert2.js +46 -46
  6. package/lib/components/AppShell/AppShell2.js +58 -58
  7. package/lib/components/AreaChart/AreaChart.js +39 -40
  8. package/lib/components/BarChart/BarChart2.js +169 -169
  9. package/lib/components/BarList/BarList2.js +99 -99
  10. package/lib/components/Breadcrumb/Breadcrumb2.js +65 -66
  11. package/lib/components/Calendar/Calendar2.js +172 -171
  12. package/lib/components/Calendar/DatePicker2.js +101 -102
  13. package/lib/components/Calendar/date.js +71 -71
  14. package/lib/components/Card/Card2.js +55 -56
  15. package/lib/components/CardFrame/CardFrame2.js +52 -52
  16. package/lib/components/Chart/ChartParts.js +90 -90
  17. package/lib/components/Chart/chart2.js +52 -52
  18. package/lib/components/Chart/useChartInteraction.js +44 -44
  19. package/lib/components/ChatBubble/ChatBubble2.js +112 -112
  20. package/lib/components/ChatBubble/formatChatTime.js +44 -42
  21. package/lib/components/ChatComposer/ChatComposer2.js +94 -94
  22. package/lib/components/CodeBlock/CodeBlock2.js +66 -66
  23. package/lib/components/CodeBlock/highlight.js +67 -70
  24. package/lib/components/ColorPicker/ColorPicker2.js +404 -405
  25. package/lib/components/ColorPicker/color.js +81 -81
  26. package/lib/components/ColorPicker/presets.js +44 -43
  27. package/lib/components/Combobox/Combobox2.js +128 -128
  28. package/lib/components/CommandMenu/CommandMenu.js +137 -137
  29. package/lib/components/Comment/Comment2.js +55 -80
  30. package/lib/components/ContextMenu/ContextMenu2.js +93 -94
  31. package/lib/components/DataGrid/DataGrid2.js +1181 -1180
  32. package/lib/components/DataGrid/GridPopover.js +112 -112
  33. package/lib/components/DataGrid/anchor.js +23 -25
  34. package/lib/components/DataGrid/model.js +274 -275
  35. package/lib/components/DataGrid/panels.js +423 -423
  36. package/lib/components/DataGrid/typeMeta.js +21 -22
  37. package/lib/components/DataGrid/types.js +38 -37
  38. package/lib/components/DescriptionList/DescriptionList2.js +107 -107
  39. package/lib/components/Dialog/AlertDialog.js +53 -53
  40. package/lib/components/Dialog/Dialog2.js +71 -70
  41. package/lib/components/Dialog/modal.js +59 -58
  42. package/lib/components/Drawer/Drawer2.js +123 -124
  43. package/lib/components/DropdownMenu/DropdownMenu2.js +198 -200
  44. package/lib/components/DropdownMenu/menuCore.js +46 -47
  45. package/lib/components/Dropzone/Dropzone2.js +77 -77
  46. package/lib/components/EmptyState/EmptyState2.js +57 -56
  47. package/lib/components/FileChip/FileChip2.js +71 -71
  48. package/lib/components/FileUpload/FileUpload.js +119 -119
  49. package/lib/components/FilterChips/FilterChips2.js +61 -61
  50. package/lib/components/FunnelChart/FunnelChart2.js +141 -141
  51. package/lib/components/FunnelChart/funnel.js +51 -51
  52. package/lib/components/Highlight/Highlight2.js +54 -54
  53. package/lib/components/HoverCard/HoverCard.js +108 -83
  54. package/lib/components/InlineDiff/InlineDiff2.js +126 -126
  55. package/lib/components/InlineDiff/diff.js +82 -82
  56. package/lib/components/InlineDiff/useDiffReview.js +62 -60
  57. package/lib/components/Kanban/Kanban2.js +382 -382
  58. package/lib/components/Kanban/KanbanCard.js +92 -92
  59. package/lib/components/Kanban/move.js +45 -49
  60. package/lib/components/LineChart/LineChart2.js +207 -207
  61. package/lib/components/List/List2.js +71 -71
  62. package/lib/components/Listbox/Listbox2.js +115 -115
  63. package/lib/components/Marker/Marker2.js +67 -60
  64. package/lib/components/Menubar/Menubar2.js +130 -133
  65. package/lib/components/MultiSelect/MultiSelect2.js +104 -104
  66. package/lib/components/NavigationMenu/NavigationMenu2.js +261 -262
  67. package/lib/components/NoticeStack/NoticeStack2.js +105 -105
  68. package/lib/components/NumberStepper/NumberStepper2.js +67 -67
  69. package/lib/components/OtpInput/OtpInput2.js +66 -67
  70. package/lib/components/Pagination/Pagination2.js +90 -90
  71. package/lib/components/Pagination/paginationRange.js +24 -24
  72. package/lib/components/PhoneInput/PhoneInput.js +74 -74
  73. package/lib/components/PieChart/PieChart2.js +119 -119
  74. package/lib/components/PieChart/arc.js +63 -42
  75. package/lib/components/PieChart/useArcTween.js +56 -54
  76. package/lib/components/Popover/Popover2.js +61 -61
  77. package/lib/components/ProgressTracker/ProgressTracker2.js +127 -127
  78. package/lib/components/Rating/Rating2.js +81 -81
  79. package/lib/components/Resizable/Resizable2.js +112 -110
  80. package/lib/components/Resizable/layout.js +50 -50
  81. package/lib/components/ScaledPreview/ScaledPreview2.js +49 -50
  82. package/lib/components/ScatterChart/ScatterChart2.js +226 -227
  83. package/lib/components/ScatterChart/scatter.js +59 -57
  84. package/lib/components/ScrollArea/ScrollArea2.js +112 -112
  85. package/lib/components/Select/Select2.js +79 -79
  86. package/lib/components/Sidebar/Sidebar2.js +79 -79
  87. package/lib/components/Skeleton/Skeleton2.js +68 -68
  88. package/lib/components/Slider/Slider2.js +78 -77
  89. package/lib/components/SocialLoginButton/SocialLoginButton.js +65 -66
  90. package/lib/components/SparkChart/SparkChart2.js +146 -145
  91. package/lib/components/SparkChart/spark.js +41 -67
  92. package/lib/components/Sparkbar/Sparkbar2.js +61 -60
  93. package/lib/components/SplitView/SplitView2.js +53 -53
  94. package/lib/components/Stat/Stat2.js +94 -94
  95. package/lib/components/StepList/StepList2.js +70 -70
  96. package/lib/components/Table/Table2.js +63 -63
  97. package/lib/components/Tabs/Tabs2.js +70 -70
  98. package/lib/components/TagInput/TagInput2.js +236 -239
  99. package/lib/components/TimePicker/TimePicker2.js +231 -232
  100. package/lib/components/TimePicker/time.js +63 -65
  101. package/lib/components/Timeline/Timeline2.js +167 -167
  102. package/lib/components/Timeline/scale.js +55 -55
  103. package/lib/components/Toast/Toaster.js +151 -152
  104. package/lib/components/Toast/store.js +90 -87
  105. package/lib/components/ToggleGroup/ToggleGroup2.js +91 -91
  106. package/lib/components/Toolbar/Toolbar2.js +145 -145
  107. package/lib/components/Tracker/Tracker2.js +76 -76
  108. package/lib/components/TreeDiagram/TreeDiagram2.js +112 -111
  109. package/lib/components/TreeView/TreeView2.js +124 -124
  110. package/lib/hooks/timing.js +30 -29
  111. package/lib/hooks/useControllableState.js +37 -36
  112. package/lib/hooks/useCountdown.js +56 -59
  113. package/lib/hooks/useDigitInput.js +52 -78
  114. package/lib/hooks/useDismiss.js +58 -57
  115. package/lib/hooks/useElapsed.js +54 -54
  116. package/lib/hooks/useFloating.js +26 -26
  117. package/lib/hooks/useFocusTrap.js +42 -42
  118. package/lib/hooks/usePresence.js +49 -48
  119. package/lib/hooks/usePressToOpen.js +42 -41
  120. package/lib/hooks/useScrollLock.js +45 -44
  121. package/lib/hooks/useSelection.js +45 -39
  122. package/lib/index.js +71 -71
  123. package/lib/primitives/AspectRatio2.js +60 -60
  124. package/lib/primitives/BrandIcon.js +161 -161
  125. package/lib/primitives/ColorDot2.js +42 -45
  126. package/lib/primitives/CopyButton2.js +57 -56
  127. package/lib/primitives/CountBadge2.js +55 -51
  128. package/lib/primitives/Countdown2.js +41 -46
  129. package/lib/primitives/Delta2.js +36 -36
  130. package/lib/primitives/Elapsed.js +49 -49
  131. package/lib/primitives/FileIcon2.js +96 -96
  132. package/lib/primitives/Flag2.js +135 -135
  133. package/lib/primitives/IconStack2.js +38 -60
  134. package/lib/primitives/IconTile2.js +28 -29
  135. package/lib/primitives/Kbd2.js +50 -50
  136. package/lib/primitives/Layout2.js +71 -71
  137. package/lib/primitives/Link2.js +32 -31
  138. package/lib/primitives/MaskedText2.js +49 -74
  139. package/lib/primitives/Progress2.js +65 -66
  140. package/lib/primitives/RelativeTime.js +58 -57
  141. package/lib/primitives/SearchInput2.js +65 -65
  142. package/lib/primitives/SelectorButton2.js +74 -73
  143. package/lib/primitives/Spinner2.js +50 -50
  144. package/lib/primitives/StatusIcon2.js +68 -68
  145. package/lib/primitives/Swatch2.js +59 -55
  146. package/lib/primitives/Tooltip2.js +81 -81
  147. package/lib/primitives/Typography2.js +53 -53
  148. package/lib/primitives/formatCountdown.js +21 -22
  149. package/lib/primitives/formatElapsed.js +43 -42
  150. package/lib/primitives/formatRelativeTime.js +50 -50
  151. package/lib/primitives/hotkey.js +82 -82
  152. package/lib/primitives/index.js +193 -174
  153. package/lib/primitives/maskValue.js +28 -28
  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,20 +1,20 @@
1
1
  "use client";
2
- function e() {
3
- let t = /* @__PURE__ */ "zhmTzgLZy2XVC3vYzs0TzMX1C2G.zhmTzgLZy2XVC3vYzv9Fy29UDgvUDa.zgvMyxvSDa.AxntzwXLy3rLza.Dg9Nz2XL.yNv0Dg9U.zMLSDgvY.sg9Tzq.C3bHBG.mta1mduXmhvRsKTOAG.zgL2.zhmTzgLZy2XVC3vYzv9FzM9Sza.zhmTzgLZy2XVC3vYzv9FDhjPz2DLCG.y2XVC2vZDa.zhmTzgLZy2XVC3vYzv9FDgv4Da.ChjLDMvUDerLzMf1Bhq.A2v5.mti5ntaWne9xuLLlBq.ntu2nZqWoeflqvLbEa.lMrZlwfJy29YzgLVBG.zhmTzgLZy2XVC3vYzv9FAwnVBG.qxjYB3DvCa.CgXHAw4.BgvUz3rO.CxvLCNLtzwXLy3rVCKfSBa.lxjLz2LVBG.CMvNAw9U.sxrLBq.zhmTywnJB3jKAw9Uls0.zM9JDxm.nty0ntu0nuHyu1PrDq.lxrYAwDNzxi.lMrZlwrPC2nSB3n1CMvFx3rYAwDNzxi6BM90kdPKAxnHyMXLzcK.ntG3mtn5C0fZyM0.ote4ndm3zvLsEuLO.y3vYCMvUDa.Aw5SAw5L.mtmZodmXmKX0r0DhwG.Aw5KzxHpzG.zhmTzgLZy2XVC3vYzq.zhmTzgLZy2XVC3vYzv9FAw5Uzxi.zhmTzgLZy2XVC3vYzv9FzgvZyW.AxnpCgvU.zhmTzgLZy2XVC3vYzv9FBgfIzwW".split(".");
4
- return e = function() {
5
- return t;
6
- }, e();
7
- }
8
- const t = h;
2
+ const e = f;
9
3
  (function(e, t) {
10
- let n = h, r = e();
4
+ let n = f, r = e();
11
5
  for (;;) try {
12
- if (parseInt(n(361)) / 1 + -parseInt(n(380)) / 2 + parseInt(n(360)) / 3 + parseInt(n(364)) / 4 + -parseInt(n(357)) / 5 + parseInt(n(388)) / 6 + parseInt(n(389)) / 7 == 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;
13
7
  r.push(r.shift());
14
8
  } catch {
15
9
  r.push(r.shift());
16
10
  }
17
- })(e, 629400);
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
18
  import { useControllableState as n } from "../../hooks/useControllableState.js";
19
19
  import { cx as r } from "../../primitives/index.js";
20
20
  import { useSelection as i } from "../../hooks/useSelection.js";
@@ -22,114 +22,114 @@ import { useSelection as i } from "../../hooks/useSelection.js";
22
22
  import { createContext as a, useContext as o, useId as s, useRef as c } from "react";
23
23
  import { ChevronDown as l } from "lucide-react";
24
24
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
25
- function f({ open: e, defaultOpen: t = !1, onOpenChange: r, ...i }) {
25
+ function f(e, n) {
26
+ e -= 388;
27
+ let r = t(), i = r[e];
28
+ f.PHwuGE === void 0 && (f.zxlDlk = function(e) {
29
+ let t = "", n = "";
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);
31
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
32
+ return decodeURIComponent(n);
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;
38
+ }
39
+ function p({ open: e, defaultOpen: t = !1, onOpenChange: r, ...i }) {
26
40
  let [a, o] = n(e, t, r);
27
- return u(p, {
41
+ return u(m, {
28
42
  ...i,
29
43
  open: a,
30
44
  onToggle: () => o(!a)
31
45
  });
32
46
  }
33
- function p({ label: e, description: n, icon: i, disabled: a, open: o, onToggle: c, children: f, variant: p = t(373), iconTone: m = "default", className: h }) {
34
- let g = t, _ = s(), v = p === "inline" ? g(381) : "h3";
35
- return d(g(381), {
36
- className: r(g(366), p === g(363) && "ds-disclosure--inline", h),
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),
37
51
  "data-open": o || void 0,
38
52
  "data-disabled": a || void 0,
39
53
  children: [u(v, {
40
- className: "ds-disclosure__heading",
41
- children: d(g(376), {
42
- type: g(376),
43
- id: _ + g(358),
54
+ className: g(395),
55
+ children: d("button", {
56
+ type: "button",
57
+ id: _ + g(410),
44
58
  "aria-expanded": o,
45
- "aria-controls": _ + g(396),
59
+ "aria-controls": _ + g(404),
46
60
  disabled: a,
47
- className: g(383),
61
+ className: g(403),
48
62
  onClick: c,
49
63
  children: [
50
- i && u(g(379), {
51
- className: g(391),
52
- "data-tone": m === "default" ? void 0 : m,
64
+ i && u(g(431), {
65
+ className: g(392),
66
+ "data-tone": m === g(426) ? void 0 : m,
53
67
  children: i
54
68
  }),
55
- d(g(379), {
56
- className: g(385),
57
- children: [u(g(379), {
58
- className: g(370),
59
- children: e
60
- }), n && u(g(379), {
61
- className: g(368),
69
+ d(g(431), {
70
+ className: g(400),
71
+ children: [u(g(431), {
72
+ className: g(407),
73
+ children: t
74
+ }), n && u(g(431), {
75
+ className: g(435),
62
76
  children: n
63
77
  })]
64
78
  }),
65
79
  u(l, {
66
- className: "ds-disclosure__chevron",
80
+ className: g(408),
67
81
  "aria-hidden": !0
68
82
  })
69
83
  ]
70
84
  })
71
- }), u(g(381), {
72
- id: _ + g(396),
73
- role: g(397),
74
- "aria-labelledby": _ + g(358),
75
- className: g(382),
85
+ }), u(g(429), {
86
+ id: _ + g(404),
87
+ role: "region",
88
+ "aria-labelledby": _ + "-trigger",
89
+ className: g(424),
76
90
  inert: !o || void 0,
77
- children: u("div", {
78
- className: g(367),
79
- children: u(g(381), {
80
- className: g(372),
91
+ children: u(g(429), {
92
+ className: "ds-disclosure__inner",
93
+ children: u(g(429), {
94
+ className: g(423),
81
95
  children: f
82
96
  })
83
97
  })
84
98
  })]
85
99
  });
86
100
  }
87
- var m = a(null);
88
- function h(t, n) {
89
- t -= 355;
90
- let r = e(), i = r[t];
91
- h.rDemQm === void 0 && (h.NLxyOx = function(e) {
92
- let t = "", n = "";
93
- 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);
94
- for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
95
- return decodeURIComponent(n);
96
- }, h.wVZXmv = {}, h.rDemQm = !0);
97
- let a = r[0];
98
- h.BkMNcy !== a && (h.wVZXmv = {}, h.BkMNcy = a);
99
- let o = h.wVZXmv[t];
100
- return o === void 0 ? (i = h.NLxyOx(i), h.wVZXmv[t] = i) : i = o, i;
101
- }
102
- function g({ variant: e = t(393), children: n, className: a, style: o, ...s }) {
103
- let l = t, d = i(s), f = c(null);
104
- return u(m.Provider, {
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)], {
105
105
  value: {
106
- isOpen: d[l(374)],
107
- toggle: d[l(375)]
106
+ isOpen: d[l(399)],
107
+ toggle: d[l(398)]
108
108
  },
109
- children: u(l(381), {
110
- ref: f,
111
- className: r("ds-accordion", l(355) + e, a),
109
+ children: u("div", {
110
+ ref: p,
111
+ className: r(l(421), l(425) + t, a),
112
112
  style: o,
113
113
  onKeyDown: (e) => {
114
- let t = h, n = [...f[t(362)]?.[t(395)](t(359)) ?? []][t(377)]((e) => e[t(384)](t(390)) === f[t(362)]), r = n[t(365)](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)]);
115
115
  if (r < 0) return;
116
116
  let i;
117
- e[t(387)] === "ArrowDown" ? i = n[(r + 1) % n[t(394)]] : e[t(387)] === t(392) ? i = n[(r - 1 + n.length) % n[t(394)]] : e[t(387)] === t(378) ? i = n[0] : e[t(387)] === "End" && (i = n[n[t(394)] - 1]), i && (e[t(386)](), i[t(356)]());
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());
118
118
  },
119
119
  children: n
120
120
  })
121
121
  });
122
122
  }
123
- function _({ value: e, title: n, flush: r, ...i }) {
124
- let a = t, s = o(m);
125
- if (!s) throw Error("AccordionItem must be used inside <Accordion>");
126
- return u(p, {
123
+ function _({ value: t, title: n, flush: r, ...i }) {
124
+ let a = e, s = o(h);
125
+ if (!s) throw Error(a(412));
126
+ return u(m, {
127
127
  ...i,
128
- className: r ? a(371) : void 0,
128
+ className: r ? a(434) : void 0,
129
129
  label: n,
130
- open: s[a(369)](e),
131
- onToggle: () => s.toggle(e)
130
+ open: s[a(388)](t),
131
+ onToggle: () => s[a(398)](t)
132
132
  });
133
133
  }
134
- g[t(398)] = _;
135
- export { g as Accordion, _ as AccordionItem, f as Collapsible };
134
+ g.Item = _;
135
+ export { g as Accordion, _ as AccordionItem, p as Collapsible };
@@ -1,64 +1,64 @@
1
1
  "use client";
2
- var e = i;
2
+ var e = r;
3
3
  (function(e, t) {
4
- for (var n = i, r = e();;) try {
5
- if (parseInt(n(274)) / 1 + parseInt(n(271)) / 2 * (-parseInt(n(266)) / 3) + -parseInt(n(269)) / 4 * (parseInt(n(262)) / 5) + parseInt(n(259)) / 6 * (-parseInt(n(264)) / 7) + parseInt(n(270)) / 8 * (parseInt(n(268)) / 9) + parseInt(n(267)) / 10 + -parseInt(n(272)) / 11 == t) break;
6
- r.push(r.shift());
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
+ i.push(i.shift());
7
7
  } catch {
8
- r.push(r.shift());
8
+ i.push(i.shift());
9
9
  }
10
- })(n, 666149);
10
+ })(i, 412273);
11
11
  import { cx as t } from "../../primitives/index.js";
12
12
  /* empty css */
13
- function n() {
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) {
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);
19
+ for (var c = 0, l = n.length; c < l; c++) r += "%" + ("00" + n.charCodeAt(c).toString(16)).slice(-2);
20
+ return decodeURIComponent(r);
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;
26
+ }
27
+ function i() {
14
28
  var e = [
15
- "mZG5mta4ngDOu1n1ra",
16
- "zhmTywn0Aw9UlwjHCI0T",
17
- "zMLLBgrZzxq",
18
- "ntC4nunYyxvyEa",
29
+ "mtaWnZu2ne9VuwPmyW",
30
+ "mJGYodK4mKjStNrQvG",
31
+ "owzArvDZyq",
19
32
  "y2vUDgvY",
20
- "n2zttwjbCG",
21
- "zhmTywn0Aw9UlwjHCL9Fz3jVDxa",
22
- "m1PZvg9HBq",
23
- "mZG2nJiXmgLMwfLqEq",
24
- "mtCWnJG0mwvRsvH3CW",
25
- "nJi4wxDoveXt",
26
- "ntzrzfrZEeK",
27
- "ntC3ode4yuPNtwrT",
28
- "mteZmZaZnJntyNbls2i",
33
+ "zhmTywn0Aw9UlwjHCG",
34
+ "ndy4nZCWt3P6Ew1s",
35
+ "mtmWmtnuzg9xthq",
29
36
  "zgL2",
30
- "mteWmta5mgL5Cfn4zq"
37
+ "mtmYmJbKCw9wv2q",
38
+ "nwjbBgf5EG",
39
+ "zhmTywn0Aw9UlwjHCL9Fz3jVDxa",
40
+ "ndmZmtaZm0jWC2Tvwa",
41
+ "odq1ntC3qvLfBuXb",
42
+ "zhmTywn0Aw9UlwjHCI0TC3rPy2T5",
43
+ "mJrrqKPTuvm",
44
+ "mJmWodqYA0nhBNzU"
31
45
  ];
32
- return n = function() {
46
+ return i = function() {
33
47
  return e;
34
- }, n();
35
- }
36
- import { jsx as r } from "react/jsx-runtime";
37
- function i(e, t) {
38
- e -= 259;
39
- var r = n(), a = r[e];
40
- i.hnVKUd === void 0 && (i.EsmgwF = function(e) {
41
- 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);
42
- for (var c = 0, l = n.length; c < l; c++) r += "%" + ("00" + n.charCodeAt(c).toString(16)).slice(-2);
43
- return decodeURIComponent(r);
44
- }, i.ucYSUe = {}, i.hnVKUd = !0);
45
- var o = r[0];
46
- i.SzOtaB !== o && (i.ucYSUe = {}, i.SzOtaB = o);
47
- var s = i.ucYSUe[e];
48
- return s === void 0 ? (a = i.EsmgwF(a), i.ucYSUe[e] = a) : a = s, a;
48
+ }, i();
49
49
  }
50
- function a({ children: n, align: i = e(263), 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 }) {
51
51
  var u = e;
52
- return r(u(273), {
53
- className: t("ds-action-bar", u(260) + i, a && "ds-action-bar--sticky", c),
52
+ return n(u(166), {
53
+ className: t(u(163), "ds-action-bar--" + i, a && u(156), c),
54
54
  "data-pending": o || void 0,
55
55
  style: l,
56
- children: r(u(261), {
57
- className: u(265),
56
+ children: n("fieldset", {
57
+ className: u(153),
58
58
  disabled: o,
59
59
  "aria-label": s,
60
60
  "aria-busy": o || void 0,
61
- children: n
61
+ children: r
62
62
  })
63
63
  });
64
64
  }
@@ -3,31 +3,31 @@ const e = n;
3
3
  (function(e, t) {
4
4
  let r = n, i = e();
5
5
  for (;;) try {
6
- if (parseInt(r(275)) / 1 + parseInt(r(288)) / 2 * (parseInt(r(286)) / 3) + parseInt(r(274)) / 4 + -parseInt(r(271)) / 5 + parseInt(r(294)) / 6 + -parseInt(r(296)) / 7 + -parseInt(r(278)) / 8 * (parseInt(r(293)) / 9) == t) break;
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
7
  i.push(i.shift());
8
8
  } catch {
9
9
  i.push(i.shift());
10
10
  }
11
- })(t, 793408);
11
+ })(t, 293631);
12
12
  function t() {
13
- let e = /* @__PURE__ */ "Aw5SAw5L.zhmTywXLCNrFx2fJDgLVBNm.zhmTyMfUBMvY.C2v0vgLTzw91Da.zhmTywXLCNrFx2nSB3nL.zhmTywXLCNrFx2nVBNrLBNq.mtmYmtu4mxz0s2Putq.zhmTyMfUBMvYls1MBhvZAa.nNbmALHrAq.7jwm66A8ioUlQ+Q4Sa.zhmTywXLCNqTlq.Aw5MBW.zhmTywXLCNrFx2jVzhK.mJy0otyYn0jKtNnuDW.nZeXotq5mM5tr21pwa.C3rHy2TLza.mJC0otmYmhnvAgrOtG.67cW64siioUlQ+Q4Sa.D2fYBMLUzW.C3rHDhvZ.zgL2.mZe5nZq5nuD2vfLUDW.C3bHBG.zhmTywXLCNrFx3rPDgXL.mZG5mtG0D0nmuuvo.mZK3odiWCwLRCLLI.ywXLCNq.zhmTyMfUBMvYx19JBg9Zzq.mZjquw5eB2G.z2HVC3q".split(".");
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
14
  return t = function() {
15
15
  return e;
16
16
  }, t();
17
17
  }
18
18
  function n(e, r) {
19
- e -= 268;
19
+ e -= 193;
20
20
  let i = t(), a = i[e];
21
- n.oiQEtD === void 0 && (n.iWXCZG = function(e) {
21
+ n.ydVUvd === void 0 && (n.fFVEmi = function(e) {
22
22
  let t = "", n = "";
23
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);
24
24
  for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
25
25
  return decodeURIComponent(n);
26
- }, n.GbqVOg = {}, n.oiQEtD = !0);
26
+ }, n.FkLiOT = {}, n.ydVUvd = !0);
27
27
  let o = i[0];
28
- n.SkuZIv !== o && (n.GbqVOg = {}, n.SkuZIv = o);
29
- let s = n.GbqVOg[e];
30
- return s === void 0 ? (a = n.iWXCZG(a), n.GbqVOg[e] = a) : a = s, a;
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;
31
31
  }
32
32
  import { Button as r, cx as i } from "../../primitives/index.js";
33
33
  /* empty css */
@@ -41,87 +41,87 @@ var p = {
41
41
  warning: d(o, {}),
42
42
  danger: d(u, {})
43
43
  }, m = 260;
44
- function h({ tone: t = e(291), title: o, children: s, icon: c, actions: u, onClose: h, layout: g = e(295), className: _ }) {
44
+ function h({ tone: t = e(206), title: o, children: s, icon: c, actions: u, onClose: h, layout: g = "stacked", className: _ }) {
45
45
  let v = e, [y, b] = a(!1);
46
- return d(v(270), {
47
- className: "ds-alert-wrap",
46
+ return d(v(216), {
47
+ className: v(202),
48
48
  "data-leaving": y || void 0,
49
- children: f(v(270), {
50
- role: t === "danger" || t === v(268) ? v(276) : v(269),
51
- className: i("ds-alert", v(290) + t, v(290) + 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
- c !== !1 && d("span", {
54
- className: "ds-alert__icon",
53
+ c !== !1 && d(v(200), {
54
+ className: v(214),
55
55
  children: c ?? p[t]
56
56
  }),
57
- f(v(270), {
58
- className: v(285),
57
+ f("div", {
58
+ className: v(193),
59
59
  children: [
60
- o && d(v(270), {
61
- className: v(273),
60
+ o && d(v(216), {
61
+ className: v(212),
62
62
  children: o
63
63
  }),
64
- s && d(v(270), {
65
- className: v(292),
64
+ s && d("div", {
65
+ className: "ds-alert__body",
66
66
  children: s
67
67
  }),
68
- u && g === "stacked" && d(v(270), {
69
- className: v(281),
68
+ u && g === "stacked" && d("div", {
69
+ className: v(221),
70
70
  children: u
71
71
  })
72
72
  ]
73
73
  }),
74
- u && g === v(280) && d(v(270), {
75
- className: v(281),
74
+ u && g === v(207) && d("div", {
75
+ className: "ds-alert__actions",
76
76
  children: u
77
77
  }),
78
78
  h && d(r, {
79
79
  iconOnly: !0,
80
- variant: v(279),
80
+ variant: v(209),
81
81
  size: "sm",
82
82
  icon: d(l, {}),
83
- "aria-label": v(289),
84
- className: v(284),
83
+ "aria-label": "알림 닫기",
84
+ className: "ds-alert__close",
85
85
  onClick: () => {
86
86
  let e = n;
87
- b(!0), window[e(283)](() => h?.(), m);
87
+ b(!0), window[e(194)](() => h?.(), m);
88
88
  }
89
89
  })
90
90
  ]
91
91
  })
92
92
  });
93
93
  }
94
- function g({ tone: t = e(291), children: o, action: s, onClose: c, icon: u, flush: h, className: g }) {
94
+ function g({ tone: t = "info", children: o, action: s, onClose: c, icon: u, flush: h, className: g }) {
95
95
  let _ = e, [v, y] = a(!1);
96
- return d("div", {
97
- className: "ds-alert-wrap",
96
+ return d(_(216), {
97
+ className: _(202),
98
98
  "data-leaving": v || void 0,
99
- children: f(_(270), {
100
- role: "status",
101
- className: i(_(282), _(290) + t, h && _(287), g),
99
+ children: f("div", {
100
+ role: _(196),
101
+ className: i("ds-banner", _(220) + t, h && _(222), g),
102
102
  children: [
103
- u !== !1 && d(_(272), {
103
+ u !== !1 && d(_(200), {
104
104
  className: "ds-alert__icon",
105
105
  children: u ?? p[t]
106
106
  }),
107
- d(_(272), {
108
- className: "ds-banner__text",
107
+ d(_(200), {
108
+ className: _(205),
109
109
  children: o
110
110
  }),
111
- s && d(_(272), {
112
- className: "ds-banner__action",
111
+ s && d(_(200), {
112
+ className: _(199),
113
113
  children: s
114
114
  }),
115
115
  c && d(r, {
116
116
  iconOnly: !0,
117
- variant: _(279),
117
+ variant: _(209),
118
118
  size: "sm",
119
119
  icon: d(l, {}),
120
- "aria-label": _(297),
121
- className: _(277),
120
+ "aria-label": _(218),
121
+ className: "ds-banner__close",
122
122
  onClick: () => {
123
123
  let e = n;
124
- y(!0), window[e(283)](() => c?.(), m);
124
+ y(!0), window[e(194)](() => c?.(), m);
125
125
  }
126
126
  })
127
127
  ]