@xjur-ui/react 1.0.6 → 2.0.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/.turbo/turbo-build.log +97 -45
- package/CHANGELOG.md +44 -0
- package/README.md +146 -0
- package/dist/chunk-CBFC4QME.js +2 -0
- package/dist/chunk-CBFC4QME.js.map +1 -0
- package/dist/chunk-EIG6CBTQ.js +2 -0
- package/dist/chunk-EIG6CBTQ.js.map +1 -0
- package/dist/chunk-FASEHVMD.js +2 -0
- package/dist/chunk-FASEHVMD.js.map +1 -0
- package/dist/chunk-KIFR5VIE.js +2 -0
- package/dist/chunk-KIFR5VIE.js.map +1 -0
- package/dist/chunk-KS6WGBHQ.js +2 -0
- package/dist/chunk-KS6WGBHQ.js.map +1 -0
- package/dist/chunk-NELCN6E2.js +2 -0
- package/dist/chunk-NELCN6E2.js.map +1 -0
- package/dist/chunk-NPTLORW5.js +2 -0
- package/dist/chunk-NPTLORW5.js.map +1 -0
- package/dist/chunk-RWMV7APX.js +2 -0
- package/dist/chunk-RWMV7APX.js.map +1 -0
- package/dist/chunk-SHHXKVVR.js +2 -0
- package/dist/chunk-SHHXKVVR.js.map +1 -0
- package/dist/chunk-TB6KI6CL.js +2 -0
- package/dist/chunk-TB6KI6CL.js.map +1 -0
- package/dist/components/avatar-group.js +2 -179
- package/dist/components/avatar-group.js.map +1 -0
- package/dist/components/avatar.js +2 -59
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.js +2 -111
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.js +2 -98
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.js +2 -751
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/checkbox.js +2 -153
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/chip.d.ts +3 -1
- package/dist/components/chip.js +2 -256
- package/dist/components/chip.js.map +1 -0
- package/dist/components/collapsible.js +2 -41
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/date-picker.d.ts +8 -3
- package/dist/components/date-picker.js +2 -232
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/divider.js +2 -29
- package/dist/components/divider.js.map +1 -0
- package/dist/components/dropdown-menu.js +2 -295
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/icon.js +2 -177
- package/dist/components/icon.js.map +1 -0
- package/dist/components/input.d.ts +9 -4
- package/dist/components/input.js +2 -315
- package/dist/components/input.js.map +1 -0
- package/dist/components/list.js +2 -179
- package/dist/components/list.js.map +1 -0
- package/dist/components/logo.js +2 -324
- package/dist/components/logo.js.map +1 -0
- package/dist/components/otp-input.js +2 -47
- package/dist/components/otp-input.js.map +1 -0
- package/dist/components/radio.js +2 -156
- package/dist/components/radio.js.map +1 -0
- package/dist/components/rich-editor.d.ts +2 -1
- package/dist/components/rich-editor.js +2 -723
- package/dist/components/rich-editor.js.map +1 -0
- package/dist/components/search-input.js +2 -274
- package/dist/components/search-input.js.map +1 -0
- package/dist/components/select.d.ts +6 -3
- package/dist/components/select.js +2 -550
- package/dist/components/select.js.map +1 -0
- package/dist/components/sheet.js +2 -251
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/skeleton.js +2 -16
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/status.js +2 -111
- package/dist/components/status.js.map +1 -0
- package/dist/components/switch.js +2 -36
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.js +2 -196
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +9 -6
- package/dist/components/tabs.js +2 -54
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/tag.d.ts +3 -1
- package/dist/components/tag.js +2 -189
- package/dist/components/tag.js.map +1 -0
- package/dist/components/tooltip.js +2 -58
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/typography.js +2 -78
- package/dist/components/typography.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.css +2 -2322
- package/dist/index.css.map +1 -0
- package/dist/logo-PQRZORCS.js +3 -0
- package/dist/logo-PQRZORCS.js.map +1 -0
- package/package.json +41 -8
- package/src/components/calendar.tsx +7 -6
- package/src/components/chip.tsx +11 -3
- package/src/components/date-picker.tsx +125 -22
- package/src/components/icon.tsx +1 -1
- package/src/components/input.tsx +124 -60
- package/src/components/logo.tsx +25 -20
- package/src/components/rich-editor.tsx +4 -3
- package/src/components/select.tsx +104 -26
- package/src/components/tabs.tsx +56 -37
- package/src/components/tag.tsx +11 -3
- package/src/index.css +2 -2
- package/src/resources/logo/index.tsx +33 -0
- package/tsup.config.ts +23 -5
- package/dist/components/test.d.ts +0 -5
- package/dist/components/test.js +0 -8
- package/dist/index.js +0 -0
- package/src/components/test.tsx +0 -3
- package/src/index.ts +0 -1
- package/src/resources/logo/index.ts +0 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,65 +1,117 @@
|
|
|
1
1
|
|
|
2
|
-
> @xjur-ui/react@1.0.
|
|
2
|
+
> @xjur-ui/react@1.0.6 build
|
|
3
3
|
> tsup
|
|
4
4
|
|
|
5
|
-
CLI Building entry: src/index.
|
|
5
|
+
CLI Building entry: src/index.css, src/components/avatar-group.tsx, src/components/avatar.tsx, src/components/badge.tsx, src/components/button.tsx, src/components/calendar.tsx, src/components/checkbox.tsx, src/components/chip.tsx, src/components/collapsible.tsx, src/components/date-picker.tsx, src/components/divider.tsx, src/components/dropdown-menu.tsx, src/components/icon.tsx, src/components/input.tsx, src/components/list.tsx, src/components/logo.tsx, src/components/otp-input.tsx, src/components/radio.tsx, src/components/rich-editor.tsx, src/components/search-input.tsx, src/components/select.tsx, src/components/sheet.tsx, src/components/skeleton.tsx, src/components/status.tsx, src/components/switch.tsx, src/components/table.tsx, src/components/tabs.tsx, src/components/tag.tsx, src/components/tooltip.tsx, src/components/typography.tsx, src/hooks/index.ts
|
|
6
6
|
CLI Using tsconfig: tsconfig.json
|
|
7
7
|
CLI tsup v8.5.0
|
|
8
8
|
CLI Using tsup config: /home/vsts/work/1/s/packages/react/tsup.config.ts
|
|
9
|
-
CLI Target:
|
|
9
|
+
CLI Target: esnext
|
|
10
10
|
CLI Cleaning output folder
|
|
11
11
|
ESM Build start
|
|
12
12
|
DTS Build start
|
|
13
|
-
ESM dist/index.
|
|
14
|
-
ESM dist/
|
|
15
|
-
ESM dist/
|
|
16
|
-
ESM dist/
|
|
17
|
-
ESM dist/components/
|
|
18
|
-
ESM dist/components/
|
|
19
|
-
ESM dist/components/
|
|
20
|
-
ESM dist/components/
|
|
21
|
-
ESM dist/components/
|
|
22
|
-
ESM dist/
|
|
23
|
-
ESM dist/components/
|
|
24
|
-
ESM dist/components/radio.js
|
|
25
|
-
ESM dist/components/
|
|
26
|
-
ESM dist/
|
|
27
|
-
ESM dist/
|
|
28
|
-
ESM dist/components/
|
|
29
|
-
ESM dist/components/
|
|
30
|
-
ESM dist/
|
|
31
|
-
ESM dist/components/
|
|
32
|
-
ESM dist/components/
|
|
33
|
-
ESM dist/components/
|
|
34
|
-
ESM dist/components/
|
|
35
|
-
ESM dist/components/
|
|
36
|
-
ESM dist/components/
|
|
37
|
-
ESM dist/components/
|
|
38
|
-
ESM dist/
|
|
39
|
-
ESM dist/
|
|
40
|
-
ESM dist/components/
|
|
41
|
-
ESM dist/components/
|
|
42
|
-
ESM dist/components/
|
|
43
|
-
ESM dist/
|
|
44
|
-
ESM dist/components/
|
|
45
|
-
ESM
|
|
46
|
-
|
|
13
|
+
ESM dist/index.css 56.11 KB
|
|
14
|
+
ESM dist/index.css.map 109.62 KB
|
|
15
|
+
ESM dist/components/switch.js 888.00 B
|
|
16
|
+
ESM dist/hooks/index.js 112.00 B
|
|
17
|
+
ESM dist/components/table.js 2.52 KB
|
|
18
|
+
ESM dist/components/tabs.js 1.40 KB
|
|
19
|
+
ESM dist/components/tag.js 1.58 KB
|
|
20
|
+
ESM dist/components/tooltip.js 179.00 B
|
|
21
|
+
ESM dist/components/typography.js 127.00 B
|
|
22
|
+
ESM dist/logo-PQRZORCS.js 16.75 KB
|
|
23
|
+
ESM dist/components/otp-input.js 665.00 B
|
|
24
|
+
ESM dist/components/radio.js 1.50 KB
|
|
25
|
+
ESM dist/components/rich-editor.js 5.94 KB
|
|
26
|
+
ESM dist/chunk-NELCN6E2.js 1.45 KB
|
|
27
|
+
ESM dist/chunk-KS6WGBHQ.js 489.00 B
|
|
28
|
+
ESM dist/components/search-input.js 305.00 B
|
|
29
|
+
ESM dist/components/select.js 5.76 KB
|
|
30
|
+
ESM dist/chunk-NPTLORW5.js 1.86 KB
|
|
31
|
+
ESM dist/components/sheet.js 2.59 KB
|
|
32
|
+
ESM dist/components/skeleton.js 291.00 B
|
|
33
|
+
ESM dist/components/status.js 714.00 B
|
|
34
|
+
ESM dist/components/collapsible.js 642.00 B
|
|
35
|
+
ESM dist/components/date-picker.js 5.10 KB
|
|
36
|
+
ESM dist/components/divider.js 118.00 B
|
|
37
|
+
ESM dist/components/dropdown-menu.js 452.00 B
|
|
38
|
+
ESM dist/chunk-RWMV7APX.js 1.34 KB
|
|
39
|
+
ESM dist/chunk-CBFC4QME.js 565.00 B
|
|
40
|
+
ESM dist/components/icon.js 120.00 B
|
|
41
|
+
ESM dist/components/input.js 6.38 KB
|
|
42
|
+
ESM dist/components/list.js 210.00 B
|
|
43
|
+
ESM dist/chunk-KIFR5VIE.js 1.43 KB
|
|
44
|
+
ESM dist/components/logo.js 631.00 B
|
|
45
|
+
ESM dist/components/avatar-group.js 853.00 B
|
|
46
|
+
ESM dist/components/avatar.js 156.00 B
|
|
47
|
+
ESM dist/components/badge.js 705.00 B
|
|
48
|
+
ESM dist/components/button.js 135.00 B
|
|
49
|
+
ESM dist/components/calendar.js 9.35 KB
|
|
50
|
+
ESM dist/chunk-FASEHVMD.js 2.03 KB
|
|
51
|
+
ESM dist/components/checkbox.js 1.31 KB
|
|
52
|
+
ESM dist/components/chip.js 1.83 KB
|
|
53
|
+
ESM dist/chunk-TB6KI6CL.js 997.00 B
|
|
54
|
+
ESM dist/chunk-EIG6CBTQ.js 1.62 KB
|
|
55
|
+
ESM dist/chunk-SHHXKVVR.js 2.19 KB
|
|
56
|
+
ESM dist/components/switch.js.map 1.59 KB
|
|
57
|
+
ESM dist/hooks/index.js.map 69.00 B
|
|
58
|
+
ESM dist/components/table.js.map 6.37 KB
|
|
59
|
+
ESM dist/components/tabs.js.map 3.53 KB
|
|
60
|
+
ESM dist/components/tag.js.map 3.98 KB
|
|
61
|
+
ESM dist/components/tooltip.js.map 71.00 B
|
|
62
|
+
ESM dist/components/typography.js.map 74.00 B
|
|
63
|
+
ESM dist/logo-PQRZORCS.js.map 22.88 KB
|
|
64
|
+
ESM dist/components/otp-input.js.map 1.79 KB
|
|
65
|
+
ESM dist/components/radio.js.map 3.58 KB
|
|
66
|
+
ESM dist/components/rich-editor.js.map 18.85 KB
|
|
67
|
+
ESM dist/chunk-NELCN6E2.js.map 3.40 KB
|
|
68
|
+
ESM dist/chunk-KS6WGBHQ.js.map 1.56 KB
|
|
69
|
+
ESM dist/components/search-input.js.map 76.00 B
|
|
70
|
+
ESM dist/components/select.js.map 14.56 KB
|
|
71
|
+
ESM dist/chunk-NPTLORW5.js.map 5.12 KB
|
|
72
|
+
ESM dist/components/sheet.js.map 6.60 KB
|
|
73
|
+
ESM dist/components/skeleton.js.map 685.00 B
|
|
74
|
+
ESM dist/components/status.js.map 1.82 KB
|
|
75
|
+
ESM dist/components/collapsible.js.map 1.66 KB
|
|
76
|
+
ESM dist/components/date-picker.js.map 12.22 KB
|
|
77
|
+
ESM dist/components/divider.js.map 71.00 B
|
|
78
|
+
ESM dist/components/dropdown-menu.js.map 77.00 B
|
|
79
|
+
ESM dist/chunk-RWMV7APX.js.map 4.69 KB
|
|
80
|
+
ESM dist/chunk-CBFC4QME.js.map 1.17 KB
|
|
81
|
+
ESM dist/components/icon.js.map 68.00 B
|
|
82
|
+
ESM dist/components/input.js.map 17.25 KB
|
|
83
|
+
ESM dist/components/list.js.map 68.00 B
|
|
84
|
+
ESM dist/chunk-KIFR5VIE.js.map 4.14 KB
|
|
85
|
+
ESM dist/components/logo.js.map 2.05 KB
|
|
86
|
+
ESM dist/components/avatar-group.js.map 3.28 KB
|
|
87
|
+
ESM dist/components/avatar.js.map 70.00 B
|
|
88
|
+
ESM dist/components/badge.js.map 1.73 KB
|
|
89
|
+
ESM dist/components/button.js.map 70.00 B
|
|
90
|
+
ESM dist/components/calendar.js.map 32.68 KB
|
|
91
|
+
ESM dist/chunk-FASEHVMD.js.map 4.48 KB
|
|
92
|
+
ESM dist/components/checkbox.js.map 2.97 KB
|
|
93
|
+
ESM dist/components/chip.js.map 4.95 KB
|
|
94
|
+
ESM dist/chunk-TB6KI6CL.js.map 2.29 KB
|
|
95
|
+
ESM dist/chunk-EIG6CBTQ.js.map 4.63 KB
|
|
96
|
+
ESM dist/chunk-SHHXKVVR.js.map 4.94 KB
|
|
97
|
+
ESM ⚡️ Build success in 1977ms
|
|
98
|
+
DTS ⚡️ Build success in 7452ms
|
|
47
99
|
DTS dist/index.d.ts 13.00 B
|
|
48
100
|
DTS dist/components/avatar-group.d.ts 815.00 B
|
|
49
101
|
DTS dist/components/badge.d.ts 607.00 B
|
|
50
102
|
DTS dist/components/calendar.d.ts 448.00 B
|
|
51
103
|
DTS dist/components/checkbox.d.ts 305.00 B
|
|
52
|
-
DTS dist/components/chip.d.ts 1.
|
|
104
|
+
DTS dist/components/chip.d.ts 1.40 KB
|
|
53
105
|
DTS dist/components/avatar.d.ts 669.00 B
|
|
54
106
|
DTS dist/components/collapsible.d.ts 645.00 B
|
|
55
|
-
DTS dist/components/date-picker.d.ts 1.
|
|
107
|
+
DTS dist/components/date-picker.d.ts 1.65 KB
|
|
56
108
|
DTS dist/components/dropdown-menu.d.ts 1.97 KB
|
|
57
109
|
DTS dist/components/divider.d.ts 336.00 B
|
|
58
110
|
DTS dist/components/logo.d.ts 373.00 B
|
|
59
111
|
DTS dist/components/otp-input.d.ts 662.00 B
|
|
60
112
|
DTS dist/components/radio.d.ts 531.00 B
|
|
61
|
-
DTS dist/components/rich-editor.d.ts 1.
|
|
62
|
-
DTS dist/components/select.d.ts 2.
|
|
113
|
+
DTS dist/components/rich-editor.d.ts 1.76 KB
|
|
114
|
+
DTS dist/components/select.d.ts 2.61 KB
|
|
63
115
|
DTS dist/components/list.d.ts 1.28 KB
|
|
64
116
|
DTS dist/components/search-input.d.ts 1.10 KB
|
|
65
117
|
DTS dist/components/button.d.ts 872.00 B
|
|
@@ -68,10 +120,10 @@ DTS dist/components/skeleton.d.ts 225.00 B
|
|
|
68
120
|
DTS dist/components/status.d.ts 701.00 B
|
|
69
121
|
DTS dist/components/switch.d.ts 300.00 B
|
|
70
122
|
DTS dist/components/table.d.ts 1.28 KB
|
|
71
|
-
DTS dist/components/tabs.d.ts
|
|
72
|
-
DTS dist/components/tag.d.ts 1.
|
|
73
|
-
DTS dist/components/test.d.ts 131.00 B
|
|
123
|
+
DTS dist/components/tabs.d.ts 895.00 B
|
|
124
|
+
DTS dist/components/tag.d.ts 1.11 KB
|
|
74
125
|
DTS dist/components/tooltip.d.ts 808.00 B
|
|
75
126
|
DTS dist/components/typography.d.ts 993.00 B
|
|
76
|
-
DTS dist/
|
|
127
|
+
DTS dist/hooks/index.d.ts 157.00 B
|
|
128
|
+
DTS dist/components/input.d.ts 2.34 KB
|
|
77
129
|
DTS dist/components/icon.d.ts 2.32 KB
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @xjur-ui/react
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 68931a9: BREAKING: Bundle size optimization and performance improvements
|
|
8
|
+
|
|
9
|
+
## Major Changes (@xjur-ui/react)
|
|
10
|
+
|
|
11
|
+
### Performance Optimizations
|
|
12
|
+
- **Bundle size reduced by 88%** (from 436KB to 52.3KB)
|
|
13
|
+
- **All 29 components now within size limits** (previously 18/29)
|
|
14
|
+
- **Logo component optimized** with lazy loading (21KB → 631B)
|
|
15
|
+
- **Tree-shaking improvements** with individual component exports
|
|
16
|
+
|
|
17
|
+
### Bundle Structure Changes
|
|
18
|
+
- Individual component imports now required for optimal performance
|
|
19
|
+
- Essential CSS bundle added for minimal footprint
|
|
20
|
+
- React.lazy implementation for heavy components
|
|
21
|
+
- External dependencies optimized (React, Radix UI externalized)
|
|
22
|
+
|
|
23
|
+
### Breaking Changes
|
|
24
|
+
- Some import paths may have changed due to bundle optimization
|
|
25
|
+
- CSS import structure updated (essential.css added)
|
|
26
|
+
- Component lazy loading may affect SSR in some cases
|
|
27
|
+
|
|
28
|
+
## Minor Changes (Other Packages)
|
|
29
|
+
|
|
30
|
+
### Documentation
|
|
31
|
+
- Added comprehensive README.md for all packages (Portuguese)
|
|
32
|
+
- Updated CLAUDE.md with new bundle size management info
|
|
33
|
+
- Added Storybook documentation guidelines
|
|
34
|
+
|
|
35
|
+
### Tooling
|
|
36
|
+
- Bundle size monitoring system with automated CI checks
|
|
37
|
+
- Azure Pipeline integration with size limit enforcement
|
|
38
|
+
- Performance regression detection and historical tracking
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- 2877d3c: Remove componente de teste
|
|
43
|
+
- Updated dependencies [68931a9]
|
|
44
|
+
- @xjur-ui/styles@1.0.3
|
|
45
|
+
- @xjur-ui/util@1.0.3
|
|
46
|
+
|
|
3
47
|
## 1.0.6
|
|
4
48
|
|
|
5
49
|
### Patch Changes
|
package/README.md
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# @xjur-ui/react
|
|
2
|
+
|
|
3
|
+
Biblioteca de componentes React para o XJur Design System, construída com foco em acessibilidade usando primitivos do Radix UI e estilizada com TailwindCSS.
|
|
4
|
+
|
|
5
|
+
## Instalação
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @xjur-ui/react
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Dependências Obrigatórias (Peer Dependencies)
|
|
12
|
+
|
|
13
|
+
Certifique-se de ter as dependências necessárias instaladas:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install react react-dom
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Plugins do Tailwind Opcionais (recomendado)
|
|
20
|
+
|
|
21
|
+
Para suporte aprimorado a scrollbar e animações:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install tailwind-scrollbar tailwind-scrollbar-hide tw-animate-css
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Uso
|
|
28
|
+
|
|
29
|
+
### Configuração Básica
|
|
30
|
+
|
|
31
|
+
Importe os estilos base na sua aplicação:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import '@xjur-ui/react/styles'
|
|
35
|
+
// ou use apenas os estilos essenciais (bundle menor)
|
|
36
|
+
import '@xjur-ui/react/essential'
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Uso dos Componentes
|
|
40
|
+
|
|
41
|
+
Os componentes podem ser importados individualmente para melhor tree-shaking:
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
import { Button } from '@xjur-ui/react/button'
|
|
45
|
+
import { Input } from '@xjur-ui/react/input'
|
|
46
|
+
import { Calendar } from '@xjur-ui/react/calendar'
|
|
47
|
+
|
|
48
|
+
function App() {
|
|
49
|
+
return (
|
|
50
|
+
<div>
|
|
51
|
+
<Button variant="primary">Clique aqui</Button>
|
|
52
|
+
<Input placeholder="Digite aqui..." />
|
|
53
|
+
<Calendar />
|
|
54
|
+
</div>
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Componentes Disponíveis
|
|
60
|
+
|
|
61
|
+
| Componente | Import | Tamanho | Descrição |
|
|
62
|
+
|------------|--------|---------|-----------|
|
|
63
|
+
| Avatar | `@xjur-ui/react/avatar` | ~2KB | Fotos de perfil de usuário |
|
|
64
|
+
| Avatar Group | `@xjur-ui/react/avatar-group` | ~1.5KB | Exibição de múltiplos avatars |
|
|
65
|
+
| Badge | `@xjur-ui/react/badge` | ~1.5KB | Indicadores de status |
|
|
66
|
+
| Button | `@xjur-ui/react/button` | ~3KB | Botões interativos |
|
|
67
|
+
| Calendar | `@xjur-ui/react/calendar` | ~18KB | Seleção de datas |
|
|
68
|
+
| Checkbox | `@xjur-ui/react/checkbox` | ~2.5KB | Caixas de seleção |
|
|
69
|
+
| Chip | `@xjur-ui/react/chip` | ~2KB | Tags removíveis |
|
|
70
|
+
| Collapsible | `@xjur-ui/react/collapsible` | ~3KB | Conteúdo expansível |
|
|
71
|
+
| Date Picker | `@xjur-ui/react/date-picker` | ~20KB | Campo de data com calendário |
|
|
72
|
+
| Divider | `@xjur-ui/react/divider` | ~1KB | Separadores de conteúdo |
|
|
73
|
+
| Dropdown Menu | `@xjur-ui/react/dropdown-menu` | ~8KB | Menus de contexto |
|
|
74
|
+
| Icon | `@xjur-ui/react/icon` | ~1.5KB | Ícones SVG |
|
|
75
|
+
| Input | `@xjur-ui/react/input` | ~8KB | Campos de formulário |
|
|
76
|
+
| List | `@xjur-ui/react/list` | ~3KB | Listas estruturadas |
|
|
77
|
+
| Logo | `@xjur-ui/react/logo` | ~1KB | Logos da XJur (carregamento lazy) |
|
|
78
|
+
| OTP Input | `@xjur-ui/react/otp-input` | ~4KB | Campo para código de verificação |
|
|
79
|
+
| Radio | `@xjur-ui/react/radio` | ~3KB | Grupos de botões radio |
|
|
80
|
+
| Rich Editor | `@xjur-ui/react/rich-editor` | ~45KB | Editor de texto WYSIWYG |
|
|
81
|
+
| Search Input | `@xjur-ui/react/search-input` | ~6KB | Busca com sugestões |
|
|
82
|
+
| Select | `@xjur-ui/react/select` | ~12KB | Seleções dropdown |
|
|
83
|
+
| Sheet | `@xjur-ui/react/sheet` | ~6KB | Painéis laterais/modais |
|
|
84
|
+
| Skeleton | `@xjur-ui/react/skeleton` | ~1.5KB | Placeholders de carregamento |
|
|
85
|
+
| Status | `@xjur-ui/react/status` | ~2KB | Indicadores de status |
|
|
86
|
+
| Switch | `@xjur-ui/react/switch` | ~2.5KB | Interruptores toggle |
|
|
87
|
+
| Table | `@xjur-ui/react/table` | ~8KB | Tabelas de dados |
|
|
88
|
+
| Tabs | `@xjur-ui/react/tabs` | ~4KB | Navegação por abas |
|
|
89
|
+
| Tag | `@xjur-ui/react/tag` | ~2.5KB | Etiquetas e tags |
|
|
90
|
+
| Tooltip | `@xjur-ui/react/tooltip` | ~4KB | Tooltips contextuais |
|
|
91
|
+
| Typography | `@xjur-ui/react/typography` | ~2KB | Componentes de texto |
|
|
92
|
+
|
|
93
|
+
### Hooks
|
|
94
|
+
|
|
95
|
+
Hooks utilitários estão disponíveis separadamente:
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
import { useTheme } from '@xjur-ui/react/hooks'
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Otimização de Bundle
|
|
102
|
+
|
|
103
|
+
- **Imports individuais**: Cada componente é exportado separadamente para tree-shaking otimizado
|
|
104
|
+
- **Carregamento lazy**: Componentes pesados como Logo usam React.lazy automaticamente
|
|
105
|
+
- **Bundle mínimo**: Bundle CSS essencial disponível para menor footprint
|
|
106
|
+
- **Dependências externas**: React, React-DOM e Radix UI são externalizados
|
|
107
|
+
|
|
108
|
+
## Suporte ao TypeScript
|
|
109
|
+
|
|
110
|
+
Suporte completo ao TypeScript com definições de tipos exportadas. Componentes incluem tipagem adequada para todas as props e variantes.
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
import type { ButtonProps } from '@xjur-ui/react/button'
|
|
114
|
+
|
|
115
|
+
const CustomButton: React.FC<ButtonProps> = (props) => {
|
|
116
|
+
return <Button {...props} />
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Desenvolvimento
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Instalar dependências
|
|
124
|
+
npm install
|
|
125
|
+
|
|
126
|
+
# Iniciar servidor de desenvolvimento
|
|
127
|
+
npm run dev
|
|
128
|
+
|
|
129
|
+
# Build do pacote
|
|
130
|
+
npm run build
|
|
131
|
+
|
|
132
|
+
# Verificar tamanhos de bundle
|
|
133
|
+
npm run test:size
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Performance
|
|
137
|
+
|
|
138
|
+
Este pacote foi otimizado para performance com:
|
|
139
|
+
- Bundle size total reduzido em 88% (de 436KB para 52.3KB)
|
|
140
|
+
- Todos os 29 componentes dentro dos limites de tamanho
|
|
141
|
+
- Lazy loading para componentes pesados
|
|
142
|
+
- Tree-shaking eficiente para importações individuais
|
|
143
|
+
|
|
144
|
+
## Licença
|
|
145
|
+
|
|
146
|
+
Licenciado sob a Licença MIT.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import'react';import*as t from'@radix-ui/react-separator';import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function m({className:o,orientation:r="horizontal",decorative:a=true,...i}){return jsx(t.Root,{className:cx("bg-border-layer-2 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full","data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",o),"data-slot":"separator",decorative:a,orientation:r,...i})}export{m as a};//# sourceMappingURL=chunk-CBFC4QME.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-CBFC4QME.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/divider.tsx"],"names":["Divider","className","orientation","decorative","props","jsx","cx"],"mappings":"6HAIO,SAASA,CAAAA,CAAQ,CACtB,SAAA,CAAAC,CAAAA,CACA,YAAAC,CAAAA,CAAc,YAAA,CACd,WAAAC,CAAAA,CAAa,IAAA,CACb,GAAGC,CACL,CAAA,CAAyD,CACvD,OACEC,GAAAA,CAAoB,OAAnB,CACC,SAAA,CAAWC,GACT,oGAAA,CACA,qEAAA,CACAL,CACF,CAAA,CACA,WAAA,CAAU,YACV,UAAA,CAAYE,CAAAA,CACZ,YAAaD,CAAAA,CACZ,GAAGE,EACN,CAEJ","file":"chunk-CBFC4QME.js","sourcesContent":["import * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\nimport { cx } from '@xjur-ui/util'\n\nexport function Divider({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n className={cx(\n 'bg-border-layer-2 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full',\n 'data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n {...props}\n />\n )\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {Slot}from'@radix-ui/react-slot';import {cva}from'@xjur-ui/util';import {memo}from'react';import {jsx}from'react/jsx-runtime';var m=cva("",{variants:{variant:{body:"",label:"",title:"",headline:""},size:{"sm-2x":"","sm-1x":"",sm:"",md:"",lg:""},weight:{thin:"font-thin",extraLight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extraBold:"font-extrabold",black:"font-black"}},compoundVariants:[{variant:"body",size:"sm-1x",class:"text-size-body-sm-1x"},{variant:"body",size:"sm",class:"text-size-body-sm"},{variant:"body",size:"md",class:"text-size-body-md"},{variant:"body",size:"lg",class:"text-size-body-lg"},{variant:"label",size:"sm-2x",class:"text-size-label-sm-2x"},{variant:"label",size:"sm-1x",class:"text-size-label-sm-1x"},{variant:"label",size:"sm",class:"text-size-label-sm"},{variant:"label",size:"md",class:"text-size-label-md"},{variant:"label",size:"lg",class:"text-size-label-lg"},{variant:"title",size:"sm",class:"text-size-title-sm"},{variant:"title",size:"md",class:"text-size-title-md"},{variant:"title",size:"lg",class:"text-size-title-lg"},{variant:"headline",size:"sm",class:"text-size-headline-sm"},{variant:"headline",size:"md",class:"text-size-headline-md"},{variant:"headline",size:"lg",class:"text-size-headline-lg"}],defaultVariants:{variant:"body",size:"md",weight:"normal"}}),d=memo(({variant:t,size:a,weight:e,asChild:s,className:i,...l})=>jsx(s?Slot:"span",{className:m({variant:t,size:a,weight:e,className:i}),...l}));d.displayName="Typography";export{d as a};//# sourceMappingURL=chunk-EIG6CBTQ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-EIG6CBTQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/typography.tsx"],"names":["typographyVariants","cva","Typography","memo","variant","size","weight","asChild","className","props","jsx","Slot"],"mappings":"qIAIA,IAAMA,CAAAA,CAAqBC,GAAAA,CAAI,EAAA,CAAI,CACjC,QAAA,CAAU,CACR,OAAA,CAAS,CACP,IAAA,CAAM,EAAA,CACN,KAAA,CAAO,EAAA,CACP,KAAA,CAAO,GACP,QAAA,CAAU,EACZ,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,EAAA,CACT,EAAA,CAAI,EAAA,CACJ,EAAA,CAAI,EAAA,CACJ,EAAA,CAAI,EACN,CAAA,CACA,MAAA,CAAQ,CACN,IAAA,CAAM,WAAA,CACN,UAAA,CAAY,iBAAA,CACZ,KAAA,CAAO,YAAA,CACP,MAAA,CAAQ,aAAA,CACR,MAAA,CAAQ,aAAA,CACR,QAAA,CAAU,eAAA,CACV,KAAM,WAAA,CACN,SAAA,CAAW,gBAAA,CACX,KAAA,CAAO,YACT,CACF,CAAA,CACA,gBAAA,CAAkB,CAChB,CAAE,OAAA,CAAS,MAAA,CAAQ,IAAA,CAAM,OAAA,CAAS,MAAO,sBAAuB,CAAA,CAChE,CAAE,OAAA,CAAS,MAAA,CAAQ,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,mBAAoB,CAAA,CAC1D,CAAE,OAAA,CAAS,MAAA,CAAQ,IAAA,CAAM,KAAM,KAAA,CAAO,mBAAoB,CAAA,CAC1D,CAAE,OAAA,CAAS,MAAA,CAAQ,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,mBAAoB,CAAA,CAE1D,CAAE,OAAA,CAAS,OAAA,CAAS,IAAA,CAAM,OAAA,CAAS,KAAA,CAAO,uBAAwB,CAAA,CAClE,CAAE,OAAA,CAAS,OAAA,CAAS,IAAA,CAAM,OAAA,CAAS,KAAA,CAAO,uBAAwB,CAAA,CAClE,CAAE,OAAA,CAAS,OAAA,CAAS,KAAM,IAAA,CAAM,KAAA,CAAO,oBAAqB,CAAA,CAC5D,CAAE,OAAA,CAAS,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,oBAAqB,CAAA,CAC5D,CAAE,OAAA,CAAS,QAAS,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,oBAAqB,CAAA,CAE5D,CAAE,OAAA,CAAS,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,oBAAqB,CAAA,CAC5D,CAAE,QAAS,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,oBAAqB,CAAA,CAC5D,CAAE,OAAA,CAAS,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,oBAAqB,CAAA,CAE5D,CAAE,OAAA,CAAS,UAAA,CAAY,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,uBAAwB,CAAA,CAClE,CAAE,OAAA,CAAS,UAAA,CAAY,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,uBAAwB,CAAA,CAClE,CAAE,OAAA,CAAS,UAAA,CAAY,IAAA,CAAM,IAAA,CAAM,KAAA,CAAO,uBAAwB,CACpE,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,MAAA,CACT,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,QACV,CACF,CAAC,CAAA,CAQYC,CAAAA,CAAaC,IAAAA,CACxB,CAAC,CACC,OAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,GAIIC,GAAAA,CAHgBH,CAAAA,CAAUI,IAAAA,CAAO,MAAA,CAGhC,CACC,SAAA,CAAWX,CAAAA,CAAmB,CAAE,OAAA,CAAAI,CAAAA,CAAS,IAAA,CAAAC,CAAAA,CAAM,MAAA,CAAAC,CAAAA,CAAQ,SAAA,CAAAE,CAAU,CAAC,CAAA,CACjE,GAAGC,CAAAA,CACN,CAGN,EAEAP,CAAAA,CAAW,WAAA,CAAc,YAAA","file":"chunk-EIG6CBTQ.js","sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { cva, type ClassVariantProps } from '@xjur-ui/util'\nimport { memo, type ComponentProps } from 'react'\n\nconst typographyVariants = cva('', {\n variants: {\n variant: {\n body: '',\n label: '',\n title: '',\n headline: ''\n },\n size: {\n 'sm-2x': '',\n 'sm-1x': '',\n sm: '',\n md: '',\n lg: ''\n },\n weight: {\n thin: 'font-thin',\n extraLight: 'font-extralight',\n light: 'font-light',\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n extraBold: 'font-extrabold',\n black: 'font-black'\n }\n },\n compoundVariants: [\n { variant: 'body', size: 'sm-1x', class: 'text-size-body-sm-1x' },\n { variant: 'body', size: 'sm', class: 'text-size-body-sm' },\n { variant: 'body', size: 'md', class: 'text-size-body-md' },\n { variant: 'body', size: 'lg', class: 'text-size-body-lg' },\n\n { variant: 'label', size: 'sm-2x', class: 'text-size-label-sm-2x' },\n { variant: 'label', size: 'sm-1x', class: 'text-size-label-sm-1x' },\n { variant: 'label', size: 'sm', class: 'text-size-label-sm' },\n { variant: 'label', size: 'md', class: 'text-size-label-md' },\n { variant: 'label', size: 'lg', class: 'text-size-label-lg' },\n\n { variant: 'title', size: 'sm', class: 'text-size-title-sm' },\n { variant: 'title', size: 'md', class: 'text-size-title-md' },\n { variant: 'title', size: 'lg', class: 'text-size-title-lg' },\n\n { variant: 'headline', size: 'sm', class: 'text-size-headline-sm' },\n { variant: 'headline', size: 'md', class: 'text-size-headline-md' },\n { variant: 'headline', size: 'lg', class: 'text-size-headline-lg' }\n ],\n defaultVariants: {\n variant: 'body',\n size: 'md',\n weight: 'normal'\n }\n})\n\nexport interface TypographyProps\n extends ComponentProps<'base'>,\n ClassVariantProps<typeof typographyVariants> {\n asChild?: boolean\n}\n\nexport const Typography = memo(\n ({\n variant,\n size,\n weight,\n asChild,\n className,\n ...props\n }: TypographyProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n className={typographyVariants({ variant, size, weight, className })}\n {...props}\n />\n )\n }\n)\n\nTypography.displayName = 'Typography'\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {Slot}from'@radix-ui/react-slot';import {cva,cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';var p=cva(["outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors"],{variants:{size:{md:"py-small_1x-alt px-medium text-size-body-md",sm:"py-small-1x px-small text-size-label-sm",icon_md:"p-small text-size-body-md h-large-4x w-large-4x",icon_sm:"p-small-1x text-size-label-sm h-large-2x w-large-2x"},variant:{primary:"",secondary:"",tertiary:"",destructive:"",outlined:"bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed"},appearance:{solid:"",ghost:"bg-transparent"}},compoundVariants:[{variant:"primary",appearance:"solid",class:"bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed"},{variant:"primary",appearance:"ghost",class:"text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed"},{variant:"secondary",appearance:"solid",class:"bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active"},{variant:"secondary",appearance:"ghost",class:"hover:bg-layer-1-hover active:bg-layer-1-pressed"},{variant:"tertiary",appearance:"solid",class:"bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active"},{variant:"tertiary",appearance:"ghost",class:"hover:bg-layer-2-hover active:bg-layer-2-pressed"},{variant:"destructive",appearance:"solid",class:"bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed"},{variant:"destructive",appearance:"ghost",class:"text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed"}],defaultVariants:{size:"md",variant:"primary",appearance:"solid"}});function m({asChild:e,className:a,variant:r="primary",size:t="md",appearance:s="solid",...o}){return jsx(e?Slot:"button",{className:cx(p({variant:r,appearance:s,size:t}),a),...o})}export{p as a,m as b};//# sourceMappingURL=chunk-FASEHVMD.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-FASEHVMD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/button.tsx"],"names":["buttonVariants","cva","Button","asChild","className","variant","size","appearance","props","jsx","Slot","cx"],"mappings":"+GAIO,IAAMA,CAAAA,CAAiBC,IAC5B,CACE,iKACF,EACA,CACE,QAAA,CAAU,CACR,IAAA,CAAM,CACJ,EAAA,CAAI,6CAAA,CACJ,GAAI,yCAAA,CACJ,OAAA,CAAS,kDACT,OAAA,CAAS,qDACX,CAAA,CACA,OAAA,CAAS,CACP,OAAA,CAAS,EAAA,CACT,UAAW,EAAA,CACX,QAAA,CAAU,GACV,WAAA,CAAa,EAAA,CACb,QAAA,CACE,+FACJ,EACA,UAAA,CAAY,CACV,MAAO,EAAA,CACP,KAAA,CAAO,gBACT,CACF,CAAA,CACA,gBAAA,CAAkB,CAChB,CACE,OAAA,CAAS,SAAA,CACT,WAAY,OAAA,CACZ,KAAA,CACE,qFACJ,CAAA,CACA,CACE,OAAA,CAAS,SAAA,CACT,WAAY,OAAA,CACZ,KAAA,CACE,2EACJ,CAAA,CACA,CACE,QAAS,WAAA,CACT,UAAA,CAAY,OAAA,CACZ,KAAA,CACE,sFACJ,CAAA,CACA,CACE,QAAS,WAAA,CACT,UAAA,CAAY,QACZ,KAAA,CAAO,kDACT,CAAA,CACA,CACE,QAAS,UAAA,CACT,UAAA,CAAY,QACZ,KAAA,CACE,sFACJ,EACA,CACE,OAAA,CAAS,UAAA,CACT,UAAA,CAAY,QACZ,KAAA,CAAO,kDACT,EACA,CACE,OAAA,CAAS,cACT,UAAA,CAAY,OAAA,CACZ,KAAA,CACE,kFACJ,EACA,CACE,OAAA,CAAS,cACT,UAAA,CAAY,OAAA,CACZ,MACE,8EACJ,CACF,CAAA,CACA,eAAA,CAAiB,CACf,IAAA,CAAM,IAAA,CACN,QAAS,SAAA,CACT,UAAA,CAAY,OACd,CACF,CACF,EAQO,SAASC,EAAO,CACrB,OAAA,CAAAC,EACA,SAAA,CAAAC,CAAAA,CACA,QAAAC,CAAAA,CAAU,SAAA,CACV,IAAA,CAAAC,CAAAA,CAAO,KACP,UAAA,CAAAC,CAAAA,CAAa,QACb,GAAGC,CACL,EAAgB,CAEd,OACEC,GAAAA,CAFgBN,CAAAA,CAAUO,KAAO,QAAA,CAEhC,CACC,UAAWC,EAAAA,CAAGX,CAAAA,CAAe,CAAE,OAAA,CAAAK,CAAAA,CAAS,WAAAE,CAAAA,CAAY,IAAA,CAAAD,CAAK,CAAC,CAAA,CAAGF,CAAS,CAAA,CACrE,GAAGI,EACN,CAEJ","file":"chunk-FASEHVMD.js","sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport type { ComponentProps } from 'react'\nimport { cva, cx, type ClassVariantProps } from '@xjur-ui/util'\n\nexport const buttonVariants = cva(\n [\n 'outline-none inline-flex items-center justify-center rounded-circle gap-small cursor-pointer disabled:opacity-38 disabled:pointer-events-none transition-colors'\n ],\n {\n variants: {\n size: {\n md: 'py-small_1x-alt px-medium text-size-body-md',\n sm: 'py-small-1x px-small text-size-label-sm',\n icon_md: 'p-small text-size-body-md h-large-4x w-large-4x',\n icon_sm: 'p-small-1x text-size-label-sm h-large-2x w-large-2x'\n },\n variant: {\n primary: '',\n secondary: '',\n tertiary: '',\n destructive: '',\n outlined:\n 'bg-layer-2-idle border border-border-layer-2 hover:bg-layer-2-hover active:bg-layer-2-pressed'\n },\n appearance: {\n solid: '',\n ghost: 'bg-transparent'\n }\n },\n compoundVariants: [\n {\n variant: 'primary',\n appearance: 'solid',\n class:\n 'bg-primary-idle text-neutral-label hover:bg-primary-hover active:bg-primary-pressed'\n },\n {\n variant: 'primary',\n appearance: 'ghost',\n class:\n 'text-primary-idle hover:bg-primary-alt-idle active:bg-primary-alt-pressed'\n },\n {\n variant: 'secondary',\n appearance: 'solid',\n class:\n 'bg-layer-1-hover text-neutral-dark hover:bg-layer-1-pressed active:bg-layer-1-active'\n },\n {\n variant: 'secondary',\n appearance: 'ghost',\n class: 'hover:bg-layer-1-hover active:bg-layer-1-pressed'\n },\n {\n variant: 'tertiary',\n appearance: 'solid',\n class:\n 'bg-layer-2-hover text-neutral-dark hover:bg-layer-2-pressed active:bg-layer-2-active'\n },\n {\n variant: 'tertiary',\n appearance: 'ghost',\n class: 'hover:bg-layer-2-hover active:bg-layer-2-pressed'\n },\n {\n variant: 'destructive',\n appearance: 'solid',\n class:\n 'bg-danger-idle text-neutral-label hover:bg-danger-hover active:bg-danger-pressed'\n },\n {\n variant: 'destructive',\n appearance: 'ghost',\n class:\n 'text-danger-label-idle hover:bg-danger-alt-idle active:bg-danger-alt-pressed'\n }\n ],\n defaultVariants: {\n size: 'md',\n variant: 'primary',\n appearance: 'solid'\n }\n }\n)\n\nexport interface ButtonProps\n extends ComponentProps<'button'>,\n ClassVariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nexport function Button({\n asChild,\n className,\n variant = 'primary',\n size = 'md',\n appearance = 'solid',\n ...props\n}: ButtonProps) {\n const Component = asChild ? Slot : 'button'\n return (\n <Component\n className={cx(buttonVariants({ variant, appearance, size }), className)}\n {...props}\n />\n )\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-EIG6CBTQ.js';import {Slot}from'@radix-ui/react-slot';import {cva,cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function y({className:e,asChild:o,...a}){return jsx(o?Slot:"div",{...a,className:cx(e,"rounded-small scrollbar-hide bg-layer-2-idle border-border-layer-2 shadow-elevation-3 z-10 max-h-[400px] list-none overflow-y-auto border")})}function x({className:e,asChild:o,...a}){return jsx(o?Slot:"div",{...a,className:cx(e,"px-small pt-small-1x")})}function C({variant:e="label",size:o="sm",weight:a$1="medium",className:r,...i}){return jsx(a,{className:cx(r,"text-neutral-placeholder"),size:o,variant:e,weight:a$1,...i})}function h({className:e,asChild:o,...a}){return jsx(o?Slot:"ul",{...a,className:cx("gap-small-1x p-small flex flex-col",e)})}var m=cva(["py-medium px-small flex items-center gap-small rounded-small-1x","bg-layer-2-idle text-neutral-dark","hover:bg-layer-2-hover transition-colors duration-100 ease-out","active:bg-layer-2-pressed"],{variants:{size:{md:"h-large-4x",lg:"h-large-7x"},isActive:{true:"bg-primary-alt-active text-primary-label-active hover:bg-primary-alt-hover active:bg-primary-alt-pressed"}},defaultVariants:{size:"md",isActive:false}});function b({className:e,size:o,isActive:a,asChild:r,...i}){return jsx(r?Slot:"li",{...i,className:cx(m({size:o,isActive:a}),e)})}export{y as a,x as b,C as c,h as d,b as e};//# sourceMappingURL=chunk-KIFR5VIE.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-KIFR5VIE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/list.tsx"],"names":["ListRoot","className","asChild","props","jsx","Slot","cx","ListHeader","ListHeaderTitle","variant","size","weight","Typography","ListContent","variants","cva","ListItem","isActive"],"mappings":"mJAKO,SAASA,EAAS,CACvB,SAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEG,CAGD,OACEC,GAAAA,CAHWF,CAAAA,CAAUG,KAAO,KAAA,CAG3B,CACE,GAAGF,CAAAA,CACJ,SAAA,CAAWG,GACTL,CAAAA,CACA,2IACF,EACF,CAEJ,CAEO,SAASM,CAAAA,CAAW,CACzB,UAAAN,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEG,CAED,OAAOC,GAAAA,CADMF,EAAUG,IAAAA,CAAO,KAAA,CACtB,CAAM,GAAGF,CAAAA,CAAO,UAAWG,EAAAA,CAAGL,CAAAA,CAAW,sBAAsB,CAAA,CAAG,CAC5E,CAEO,SAASO,CAAAA,CAAgB,CAC9B,OAAA,CAAAC,CAAAA,CAAU,OAAA,CACV,IAAA,CAAAC,CAAAA,CAAO,IAAA,CACP,OAAAC,GAAAA,CAAS,QAAA,CACT,UAAAV,CAAAA,CACA,GAAGE,CACL,CAAA,CAAoB,CAClB,OACEC,GAAAA,CAACQ,CAAAA,CAAA,CACC,SAAA,CAAWN,EAAAA,CAAGL,EAAW,0BAA0B,CAAA,CACnD,KAAMS,CAAAA,CACN,OAAA,CAASD,CAAAA,CACT,MAAA,CAAQE,GAAAA,CACP,GAAGR,EACN,CAEJ,CAEO,SAASU,CAAAA,CAAY,CAC1B,UAAAZ,CAAAA,CACA,OAAA,CAAAC,EACA,GAAGC,CACL,EAEG,CAGD,OACEC,IAHWF,CAAAA,CAAUG,IAAAA,CAAO,KAG3B,CACE,GAAGF,CAAAA,CACJ,SAAA,CAAWG,EAAAA,CAAG,oCAAA,CAAsCL,CAAS,CAAA,CAC/D,CAEJ,CAEA,IAAMa,CAAAA,CAAWC,IACf,CACE,iEAAA,CACA,oCACA,gEAAA,CACA,2BACF,EACA,CACE,QAAA,CAAU,CACR,IAAA,CAAM,CACJ,GAAI,YAAA,CACJ,EAAA,CAAI,YACN,CAAA,CACA,QAAA,CAAU,CACR,KAAM,0GACR,CACF,EACA,eAAA,CAAiB,CACf,KAAM,IAAA,CACN,QAAA,CAAU,KACZ,CACF,CACF,EAEO,SAASC,CAAAA,CAAS,CACvB,SAAA,CAAAf,CAAAA,CACA,KAAAS,CAAAA,CACA,QAAA,CAAAO,CAAAA,CACA,OAAA,CAAAf,CAAAA,CACA,GAAGC,CACL,CAAA,CAGK,CAGH,OACEC,GAAAA,CAHWF,CAAAA,CAAUG,KAAO,IAAA,CAG3B,CAAM,GAAGF,CAAAA,CAAO,SAAA,CAAWG,GAAGQ,CAAAA,CAAS,CAAE,KAAAJ,CAAAA,CAAM,QAAA,CAAAO,CAAS,CAAC,CAAA,CAAGhB,CAAS,CAAA,CAAG,CAE7E","file":"chunk-KIFR5VIE.js","sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { cx, cva, type ClassVariantProps } from '@xjur-ui/util'\nimport type { ComponentProps } from 'react'\nimport { type TypographyProps, Typography } from './typography'\n\nexport function ListRoot({\n className,\n asChild,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...props}\n className={cx(\n className,\n 'rounded-small scrollbar-hide bg-layer-2-idle border-border-layer-2 shadow-elevation-3 z-10 max-h-[400px] list-none overflow-y-auto border'\n )}\n />\n )\n}\n\nexport function ListHeader({\n className,\n asChild,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'div'\n return <Comp {...props} className={cx(className, 'px-small pt-small-1x')} />\n}\n\nexport function ListHeaderTitle({\n variant = 'label',\n size = 'sm',\n weight = 'medium',\n className,\n ...props\n}: TypographyProps) {\n return (\n <Typography\n className={cx(className, 'text-neutral-placeholder')}\n size={size}\n variant={variant}\n weight={weight}\n {...props}\n />\n )\n}\n\nexport function ListContent({\n className,\n asChild,\n ...props\n}: ComponentProps<'ul'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'ul'\n\n return (\n <Comp\n {...props}\n className={cx('gap-small-1x p-small flex flex-col', className)}\n />\n )\n}\n\nconst variants = cva(\n [\n 'py-medium px-small flex items-center gap-small rounded-small-1x',\n 'bg-layer-2-idle text-neutral-dark',\n 'hover:bg-layer-2-hover transition-colors duration-100 ease-out',\n 'active:bg-layer-2-pressed'\n ],\n {\n variants: {\n size: {\n md: 'h-large-4x',\n lg: 'h-large-7x'\n },\n isActive: {\n true: 'bg-primary-alt-active text-primary-label-active hover:bg-primary-alt-hover active:bg-primary-alt-pressed'\n }\n },\n defaultVariants: {\n size: 'md',\n isActive: false\n }\n }\n)\n\nexport function ListItem({\n className,\n size,\n isActive,\n asChild,\n ...props\n}: ComponentProps<'li'> &\n ClassVariantProps<typeof variants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'li'\n\n return (\n <Comp {...props} className={cx(variants({ size, isActive }), className)} />\n )\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useState,useEffect}from'react';function i(){let[o,e]=useState("unknown");return useEffect(()=>{if(typeof window>"u")return;let n=window.navigator.userAgent;/iPad|iPhone|iPod/.test(n)?e("ios"):/Mac/.test(n)?e("macos"):/Win/.test(n)?e("windows"):/Android/.test(n)?e("android"):/Linux/.test(n)?e("linux"):e("unknown");},[]),{os:o,shortcut:["macos","ios"].includes(o)?"\u2318":"Ctrl"}}export{i as a};//# sourceMappingURL=chunk-KS6WGBHQ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-KS6WGBHQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-os.ts"],"names":["useOS","os","setOs","useState","useEffect","userAgent"],"mappings":"uCAIO,SAASA,GAAQ,CACtB,GAAM,CAACC,CAAAA,CAAIC,CAAK,CAAA,CAAIC,QAAAA,CAAa,SAAS,CAAA,CAE1C,OAAAC,UAAU,IAAM,CACd,GAAI,OAAO,OAAW,GAAA,CAAa,OAEnC,IAAMC,CAAAA,CAAY,MAAA,CAAO,UAAU,SAAA,CAE/B,kBAAA,CAAmB,IAAA,CAAKA,CAAS,EACnCH,CAAAA,CAAM,KAAK,EACF,KAAA,CAAM,IAAA,CAAKG,CAAS,CAAA,CAC7BH,CAAAA,CAAM,OAAO,CAAA,CACJ,MAAM,IAAA,CAAKG,CAAS,EAC7BH,CAAAA,CAAM,SAAS,EACN,SAAA,CAAU,IAAA,CAAKG,CAAS,CAAA,CACjCH,EAAM,SAAS,CAAA,CACN,QAAQ,IAAA,CAAKG,CAAS,EAC/BH,CAAAA,CAAM,OAAO,CAAA,CAEbA,CAAAA,CAAM,SAAS,EAEnB,CAAA,CAAG,EAAE,CAAA,CAEE,CACL,EAAA,CAAAD,CAAAA,CACA,SAAU,CAAC,OAAA,CAAS,KAAK,CAAA,CAAE,QAAA,CAASA,CAAE,CAAA,CAAI,QAAA,CAAM,MAClD,CACF","file":"chunk-KS6WGBHQ.js","sourcesContent":["import { useState, useEffect } from 'react'\n\nexport type OS = 'ios' | 'macos' | 'windows' | 'android' | 'linux' | 'unknown'\n\nexport function useOS() {\n const [os, setOs] = useState<OS>('unknown')\n\n useEffect(() => {\n if (typeof window === 'undefined') return\n\n const userAgent = window.navigator.userAgent\n\n if (/iPad|iPhone|iPod/.test(userAgent)) {\n setOs('ios')\n } else if (/Mac/.test(userAgent)) {\n setOs('macos')\n } else if (/Win/.test(userAgent)) {\n setOs('windows')\n } else if (/Android/.test(userAgent)) {\n setOs('android')\n } else if (/Linux/.test(userAgent)) {\n setOs('linux')\n } else {\n setOs('unknown')\n }\n }, [])\n\n return {\n os,\n shortcut: ['macos', 'ios'].includes(os) ? '⌘' : 'Ctrl'\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as t from'@radix-ui/react-tooltip';import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function d({delayDuration:i=0,...a}){return jsx(t.Provider,{"data-slot":"tooltip-provider",delayDuration:i,...a})}function m({...i}){return jsx(d,{children:jsx(t.Root,{"data-slot":"tooltip",...i})})}function s({...i}){return jsx(t.Trigger,{"data-slot":"tooltip-trigger",...i})}function v({className:i,sideOffset:a=1,variant:r="simple",children:e,...l}){return jsx(t.Portal,{children:jsx(t.Content,{className:cx("text-size-body-sm text-balance","data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x","data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border","animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)",i),"data-slot":"tooltip-content","data-variant":r,sideOffset:a,...l,children:e})})}export{d as a,m as b,s as c,v as d};//# sourceMappingURL=chunk-NELCN6E2.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-NELCN6E2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/tooltip.tsx"],"names":["TooltipProvider","delayDuration","props","jsx","Tooltip","TooltipTrigger","TooltipContent","className","sideOffset","variant","children","cx"],"mappings":"6GAGA,SAASA,CAAAA,CAAgB,CACvB,cAAAC,CAAAA,CAAgB,CAAA,CAChB,GAAGC,CACL,CAAA,CAA2D,CACzD,OACEC,GAAAA,CAAkB,CAAA,CAAA,QAAA,CAAjB,CACC,WAAA,CAAU,kBAAA,CACV,aAAA,CAAeF,CAAAA,CACd,GAAGC,CAAAA,CACN,CAEJ,CAEA,SAASE,CAAAA,CAAQ,CACf,GAAGF,CACL,CAAA,CAAuD,CACrD,OACEC,GAAAA,CAACH,CAAAA,CAAA,CACC,SAAAG,GAAAA,CAAkB,CAAA,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGD,CAAAA,CAAO,CAAA,CACxD,CAEJ,CAEA,SAASG,CAAAA,CAAe,CACtB,GAAGH,CACL,CAAA,CAA0D,CACxD,OAAOC,GAAAA,CAAkB,CAAA,CAAA,OAAA,CAAjB,CAAyB,YAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CAC1E,CAEA,SAASI,EAAe,CACtB,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,OAAA,CAAAC,CAAAA,CAAU,QAAA,CACV,QAAA,CAAAC,CAAAA,CACA,GAAGR,CACL,CAAA,CAEG,CACD,OACEC,GAAAA,CAAkB,CAAA,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAA,GAAAA,CAAkB,CAAA,CAAA,OAAA,CAAjB,CACC,SAAA,CAAWQ,EAAAA,CACT,gCAAA,CACA,iLAAA,CACA,8MAAA,CACA,yVAAA,CACAJ,CACF,CAAA,CACA,WAAA,CAAU,iBAAA,CACV,cAAA,CAAcE,CAAAA,CACd,UAAA,CAAYD,CAAAA,CACX,GAAGN,CAAAA,CAEH,QAAA,CAAAQ,CAAAA,CACH,CAAA,CACF,CAEJ","file":"chunk-NELCN6E2.js","sourcesContent":["import * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { cx } from '@xjur-ui/util'\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 1,\n variant = 'simple',\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content> & {\n variant?: 'simple' | 'rich'\n}) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n className={cx(\n 'text-size-body-sm text-balance',\n 'data-[variant=simple]:bg-alt-2 data-[variant=simple]:text-neutral-label data-[variant=simple]:rounded-small-1x data-[variant=simple]:px-small data-[variant=simple]:py-small-1x',\n 'data-[variant=rich]:bg-layer-2-idle data-[variant=rich]:text-neutral-dark data-[variant=rich]:rounded-small data-[variant=rich]:border-border-layer-2 data-[variant=rich]:p-large data-[variant=rich]:border',\n 'animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin)',\n className\n )}\n data-slot=\"tooltip-content\"\n data-variant={variant}\n sideOffset={sideOffset}\n {...props}\n >\n {children}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b as b$1}from'./chunk-FASEHVMD.js';import {a}from'./chunk-EIG6CBTQ.js';import {cx,cva}from'@xjur-ui/util';import {createContext}from'react';import {jsx}from'react/jsx-runtime';var i=createContext({variant:"outlined"});function h({className:e,variant:r="outlined",...o}){return jsx(i.Provider,{value:{variant:r},children:jsx("div",{className:cx(e,"relative flex w-full"),...o})})}function b({className:e,...r}){let o=cva(["gap-small py-small_1x-alt px-small flex items-center w-full","h-large-4x rounded-circle","border-border-layer-2 placeholder:placeholder-neutral-placeholder text-size-body-md text-neutral-dark border font-normal","group-hover:border-border-layer-3 transition-colors duration-200","disabled:opacity-60","focus-within:border-primary-idle"],{variants:{variant:{outlined:"rounded-circle focus-within:border-primary-idle ",line:"rounded-none border-t-0 border-b-1 border-x-0",action:"rounded-tr-none rounded-br-none border-r-0"}}});return jsx(i.Consumer,{children:({variant:a})=>jsx("div",{className:cx(e,o({variant:a})),"data-variant":a,...r})})}function f({htmlFor:e,...r}){return jsx(a,{asChild:true,className:cx("absolute -top-[22px] left-0"),size:"sm",variant:"label",weight:"medium",children:jsx("label",{htmlFor:e,...r})})}function v({className:e,...r}){return jsx("input",{className:cx(e,"flex-1 outline-none"),...r})}function y(e){return jsx("div",{...e,"data-slot":"search-input-slot"})}function C({className:e,appearance:r="ghost",variant:o="outlined",...a}){return jsx(b$1,{...a,appearance:r,className:cx(e,"cursor-pointer","h-large-4x rounded-tr-circle rounded-br-circle px-small py-small_1x-alt flex items-center justify-center rounded-none","text-size-body-md text-neutral-dark gap-small-1x"),"data-slot":"search-input-action",variant:o})}export{h as a,b,f as c,v as d,y as e,C as f};//# sourceMappingURL=chunk-NPTLORW5.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-NPTLORW5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/search-input.tsx"],"names":["SearchInputRootContext","createContext","SearchInputRoot","className","variant","props","jsx","cx","SearchInputContent","contentVarians","cva","SearchInputLabel","htmlFor","Typography","SearchInputText","SearchInputSlot","SearchInputAction","appearance","Button"],"mappings":"wLASA,IAAMA,CAAAA,CAAyBC,aAAAA,CAAgC,CAC7D,OAAA,CAAS,UACX,CAAC,EAEM,SAASC,CAAAA,CAAgB,CAC9B,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,EAAU,UAAA,CACV,GAAGC,CACL,CAAA,CAA6C,CAC3C,OACEC,IAACN,CAAAA,CAAuB,QAAA,CAAvB,CAAgC,KAAA,CAAO,CAAE,OAAA,CAAAI,CAAQ,CAAA,CAChD,QAAA,CAAAE,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWC,EAAAA,CAAGJ,EAAW,sBAAsB,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAAA,CACpE,CAEJ,CAEO,SAASG,CAAAA,CAAmB,CACjC,SAAA,CAAAL,CAAAA,CACA,GAAGE,CACL,CAAA,CAA0B,CACxB,IAAMI,CAAAA,CAAiBC,GAAAA,CACrB,CACE,8DACA,2BAAA,CACA,0HAAA,CACA,kEAAA,CACA,qBAAA,CACA,kCACF,CAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,QAAA,CAAU,kDAAA,CACV,KAAM,+CAAA,CACN,MAAA,CAAQ,4CACV,CACF,CACF,CACF,EAEA,OACEJ,GAAAA,CAACN,CAAAA,CAAuB,QAAA,CAAvB,CACE,QAAA,CAAA,CAAC,CAAE,OAAA,CAAAI,CAAQ,CAAA,GACVE,GAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWC,EAAAA,CAAGJ,CAAAA,CAAWM,CAAAA,CAAe,CAAE,OAAA,CAAAL,CAAQ,CAAC,CAAC,EACpD,cAAA,CAAcA,CAAAA,CACb,GAAGC,CAAAA,CACN,CAAA,CAEJ,CAEJ,CAEO,SAASM,CAAAA,CAAiB,CAC/B,OAAA,CAAAC,CAAAA,CACA,GAAGP,CACL,CAAA,CAA4B,CAC1B,OACEC,GAAAA,CAACO,CAAAA,CAAA,CACC,QAAS,IAAA,CACT,SAAA,CAAWN,EAAAA,CAAG,6BAA6B,CAAA,CAC3C,IAAA,CAAK,KACL,OAAA,CAAQ,OAAA,CACR,MAAA,CAAO,QAAA,CAEP,QAAA,CAAAD,GAAAA,CAAC,SAAM,OAAA,CAASM,CAAAA,CAAU,GAAGP,CAAAA,CAAO,CAAA,CACtC,CAEJ,CAEO,SAASS,CAAAA,CAAgB,CAC9B,SAAA,CAAAX,CAAAA,CACA,GAAGE,CACL,CAAA,CAA4B,CAC1B,OAAOC,GAAAA,CAAC,OAAA,CAAA,CAAM,SAAA,CAAWC,GAAGJ,CAAAA,CAAW,qBAAqB,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAC5E,CAEO,SAASU,CAAAA,CAAgBV,CAAAA,CAA8B,CAC5D,OAAOC,GAAAA,CAAC,OAAK,GAAGD,CAAAA,CAAO,WAAA,CAAU,mBAAA,CAAoB,CACvD,CAEO,SAASW,CAAAA,CAAkB,CAChC,SAAA,CAAAb,CAAAA,CACA,UAAA,CAAAc,CAAAA,CAAa,QACb,OAAA,CAAAb,CAAAA,CAAU,UAAA,CACV,GAAGC,CACL,CAAA,CAAgB,CACd,OACEC,GAAAA,CAACY,GAAAA,CAAA,CACE,GAAGb,CAAAA,CACJ,WAAYY,CAAAA,CACZ,SAAA,CAAWV,EAAAA,CACTJ,CAAAA,CACA,gBAAA,CACA,uHAAA,CACA,kDACF,CAAA,CACA,WAAA,CAAU,qBAAA,CACV,OAAA,CAASC,CAAAA,CACX,CAEJ","file":"chunk-NPTLORW5.js","sourcesContent":["import { cva, cx } from '@xjur-ui/util'\nimport { createContext, type ComponentProps } from 'react'\nimport { Typography } from './typography'\nimport { Button, type ButtonProps } from './button'\n\nexport type SearchInputProps = {\n variant?: 'outlined' | 'line' | 'action'\n}\n\nconst SearchInputRootContext = createContext<SearchInputProps>({\n variant: 'outlined'\n})\n\nexport function SearchInputRoot({\n className,\n variant = 'outlined',\n ...props\n}: ComponentProps<'div'> & SearchInputProps) {\n return (\n <SearchInputRootContext.Provider value={{ variant }}>\n <div className={cx(className, 'relative flex w-full')} {...props} />\n </SearchInputRootContext.Provider>\n )\n}\n\nexport function SearchInputContent({\n className,\n ...props\n}: ComponentProps<'div'>) {\n const contentVarians = cva(\n [\n 'gap-small py-small_1x-alt px-small flex items-center w-full',\n 'h-large-4x rounded-circle',\n 'border-border-layer-2 placeholder:placeholder-neutral-placeholder text-size-body-md text-neutral-dark border font-normal',\n 'group-hover:border-border-layer-3 transition-colors duration-200',\n 'disabled:opacity-60',\n 'focus-within:border-primary-idle'\n ],\n {\n variants: {\n variant: {\n outlined: 'rounded-circle focus-within:border-primary-idle ',\n line: 'rounded-none border-t-0 border-b-1 border-x-0',\n action: 'rounded-tr-none rounded-br-none border-r-0'\n }\n }\n }\n )\n\n return (\n <SearchInputRootContext.Consumer>\n {({ variant }) => (\n <div\n className={cx(className, contentVarians({ variant }))}\n data-variant={variant}\n {...props}\n />\n )}\n </SearchInputRootContext.Consumer>\n )\n}\n\nexport function SearchInputLabel({\n htmlFor,\n ...props\n}: ComponentProps<'label'>) {\n return (\n <Typography\n asChild={true}\n className={cx('absolute -top-[22px] left-0')}\n size=\"sm\"\n variant=\"label\"\n weight=\"medium\"\n >\n <label htmlFor={htmlFor} {...props} />\n </Typography>\n )\n}\n\nexport function SearchInputText({\n className,\n ...props\n}: ComponentProps<'input'>) {\n return <input className={cx(className, 'flex-1 outline-none')} {...props} />\n}\n\nexport function SearchInputSlot(props: ComponentProps<'div'>) {\n return <div {...props} data-slot=\"search-input-slot\" />\n}\n\nexport function SearchInputAction({\n className,\n appearance = 'ghost',\n variant = 'outlined',\n ...props\n}: ButtonProps) {\n return (\n <Button\n {...props}\n appearance={appearance}\n className={cx(\n className,\n 'cursor-pointer',\n 'h-large-4x rounded-tr-circle rounded-br-circle px-small py-small_1x-alt flex items-center justify-center rounded-none',\n 'text-size-body-md text-neutral-dark gap-small-1x'\n )}\n data-slot=\"search-input-action\"\n variant={variant}\n />\n )\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-CBFC4QME.js';import {a,d,b as b$1,c,e as e$1}from'./chunk-KIFR5VIE.js';import {a as a$1}from'./chunk-EIG6CBTQ.js';import'react';import*as e from'@radix-ui/react-dropdown-menu';import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function x({...o}){return jsx(e.Root,{"data-slot":"dropdown-menu",...o})}function C({...o}){return jsx(e.Portal,{"data-slot":"dropdown-menu-portal",...o})}function R({...o}){return jsx(e.Trigger,{"data-slot":"dropdown-menu-trigger",...o})}function y({className:o,sideOffset:r=4,align:w="start",side:f="bottom",children:P,...c}){return jsx(e.Portal,{children:jsx(e.Content,{align:w,className:cx("group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-trigger-width)] min-w-[var(--radix-popover-trigger-width)]",o),"data-slot":"dropdown-menu-content",side:f,sideOffset:r,...c,children:jsx(a,{children:P})})})}function L({...o}){return jsx(d,{...o})}function T({...o}){return jsx(b$1,{...o})}function h({...o}){return jsx(c,{...o})}function H({className:o,...r}){return jsx(e$1,{className:cx(o,"cursor-pointer"),...r})}function I({...o}){return jsx(a$1,{...o})}function b({...o}){return jsx(a$2,{...o})}export{x as a,C as b,R as c,y as d,L as e,T as f,h as g,H as h,I as i,b as j};//# sourceMappingURL=chunk-RWMV7APX.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-RWMV7APX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/dropdown-menu.tsx"],"names":["DropdownMenuRoot","props","jsx","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","className","sideOffset","align","side","children","cx","ListRoot","DropdownMenuList","ListContent","DropdownMenuHeader","ListHeader","DropdownMenuHeaderTitle","ListHeaderTitle","DropdownMenuItem","ListItem","DropdownMenuItemText","Typography","DropdownMenuItemDivider","Divider"],"mappings":"iRAaO,SAASA,CAAAA,CAAiB,CAC/B,GAAGC,CACL,CAAA,CAA4D,CAC1D,OAAOC,GAAAA,CAAuB,CAAA,CAAA,IAAA,CAAtB,CAA2B,WAAA,CAAU,eAAA,CAAiB,GAAGD,CAAAA,CAAO,CAC1E,CAEO,SAASE,CAAAA,CAAmB,CACjC,GAAGF,CACL,CAAA,CAA8D,CAC5D,OACEC,GAAAA,CAAuB,SAAtB,CAA6B,WAAA,CAAU,sBAAA,CAAwB,GAAGD,CAAAA,CAAO,CAE9E,CAEO,SAASG,CAAAA,CAAoB,CAClC,GAAGH,CACL,CAAA,CAA+D,CAC7D,OACEC,GAAAA,CAAuB,UAAtB,CACC,WAAA,CAAU,wBACT,GAAGD,CAAAA,CACN,CAEJ,CAEO,SAASI,CAAAA,CAAoB,CAClC,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,KAAA,CAAAC,EAAQ,OAAA,CACR,IAAA,CAAAC,CAAAA,CAAO,QAAA,CACP,QAAA,CAAAC,CAAAA,CACA,GAAGT,CACL,CAAA,CAA+D,CAC7D,OACEC,GAAAA,CAAuB,SAAtB,CACC,QAAA,CAAAA,GAAAA,CAAuB,CAAA,CAAA,OAAA,CAAtB,CACC,KAAA,CAAOM,EACP,SAAA,CAAWG,EAAAA,CACT,wJAAA,CACAL,CACF,CAAA,CACA,WAAA,CAAU,wBACV,IAAA,CAAMG,CAAAA,CACN,UAAA,CAAYF,CAAAA,CACX,GAAGN,CAAAA,CAEJ,SAAAC,GAAAA,CAACU,CAAAA,CAAA,CAAU,QAAA,CAAAF,CAAAA,CAAS,EACtB,CAAA,CACF,CAEJ,CAEO,SAASG,CAAAA,CAAiB,CAC/B,GAAGZ,CACL,CAAA,CAA6C,CAC3C,OAAOC,GAAAA,CAACY,EAAA,CAAa,GAAGb,CAAAA,CAAO,CACjC,CAEO,SAASc,EAAmB,CACjC,GAAGd,CACL,CAAA,CAA4C,CAC1C,OAAOC,GAAAA,CAACc,GAAAA,CAAA,CAAY,GAAGf,CAAAA,CAAO,CAChC,CAEO,SAASgB,CAAAA,CAAwB,CACtC,GAAGhB,CACL,CAAA,CAAiD,CAC/C,OAAOC,GAAAA,CAACgB,CAAAA,CAAA,CAAiB,GAAGjB,CAAAA,CAAO,CACrC,CAEO,SAASkB,EAAiB,CAC/B,SAAA,CAAAb,EACA,GAAGL,CACL,CAAA,CAA0C,CACxC,OAAOC,GAAAA,CAACkB,IAAA,CAAS,SAAA,CAAWT,EAAAA,CAAGL,CAAAA,CAAW,gBAAgB,CAAA,CAAI,GAAGL,CAAAA,CAAO,CAC1E,CAEO,SAASoB,CAAAA,CAAqB,CACnC,GAAGpB,CACL,CAAA,CAA4C,CAC1C,OAAOC,GAAAA,CAACoB,IAAA,CAAY,GAAGrB,CAAAA,CAAO,CAChC,CAEO,SAASsB,EAAwB,CACtC,GAAGtB,CACL,CAAA,CAAyC,CACvC,OAAOC,IAACsB,GAAAA,CAAA,CAAS,GAAGvB,CAAAA,CAAO,CAC7B","file":"chunk-RWMV7APX.js","sourcesContent":["import * as React from 'react'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\nimport { cx } from '@xjur-ui/util'\nimport {\n ListContent,\n ListHeader,\n ListHeaderTitle,\n ListItem,\n ListRoot\n} from './list'\nimport { Typography } from './typography'\nimport { Divider } from './divider'\n\nexport function DropdownMenuRoot({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nexport function DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nexport function DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nexport function DropdownMenuContent({\n className,\n sideOffset = 4,\n align = 'start',\n side = 'bottom',\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n align={align}\n className={cx(\n 'group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-trigger-width)] min-w-[var(--radix-popover-trigger-width)]',\n className\n )}\n data-slot=\"dropdown-menu-content\"\n side={side}\n sideOffset={sideOffset}\n {...props}\n >\n <ListRoot>{children}</ListRoot>\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nexport function DropdownMenuList({\n ...props\n}: React.ComponentProps<typeof ListContent>) {\n return <ListContent {...props} />\n}\n\nexport function DropdownMenuHeader({\n ...props\n}: React.ComponentProps<typeof ListHeader>) {\n return <ListHeader {...props} />\n}\n\nexport function DropdownMenuHeaderTitle({\n ...props\n}: React.ComponentProps<typeof ListHeaderTitle>) {\n return <ListHeaderTitle {...props} />\n}\n\nexport function DropdownMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof ListItem>) {\n return <ListItem className={cx(className, 'cursor-pointer')} {...props} />\n}\n\nexport function DropdownMenuItemText({\n ...props\n}: React.ComponentProps<typeof Typography>) {\n return <Typography {...props} />\n}\n\nexport function DropdownMenuItemDivider({\n ...props\n}: React.ComponentProps<typeof Divider>) {\n return <Divider {...props} />\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';var a=["account_balance","ad_units","add_a_photo","add","adjust","archive","arrow_downward_alt","arrow_downward","arrow_drop_down","arrow_drop_up","arrow_split","arrow_upward_alt","arrow_upward","attach_file","attach_money","autorenew","brightness_1","calendar_today","call","chat_bubble","check_circle","check","chevron_left","chevron_right","close","collapse_all","contacts","content_copy","dangerous","dashboard","delete","download","draft","drafts","drag_handle","drag_indicator","edit_document","edit_square","edit","error","expand_all","file_export","filter_alt","filter_list","first_page","flag_2","folder_open","folder","format_bold","format_italic","format_italic","format_size","format_strikethrough","gavel","group","headphones","help","hourglass_bottom","imagesmode","import_contacts","inbox","info","inventory_2","keep","keep","keyboard_arrow_down","keyboard_arrow_up","keyboard_return","label_off","label","last_page","left_panel_close","left_panel_open","link_off","link","linked_services","list","location_on","lock","logout","mail","menu","mic","more_vert","notifications","numbers","person_add","person_off","person","play_circle","progress_activity","question_mark","radio_button_unchecked","refresh","remove","reply","right_panel_close","right_panel_open","schedule","search","sell","send","settings","share","smart_display","star","star","swap_vert","thumb_down","thumb_up","tune","unarchive","undo","upload","verified_user","videocam","view_list","view_module","view_object_track","visibility_off","visibility","warning","wifi_2_bar","wifi_off","wifi","work","workspaces","article","id_card","badge","home","save","code","favorite","analytics","reports","event","account_circle","history","security","bar_chart","category","format_underlined","format_list_bulleted","format_list_numbered","redo"];function s({className:o,filled:r=false,name:t,...e}){return jsx("span",{...e,className:cx("material-symbols-outlined","text-size-body-lg select-none",o),style:{fontVariationSettings:`'FILL' ${r?1:0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,...e.style},children:t})}export{a,s as b};//# sourceMappingURL=chunk-SHHXKVVR.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-SHHXKVVR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/resources/icons.ts","../src/components/icon.tsx"],"names":["icons","Icon","className","filled","name","props","jsx","cx"],"mappings":"mEAAO,IAAMA,EAAQ,CACnB,iBAAA,CACA,WACA,aAAA,CACA,KAAA,CACA,SACA,SAAA,CACA,oBAAA,CACA,iBACA,iBAAA,CACA,eAAA,CACA,cACA,kBAAA,CACA,cAAA,CACA,cACA,cAAA,CACA,WAAA,CACA,eACA,gBAAA,CACA,MAAA,CACA,cACA,cAAA,CACA,OAAA,CACA,eACA,eAAA,CACA,OAAA,CACA,eACA,UAAA,CACA,cAAA,CACA,YACA,WAAA,CACA,QAAA,CACA,WACA,OAAA,CACA,QAAA,CACA,cACA,gBAAA,CACA,eAAA,CACA,aAAA,CACA,MAAA,CACA,OAAA,CACA,YAAA,CACA,cACA,YAAA,CACA,aAAA,CACA,aACA,QAAA,CACA,aAAA,CACA,SACA,aAAA,CACA,eAAA,CACA,gBACA,aAAA,CACA,sBAAA,CACA,QACA,OAAA,CACA,YAAA,CACA,OACA,kBAAA,CACA,YAAA,CACA,kBACA,OAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,MAAA,CACA,qBAAA,CACA,oBACA,iBAAA,CACA,WAAA,CACA,QACA,WAAA,CACA,kBAAA,CACA,kBACA,UAAA,CACA,MAAA,CACA,kBACA,MAAA,CACA,aAAA,CACA,OACA,QAAA,CACA,MAAA,CACA,OACA,KAAA,CACA,WAAA,CACA,gBACA,SAAA,CACA,YAAA,CACA,YAAA,CACA,QAAA,CACA,aAAA,CACA,mBAAA,CACA,gBACA,wBAAA,CACA,SAAA,CACA,SACA,OAAA,CACA,mBAAA,CACA,mBACA,UAAA,CACA,QAAA,CACA,OACA,MAAA,CACA,UAAA,CACA,QACA,eAAA,CACA,MAAA,CACA,OACA,WAAA,CACA,YAAA,CACA,WACA,MAAA,CACA,WAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CACA,UAAA,CACA,YACA,aAAA,CACA,mBAAA,CACA,iBACA,YAAA,CACA,SAAA,CACA,aACA,UAAA,CACA,MAAA,CACA,OACA,YAAA,CACA,SAAA,CACA,UACA,OAAA,CACA,MAAA,CACA,OACA,MAAA,CACA,UAAA,CACA,YACA,SAAA,CACA,OAAA,CACA,gBAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,WACA,mBAAA,CACA,sBAAA,CACA,uBACA,MACF,EC1IO,SAASC,CAAAA,CAAK,CAAE,UAAAC,CAAAA,CAAW,MAAA,CAAAC,EAAS,KAAA,CAAO,IAAA,CAAAC,EAAM,GAAGC,CAAM,CAAA,CAAc,CAC7E,OACEC,GAAAA,CAAC,QACE,GAAGD,CAAAA,CACJ,UAAWE,EAAAA,CACT,2BAAA,CACA,gCACAL,CACF,CAAA,CACA,MAAO,CACL,qBAAA,CAAuB,UAAUC,CAAAA,CAAS,CAAA,CAAI,CAAC,CAAA,iCAAA,CAAA,CAC/C,GAAGE,EAAM,KACX,CAAA,CAEC,QAAA,CAAAD,CAAAA,CACH,CAEJ","file":"chunk-SHHXKVVR.js","sourcesContent":["export const icons = [\n 'account_balance',\n 'ad_units',\n 'add_a_photo',\n 'add',\n 'adjust',\n 'archive',\n 'arrow_downward_alt',\n 'arrow_downward',\n 'arrow_drop_down',\n 'arrow_drop_up',\n 'arrow_split',\n 'arrow_upward_alt',\n 'arrow_upward',\n 'attach_file',\n 'attach_money',\n 'autorenew',\n 'brightness_1',\n 'calendar_today',\n 'call',\n 'chat_bubble',\n 'check_circle',\n 'check',\n 'chevron_left',\n 'chevron_right',\n 'close',\n 'collapse_all',\n 'contacts',\n 'content_copy',\n 'dangerous',\n 'dashboard',\n 'delete',\n 'download',\n 'draft',\n 'drafts',\n 'drag_handle',\n 'drag_indicator',\n 'edit_document',\n 'edit_square',\n 'edit',\n 'error',\n 'expand_all',\n 'file_export',\n 'filter_alt',\n 'filter_list',\n 'first_page',\n 'flag_2',\n 'folder_open',\n 'folder',\n 'format_bold',\n 'format_italic',\n 'format_italic',\n 'format_size',\n 'format_strikethrough',\n 'gavel',\n 'group',\n 'headphones',\n 'help',\n 'hourglass_bottom',\n 'imagesmode',\n 'import_contacts',\n 'inbox',\n 'info',\n 'inventory_2',\n 'keep',\n 'keep',\n 'keyboard_arrow_down',\n 'keyboard_arrow_up',\n 'keyboard_return',\n 'label_off',\n 'label',\n 'last_page',\n 'left_panel_close',\n 'left_panel_open',\n 'link_off',\n 'link',\n 'linked_services',\n 'list',\n 'location_on',\n 'lock',\n 'logout',\n 'mail',\n 'menu',\n 'mic',\n 'more_vert',\n 'notifications',\n 'numbers',\n 'person_add',\n 'person_off',\n 'person',\n 'play_circle',\n 'progress_activity',\n 'question_mark',\n 'radio_button_unchecked',\n 'refresh',\n 'remove',\n 'reply',\n 'right_panel_close',\n 'right_panel_open',\n 'schedule',\n 'search',\n 'sell',\n 'send',\n 'settings',\n 'share',\n 'smart_display',\n 'star',\n 'star',\n 'swap_vert',\n 'thumb_down',\n 'thumb_up',\n 'tune',\n 'unarchive',\n 'undo',\n 'upload',\n 'verified_user',\n 'videocam',\n 'view_list',\n 'view_module',\n 'view_object_track',\n 'visibility_off',\n 'visibility',\n 'warning',\n 'wifi_2_bar',\n 'wifi_off',\n 'wifi',\n 'work',\n 'workspaces',\n 'article',\n 'id_card',\n 'badge',\n 'home',\n 'save',\n 'code',\n 'favorite',\n 'analytics',\n 'reports',\n 'event',\n 'account_circle',\n 'history',\n 'security',\n 'bar_chart',\n 'category',\n 'format_underlined',\n 'format_list_bulleted',\n 'format_list_numbered',\n 'redo'\n] as const\n\nexport type IconType = (typeof icons)[number]\n","import type { ComponentProps } from 'react'\nimport { cx } from '@xjur-ui/util'\nimport type { IconType } from '../resources/icons'\n\nexport type IconProps = {\n name: IconType\n filled?: boolean\n} & ComponentProps<'span'>\n\nexport function Icon({ className, filled = false, name, ...props }: IconProps) {\n return (\n <span\n {...props}\n className={cx(\n 'material-symbols-outlined',\n 'text-size-body-lg select-none',\n className\n )}\n style={{\n fontVariationSettings: `'FILL' ${filled ? 1 : 0}, 'wght' 600, 'GRAD' 0, 'opsz' 20`,\n ...props.style\n }}\n >\n {name}\n </span>\n )\n}\n\nexport { icons, type IconType } from '../resources/icons'\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import'react';import*as a from'@radix-ui/react-avatar';import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function m({className:e,size:t="md",...s}){return jsx(a.Root,{className:cx("rounded-circle relative flex shrink-0 overflow-hidden","data-[size=lg]:size-large-8x data-[size=md]:size-large-4x data-[size=sm]:size-large-2x data-[size=xs]:size-large-1x","data-[size=lg]:text-size-headline-md data-[size=md]:text-size-label-lg data-[size=sm]:text-size-label-sm data-[size=xs]:text-size-label-sm",e),"data-size":t,"data-slot":"avatar",...s})}function d({className:e,...t}){return jsx(a.Image,{className:cx("aspect-square size-full",e),"data-slot":"avatar-image",...t})}function n({className:e,...t}){return jsx(a.Fallback,{className:cx("bg-alt-1 rounded-circle flex size-full items-center justify-center font-medium text-white",e),"data-slot":"avatar-fallback",...t})}export{m as a,d as b,n as c};//# sourceMappingURL=chunk-TB6KI6CL.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-TB6KI6CL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/avatar.tsx"],"names":["AvatarRoot","className","size","props","jsx","cx","AvatarImage","AvatarFallback"],"mappings":"0HAIO,SAASA,EAAW,CACzB,SAAA,CAAAC,EACA,IAAA,CAAAC,CAAAA,CAAO,KACP,GAAGC,CACL,CAAA,CAEG,CACD,OACEC,GAAAA,CAAiB,CAAA,CAAA,IAAA,CAAhB,CACC,SAAA,CAAWC,EAAAA,CACT,wDACA,qHAAA,CACA,4IAAA,CACAJ,CACF,CAAA,CACA,WAAA,CAAWC,EACX,WAAA,CAAU,QAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAEO,SAASG,CAAAA,CAAY,CAC1B,SAAA,CAAAL,EACA,GAAGE,CACL,EAAuD,CACrD,OACEC,IAAiB,CAAA,CAAA,KAAA,CAAhB,CACC,UAAWC,EAAAA,CAAG,yBAAA,CAA2BJ,CAAS,CAAA,CAClD,WAAA,CAAU,eACT,GAAGE,CAAAA,CACN,CAEJ,CAEO,SAASI,CAAAA,CAAe,CAC7B,UAAAN,CAAAA,CACA,GAAGE,CACL,CAAA,CAA0D,CACxD,OACEC,GAAAA,CAAiB,CAAA,CAAA,QAAA,CAAhB,CACC,SAAA,CAAWC,EAAAA,CACT,4FACAJ,CACF,CAAA,CACA,YAAU,iBAAA,CACT,GAAGE,EACN,CAEJ","file":"chunk-TB6KI6CL.js","sourcesContent":["import * as React from 'react'\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\nimport { cx } from '@xjur-ui/util'\n\nexport function AvatarRoot({\n className,\n size = 'md',\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: 'xs' | 'sm' | 'md' | 'lg'\n}) {\n return (\n <AvatarPrimitive.Root\n className={cx(\n 'rounded-circle relative flex shrink-0 overflow-hidden',\n 'data-[size=lg]:size-large-8x data-[size=md]:size-large-4x data-[size=sm]:size-large-2x data-[size=xs]:size-large-1x',\n 'data-[size=lg]:text-size-headline-md data-[size=md]:text-size-label-lg data-[size=sm]:text-size-label-sm data-[size=xs]:text-size-label-sm',\n className\n )}\n data-size={size}\n data-slot=\"avatar\"\n {...props}\n />\n )\n}\n\nexport function AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n className={cx('aspect-square size-full', className)}\n data-slot=\"avatar-image\"\n {...props}\n />\n )\n}\n\nexport function AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n className={cx(\n 'bg-alt-1 rounded-circle flex size-full items-center justify-center font-medium text-white',\n className\n )}\n data-slot=\"avatar-fallback\"\n {...props}\n />\n )\n}\n"]}
|