@iamfiro/design 0.3.1 → 0.3.4
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.
- package/agents/INDEX.md +1 -1
- package/agents/avatar/AGENTS.md +29 -1
- package/agents/brand-icon/AGENTS.md +1 -1
- package/agents/social-login-button/AGENTS.md +4 -3
- package/agents/tooltip/AGENTS.md +1 -1
- package/lib/components/Accordion/Accordion2.js +92 -92
- package/lib/components/ActionBar/ActionBar2.js +42 -45
- package/lib/components/Alert/Alert2.js +77 -77
- package/lib/components/AppShell/AppShell2.js +70 -71
- package/lib/components/AreaChart/AreaChart.js +32 -35
- package/lib/components/BarChart/BarChart2.js +155 -155
- package/lib/components/BarList/BarList2.js +93 -93
- package/lib/components/Breadcrumb/Breadcrumb2.js +62 -64
- package/lib/components/Calendar/Calendar2.js +183 -182
- package/lib/components/Calendar/DatePicker2.js +116 -115
- package/lib/components/Calendar/date.js +67 -66
- package/lib/components/Card/Card2.js +67 -67
- package/lib/components/CardFrame/CardFrame2.js +34 -37
- package/lib/components/Chart/ChartParts.js +90 -90
- package/lib/components/Chart/chart2.js +62 -62
- package/lib/components/Chart/useChartInteraction.js +51 -51
- package/lib/components/ChatBubble/ChatBubble2.js +117 -117
- package/lib/components/ChatBubble/formatChatTime.js +37 -36
- package/lib/components/ChatComposer/ChatComposer2.js +55 -55
- package/lib/components/CodeBlock/CodeBlock2.js +60 -60
- package/lib/components/CodeBlock/highlight.js +72 -72
- package/lib/components/ColorPicker/ColorPicker2.js +232 -231
- package/lib/components/ColorPicker/color.js +67 -67
- package/lib/components/ColorPicker/presets.js +25 -24
- package/lib/components/Combobox/Combobox2.js +140 -140
- package/lib/components/CommandMenu/CommandMenu.js +135 -135
- package/lib/components/Comment/Comment2.js +82 -57
- package/lib/components/ContextMenu/ContextMenu2.js +101 -100
- package/lib/components/DataGrid/DataGrid2.js +872 -871
- package/lib/components/DataGrid/GridPopover.js +98 -98
- package/lib/components/DataGrid/anchor.js +34 -33
- package/lib/components/DataGrid/model.js +291 -290
- package/lib/components/DataGrid/panels.js +337 -336
- package/lib/components/DataGrid/typeMeta.js +49 -48
- package/lib/components/DataGrid/types.js +34 -33
- package/lib/components/DescriptionList/DescriptionList2.js +109 -109
- package/lib/components/Dialog/AlertDialog.js +53 -53
- package/lib/components/Dialog/Dialog2.js +72 -72
- package/lib/components/Dialog/modal.js +67 -68
- package/lib/components/Drawer/Drawer2.js +117 -117
- package/lib/components/DropdownMenu/DropdownMenu2.js +267 -266
- package/lib/components/DropdownMenu/menuCore.js +68 -42
- package/lib/components/Dropzone/Dropzone2.js +78 -78
- package/lib/components/EmptyState/EmptyState2.js +58 -56
- package/lib/components/FileChip/FileChip2.js +72 -48
- package/lib/components/FileUpload/FileUpload.js +137 -138
- package/lib/components/FilterChips/FilterChips2.js +61 -61
- package/lib/components/FunnelChart/FunnelChart2.js +161 -161
- package/lib/components/FunnelChart/funnel.js +50 -49
- package/lib/components/Highlight/Highlight2.js +56 -56
- package/lib/components/HoverCard/HoverCard.js +73 -73
- package/lib/components/InlineDiff/InlineDiff2.js +129 -129
- package/lib/components/InlineDiff/diff.js +87 -87
- package/lib/components/InlineDiff/useDiffReview.js +54 -52
- package/lib/components/Kanban/Kanban2.js +383 -384
- package/lib/components/Kanban/KanbanCard.js +68 -93
- package/lib/components/Kanban/move.js +43 -43
- package/lib/components/LineChart/LineChart2.js +164 -164
- package/lib/components/List/List2.js +60 -60
- package/lib/components/Listbox/Listbox2.js +108 -108
- package/lib/components/Marker/Marker2.js +59 -57
- package/lib/components/Menubar/Menubar2.js +120 -119
- package/lib/components/MultiSelect/MultiSelect2.js +111 -111
- package/lib/components/NavigationMenu/NavigationMenu2.js +277 -279
- package/lib/components/NoticeStack/NoticeStack2.js +109 -109
- package/lib/components/NumberStepper/NumberStepper2.js +70 -70
- package/lib/components/OtpInput/OtpInput2.js +94 -94
- package/lib/components/Pagination/Pagination2.js +109 -109
- package/lib/components/Pagination/paginationRange.js +37 -38
- package/lib/components/PhoneInput/PhoneInput.js +83 -84
- package/lib/components/PieChart/PieChart2.js +157 -157
- package/lib/components/PieChart/arc.js +72 -72
- package/lib/components/PieChart/useArcTween.js +50 -53
- package/lib/components/Popover/Popover2.js +62 -61
- package/lib/components/ProgressTracker/ProgressTracker2.js +104 -104
- package/lib/components/Rating/Rating2.js +89 -88
- package/lib/components/Resizable/Resizable2.js +133 -134
- package/lib/components/Resizable/layout.js +56 -56
- package/lib/components/ScaledPreview/ScaledPreview2.js +64 -63
- package/lib/components/ScatterChart/ScatterChart2.js +252 -251
- package/lib/components/ScatterChart/scatter.js +50 -52
- package/lib/components/ScrollArea/ScrollArea2.js +122 -122
- package/lib/components/Select/Select2.js +84 -85
- package/lib/components/Sidebar/Sidebar2.js +79 -79
- package/lib/components/Skeleton/Skeleton2.js +56 -56
- package/lib/components/Slider/Slider2.js +63 -63
- package/lib/components/SocialLoginButton/SocialLoginButton.js +54 -46
- package/lib/components/SparkChart/SparkChart2.js +129 -128
- package/lib/components/SparkChart/spark.js +49 -48
- package/lib/components/Sparkbar/Sparkbar2.js +59 -58
- package/lib/components/SplitView/SplitView2.js +54 -55
- package/lib/components/Stat/Stat2.js +59 -59
- package/lib/components/StepList/StepList2.js +78 -78
- package/lib/components/Table/Table2.js +55 -55
- package/lib/components/Tabs/Tabs2.js +76 -76
- package/lib/components/TagInput/TagInput2.js +218 -215
- package/lib/components/TimePicker/TimePicker2.js +204 -204
- package/lib/components/TimePicker/time.js +59 -58
- package/lib/components/Timeline/Timeline2.js +179 -179
- package/lib/components/Timeline/scale.js +60 -55
- package/lib/components/Toast/Toaster.js +103 -103
- package/lib/components/Toast/store.js +47 -47
- package/lib/components/ToggleGroup/ToggleGroup2.js +77 -77
- package/lib/components/Toolbar/Toolbar2.js +138 -138
- package/lib/components/Tracker/Tracker2.js +99 -99
- package/lib/components/TreeDiagram/TreeDiagram2.js +117 -117
- package/lib/components/TreeView/TreeView2.js +145 -145
- package/lib/hooks/timing.js +33 -33
- package/lib/hooks/useControllableState.js +33 -33
- package/lib/hooks/useCountdown.js +54 -55
- package/lib/hooks/useDigitInput.js +85 -84
- package/lib/hooks/useDismiss.js +55 -55
- package/lib/hooks/useElapsed.js +55 -55
- package/lib/hooks/useFloating.js +21 -21
- package/lib/hooks/useFocusTrap.js +67 -67
- package/lib/hooks/usePresence.js +33 -29
- package/lib/hooks/usePressToOpen.js +33 -33
- package/lib/hooks/useScrollLock.js +54 -55
- package/lib/hooks/useSelection.js +54 -48
- package/lib/index.js +67 -68
- package/lib/primitives/AspectRatio2.js +58 -54
- package/lib/primitives/BrandIcon.js +189 -158
- package/lib/primitives/ColorDot2.js +52 -51
- package/lib/primitives/CopyButton2.js +66 -64
- package/lib/primitives/CountBadge2.js +56 -56
- package/lib/primitives/Countdown2.js +36 -34
- package/lib/primitives/Delta2.js +41 -66
- package/lib/primitives/Elapsed.js +32 -32
- package/lib/primitives/FileIcon2.js +90 -90
- package/lib/primitives/Flag2.js +157 -157
- package/lib/primitives/IconStack2.js +60 -58
- package/lib/primitives/IconTile2.js +46 -48
- package/lib/primitives/Kbd2.js +51 -51
- package/lib/primitives/Layout2.js +71 -71
- package/lib/primitives/Link2.js +37 -35
- package/lib/primitives/MaskedText2.js +71 -75
- package/lib/primitives/Progress2.js +72 -72
- package/lib/primitives/RelativeTime.js +60 -64
- package/lib/primitives/SearchInput2.js +55 -56
- package/lib/primitives/SelectorButton2.js +69 -71
- package/lib/primitives/Spinner2.js +63 -59
- package/lib/primitives/StatusIcon2.js +66 -66
- package/lib/primitives/Swatch2.js +54 -56
- package/lib/primitives/Tooltip2.js +77 -77
- package/lib/primitives/Typography2.js +67 -67
- package/lib/primitives/formatCountdown.js +38 -41
- package/lib/primitives/formatElapsed.js +41 -40
- package/lib/primitives/formatRelativeTime.js +74 -48
- package/lib/primitives/hotkey.js +81 -81
- package/lib/primitives/index.js +220 -199
- package/lib/primitives/maskValue.js +53 -52
- package/lib/style.css +1 -1
- package/lib/types/components/SocialLoginButton/SocialLoginButton.d.ts +1 -1
- package/lib/types/primitives/BrandIcon.d.ts +1 -1
- package/lib/types/primitives/index.d.ts +6 -2
- package/package.json +1 -1
package/agents/INDEX.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
- **SelectorButton** — 지금 선택된 것을 보여 주고 눌러서 바꾸는 조용한 버튼. → [`agents/selector-button/AGENTS.md`](selector-button/AGENTS.md)
|
|
19
19
|
- **Link** — 글 속 링크. → [`agents/link/AGENTS.md`](link/AGENTS.md)
|
|
20
20
|
- **ActionBar** — 상세 화면 · 검토 화면 아래에 붙는 동작 바. → [`agents/action-bar/AGENTS.md`](action-bar/AGENTS.md)
|
|
21
|
-
- **SocialLoginButton** — Google · Apple 계정으로 로그인하는 버튼. → [`agents/social-login-button/AGENTS.md`](social-login-button/AGENTS.md)
|
|
21
|
+
- **SocialLoginButton** — Google · Apple · Microsoft 계정으로 로그인하는 버튼. → [`agents/social-login-button/AGENTS.md`](social-login-button/AGENTS.md)
|
|
22
22
|
- **Toolbar** — 버튼 · 토글 · ToggleGroup · 메뉴 트리거를 한 줄로 묶는 WAI-ARIA 툴바. → [`agents/toolbar/AGENTS.md`](toolbar/AGENTS.md)
|
|
23
23
|
|
|
24
24
|
## 라벨 & 배지
|
package/agents/avatar/AGENTS.md
CHANGED
|
@@ -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로 배경색을 직접 정할 수 있어요.
|
|
@@ -25,7 +25,7 @@ import { BrandIcon, BRAND_NAMES } from '@iamfiro/design'
|
|
|
25
25
|
|
|
26
26
|
### 로고 목록
|
|
27
27
|
|
|
28
|
-
지금 들어 있는 로고
|
|
28
|
+
지금 들어 있는 로고 11개(Gmail, Slack, ClickUp, Figma, GitHub, HubSpot, Notion, Google Calendar, Google, Apple, Microsoft). Apple은 한 색 로고라 글자색을 따라요. 새 앱은 BrandIcon.tsx의 MARKS에 추가해요.
|
|
29
29
|
|
|
30
30
|
```tsx
|
|
31
31
|
import { BRAND_NAMES, BrandIcon, Inline, Stack, Text } from '@iamfiro/design'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 버튼 & 링크 · `@iamfiro/design` · 직접 만들지 말고 이 컴포넌트를 쓴다.
|
|
4
4
|
|
|
5
|
-
Google · Apple 계정으로 로그인하는 버튼. 각 브랜드 가이드대로 Google
|
|
5
|
+
Google · Apple · Microsoft 계정으로 로그인하는 버튼. 각 브랜드 가이드대로 Google · Microsoft는 흰 바탕 + 옅은 윤곽 + 색 로고, Apple은 검정 바탕 + 흰 로고예요. 문구는 action으로 고르고, 나머지 props는 Button과 같아요.
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
8
|
import { SocialLoginButton } from '@iamfiro/design'
|
|
@@ -16,7 +16,7 @@ variant · icon은 provider가 정해요. 나머지 props(size · block · loadi
|
|
|
16
16
|
|
|
17
17
|
| prop | 타입 | 기본값 | 설명 |
|
|
18
18
|
| --- | --- | --- | --- |
|
|
19
|
-
| `provider` (필수) | `'google' \| 'apple'` | | 로그인 제공자. 색 · 로고 · 이름이 정해져요. |
|
|
19
|
+
| `provider` (필수) | `'google' \| 'apple' \| 'microsoft'` | | 로그인 제공자. 색 · 로고 · 이름이 정해져요. |
|
|
20
20
|
| `action` | `'continue' \| 'signin' \| 'signup'` | `'continue'` | "Google로 계속하기" · "Google로 로그인" · "Google로 가입하기". |
|
|
21
21
|
| `children` | `ReactNode` | | 문구를 직접 바꿀 때. |
|
|
22
22
|
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | 높이 28 / 34 / 40px. 로고는 14 / 16 / 18px. |
|
|
@@ -30,7 +30,7 @@ variant · icon은 provider가 정해요. 나머지 props(size · block · loadi
|
|
|
30
30
|
|
|
31
31
|
### 기본
|
|
32
32
|
|
|
33
|
-
로그인 화면에선 block으로 폭을 채워 위아래로 쌓아요. 순서는 보통 Google → Apple.
|
|
33
|
+
로그인 화면에선 block으로 폭을 채워 위아래로 쌓아요. 순서는 보통 Google → Apple → Microsoft.
|
|
34
34
|
|
|
35
35
|
```tsx
|
|
36
36
|
import { SocialLoginButton, Stack } from '@iamfiro/design'
|
|
@@ -40,6 +40,7 @@ export default function Example() {
|
|
|
40
40
|
<Stack gap={2} style={{ width: 320 }}>
|
|
41
41
|
<SocialLoginButton provider="google" size="lg" block />
|
|
42
42
|
<SocialLoginButton provider="apple" size="lg" block />
|
|
43
|
+
<SocialLoginButton provider="microsoft" size="lg" block />
|
|
43
44
|
</Stack>
|
|
44
45
|
)
|
|
45
46
|
}
|
package/agents/tooltip/AGENTS.md
CHANGED
|
@@ -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 =
|
|
3
|
-
(function(e,
|
|
4
|
-
let
|
|
2
|
+
const e = t;
|
|
3
|
+
(function(e, n) {
|
|
4
|
+
let r = t, i = e();
|
|
5
5
|
for (;;) try {
|
|
6
|
-
if (
|
|
7
|
-
|
|
6
|
+
if (parseInt(r(246)) / 1 * (-parseInt(r(262)) / 2) + parseInt(r(260)) / 3 * (parseInt(r(244)) / 4) + -parseInt(r(250)) / 5 + parseInt(r(226)) / 6 + -parseInt(r(230)) / 7 + -parseInt(r(234)) / 8 * (-parseInt(r(222)) / 9) + parseInt(r(221)) / 10 == n) break;
|
|
7
|
+
i.push(i.shift());
|
|
8
8
|
} catch {
|
|
9
|
-
|
|
9
|
+
i.push(i.shift());
|
|
10
10
|
}
|
|
11
|
-
})(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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) {
|
|
11
|
+
})(n, 727301);
|
|
12
|
+
function t(e, r) {
|
|
13
|
+
e -= 221;
|
|
14
|
+
let i = n(), a = i[e];
|
|
15
|
+
t.ITedZy === void 0 && (t.lvCDjF = function(e) {
|
|
21
16
|
let t = "", n = "";
|
|
22
17
|
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
18
|
for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
|
|
24
19
|
return decodeURIComponent(n);
|
|
25
|
-
},
|
|
26
|
-
let
|
|
27
|
-
|
|
28
|
-
let
|
|
29
|
-
return
|
|
20
|
+
}, t.zMVeMU = {}, t.ITedZy = !0);
|
|
21
|
+
let o = i[0];
|
|
22
|
+
t.ZHWnQt !== o && (t.zMVeMU = {}, t.ZHWnQt = o);
|
|
23
|
+
let s = t.zMVeMU[e];
|
|
24
|
+
return s === void 0 ? (a = t.lvCDjF(a), t.zMVeMU[e] = a) : a = s, a;
|
|
25
|
+
}
|
|
26
|
+
function n() {
|
|
27
|
+
let e = /* @__PURE__ */ "zhmTywnJB3jKAw9Uls0.zgvMyxvSDa.otuXmLritLD2sa.ChjLDMvUDerLzMf1Bhq.AxntzwXLy3rLza.sxrLBq.ywn0AxzLrwXLBwvUDa.qxjYB3DvCa.zhmTzgLZy2XVC3vYzv9FDhjPz2DLCG.y2XVC2vZDa.A2v5.Dg9Nz2XL.mtK2wxfZvuz1.zhmTzgLZy2XVC3vYzv9FAw5Uzxi.odaZofzfqw5JAa.zMLSDgvY.yNv0Dg9U.qwnJB3jKAw9UsxrLBsbTDxn0igjLihvZzwqGAw5ZAwrLidXby2nVCMrPB24+.nJuXnduWDejgBvLQ.zhmTzgLZy2XVC3vYzv9FBgfIzwW.zhmTywnJB3jKAw9U.zhmTzgLZy2XVC3vYzv9FzM9Sza.zhmTzgLZy2XVC3vYzv9FzgvZyW.zhmTzgLZy2XVC3vYzs0TAw5SAw5L.BgvUz3rO.zgL2.lMrZlwrPC2nSB3n1CMvFx3rYAwDNzxi6BM90kdPKAxnHyMXLzcK.lxrYAwDNzxi.otq3nfvsEw5tyq.CMvNAw9U.mZrYv2LOBKW.y3vYCMvUDa.C3bHBG.lxjLz2LVBG.mZe3mtuWtKnPsKje.nZy0muXoCwfzzG.uhjVDMLKzxi.zhmTzgLZy2XVC3vYzs0TzMX1C2G.Aw5SAw5L.mJm4mZGYng1zAxfxqG.sg9Tzq.rw5K.AxnpCgvU.nde5mJG5nuHhCwDlAa.lMrZlwfJy29YzgLVBG".split(".");
|
|
28
|
+
return n = function() {
|
|
29
|
+
return e;
|
|
30
|
+
}, n();
|
|
30
31
|
}
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
import { useControllableState as r } from "../../hooks/useControllableState.js";
|
|
33
|
+
import { cx as i } from "../../primitives/index.js";
|
|
34
|
+
import { useSelection as a } from "../../hooks/useSelection.js";
|
|
35
|
+
/* empty css */
|
|
36
|
+
import { createContext as o, useContext as s, useId as c, useRef as l } from "react";
|
|
37
|
+
import { ChevronDown as u } from "lucide-react";
|
|
38
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
39
|
+
function p({ open: e, defaultOpen: t = !1, onOpenChange: n, ...i }) {
|
|
40
|
+
let [a, o] = r(e, t, n);
|
|
41
|
+
return d(m, {
|
|
36
42
|
...i,
|
|
37
43
|
open: a,
|
|
38
44
|
onToggle: () => o(!a)
|
|
39
45
|
});
|
|
40
46
|
}
|
|
41
|
-
function
|
|
42
|
-
let g =
|
|
43
|
-
return
|
|
44
|
-
className:
|
|
45
|
-
"data-open":
|
|
46
|
-
"data-disabled":
|
|
47
|
-
children: [
|
|
48
|
-
className:
|
|
49
|
-
children:
|
|
50
|
-
type: g(
|
|
51
|
-
id: _ + g(
|
|
52
|
-
"aria-expanded":
|
|
53
|
-
"aria-controls": _ +
|
|
54
|
-
disabled:
|
|
55
|
-
className: g(
|
|
47
|
+
function m({ label: t, description: n, icon: r, disabled: a, open: o, onToggle: s, children: l, variant: p = e(233), iconTone: m = e(233), className: h }) {
|
|
48
|
+
let g = e, _ = c(), v = p === g(225) ? g(257) : "h3";
|
|
49
|
+
return f(g(257), {
|
|
50
|
+
className: i("ds-disclosure", p === g(225) && g(255), h),
|
|
51
|
+
"data-open": o || void 0,
|
|
52
|
+
"data-disabled": a || void 0,
|
|
53
|
+
children: [d(v, {
|
|
54
|
+
className: "ds-disclosure__heading",
|
|
55
|
+
children: f(g(248), {
|
|
56
|
+
type: g(248),
|
|
57
|
+
id: _ + g(259),
|
|
58
|
+
"aria-expanded": o,
|
|
59
|
+
"aria-controls": _ + "-region",
|
|
60
|
+
disabled: a,
|
|
61
|
+
className: g(240),
|
|
56
62
|
onClick: s,
|
|
57
63
|
children: [
|
|
58
|
-
r &&
|
|
59
|
-
className:
|
|
60
|
-
"data-tone": m ===
|
|
64
|
+
r && d(g(264), {
|
|
65
|
+
className: "ds-disclosure__icon",
|
|
66
|
+
"data-tone": m === "default" ? void 0 : m,
|
|
61
67
|
children: r
|
|
62
68
|
}),
|
|
63
|
-
|
|
64
|
-
className:
|
|
65
|
-
children: [
|
|
66
|
-
className: g(
|
|
67
|
-
children: e
|
|
68
|
-
}), t && u("span", {
|
|
69
|
-
className: "ds-disclosure__desc",
|
|
69
|
+
f(g(264), {
|
|
70
|
+
className: "ds-disclosure__text",
|
|
71
|
+
children: [d(g(264), {
|
|
72
|
+
className: g(251),
|
|
70
73
|
children: t
|
|
74
|
+
}), n && d(g(264), {
|
|
75
|
+
className: g(254),
|
|
76
|
+
children: n
|
|
71
77
|
})]
|
|
72
78
|
}),
|
|
73
|
-
u
|
|
74
|
-
className:
|
|
79
|
+
d(u, {
|
|
80
|
+
className: "ds-disclosure__chevron",
|
|
75
81
|
"aria-hidden": !0
|
|
76
82
|
})
|
|
77
83
|
]
|
|
78
84
|
})
|
|
79
|
-
}),
|
|
80
|
-
id: _ + g(
|
|
81
|
-
role: g(
|
|
82
|
-
"aria-labelledby": _ +
|
|
83
|
-
className: g(
|
|
84
|
-
inert: !
|
|
85
|
-
children:
|
|
86
|
-
className: g(
|
|
87
|
-
children:
|
|
88
|
-
className:
|
|
89
|
-
children:
|
|
85
|
+
}), d("div", {
|
|
86
|
+
id: _ + g(265),
|
|
87
|
+
role: g(261),
|
|
88
|
+
"aria-labelledby": _ + g(259),
|
|
89
|
+
className: g(253),
|
|
90
|
+
inert: !o || void 0,
|
|
91
|
+
children: d(g(257), {
|
|
92
|
+
className: g(245),
|
|
93
|
+
children: d(g(257), {
|
|
94
|
+
className: "ds-disclosure__content",
|
|
95
|
+
children: l
|
|
90
96
|
})
|
|
91
97
|
})
|
|
92
98
|
})]
|
|
93
99
|
});
|
|
94
100
|
}
|
|
95
|
-
var
|
|
96
|
-
function
|
|
97
|
-
let
|
|
98
|
-
return
|
|
101
|
+
var h = o(null);
|
|
102
|
+
function g({ variant: n = "plain", children: r, className: o, style: s, ...c }) {
|
|
103
|
+
let u = e, f = a(c), p = l(null);
|
|
104
|
+
return d(h[u(223)], {
|
|
99
105
|
value: {
|
|
100
|
-
isOpen: f[
|
|
101
|
-
toggle: f
|
|
106
|
+
isOpen: f[u(236)],
|
|
107
|
+
toggle: f.toggle
|
|
102
108
|
},
|
|
103
|
-
children: u(
|
|
109
|
+
children: d(u(257), {
|
|
104
110
|
ref: p,
|
|
105
|
-
className:
|
|
106
|
-
style:
|
|
111
|
+
className: i(u(252), u(232) + n, o),
|
|
112
|
+
style: s,
|
|
107
113
|
onKeyDown: (e) => {
|
|
108
|
-
let
|
|
109
|
-
if (
|
|
110
|
-
let
|
|
111
|
-
e
|
|
114
|
+
let n = t, r = [...p[n(263)]?.querySelectorAll(n(258)) ?? []][n(247)]((e) => e[n(241)](n(231)) === p[n(263)]), i = r.indexOf(document[n(238)]);
|
|
115
|
+
if (i < 0) return;
|
|
116
|
+
let a;
|
|
117
|
+
e[n(242)] === "ArrowDown" ? a = r[(i + 1) % r[n(256)]] : e[n(242)] === n(239) ? a = r[(i - 1 + r[n(256)]) % r[n(256)]] : e[n(242)] === n(227) ? a = r[0] : e[n(242)] === n(228) && (a = r[r[n(256)] - 1]), a && (e[n(235)](), a.focus());
|
|
112
118
|
},
|
|
113
|
-
children:
|
|
119
|
+
children: r
|
|
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
|
|
125
|
-
if (!
|
|
126
|
-
return
|
|
124
|
+
let a = e, o = s(h);
|
|
125
|
+
if (!o) throw Error(a(249));
|
|
126
|
+
return d(m, {
|
|
127
127
|
...i,
|
|
128
|
-
className: r ?
|
|
128
|
+
className: r ? a(224) : void 0,
|
|
129
129
|
label: n,
|
|
130
|
-
open:
|
|
131
|
-
onToggle: () =>
|
|
130
|
+
open: o[a(229)](t),
|
|
131
|
+
onToggle: () => o[a(243)](t)
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
|
-
|
|
135
|
-
export {
|
|
134
|
+
g[e(237)] = _;
|
|
135
|
+
export { g as Accordion, _ as AccordionItem, p as Collapsible };
|
|
@@ -1,61 +1,45 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var e =
|
|
2
|
+
var e = a;
|
|
3
3
|
(function(e, t) {
|
|
4
|
-
for (var
|
|
5
|
-
if (parseInt(
|
|
6
|
-
|
|
4
|
+
for (var n = a, r = e();;) try {
|
|
5
|
+
if (-parseInt(n(152)) / 1 * (parseInt(n(159)) / 2) + parseInt(n(151)) / 3 + parseInt(n(154)) / 4 + -parseInt(n(153)) / 5 + -parseInt(n(163)) / 6 + parseInt(n(150)) / 7 + parseInt(n(158)) / 8 == t) break;
|
|
6
|
+
r.push(r.shift());
|
|
7
7
|
} catch {
|
|
8
|
-
|
|
8
|
+
r.push(r.shift());
|
|
9
9
|
}
|
|
10
|
-
})(
|
|
10
|
+
})(n, 948639);
|
|
11
11
|
import { cx as t } from "../../primitives/index.js";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var i = r(), a = i[e];
|
|
15
|
-
n.cnnNfB === void 0 && (n.JIdoDC = function(e) {
|
|
16
|
-
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
|
-
for (var c = 0, l = n.length; c < l; c++) r += "%" + ("00" + n.charCodeAt(c).toString(16)).slice(-2);
|
|
18
|
-
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;
|
|
24
|
-
}
|
|
25
|
-
function r() {
|
|
12
|
+
/* empty css */
|
|
13
|
+
function n() {
|
|
26
14
|
var e = [
|
|
27
|
-
"
|
|
15
|
+
"zhmTywn0Aw9UlwjHCG",
|
|
16
|
+
"mZm3nZe3ohfzve5SBq",
|
|
17
|
+
"nduZntq0n1bhCuj5yG",
|
|
18
|
+
"mtGYmJy4ou1pB1jzwq",
|
|
19
|
+
"mtq2ody1n2j6ChHPqW",
|
|
20
|
+
"mZC1odC3nujftKnOtq",
|
|
21
|
+
"nZe2mZK2ogDjv1bnua",
|
|
28
22
|
"zhmTywn0Aw9UlwjHCI0T",
|
|
29
|
-
"mtK0mdu4mfvuEe9bDG",
|
|
30
|
-
"mJyZofzLAufeDq",
|
|
31
|
-
"zhmTywn0Aw9UlwjHCI0TC3rPy2T5",
|
|
32
|
-
"nZaXnZiXwuDIs3vn",
|
|
33
|
-
"mtq0ode0oenuwNvNCa",
|
|
34
|
-
"mZb1rNb5v20",
|
|
35
|
-
"nZG4nZjpC0fuAwW",
|
|
36
|
-
"ntiZBNvkDK15",
|
|
37
|
-
"nwzPzenzsW",
|
|
38
|
-
"zgL2",
|
|
39
|
-
"zhmTywn0Aw9UlwjHCL9Fz3jVDxa",
|
|
40
|
-
"mZi1mdqZnhjVyLnKuG",
|
|
41
23
|
"y2vUDgvY",
|
|
42
|
-
"
|
|
43
|
-
"
|
|
24
|
+
"zMLLBgrZzxq",
|
|
25
|
+
"ntq4mZuWnhrIBLf5uW",
|
|
26
|
+
"mLzusenUyW",
|
|
27
|
+
"zhmTywn0Aw9UlwjHCL9Fz3jVDxa",
|
|
28
|
+
"zgL2"
|
|
44
29
|
];
|
|
45
|
-
return
|
|
30
|
+
return n = function() {
|
|
46
31
|
return e;
|
|
47
|
-
},
|
|
32
|
+
}, n();
|
|
48
33
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
function a({ children: n, align: r = e(261), sticky: a = !0, pending: o, "aria-label": s, className: c, style: l }) {
|
|
34
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
35
|
+
function i({ children: n, align: i = e(156), sticky: a = !0, pending: o, "aria-label": s, className: c, style: l }) {
|
|
52
36
|
var u = e;
|
|
53
|
-
return
|
|
54
|
-
className: t(
|
|
37
|
+
return r(u(161), {
|
|
38
|
+
className: t(u(162), u(155) + i, a && "ds-action-bar--sticky", c),
|
|
55
39
|
"data-pending": o || void 0,
|
|
56
40
|
style: l,
|
|
57
|
-
children:
|
|
58
|
-
className: u(
|
|
41
|
+
children: r(u(157), {
|
|
42
|
+
className: u(160),
|
|
59
43
|
disabled: o,
|
|
60
44
|
"aria-label": s,
|
|
61
45
|
"aria-busy": o || void 0,
|
|
@@ -63,4 +47,17 @@ function a({ children: n, align: r = e(261), sticky: a = !0, pending: o, "aria-l
|
|
|
63
47
|
})
|
|
64
48
|
});
|
|
65
49
|
}
|
|
66
|
-
|
|
50
|
+
function a(e, t) {
|
|
51
|
+
e -= 150;
|
|
52
|
+
var r = n(), i = r[e];
|
|
53
|
+
a.tRMKcQ === void 0 && (a.gzTUAW = function(e) {
|
|
54
|
+
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);
|
|
55
|
+
for (var c = 0, l = n.length; c < l; c++) r += "%" + ("00" + n.charCodeAt(c).toString(16)).slice(-2);
|
|
56
|
+
return decodeURIComponent(r);
|
|
57
|
+
}, a.TWYLPy = {}, a.tRMKcQ = !0);
|
|
58
|
+
var o = r[0];
|
|
59
|
+
a.lKFhDR !== o && (a.TWYLPy = {}, a.lKFhDR = o);
|
|
60
|
+
var s = a.TWYLPy[e];
|
|
61
|
+
return s === void 0 ? (i = a.gzTUAW(i), a.TWYLPy[e] = i) : i = s, i;
|
|
62
|
+
}
|
|
63
|
+
export { i as ActionBar };
|