@jbpark/ui-kit 10.3.0 → 10.4.0
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/README.ko.md +97 -76
- package/README.md +91 -70
- package/dist/AutoComplete.mjs +1 -1
- package/dist/Breadcrumb.mjs +1 -1
- package/dist/Cascader.mjs +2 -2
- package/dist/Checkbox.d.mts +10 -0
- package/dist/Checkbox.d.mts.map +1 -0
- package/dist/Checkbox.mjs +9 -0
- package/dist/Checkbox.mjs.map +1 -0
- package/dist/CodeEditor.d.mts +8 -2
- package/dist/CodeEditor.d.mts.map +1 -1
- package/dist/CodeEditor.mjs +9 -4
- package/dist/CodeEditor.mjs.map +1 -1
- package/dist/{components/molecules/collapse.d.mts → Collapse.d.mts} +1 -1
- package/dist/Collapse.d.mts.map +1 -0
- package/dist/{components/molecules/collapse.mjs → Collapse.mjs} +3 -3
- package/dist/Collapse.mjs.map +1 -0
- package/dist/{components/atoms/color-picker.d.mts → ColorPicker.d.mts} +1 -1
- package/dist/ColorPicker.d.mts.map +1 -0
- package/dist/{components/atoms/color-picker.mjs → ColorPicker.mjs} +3 -3
- package/dist/ColorPicker.mjs.map +1 -0
- package/dist/{components/templates/container.d.mts → Container.d.mts} +1 -1
- package/dist/Container.d.mts.map +1 -0
- package/dist/{components/templates/container.mjs → Container.mjs} +2 -2
- package/dist/Container.mjs.map +1 -0
- package/dist/{components/atoms/date-picker.d.mts → DatePicker.d.mts} +1 -1
- package/dist/DatePicker.d.mts.map +1 -0
- package/dist/{components/atoms/date-picker.mjs → DatePicker.mjs} +6 -6
- package/dist/DatePicker.mjs.map +1 -0
- package/dist/{components/organisms/drawer.d.mts → Drawer.d.mts} +1 -1
- package/dist/Drawer.d.mts.map +1 -0
- package/dist/{components/organisms/drawer.mjs → Drawer.mjs} +5 -5
- package/dist/Drawer.mjs.map +1 -0
- package/dist/{components/molecules/dropdown.d.mts → Dropdown.d.mts} +2 -2
- package/dist/Dropdown.d.mts.map +1 -0
- package/dist/{components/molecules/dropdown.mjs → Dropdown.mjs} +4 -4
- package/dist/Dropdown.mjs.map +1 -0
- package/dist/{components/templates/empty.d.mts → Empty.d.mts} +2 -2
- package/dist/Empty.d.mts.map +1 -0
- package/dist/{components/templates/empty.mjs → Empty.mjs} +3 -3
- package/dist/Empty.mjs.map +1 -0
- package/dist/FloatButton.d.mts +10 -0
- package/dist/FloatButton.d.mts.map +1 -0
- package/dist/FloatButton.mjs +9 -0
- package/dist/FloatButton.mjs.map +1 -0
- package/dist/Input.d.mts +16 -0
- package/dist/Input.d.mts.map +1 -0
- package/dist/Input.mjs +15 -0
- package/dist/Input.mjs.map +1 -0
- package/dist/{components/organisms/list/index.d.mts → List.d.mts} +3 -3
- package/dist/List.d.mts.map +1 -0
- package/dist/List.mjs +9 -0
- package/dist/List.mjs.map +1 -0
- package/dist/Marquees.d.mts +10 -0
- package/dist/Marquees.d.mts.map +1 -0
- package/dist/Marquees.mjs +9 -0
- package/dist/Marquees.mjs.map +1 -0
- package/dist/Mentions.d.mts.map +1 -1
- package/dist/Mentions.mjs +8 -7
- package/dist/Mentions.mjs.map +1 -1
- package/dist/{components/organisms/modal.d.mts → Modal.d.mts} +1 -1
- package/dist/Modal.d.mts.map +1 -0
- package/dist/{components/organisms/modal.mjs → Modal.mjs} +6 -6
- package/dist/Modal.mjs.map +1 -0
- package/dist/{components/templates/page-header.d.mts → PageHeader.d.mts} +1 -1
- package/dist/PageHeader.d.mts.map +1 -0
- package/dist/{components/templates/page-header.mjs → PageHeader.mjs} +4 -4
- package/dist/PageHeader.mjs.map +1 -0
- package/dist/Pagination.mjs +2 -2
- package/dist/Popconfirm.d.mts +1 -1
- package/dist/Popconfirm.mjs +1 -1
- package/dist/{components/atoms/popover.d.mts → Popover.d.mts} +1 -1
- package/dist/Popover.d.mts.map +1 -0
- package/dist/{components/atoms/popover.mjs → Popover.mjs} +4 -4
- package/dist/Popover.mjs.map +1 -0
- package/dist/{components/atoms/progress.d.mts → Progress.d.mts} +1 -1
- package/dist/Progress.d.mts.map +1 -0
- package/dist/{components/atoms/progress.mjs → Progress.mjs} +3 -3
- package/dist/Progress.mjs.map +1 -0
- package/dist/Radio.d.mts +10 -0
- package/dist/Radio.d.mts.map +1 -0
- package/dist/Radio.mjs +9 -0
- package/dist/Radio.mjs.map +1 -0
- package/dist/{components/templates/result.d.mts → Result.d.mts} +1 -1
- package/dist/Result.d.mts.map +1 -0
- package/dist/{components/templates/result.mjs → Result.mjs} +2 -2
- package/dist/Result.mjs.map +1 -0
- package/dist/RichTextEditor.d.mts +3 -0
- package/dist/RichTextEditor.mjs +1 -0
- package/dist/{components/atoms/select.d.mts → Select.d.mts} +5 -5
- package/dist/Select.d.mts.map +1 -0
- package/dist/{components/atoms/select.mjs → Select.mjs} +5 -5
- package/dist/Select.mjs.map +1 -0
- package/dist/Skeleton.d.mts +12 -0
- package/dist/Skeleton.d.mts.map +1 -0
- package/dist/Skeleton.mjs +11 -0
- package/dist/Skeleton.mjs.map +1 -0
- package/dist/Slider.d.mts +2 -0
- package/dist/{components/atoms/slider/index.mjs → Slider.mjs} +2 -2
- package/dist/Slider.mjs.map +1 -0
- package/dist/Space.d.mts +3 -2
- package/dist/Space.d.mts.map +1 -1
- package/dist/Space.mjs +13 -4
- package/dist/Space.mjs.map +1 -1
- package/dist/{components/atoms/spin.d.mts → Spin.d.mts} +1 -1
- package/dist/Spin.d.mts.map +1 -0
- package/dist/{components/atoms/spin.mjs → Spin.mjs} +3 -3
- package/dist/Spin.mjs.map +1 -0
- package/dist/Splitter.d.mts +10 -0
- package/dist/Splitter.d.mts.map +1 -0
- package/dist/Splitter.mjs +9 -0
- package/dist/Splitter.mjs.map +1 -0
- package/dist/Statistic.mjs +1 -1
- package/dist/Swiper.d.mts +10 -0
- package/dist/Swiper.d.mts.map +1 -0
- package/dist/Swiper.mjs +9 -0
- package/dist/Swiper.mjs.map +1 -0
- package/dist/{components/atoms/switch.d.mts → Switch.d.mts} +2 -2
- package/dist/Switch.d.mts.map +1 -0
- package/dist/{components/atoms/switch.mjs → Switch.mjs} +4 -4
- package/dist/Switch.mjs.map +1 -0
- package/dist/Table.mjs +2 -2
- package/dist/Table.mjs.map +1 -1
- package/dist/{components/molecules/tabs.d.mts → Tabs.d.mts} +3 -3
- package/dist/Tabs.d.mts.map +1 -0
- package/dist/{components/molecules/tabs.mjs → Tabs.mjs} +3 -3
- package/dist/Tabs.mjs.map +1 -0
- package/dist/TimePicker.mjs +1 -1
- package/dist/{components/organisms/toast.d.mts → Toast.d.mts} +12 -2
- package/dist/Toast.d.mts.map +1 -0
- package/dist/Toast.mjs +198 -0
- package/dist/Toast.mjs.map +1 -0
- package/dist/ToggleGroup.d.mts +28 -0
- package/dist/ToggleGroup.d.mts.map +1 -0
- package/dist/ToggleGroup.mjs +58 -0
- package/dist/ToggleGroup.mjs.map +1 -0
- package/dist/{components/atoms/tooltip.d.mts → Tooltip.d.mts} +1 -1
- package/dist/Tooltip.d.mts.map +1 -0
- package/dist/{components/atoms/tooltip.mjs → Tooltip.mjs} +2 -2
- package/dist/Tooltip.mjs.map +1 -0
- package/dist/Tour.d.mts.map +1 -1
- package/dist/Tour.mjs +47 -64
- package/dist/Tour.mjs.map +1 -1
- package/dist/Transfer.mjs +2 -2
- package/dist/Tree.mjs +1 -1
- package/dist/{components/molecules/upload.d.mts → Upload.d.mts} +1 -1
- package/dist/Upload.d.mts.map +1 -0
- package/dist/{components/molecules/upload.mjs → Upload.mjs} +7 -7
- package/dist/Upload.mjs.map +1 -0
- package/dist/components/atoms/index.d.mts +34 -27
- package/dist/components/atoms/input/input.d.mts +2 -1
- package/dist/components/atoms/input/input.d.mts.map +1 -1
- package/dist/components/atoms/input/input.mjs.map +1 -1
- package/dist/components/atoms/rich-text-editor/toolbar-presets.mjs +4 -4
- package/dist/components/atoms/select-multiple.mjs +1 -1
- package/dist/components/atoms/select-searchable.mjs +1 -1
- package/dist/components/molecules/index.d.mts +22 -21
- package/dist/components/organisms/form/control.mjs +1 -1
- package/dist/components/organisms/imperative-stack.mjs +16 -1
- package/dist/components/organisms/imperative-stack.mjs.map +1 -1
- package/dist/components/organisms/index.d.mts +15 -15
- package/dist/components/organisms/list/list.d.mts +1 -1
- package/dist/components/organisms/list/list.mjs +1 -1
- package/dist/components/organisms/swiper/swiper.d.mts +6 -0
- package/dist/components/organisms/swiper/swiper.d.mts.map +1 -1
- package/dist/components/organisms/swiper/swiper.mjs +1 -1
- package/dist/components/templates/index.d.mts +11 -12
- package/dist/components/templates/layout/sider.d.mts.map +1 -1
- package/dist/components/templates/layout/sider.mjs +4 -6
- package/dist/components/templates/layout/sider.mjs.map +1 -1
- package/dist/core/badge.d.mts +1 -1
- package/dist/core/button.d.mts +2 -2
- package/dist/index.d.mts +81 -74
- package/dist/index.mjs +31 -30
- package/dist/style.css +21 -0
- package/package.json +157 -2
- package/dist/components/atoms/checkbox/index.d.mts +0 -10
- package/dist/components/atoms/checkbox/index.d.mts.map +0 -1
- package/dist/components/atoms/checkbox/index.mjs +0 -9
- package/dist/components/atoms/checkbox/index.mjs.map +0 -1
- package/dist/components/atoms/color-picker.d.mts.map +0 -1
- package/dist/components/atoms/color-picker.mjs.map +0 -1
- package/dist/components/atoms/date-picker.d.mts.map +0 -1
- package/dist/components/atoms/date-picker.mjs.map +0 -1
- package/dist/components/atoms/float-button/index.d.mts +0 -10
- package/dist/components/atoms/float-button/index.d.mts.map +0 -1
- package/dist/components/atoms/float-button/index.mjs +0 -9
- package/dist/components/atoms/float-button/index.mjs.map +0 -1
- package/dist/components/atoms/input/index.d.mts +0 -16
- package/dist/components/atoms/input/index.d.mts.map +0 -1
- package/dist/components/atoms/input/index.mjs +0 -15
- package/dist/components/atoms/input/index.mjs.map +0 -1
- package/dist/components/atoms/popover.d.mts.map +0 -1
- package/dist/components/atoms/popover.mjs.map +0 -1
- package/dist/components/atoms/progress.d.mts.map +0 -1
- package/dist/components/atoms/progress.mjs.map +0 -1
- package/dist/components/atoms/radio/index.d.mts +0 -10
- package/dist/components/atoms/radio/index.d.mts.map +0 -1
- package/dist/components/atoms/radio/index.mjs +0 -9
- package/dist/components/atoms/radio/index.mjs.map +0 -1
- package/dist/components/atoms/rich-text-editor/index.d.mts +0 -3
- package/dist/components/atoms/select.d.mts.map +0 -1
- package/dist/components/atoms/select.mjs.map +0 -1
- package/dist/components/atoms/skeleton/index.d.mts +0 -12
- package/dist/components/atoms/skeleton/index.d.mts.map +0 -1
- package/dist/components/atoms/skeleton/index.mjs +0 -11
- package/dist/components/atoms/skeleton/index.mjs.map +0 -1
- package/dist/components/atoms/slider/index.mjs.map +0 -1
- package/dist/components/atoms/spin.d.mts.map +0 -1
- package/dist/components/atoms/spin.mjs.map +0 -1
- package/dist/components/atoms/switch.d.mts.map +0 -1
- package/dist/components/atoms/switch.mjs.map +0 -1
- package/dist/components/atoms/tooltip.d.mts.map +0 -1
- package/dist/components/atoms/tooltip.mjs.map +0 -1
- package/dist/components/molecules/collapse.d.mts.map +0 -1
- package/dist/components/molecules/collapse.mjs.map +0 -1
- package/dist/components/molecules/dropdown.d.mts.map +0 -1
- package/dist/components/molecules/dropdown.mjs.map +0 -1
- package/dist/components/molecules/marquees/index.d.mts +0 -10
- package/dist/components/molecules/marquees/index.d.mts.map +0 -1
- package/dist/components/molecules/marquees/index.mjs +0 -9
- package/dist/components/molecules/marquees/index.mjs.map +0 -1
- package/dist/components/molecules/splitter/index.d.mts +0 -10
- package/dist/components/molecules/splitter/index.d.mts.map +0 -1
- package/dist/components/molecules/splitter/index.mjs +0 -9
- package/dist/components/molecules/splitter/index.mjs.map +0 -1
- package/dist/components/molecules/tabs.d.mts.map +0 -1
- package/dist/components/molecules/tabs.mjs.map +0 -1
- package/dist/components/molecules/upload.d.mts.map +0 -1
- package/dist/components/molecules/upload.mjs.map +0 -1
- package/dist/components/organisms/drawer.d.mts.map +0 -1
- package/dist/components/organisms/drawer.mjs.map +0 -1
- package/dist/components/organisms/list/index.d.mts.map +0 -1
- package/dist/components/organisms/list/index.mjs +0 -9
- package/dist/components/organisms/list/index.mjs.map +0 -1
- package/dist/components/organisms/modal.d.mts.map +0 -1
- package/dist/components/organisms/modal.mjs.map +0 -1
- package/dist/components/organisms/swiper/index.d.mts +0 -10
- package/dist/components/organisms/swiper/index.d.mts.map +0 -1
- package/dist/components/organisms/swiper/index.mjs +0 -9
- package/dist/components/organisms/swiper/index.mjs.map +0 -1
- package/dist/components/organisms/toast.d.mts.map +0 -1
- package/dist/components/organisms/toast.mjs +0 -126
- package/dist/components/organisms/toast.mjs.map +0 -1
- package/dist/components/templates/container.d.mts.map +0 -1
- package/dist/components/templates/container.mjs.map +0 -1
- package/dist/components/templates/empty.d.mts.map +0 -1
- package/dist/components/templates/empty.mjs.map +0 -1
- package/dist/components/templates/page-header.d.mts.map +0 -1
- package/dist/components/templates/page-header.mjs.map +0 -1
- package/dist/components/templates/result.d.mts.map +0 -1
- package/dist/components/templates/result.mjs.map +0 -1
package/README.ko.md
CHANGED
|
@@ -25,7 +25,7 @@ src/
|
|
|
25
25
|
│ ├── molecules/ # 🔬 분자 - 원자들의 조합
|
|
26
26
|
│ ├── organisms/ # 🦠 유기체 - 복잡한 UI 블록
|
|
27
27
|
│ └── templates/ # 📄 템플릿 - 페이지 레이아웃
|
|
28
|
-
├── core/ # ⚙️
|
|
28
|
+
├── core/ # ⚙️ 내부 Base UI 프리미티브 (export 안 됨)
|
|
29
29
|
├── lib/
|
|
30
30
|
│ ├── utils/ # 🛠 유틸리티 함수
|
|
31
31
|
│ ├── colors.ts # 🎨 색상 토큰 해석
|
|
@@ -37,70 +37,105 @@ src/
|
|
|
37
37
|
|
|
38
38
|
## 🧬 Atoms (원자)
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
| 컴포넌트
|
|
43
|
-
|
|
|
44
|
-
| **
|
|
45
|
-
| **
|
|
46
|
-
| **
|
|
47
|
-
| **
|
|
48
|
-
| **
|
|
49
|
-
| **
|
|
50
|
-
| **
|
|
51
|
-
| **
|
|
52
|
-
| **
|
|
53
|
-
| **
|
|
54
|
-
| **
|
|
55
|
-
| **
|
|
56
|
-
| **
|
|
57
|
-
| **
|
|
40
|
+
기본 UI 구성 요소
|
|
41
|
+
|
|
42
|
+
| 컴포넌트 | 설명 | 하위 컴포넌트 |
|
|
43
|
+
| ------------------ | -------------------------------------------------- | ------------------------------------- |
|
|
44
|
+
| **AutoComplete** | 입력하는 동안 일치하는 옵션을 제안하는 텍스트 입력 | - |
|
|
45
|
+
| **Avatar** | 이니셜·아이콘 대체 표시를 지원하는 프로필 이미지 | - |
|
|
46
|
+
| **Badge** | 다른 요소에 붙는 개수 또는 상태 점 | - |
|
|
47
|
+
| **Button** | type, variant, size, 로딩 상태를 지원하는 버튼 | - |
|
|
48
|
+
| **Cascader** | 여러 단계로 중첩된 옵션에서 하나를 선택 | - |
|
|
49
|
+
| **Checkbox** | 단일 체크박스 또는 값 하나를 공유하는 그룹 | `Group` |
|
|
50
|
+
| **CodeEditor** | CodeMirror 6 편집기 (개별 경로 전용, 아래 참고) | - |
|
|
51
|
+
| **ColorPicker** | 팝오버에서 hex 색상을 고르는 스와치 | - |
|
|
52
|
+
| **DatePicker** | 단일 날짜를 고르는 캘린더 팝오버 버튼 | - |
|
|
53
|
+
| **Divider** | 가로·세로 구분선, 라벨 선택 가능 | - |
|
|
54
|
+
| **FloatButton** | 뷰포트 모서리에 고정된 원형 버튼 | `BackTop` |
|
|
55
|
+
| **Input** | 텍스트 입력과 검색·숫자·OTP·여러 줄 변형 | `Search`, `Number`, `OTP`, `TextArea` |
|
|
56
|
+
| **Mentions** | `@` 접두 토큰을 자동 완성하는 텍스트 영역 | - |
|
|
57
|
+
| **Popover** | 트리거에 붙어 뜨는 플로팅 패널 | - |
|
|
58
|
+
| **Progress** | 퍼센트만큼 채워지는 가로·세로 막대 | - |
|
|
59
|
+
| **Radio** | 단일 라디오 또는 상호 배타적 옵션 그룹 | `Group` |
|
|
60
|
+
| **Rate** | 별점 입력 | - |
|
|
61
|
+
| **RichTextEditor** | HTML 문자열을 다루는 TipTap 기반 편집기 | - |
|
|
62
|
+
| **Segmented** | 보기 전환용 단일 선택 컨트롤 | - |
|
|
63
|
+
| **Select** | 하나 이상의 값을 고르는 드롭다운, 검색 지원 | - |
|
|
64
|
+
| **Skeleton** | 로딩 중 콘텐츠 모양을 흉내 내는 자리 표시 | `Button`, `Node` |
|
|
65
|
+
| **Slider** | 드래그로 숫자 값이나 범위를 조절 | - |
|
|
66
|
+
| **Spin** | 단독 또는 오버레이로 쓰는 로딩 표시 | - |
|
|
67
|
+
| **Switch** | 켜기/끄기 토글 | - |
|
|
68
|
+
| **Tag** | 콘텐츠 분류용 작은 라벨 | - |
|
|
69
|
+
| **TimePicker** | 시간을 고르는 팝오버 버튼 | - |
|
|
70
|
+
| **ToggleGroup** | 각각 독립적으로 눌리는 액션 버튼 그룹 | - |
|
|
71
|
+
| **Tooltip** | 호버·포커스 시 보이는 짧은 텍스트 힌트 | - |
|
|
72
|
+
| **Typography** | 제목, 본문, 문단, 링크 | `Link`, `Paragraph`, `Text`, `Title` |
|
|
58
73
|
|
|
59
74
|
## 🔬 Molecules (분자)
|
|
60
75
|
|
|
61
|
-
여러
|
|
62
|
-
|
|
63
|
-
| 컴포넌트
|
|
64
|
-
|
|
|
65
|
-
| **
|
|
66
|
-
| **
|
|
67
|
-
| **
|
|
68
|
-
| **
|
|
69
|
-
| **
|
|
70
|
-
| **
|
|
76
|
+
여러 원자를 조합한 컴포넌트
|
|
77
|
+
|
|
78
|
+
| 컴포넌트 | 설명 | 하위 컴포넌트 |
|
|
79
|
+
| ---------------- | ----------------------------------------------- | ------------- |
|
|
80
|
+
| **Alert** | 상태 색상과 선택적 액션이 있는 인라인 메시지 | - |
|
|
81
|
+
| **Anchor** | 현재 섹션을 강조하는 페이지 내 내비게이션 | - |
|
|
82
|
+
| **Breadcrumb** | 현재 페이지까지의 경로 | - |
|
|
83
|
+
| **Card** | 제목을 선택할 수 있는 콘텐츠 컨테이너 | - |
|
|
84
|
+
| **Collapse** | 펼칠 수 있는 패널, 아코디언 모드 지원 | - |
|
|
85
|
+
| **ContextMenu** | 영역을 우클릭해 여는 메뉴 | - |
|
|
86
|
+
| **Descriptions** | 반응형 그리드로 표시하는 라벨-값 상세 정보 | - |
|
|
87
|
+
| **Dropdown** | 트리거에서 플로팅 `Menu`를 표시 | - |
|
|
88
|
+
| **Empty** | "로드됐지만 비어 있음" 상태의 인라인 자리 표시 | - |
|
|
89
|
+
| **Marquees** | 계속 반복해 흐르는 콘텐츠 행 | `Item` |
|
|
90
|
+
| **Menu** | 중첩 서브메뉴를 지원하는 내비게이션 메뉴 | - |
|
|
91
|
+
| **Pagination** | 긴 목록의 페이지 이동 | - |
|
|
92
|
+
| **Popconfirm** | 동작 전에 확인을 묻는 팝오버 | - |
|
|
93
|
+
| **Reveals** | 자식을 순차적으로 나타나게 하는 애니메이션 | `Item` |
|
|
94
|
+
| **ScrollArea** | 스타일된 스크롤바가 있는 스크롤 컨테이너 | - |
|
|
95
|
+
| **Space** | 자식을 가로·세로로 간격을 두고 배치 | - |
|
|
96
|
+
| **Splitter** | 드래그 핸들로 크기를 조절하는 패널 | `Panel` |
|
|
97
|
+
| **Statistic** | 제목과 단위가 있는 형식화된 지표 | - |
|
|
98
|
+
| **Steps** | 순서가 있는 작업 흐름의 단계 | - |
|
|
99
|
+
| **Tabs** | 관련 콘텐츠 패널 사이를 전환 | - |
|
|
100
|
+
| **Timeline** | 타임스탬프가 있는 순서형 이벤트 | - |
|
|
101
|
+
| **Transfer** | 두 목록 사이로 항목 이동 | - |
|
|
102
|
+
| **Upload** | 클릭·드래그 업로드 영역과 삭제 가능한 파일 목록 | - |
|
|
71
103
|
|
|
72
104
|
## 🦠 Organisms (유기체)
|
|
73
105
|
|
|
74
|
-
복잡한 UI
|
|
75
|
-
|
|
76
|
-
| 컴포넌트
|
|
77
|
-
|
|
|
78
|
-
| **
|
|
79
|
-
| **
|
|
80
|
-
| **
|
|
81
|
-
| **
|
|
106
|
+
복잡한 UI 섹션
|
|
107
|
+
|
|
108
|
+
| 컴포넌트 | 설명 | 하위 컴포넌트 |
|
|
109
|
+
| -------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
110
|
+
| **Calendar** | 날짜 선택이나 날짜별 콘텐츠 표시용 월간 보기 | - |
|
|
111
|
+
| **Drawer** | 화면 가장자리에서 밀려 나오는 제어형 패널 | - |
|
|
112
|
+
| **Form** | 라벨, 설명, 오류 메시지가 있는 필드로 구성된 폼 레이아웃 | `Field`, `Control` |
|
|
113
|
+
| **List** | 로딩·빈 상태·무한 스크롤을 지원하는 목록 | `Item` |
|
|
114
|
+
| **Modal** | 제어형 또는 명령형으로 여는 다이얼로그 | `confirm`, `info`, `success`, `warning`, `error`, `destroy`, `destroyAll` |
|
|
115
|
+
| **Swiper** | Swiper.js 기반의 터치 캐러셀 | `Slide` |
|
|
116
|
+
| **Table** | 셀 렌더링, 로딩·빈 상태, 선택적 페이지네이션을 지원하는 데이터 테이블 | - |
|
|
117
|
+
| **Toast** | 자동으로 사라지는 명령형 알림 | `open`, `info`, `success`, `warning`, `error`, `loading`, `config`, `destroy`, `destroyAll` |
|
|
118
|
+
| **Tour** | 요소에 붙어 단계별로 안내하는 가이드 | - |
|
|
119
|
+
| **Tree** | 펼치기, 선택, 지연 로딩을 지원하는 계층 목록 | - |
|
|
120
|
+
| **TreeSelect** | 옵션이 트리인 셀렉트 | - |
|
|
82
121
|
|
|
83
122
|
## 📄 Templates (템플릿)
|
|
84
123
|
|
|
85
124
|
페이지 레이아웃 템플릿
|
|
86
125
|
|
|
87
|
-
| 컴포넌트
|
|
88
|
-
|
|
|
89
|
-
| **
|
|
126
|
+
| 컴포넌트 | 설명 | 하위 컴포넌트 |
|
|
127
|
+
| -------------- | ---------------------------------------------- | -------------------------------------- |
|
|
128
|
+
| **Container** | 최대 폭과 여백으로 페이지 콘텐츠를 가운데 정렬 | - |
|
|
129
|
+
| **Grid** | 24열 반응형 그리드 (`Row`, `Col` export) | - |
|
|
130
|
+
| **Layout** | 헤더, 사이더, 콘텐츠, 푸터로 된 페이지 골격 | `Header`, `Sider`, `Content`, `Footer` |
|
|
131
|
+
| **PageHeader** | 뒤로 가기 버튼과 액션이 있는 페이지 제목 블록 | - |
|
|
132
|
+
| **Result** | 작업 결과를 보여주는 전체 화면 | - |
|
|
90
133
|
|
|
91
134
|
## 🛠 핵심 기능
|
|
92
135
|
|
|
93
|
-
###
|
|
94
|
-
|
|
95
|
-
Base UI 기반의 접근성 우선 핵심 컴포넌트들:
|
|
136
|
+
### Base UI 기반
|
|
96
137
|
|
|
97
|
-
- `
|
|
98
|
-
- `button.tsx` - 버튼 컴포넌트 (class-variance-authority로 variants 관리)
|
|
99
|
-
- `dialog.tsx` - 다이얼로그 컴포넌트 (Base UI 기반)
|
|
100
|
-
- `drawer.tsx` - 드로어 컴포넌트 (Base UI dialog 기반)
|
|
101
|
-
- `progress.tsx` - 진행률 컴포넌트 (Base UI 기반)
|
|
102
|
-
- `skeleton.tsx` - 스켈레톤 컴포넌트
|
|
103
|
-
- `switch.tsx` - 스위치 컴포넌트 (Base UI 기반)
|
|
138
|
+
컴포넌트는 [Base UI](https://base-ui.com) 프리미티브 위에 만들어져 포커스 관리, 포털, `aria-*` 배선, 팝업 위치 계산을 Base UI에 맡깁니다. 내부 프리미티브 계층(`src/core`)은 공개 API가 아니며 import할 수 없습니다.
|
|
104
139
|
|
|
105
140
|
### 유틸리티
|
|
106
141
|
|
|
@@ -154,22 +189,12 @@ Dropdown 메뉴)는 모두 `z-index: 1000`을 씁니다. 루트를 격리하지
|
|
|
154
189
|
|
|
155
190
|
### 개별 컴포넌트 import
|
|
156
191
|
|
|
192
|
+
모든 컴포넌트는 export 이름과 같은 개별 경로로도 import할 수 있습니다(`Row`/`Col`과 `CodeEditor`는 아래 참고).
|
|
193
|
+
|
|
157
194
|
```tsx
|
|
158
|
-
// Typography 컴포넌트
|
|
159
|
-
// Button 컴포넌트
|
|
160
195
|
import Button from '@jbpark/ui-kit/Button';
|
|
161
|
-
|
|
162
|
-
import
|
|
163
|
-
// Layout 컴포넌트
|
|
164
|
-
import Layout from '@jbpark/ui-kit/Layout';
|
|
165
|
-
// Menu 컴포넌트
|
|
166
|
-
import Menu from '@jbpark/ui-kit/Menu';
|
|
167
|
-
// Reveals 컴포넌트
|
|
168
|
-
import Reveals from '@jbpark/ui-kit/Reveals';
|
|
169
|
-
// Space 컴포넌트
|
|
170
|
-
import Space from '@jbpark/ui-kit/Space';
|
|
171
|
-
// Tag 컴포넌트
|
|
172
|
-
import Tag from '@jbpark/ui-kit/Tag';
|
|
196
|
+
import Input from '@jbpark/ui-kit/Input';
|
|
197
|
+
import Modal from '@jbpark/ui-kit/Modal';
|
|
173
198
|
import Typography from '@jbpark/ui-kit/Typography';
|
|
174
199
|
```
|
|
175
200
|
|
|
@@ -180,6 +205,10 @@ import Typography from '@jbpark/ui-kit/Typography';
|
|
|
180
205
|
> 이펙트로 불러오기 때문에 Node/SSR 빌드(예: Astro static build)에서 순수
|
|
181
206
|
> `.css` import를 처리 못 해 빌드가 깨질 수 있습니다.
|
|
182
207
|
|
|
208
|
+
- `Row`/`Col`은 named export라 개별 경로가 없습니다. 루트에서 `import { Row, Col } from '@jbpark/ui-kit'`로 가져옵니다.
|
|
209
|
+
- `CodeEditor`는 반대로 **개별 경로 전용**입니다(`@jbpark/ui-kit/CodeEditor`). CodeMirror가 선택적 peer 의존성이라 루트 진입점에는 포함되지 않습니다.
|
|
210
|
+
- 타입은 루트 진입점에서 가져옵니다: `import type { ButtonProps } from '@jbpark/ui-kit'`.
|
|
211
|
+
|
|
183
212
|
### 유틸리티 및 프로바이더 import
|
|
184
213
|
|
|
185
214
|
```tsx
|
|
@@ -272,22 +301,14 @@ pnpm run generate:component
|
|
|
272
301
|
|
|
273
302
|
## 📦 패키지 Exports
|
|
274
303
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
- `@jbpark/ui-kit` - 메인 패키지 (모든 컴포넌트)
|
|
278
|
-
- `@jbpark/ui-kit/Typography` - Typography 컴포넌트
|
|
279
|
-
- `@jbpark/ui-kit/Button` - Button 컴포넌트
|
|
280
|
-
- `@jbpark/ui-kit/Tag` - Tag 컴포넌트
|
|
281
|
-
- `@jbpark/ui-kit/Card` - Card 컴포넌트
|
|
282
|
-
- `@jbpark/ui-kit/Space` - Space 컴포넌트
|
|
283
|
-
- `@jbpark/ui-kit/Menu` - Menu 컴포넌트
|
|
284
|
-
- `@jbpark/ui-kit/Reveals` - Reveals 컴포넌트
|
|
285
|
-
- `@jbpark/ui-kit/CodeEditor` - CodeEditor 컴포넌트
|
|
286
|
-
- `@jbpark/ui-kit/Layout` - Layout 템플릿
|
|
304
|
+
- `@jbpark/ui-kit` - 메인 진입점 (`CodeEditor`를 제외한 모든 컴포넌트와 타입, `Config` 등 `providers` export)
|
|
305
|
+
- `@jbpark/ui-kit/<ComponentName>` - 컴포넌트별 개별 경로 (default export만, 위 표의 컴포넌트 이름과 같음)
|
|
287
306
|
- `@jbpark/ui-kit/utils` - 유틸리티 함수 (`cn`, `renderConditional`)
|
|
288
307
|
- `@jbpark/ui-kit/providers` - Config 프로바이더 및 테마
|
|
289
308
|
- `@jbpark/ui-kit/style.css` - 전역 스타일 (필수)
|
|
290
309
|
|
|
310
|
+
전체 목록은 패키지 `package.json`의 `exports` 필드가 기준입니다.
|
|
311
|
+
|
|
291
312
|
## 🤝 기여하기
|
|
292
313
|
|
|
293
314
|
1. 이 저장소를 포크합니다
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ src/
|
|
|
25
25
|
│ ├── molecules/ # 🔬 Molecules - Combinations of atoms
|
|
26
26
|
│ ├── organisms/ # 🦠 Organisms - Complex UI blocks
|
|
27
27
|
│ └── templates/ # 📄 Templates - Page layouts
|
|
28
|
-
├── core/ # ⚙️
|
|
28
|
+
├── core/ # ⚙️ Internal Base UI primitives (not exported)
|
|
29
29
|
├── lib/
|
|
30
30
|
│ ├── utils/ # 🛠 Utility functions
|
|
31
31
|
│ ├── colors.ts # 🎨 Colour token resolution
|
|
@@ -39,68 +39,103 @@ src/
|
|
|
39
39
|
|
|
40
40
|
Basic UI building blocks
|
|
41
41
|
|
|
42
|
-
| Component
|
|
43
|
-
|
|
|
44
|
-
| **
|
|
45
|
-
| **
|
|
46
|
-
| **
|
|
47
|
-
| **
|
|
48
|
-
| **
|
|
49
|
-
| **
|
|
50
|
-
| **
|
|
51
|
-
| **
|
|
52
|
-
| **
|
|
53
|
-
| **
|
|
54
|
-
| **
|
|
55
|
-
| **
|
|
56
|
-
| **
|
|
57
|
-
| **
|
|
42
|
+
| Component | Description | Sub-components |
|
|
43
|
+
| ------------------ | ------------------------------------------------------------- | ------------------------------------- |
|
|
44
|
+
| **AutoComplete** | A text input that suggests matching options as you type | - |
|
|
45
|
+
| **Avatar** | A profile image with initials or icon fallback | - |
|
|
46
|
+
| **Badge** | A count or status dot attached to another element | - |
|
|
47
|
+
| **Button** | Buttons with type, variant, size and loading states | - |
|
|
48
|
+
| **Cascader** | Picks one value from nested option levels | - |
|
|
49
|
+
| **Checkbox** | A single checkbox, or a group sharing one value | `Group` |
|
|
50
|
+
| **CodeEditor** | CodeMirror 6 editing surface (subpath-only, see below) | - |
|
|
51
|
+
| **ColorPicker** | A swatch that opens a popover for picking a hex colour | - |
|
|
52
|
+
| **DatePicker** | A button that opens a calendar popover for a single date | - |
|
|
53
|
+
| **Divider** | A horizontal or vertical separator, optionally labeled | - |
|
|
54
|
+
| **FloatButton** | A circular button fixed to a corner of the viewport | `BackTop` |
|
|
55
|
+
| **Input** | A text input, with search, number, OTP and multiline variants | `Search`, `Number`, `OTP`, `TextArea` |
|
|
56
|
+
| **Mentions** | A text area that completes `@`-prefixed tokens | - |
|
|
57
|
+
| **Popover** | A floating panel anchored to a trigger element | - |
|
|
58
|
+
| **Progress** | A bar that fills to a percentage, horizontal or vertical | - |
|
|
59
|
+
| **Radio** | A single radio, or a group for mutually-exclusive options | `Group` |
|
|
60
|
+
| **Rate** | A star rating input | - |
|
|
61
|
+
| **RichTextEditor** | A TipTap-based editor over an HTML string | - |
|
|
62
|
+
| **Segmented** | A single-choice control for switching views | - |
|
|
63
|
+
| **Select** | A dropdown for choosing one or more values, with search | - |
|
|
64
|
+
| **Skeleton** | A placeholder that mimics content while it loads | `Button`, `Node` |
|
|
65
|
+
| **Slider** | A draggable numeric value or range control | - |
|
|
66
|
+
| **Spin** | A loading indicator, standalone or as an overlay | - |
|
|
67
|
+
| **Switch** | A boolean on/off toggle | - |
|
|
68
|
+
| **Tag** | A small labeled badge for categorising content | - |
|
|
69
|
+
| **TimePicker** | A button that opens a popover for picking a time | - |
|
|
70
|
+
| **ToggleGroup** | A group of independently pressed action buttons | - |
|
|
71
|
+
| **Tooltip** | A short text hint shown on hover or focus | - |
|
|
72
|
+
| **Typography** | Headings, body text, paragraphs and links | `Link`, `Paragraph`, `Text`, `Title` |
|
|
58
73
|
|
|
59
74
|
## 🔬 Molecules
|
|
60
75
|
|
|
61
76
|
Composite components combining multiple atoms
|
|
62
77
|
|
|
63
|
-
| Component
|
|
64
|
-
|
|
|
65
|
-
| **
|
|
66
|
-
| **
|
|
67
|
-
| **
|
|
68
|
-
| **
|
|
69
|
-
| **
|
|
70
|
-
| **
|
|
78
|
+
| Component | Description | Sub-components |
|
|
79
|
+
| ---------------- | ---------------------------------------------------------- | -------------- |
|
|
80
|
+
| **Alert** | An inline message with a status colour and optional action | - |
|
|
81
|
+
| **Anchor** | In-page navigation that highlights the current section | - |
|
|
82
|
+
| **Breadcrumb** | The path to the current page | - |
|
|
83
|
+
| **Card** | A content container with an optional title | - |
|
|
84
|
+
| **Collapse** | Expandable panels, with an optional accordion mode | - |
|
|
85
|
+
| **ContextMenu** | A menu opened by right-clicking an area | - |
|
|
86
|
+
| **Descriptions** | Labeled record details in a responsive grid | - |
|
|
87
|
+
| **Dropdown** | Reveals a floating `Menu` from a trigger | - |
|
|
88
|
+
| **Empty** | An inline placeholder for the "loaded, but empty" state | - |
|
|
89
|
+
| **Marquees** | Rows of content scrolling in a continuous loop | `Item` |
|
|
90
|
+
| **Menu** | Navigation menu with nested submenus | - |
|
|
91
|
+
| **Pagination** | Page navigation for long lists | - |
|
|
92
|
+
| **Popconfirm** | A popover that asks for confirmation before an action | - |
|
|
93
|
+
| **Reveals** | Animates children into view with a staggered cascade | `Item` |
|
|
94
|
+
| **ScrollArea** | A scroll container with styled scrollbars | - |
|
|
95
|
+
| **Space** | Lays out children in a row or column with gaps | - |
|
|
96
|
+
| **Splitter** | Resizable panels with a draggable handle between them | `Panel` |
|
|
97
|
+
| **Statistic** | A formatted metric with a title and unit | - |
|
|
98
|
+
| **Steps** | The stages of an ordered workflow | - |
|
|
99
|
+
| **Tabs** | Switches between panels of related content | - |
|
|
100
|
+
| **Timeline** | Ordered events with timestamps | - |
|
|
101
|
+
| **Transfer** | Moves items between two lists | - |
|
|
102
|
+
| **Upload** | A click-or-drag dropzone with a removable file list | - |
|
|
71
103
|
|
|
72
104
|
## 🦠 Organisms
|
|
73
105
|
|
|
74
106
|
Complex UI sections
|
|
75
107
|
|
|
76
|
-
| Component
|
|
77
|
-
|
|
|
78
|
-
| **
|
|
79
|
-
| **
|
|
80
|
-
| **
|
|
81
|
-
| **
|
|
108
|
+
| Component | Description | Sub-components |
|
|
109
|
+
| -------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
110
|
+
| **Calendar** | A month view for picking dates or showing date content | - |
|
|
111
|
+
| **Drawer** | A controlled panel that slides in from any edge | - |
|
|
112
|
+
| **Form** | Form layout with labeled fields, descriptions and error messages | `Field`, `Control` |
|
|
113
|
+
| **List** | A collection with loading, empty and infinite-scroll states | `Item` |
|
|
114
|
+
| **Modal** | A dialog, controlled or fired imperatively | `confirm`, `info`, `success`, `warning`, `error`, `destroy`, `destroyAll` |
|
|
115
|
+
| **Swiper** | A touch-friendly carousel over Swiper.js | `Slide` |
|
|
116
|
+
| **Table** | A data table with custom cells, loading and empty states, and optional pagination | - |
|
|
117
|
+
| **Toast** | Imperative, auto-dismissing notifications | `open`, `info`, `success`, `warning`, `error`, `loading`, `config`, `destroy`, `destroyAll` |
|
|
118
|
+
| **Tour** | A guided walkthrough of steps anchored to elements | - |
|
|
119
|
+
| **Tree** | A hierarchical list with expand, select and lazy loading | - |
|
|
120
|
+
| **TreeSelect** | A select whose options are a tree | - |
|
|
82
121
|
|
|
83
122
|
## 📄 Templates
|
|
84
123
|
|
|
85
124
|
Page layout templates
|
|
86
125
|
|
|
87
|
-
| Component
|
|
88
|
-
|
|
|
89
|
-
| **
|
|
126
|
+
| Component | Description | Sub-components |
|
|
127
|
+
| -------------- | ----------------------------------------------------- | -------------------------------------- |
|
|
128
|
+
| **Container** | Centres page content at a capped width with gutters | - |
|
|
129
|
+
| **Grid** | A 24-column responsive grid (`Row` and `Col` exports) | - |
|
|
130
|
+
| **Layout** | The page scaffold: header, sider, content and footer | `Header`, `Sider`, `Content`, `Footer` |
|
|
131
|
+
| **PageHeader** | A page title block with back button and actions | - |
|
|
132
|
+
| **Result** | A full-page screen for an operation's outcome | - |
|
|
90
133
|
|
|
91
134
|
## 🛠 Core Features
|
|
92
135
|
|
|
93
|
-
###
|
|
136
|
+
### Built on Base UI
|
|
94
137
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- `accordion.tsx` - Accordion component (Base UI based)
|
|
98
|
-
- `button.tsx` - Button component (variants managed with class-variance-authority)
|
|
99
|
-
- `dialog.tsx` - Dialog component (Base UI based)
|
|
100
|
-
- `drawer.tsx` - Drawer component (Base UI dialog based)
|
|
101
|
-
- `progress.tsx` - Progress component (Base UI based)
|
|
102
|
-
- `skeleton.tsx` - Skeleton component
|
|
103
|
-
- `switch.tsx` - Switch component (Base UI based)
|
|
138
|
+
Components are built on [Base UI](https://base-ui.com) primitives, which handle focus management, portals, `aria-*` wiring and popup positioning. The internal primitive layer (`src/core`) is not part of the public API and cannot be imported.
|
|
104
139
|
|
|
105
140
|
### Utilities
|
|
106
141
|
|
|
@@ -154,22 +189,12 @@ covers the whole app, including this chrome.
|
|
|
154
189
|
|
|
155
190
|
### Import Individual Components
|
|
156
191
|
|
|
192
|
+
Every component can also be imported from a subpath named after its export (see below for `Row`/`Col` and `CodeEditor`).
|
|
193
|
+
|
|
157
194
|
```tsx
|
|
158
|
-
// Typography component
|
|
159
|
-
// Button component
|
|
160
195
|
import Button from '@jbpark/ui-kit/Button';
|
|
161
|
-
|
|
162
|
-
import
|
|
163
|
-
// Layout component
|
|
164
|
-
import Layout from '@jbpark/ui-kit/Layout';
|
|
165
|
-
// Menu component
|
|
166
|
-
import Menu from '@jbpark/ui-kit/Menu';
|
|
167
|
-
// Reveals component
|
|
168
|
-
import Reveals from '@jbpark/ui-kit/Reveals';
|
|
169
|
-
// Space component
|
|
170
|
-
import Space from '@jbpark/ui-kit/Space';
|
|
171
|
-
// Tag component
|
|
172
|
-
import Tag from '@jbpark/ui-kit/Tag';
|
|
196
|
+
import Input from '@jbpark/ui-kit/Input';
|
|
197
|
+
import Modal from '@jbpark/ui-kit/Modal';
|
|
173
198
|
import Typography from '@jbpark/ui-kit/Typography';
|
|
174
199
|
```
|
|
175
200
|
|
|
@@ -180,6 +205,10 @@ import Typography from '@jbpark/ui-kit/Typography';
|
|
|
180
205
|
> `swiper`'s CSS as a side effect and can break Node/SSR builds (e.g. an
|
|
181
206
|
> Astro static build) that don't expect a bare `.css` import.
|
|
182
207
|
|
|
208
|
+
- `Row`/`Col` are named exports and have no subpath. Import them from the root: `import { Row, Col } from '@jbpark/ui-kit'`.
|
|
209
|
+
- `CodeEditor` is the opposite: it is **subpath-only** (`@jbpark/ui-kit/CodeEditor`). CodeMirror is an optional peer dependency, so the root entry does not include it.
|
|
210
|
+
- Import types from the root entry: `import type { ButtonProps } from '@jbpark/ui-kit'`.
|
|
211
|
+
|
|
183
212
|
### Import Utilities and Providers
|
|
184
213
|
|
|
185
214
|
```tsx
|
|
@@ -272,22 +301,14 @@ pnpm run generate:component
|
|
|
272
301
|
|
|
273
302
|
## 📦 Package Exports
|
|
274
303
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
- `@jbpark/ui-kit` - Main package (all components)
|
|
278
|
-
- `@jbpark/ui-kit/Typography` - Typography component
|
|
279
|
-
- `@jbpark/ui-kit/Button` - Button component
|
|
280
|
-
- `@jbpark/ui-kit/Tag` - Tag component
|
|
281
|
-
- `@jbpark/ui-kit/Card` - Card component
|
|
282
|
-
- `@jbpark/ui-kit/Space` - Space component
|
|
283
|
-
- `@jbpark/ui-kit/Menu` - Menu component
|
|
284
|
-
- `@jbpark/ui-kit/Reveals` - Reveals component
|
|
285
|
-
- `@jbpark/ui-kit/CodeEditor` - CodeEditor component
|
|
286
|
-
- `@jbpark/ui-kit/Layout` - Layout template
|
|
304
|
+
- `@jbpark/ui-kit` - Main entry (every component except `CodeEditor`, their types, and the `providers` exports such as `Config`)
|
|
305
|
+
- `@jbpark/ui-kit/<ComponentName>` - One subpath per component (default export only), named as in the tables above
|
|
287
306
|
- `@jbpark/ui-kit/utils` - Utility functions (`cn`, `renderConditional`)
|
|
288
307
|
- `@jbpark/ui-kit/providers` - Config provider and theming
|
|
289
308
|
- `@jbpark/ui-kit/style.css` - Global styles (required)
|
|
290
309
|
|
|
310
|
+
The `exports` field of the package's `package.json` is the full, authoritative list.
|
|
311
|
+
|
|
291
312
|
## 🤝 Contributing
|
|
292
313
|
|
|
293
314
|
1. Fork this repository
|
package/dist/AutoComplete.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { cn } from "./utils.mjs";
|
|
|
3
3
|
import { DEFAULT_LOCALE, useConfig } from "./providers/config/context.mjs";
|
|
4
4
|
import Button from "./Button.mjs";
|
|
5
5
|
import { autocomplete_exports } from "./core/autocomplete.mjs";
|
|
6
|
-
import Input from "./
|
|
6
|
+
import Input from "./Input.mjs";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { XIcon } from "lucide-react";
|
|
9
9
|
//#region src/components/atoms/auto-complete.tsx
|
package/dist/Breadcrumb.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { cn } from "./utils.mjs";
|
|
3
3
|
import { useConfig } from "./providers/config/context.mjs";
|
|
4
4
|
import Button from "./Button.mjs";
|
|
5
|
-
import Popover from "./
|
|
5
|
+
import Popover from "./Popover.mjs";
|
|
6
6
|
import { Fragment } from "react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/molecules/breadcrumb.tsx
|
package/dist/Cascader.mjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { cn } from "./utils.mjs";
|
|
3
3
|
import { useConfig } from "./providers/config/context.mjs";
|
|
4
4
|
import Button from "./Button.mjs";
|
|
5
|
-
import Popover from "./
|
|
6
|
-
import Select from "./
|
|
5
|
+
import Popover from "./Popover.mjs";
|
|
6
|
+
import Select from "./Select.mjs";
|
|
7
7
|
import { useId, useState } from "react";
|
|
8
8
|
import { DirectionProvider } from "@base-ui/react/direction-provider";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Group from "./components/atoms/checkbox/group.mjs";
|
|
2
|
+
import Checkbox$1, { Props } from "./components/atoms/checkbox/checkbox.mjs";
|
|
3
|
+
//#region src/components/atoms/checkbox/index.d.ts
|
|
4
|
+
type CheckboxComponent = typeof Checkbox$1 & {
|
|
5
|
+
Group: typeof Group;
|
|
6
|
+
};
|
|
7
|
+
declare const Checkbox: CheckboxComponent;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { type Props, Checkbox as default };
|
|
10
|
+
//# sourceMappingURL=Checkbox.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.mts","names":["CheckboxImpl"],"sources":["../src/components/atoms/checkbox/index.ts"],"mappings":";;;KAGK,2BAA2BA;EAAiB,cAAc;;cAEzD,UAA2B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Checkbox$1 from "./components/atoms/checkbox/checkbox.mjs";
|
|
2
|
+
import Group from "./components/atoms/checkbox/group.mjs";
|
|
3
|
+
//#region src/components/atoms/checkbox/index.ts
|
|
4
|
+
const Checkbox = Checkbox$1;
|
|
5
|
+
Checkbox.Group = Group;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { Checkbox as default };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=Checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.mjs","names":["CheckboxImpl"],"sources":["../src/components/atoms/checkbox/index.ts"],"sourcesContent":["import CheckboxImpl, { type Props } from './checkbox';\nimport Group from './group';\n\ntype CheckboxComponent = typeof CheckboxImpl & { Group: typeof Group };\n\nconst Checkbox = CheckboxImpl as CheckboxComponent;\n\nCheckbox.Group = Group;\n\nexport default Checkbox;\nexport type { Props };\n"],"mappings":";;;AAKA,MAAM,WAAWA;AAEjB,SAAS,QAAQ"}
|
package/dist/CodeEditor.d.mts
CHANGED
|
@@ -15,7 +15,13 @@ export interface Props extends Omit<React.ComponentProps<typeof CodeMirror>, 'va
|
|
|
15
15
|
* still means what it does upstream: no theme extension, style it yourself.
|
|
16
16
|
*/
|
|
17
17
|
theme?: 'light' | 'dark' | 'auto' | 'none' | Extension;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* The language extension. Omitted, it is the built-in JS/TS/JSX mode; an
|
|
20
|
+
* `Extension` replaces it (e.g. `json()` from `@codemirror/lang-json`, which
|
|
21
|
+
* the caller installs), and `null` leaves the document as plain text.
|
|
22
|
+
*/
|
|
23
|
+
language?: Extension | null;
|
|
24
|
+
/** Appended after the language and line-wrapping extensions. */
|
|
19
25
|
extensions?: Extension[];
|
|
20
26
|
/**
|
|
21
27
|
* Renders a read-through unified diff against `original` instead of a plain
|
|
@@ -45,7 +51,7 @@ export interface Props extends Omit<React.ComponentProps<typeof CodeMirror>, 'va
|
|
|
45
51
|
*/
|
|
46
52
|
onFormatError?: (error: string | null) => void;
|
|
47
53
|
}
|
|
48
|
-
declare const CodeEditor: ({ value, theme, height, className, extensions: extraExtensions, diff, formatCode, onChange, onSave, onFormatError, ...props }: Props) => import("react").JSX.Element;
|
|
54
|
+
declare const CodeEditor: ({ value, theme, height, className, language, extensions: extraExtensions, diff, formatCode, onChange, onSave, onFormatError, ...props }: Props) => import("react").JSX.Element;
|
|
49
55
|
//#endregion
|
|
50
56
|
export { CodeEditor as default };
|
|
51
57
|
//# sourceMappingURL=CodeEditor.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.d.mts","names":[],"sources":["../src/components/atoms/code-editor.tsx"],"mappings":";;iBA2BiB,cAAc,KAC7B,MAAM,sBAAsB;EAG5B;;EAEA;;;;;;;;;;;EAWA,6CAA6C;;
|
|
1
|
+
{"version":3,"file":"CodeEditor.d.mts","names":[],"sources":["../src/components/atoms/code-editor.tsx"],"mappings":";;iBA2BiB,cAAc,KAC7B,MAAM,sBAAsB;EAG5B;;EAEA;;;;;;;;;;;EAWA,6CAA6C;;;;;;EAM7C,WAAW;;EAEX,aAAa;;;;;;EAMb;IACE;IACA;;;;;;;;EAQF,cAAc,iBAAiB;EAC/B;EACA,YAAY;;EAEZ,UAAU;;;;;;;EAOV,iBAAiB;;cAGb,eAAc,OAAA,OAAA,QAAA,WAAA,UAAA,YAAA,iBAAA,MAAA,YAAA,UAAA,QAAA,kBAAA,SAajB,0BAAK,IAAA"}
|
package/dist/CodeEditor.mjs
CHANGED
|
@@ -9,7 +9,7 @@ import { vscodeDark, vscodeLight } from "@uiw/codemirror-theme-vscode";
|
|
|
9
9
|
import CodeMirror from "@uiw/react-codemirror";
|
|
10
10
|
import { EditorView } from "codemirror";
|
|
11
11
|
//#region src/components/atoms/code-editor.tsx
|
|
12
|
-
const CodeEditor = ({ value, theme = "auto", height, className, extensions: extraExtensions, diff, formatCode, onChange, onSave, onFormatError, ...props }) => {
|
|
12
|
+
const CodeEditor = ({ value, theme = "auto", height, className, language, extensions: extraExtensions, diff, formatCode, onChange, onSave, onFormatError, ...props }) => {
|
|
13
13
|
const editorRef = useRef(null);
|
|
14
14
|
const isDarkActive = useIsDarkActive();
|
|
15
15
|
const resolvedTheme = useMemo(() => {
|
|
@@ -19,16 +19,21 @@ const CodeEditor = ({ value, theme = "auto", height, className, extensions: extr
|
|
|
19
19
|
return theme;
|
|
20
20
|
}, [theme, isDarkActive]);
|
|
21
21
|
const extensions = useMemo(() => {
|
|
22
|
-
const
|
|
22
|
+
const languageExtension = language === void 0 ? javascript({
|
|
23
23
|
jsx: true,
|
|
24
24
|
typescript: true
|
|
25
|
-
})
|
|
25
|
+
}) : language;
|
|
26
|
+
const base = languageExtension ? [languageExtension, EditorView.lineWrapping] : [EditorView.lineWrapping];
|
|
26
27
|
if (diff) base.push(unifiedMergeView({
|
|
27
28
|
original: diff.original,
|
|
28
29
|
mergeControls: diff.mergeControls ?? false
|
|
29
30
|
}));
|
|
30
31
|
return [...base, ...extraExtensions ?? []];
|
|
31
|
-
}, [
|
|
32
|
+
}, [
|
|
33
|
+
language,
|
|
34
|
+
diff,
|
|
35
|
+
extraExtensions
|
|
36
|
+
]);
|
|
32
37
|
const save = useCallback(async (val) => {
|
|
33
38
|
const view = editorRef.current?.view;
|
|
34
39
|
if (!view) return;
|