@mekari/pixel3-theme 0.0.1-alpha.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/index.js +2803 -2082
  2. package/dist/index.mjs +2834 -2111
  3. package/dist/recipes/banner.d.mts +10 -0
  4. package/dist/recipes/banner.d.ts +10 -0
  5. package/dist/recipes/divider.d.mts +5 -0
  6. package/dist/recipes/divider.d.ts +5 -0
  7. package/dist/recipes/dropzone.d.mts +5 -0
  8. package/dist/recipes/dropzone.d.ts +5 -0
  9. package/dist/recipes/form-control.d.mts +5 -0
  10. package/dist/recipes/form-control.d.ts +5 -0
  11. package/dist/recipes/index.d.mts +13 -0
  12. package/dist/recipes/index.d.ts +13 -0
  13. package/dist/recipes/input-tag.d.mts +5 -0
  14. package/dist/recipes/input-tag.d.ts +5 -0
  15. package/dist/recipes/modal.d.mts +5 -0
  16. package/dist/recipes/modal.d.ts +5 -0
  17. package/dist/recipes/upload.d.mts +6 -0
  18. package/dist/recipes/upload.d.ts +6 -0
  19. package/dist/tokens/colors.d.mts +64 -0
  20. package/dist/tokens/colors.d.ts +64 -0
  21. package/dist/tokens/index.d.mts +71 -0
  22. package/dist/tokens/index.d.ts +71 -0
  23. package/dist/tokens/sizes.d.mts +7 -0
  24. package/dist/tokens/sizes.d.ts +7 -0
  25. package/package.json +5 -4
  26. package/src/breakpoints.ts +6 -0
  27. package/src/conditions.ts +22 -0
  28. package/src/global-css.ts +23 -0
  29. package/src/index.ts +26 -0
  30. package/src/keyframes.ts +15 -0
  31. package/src/recipes/accordion.ts +57 -0
  32. package/src/recipes/avatar.ts +179 -0
  33. package/src/recipes/badge.ts +166 -0
  34. package/src/recipes/banner.ts +143 -0
  35. package/src/recipes/button.ts +224 -0
  36. package/src/recipes/checkbox.ts +92 -0
  37. package/src/recipes/divider.ts +31 -0
  38. package/src/recipes/dropzone.ts +161 -0
  39. package/src/recipes/form-control.ts +40 -0
  40. package/src/recipes/icon.ts +31 -0
  41. package/src/recipes/index.ts +83 -0
  42. package/src/recipes/input-tag.ts +119 -0
  43. package/src/recipes/input.ts +204 -0
  44. package/src/recipes/modal.ts +108 -0
  45. package/src/recipes/popover.ts +82 -0
  46. package/src/recipes/progress.ts +76 -0
  47. package/src/recipes/radio.ts +103 -0
  48. package/src/recipes/select.ts +114 -0
  49. package/src/recipes/shared.ts +19 -0
  50. package/src/recipes/spinner.ts +25 -0
  51. package/src/recipes/table.ts +113 -0
  52. package/src/recipes/tabs.ts +204 -0
  53. package/src/recipes/tag.ts +105 -0
  54. package/src/recipes/text.ts +56 -0
  55. package/src/recipes/textarea.ts +60 -0
  56. package/src/recipes/toggle.ts +99 -0
  57. package/src/recipes/tooltip.ts +24 -0
  58. package/src/recipes/upload.ts +99 -0
  59. package/src/text-styles.ts +34 -0
  60. package/src/tokens/borders.ts +8 -0
  61. package/src/tokens/colors.ts +154 -0
  62. package/src/tokens/durations.ts +7 -0
  63. package/src/tokens/index.ts +28 -0
  64. package/src/tokens/opacity.ts +8 -0
  65. package/src/tokens/radii.ts +11 -0
  66. package/src/tokens/shadows.ts +40 -0
  67. package/src/tokens/sizes.ts +29 -0
  68. package/src/tokens/spacing.ts +21 -0
  69. package/src/tokens/typography.ts +45 -0
  70. package/src/tokens/z-index.ts +12 -0
@@ -0,0 +1,119 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const inputTagSlotRecipe = defineSlotRecipe({
4
+ className: 'input-tag',
5
+ jsx: ['MpInputTag', 'mp-input-tag'],
6
+ slots: [
7
+ 'root',
8
+ 'trigger',
9
+ 'input',
10
+ 'content',
11
+ 'resetButton',
12
+ 'dropdownButton',
13
+ 'addButton',
14
+ 'loading',
15
+ 'empty',
16
+ 'suggestionWrapper',
17
+ 'suggestionLoading'
18
+ ],
19
+ base: {
20
+ root: {
21
+ position: 'relative',
22
+ width: 'full'
23
+ },
24
+ trigger: {
25
+ overflowY: 'auto',
26
+ position: 'relative',
27
+ display: 'flex',
28
+ alignItems: 'center',
29
+ flexWrap: 'wrap',
30
+ gap: '2',
31
+ borderWidth: '1px',
32
+ borderColor: 'gray.100',
33
+ borderRadius: 'md',
34
+ paddingTop: '2',
35
+ paddingBottom: '2',
36
+ paddingLeft: '3',
37
+ paddingRight: '8',
38
+ backgroundColor: 'white',
39
+ transition: 'all 250ms',
40
+ _hover: {
41
+ borderColor: 'gray.400'
42
+ },
43
+ _focusVisible: {
44
+ boxShadow: 'focus',
45
+ borderColor: 'blue.400',
46
+ _hover: {
47
+ borderColor: 'blue.400'
48
+ }
49
+ },
50
+ _disabled: {
51
+ cursor: 'not-allowed',
52
+ background: 'gray.50'
53
+ },
54
+ _invalid: {
55
+ borderColor: 'red.400',
56
+ _hover: {
57
+ borderColor: 'red.400'
58
+ }
59
+ },
60
+ _hasIcon: {
61
+ paddingRight: '52px'
62
+ }
63
+ },
64
+ input: {
65
+ padding: '0 !important',
66
+ margin: '0 !important',
67
+ },
68
+ content: {
69
+ maxHeight: '300px',
70
+ overflowY: 'auto'
71
+ },
72
+ resetButton: {
73
+ cursor: 'pointer',
74
+ position: 'absolute',
75
+ top: '2'
76
+ },
77
+ dropdownButton: {
78
+ cursor: 'pointer',
79
+ position: 'absolute',
80
+ top: '2',
81
+ right: '3'
82
+ },
83
+ addButton: {
84
+ cursor: 'pointer',
85
+ width: 'full',
86
+ px: '3',
87
+ py: '2',
88
+ wordBreak: 'break-all',
89
+ textAlign: 'center'
90
+ },
91
+ loading: {
92
+ position: 'absolute',
93
+ top: '2',
94
+ right: '3'
95
+ },
96
+ empty: {
97
+ px: '3',
98
+ py: '2',
99
+ width: 'full',
100
+ textAlign: 'left'
101
+ },
102
+ suggestionWrapper: {
103
+ display: 'flex',
104
+ flexDirection: 'column',
105
+ width: '100%'
106
+ },
107
+ suggestionLoading: {
108
+ display: 'flex',
109
+ justifyContent: 'flex-start',
110
+ gap: '3',
111
+ width: 'full',
112
+ height: '9',
113
+ py: '2',
114
+ px: '3',
115
+ }
116
+ }
117
+ })
118
+
119
+ export { inputTagSlotRecipe }
@@ -0,0 +1,204 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const inputSlotRecipe = defineSlotRecipe({
4
+ className: 'input',
5
+ jsx: ['MpInput', 'mp-input'],
6
+ slots: ['root', 'control', 'clear'],
7
+ base: {
8
+ root: {
9
+ position: 'relative',
10
+ display: 'flex',
11
+ alignItems: 'center',
12
+ _isFullWidth: {
13
+ width: 'full'
14
+ }
15
+ },
16
+ control: {
17
+ minWidth: '22',
18
+ fontWeight: 'regular',
19
+ lineHeight: 'md',
20
+ color: 'dark',
21
+ position: 'relative',
22
+ display: 'flex',
23
+ alignItems: 'center',
24
+ outline: '0',
25
+ borderWidth: '1px',
26
+ borderColor: 'inherit',
27
+ borderRadius: 'sm',
28
+ paddingRight: 'var(--mp-input--padding-right)',
29
+ paddingLeft: 'var(--mp-input--padding-left)',
30
+ appearance: 'none',
31
+ transition: 'all 250ms',
32
+ _isFullWidth: {
33
+ width: 'full'
34
+ }
35
+ },
36
+ clear: {
37
+ position: 'absolute!',
38
+ color: 'gray.600',
39
+ border: 'none',
40
+ top: '9px',
41
+ right: 'var(--mp-input--right)',
42
+ width: '5',
43
+ height: '5',
44
+ minWidth: '5',
45
+ padding: '0',
46
+ transition: 'all 250ms!',
47
+ visibility: 'hidden',
48
+ opacity: '0',
49
+ _groupHover: {
50
+ visibility: 'var(--mp-input--visibility)',
51
+ opacity: 'var(--mp-input--opacity)'
52
+ }
53
+ }
54
+ },
55
+ variants: {
56
+ variant: {
57
+ unstyled: {
58
+ control: {
59
+ backgroundColor: 'transparent',
60
+ borderWidth: '0',
61
+ borderRadius: 'none'
62
+ }
63
+ },
64
+ outline: {
65
+ control: {
66
+ backgroundColor: 'white',
67
+ borderColor: 'gray.100',
68
+ _hover: {
69
+ borderColor: 'gray.400'
70
+ },
71
+ _focus: {
72
+ borderColor: 'blue.500',
73
+ boxShadow: 'outer',
74
+ _hover: {
75
+ borderColor: 'blue.500'
76
+ },
77
+ _invalid: {
78
+ borderColor: 'red.400'
79
+ }
80
+ },
81
+ _disabled: {
82
+ color: 'gray.400',
83
+ backgroundColor: 'gray.50',
84
+ borderColor: 'gray.100',
85
+ cursor: 'not-allowed'
86
+ },
87
+ _invalid: {
88
+ borderColor: 'red.400'
89
+ },
90
+ _readOnly: {
91
+ boxShadow: 'none',
92
+ userSelect: 'all'
93
+ }
94
+ }
95
+ }
96
+ },
97
+ size: {
98
+ sm: {
99
+ control: {
100
+ height: '7.5',
101
+ fontSize: 'sm',
102
+ borderRadius: 'sm',
103
+ paddingY: '1'
104
+ }
105
+ },
106
+ md: {
107
+ control: {
108
+ height: '9.5',
109
+ fontSize: 'md',
110
+ borderRadius: 'md',
111
+ paddingY: '2'
112
+ }
113
+ }
114
+ }
115
+ },
116
+ compoundVariants: [],
117
+ defaultVariants: {
118
+ size: 'md',
119
+ variant: 'outline'
120
+ }
121
+ })
122
+
123
+ const inputGroupSlotRecipe = defineSlotRecipe({
124
+ className: 'input-group',
125
+ jsx: ['MpInputGroup', 'mp-input-group'],
126
+ slots: ['root'],
127
+ base: {
128
+ root: {
129
+ position: 'relative',
130
+ display: 'inline-flex',
131
+ alignItems: 'center',
132
+ width: 'full'
133
+ }
134
+ },
135
+ variants: {},
136
+ compoundVariants: [],
137
+ defaultVariants: {}
138
+ })
139
+
140
+ const inputAddonSlotRecipe = defineSlotRecipe({
141
+ className: 'input-addon',
142
+ jsx: ['MpInputAddon', 'mp-input-addon'],
143
+ slots: ['root'],
144
+ base: {
145
+ root: {
146
+ position: 'absolute',
147
+ display: 'flex',
148
+ alignItems: 'center',
149
+ paddingX: '0',
150
+ whiteSpace: 'nowrap',
151
+ zIndex: '2',
152
+ _hasBackground: {
153
+ backgroundColor: 'gray.50'
154
+ }
155
+ }
156
+ },
157
+ variants: {
158
+ placement: {
159
+ left: {
160
+ root: {
161
+ left: '3',
162
+ borderTopRightRadius: 'none!',
163
+ borderBottomRightRadius: 'none!'
164
+ }
165
+ },
166
+ right: {
167
+ root: {
168
+ right: '3',
169
+ borderTopLeftRadius: 'none!',
170
+ borderBottomLeftRadius: 'none!'
171
+ }
172
+ }
173
+ },
174
+ size: {
175
+ sm: {
176
+ root: {
177
+ height: '6.5',
178
+ borderRadius: '2xs',
179
+ _hasBackground: {
180
+ _placementLeft: { left: '0.5' },
181
+ _placementRight: { right: '0.5' }
182
+ }
183
+ }
184
+ },
185
+ md: {
186
+ root: {
187
+ height: '7.5',
188
+ borderRadius: 'sm',
189
+ _hasBackground: {
190
+ _placementLeft: { left: '1' },
191
+ _placementRight: { right: '1' }
192
+ }
193
+ }
194
+ }
195
+ }
196
+ },
197
+ compoundVariants: [],
198
+ defaultVariants: {
199
+ size: 'md',
200
+ placement: 'left'
201
+ }
202
+ })
203
+
204
+ export { inputSlotRecipe, inputGroupSlotRecipe, inputAddonSlotRecipe }
@@ -0,0 +1,108 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ export const modalSlotRecipe = defineSlotRecipe({
4
+ className: 'modal',
5
+ description: 'The styles for the Modal component',
6
+ jsx: ['MpModal', 'mp-modal'],
7
+ slots: ['root', 'rootChild', 'body', 'contentRoot', 'contentChild', 'header', 'footer', 'body', 'overlay', 'closeButton'],
8
+ base: {
9
+ root: {
10
+ position: 'relative',
11
+ zIndex: 'modal'
12
+ },
13
+ rootChild: {
14
+ position: 'fixed',
15
+ top: 0,
16
+ right: 0,
17
+ bottom: 0,
18
+ left: 0
19
+ },
20
+ body: {
21
+ p: 4,
22
+ flex: 1,
23
+ },
24
+ contentRoot: {
25
+ pos: 'fixed',
26
+ left: '0',
27
+ w: '100%',
28
+ h: '100%',
29
+ zIndex: 'modal',
30
+ },
31
+ contentChild: {
32
+ outline: 0,
33
+ width: '100%',
34
+ position: 'relative',
35
+ display: 'flex',
36
+ flexDir: 'column',
37
+ zIndex: 'modal',
38
+ fontFamily: 'body',
39
+ borderColor: 'gray.100',
40
+ bg: 'white',
41
+ marginInline: 'auto',
42
+ },
43
+
44
+ header: {
45
+ px: 4,
46
+ py: 3,
47
+ position: 'relative',
48
+ fontSize: 'md',
49
+ fontWeight: 'semiBold',
50
+ bg: 'background',
51
+ borderTopLeftRadius: 'md',
52
+ borderTopRightRadius: 'md',
53
+ borderBottom: 'solid 1px',
54
+ borderBottomColor: 'gray.100'
55
+ },
56
+ closeButton: {
57
+ position: 'absolute',
58
+ top: '10px',
59
+ right: '12px',
60
+ bg: 'transparent',
61
+ borderColor: 'transparent'
62
+ },
63
+ footer: {
64
+ display: 'flex',
65
+ pt: 2,
66
+ px: 4,
67
+ pb: 4,
68
+ justifyContent: 'flex-end',
69
+ },
70
+ overlay: {
71
+ position: 'fixed',
72
+ bg: 'overlay',
73
+ left: '0',
74
+ top: '0',
75
+ w: '100vw',
76
+ h: '100vh',
77
+ zIndex: 'overlay',
78
+ }
79
+ },
80
+ variants: {
81
+ full: {
82
+ true: {
83
+ contentRoot: {
84
+ top: '0',
85
+ },
86
+ contentChild: {
87
+ height: '100vh',
88
+ border: 'none',
89
+ borderRadius: 'none'
90
+ }
91
+ },
92
+ false: {
93
+ contentRoot: {
94
+ top: '3.75rem',
95
+ },
96
+ contentChild: {
97
+ height: '100%',
98
+ borderWidth: '1px',
99
+ borderRadius: 'md'
100
+ }
101
+ }
102
+ }
103
+ },
104
+
105
+ defaultVariants: {
106
+ full: false
107
+ },
108
+ })
@@ -0,0 +1,82 @@
1
+ import { defineRecipe } from '@pandacss/dev'
2
+
3
+ const popoverContentRecipe = defineRecipe({
4
+ className: 'popover',
5
+ jsx: ['MpPopover', 'mp-popover'],
6
+ base: {},
7
+ variants: {
8
+ isUnstyled: {
9
+ true: {},
10
+ false: {
11
+ rounded: 'md',
12
+ shadow: 'lg',
13
+ borderWidth: '1px',
14
+ borderColor: 'gray.400',
15
+ zIndex: 'popover'
16
+ }
17
+ },
18
+ isDark: {
19
+ true: {
20
+ background: 'overlay',
21
+ color: 'white'
22
+ },
23
+ false: {
24
+ background: 'white'
25
+ }
26
+ }
27
+ },
28
+ defaultVariants: {
29
+ isDark: false,
30
+ isUnstyled: false
31
+ }
32
+ })
33
+
34
+ const popoverListRecipe = defineRecipe({
35
+ className: 'popover-list',
36
+ jsx: ['MpPopoverList', 'mp-popover-list'],
37
+ base: {
38
+ pt: 3,
39
+ pb: 2,
40
+ alignItems: 'center',
41
+ display: 'flex',
42
+ flexDirection: 'column'
43
+ }
44
+ })
45
+
46
+ const popoverListItemRecipe = defineRecipe({
47
+ className: 'popover-list-item',
48
+ jsx: ['MpPopoverListItem', 'mp-popover-list-item'],
49
+ base: {
50
+ px: 3,
51
+ py: 2,
52
+ width: 'full',
53
+ textDecoration: 'none',
54
+ alignItems: 'center',
55
+ textAlign: 'left',
56
+ outline: 'none',
57
+ fontSize: 'md',
58
+ flex: ' 0 0 auto',
59
+ userSelect: 'none',
60
+ cursor: 'pointer',
61
+ color: 'dark',
62
+ _disabled: {
63
+ color: 'gray.400',
64
+ bg: 'white',
65
+ cursor: 'not-allowed'
66
+ },
67
+ _highlight: {
68
+ background: 'white',
69
+ bg: 'gray.50',
70
+ color: 'dark',
71
+ outline: 0
72
+ },
73
+ _active: {
74
+ background: 'ice.50',
75
+ bg: 'ice.50',
76
+ color: 'dark',
77
+ outline: 0
78
+ }
79
+ }
80
+ })
81
+
82
+ export { popoverContentRecipe, popoverListRecipe, popoverListItemRecipe }
@@ -0,0 +1,76 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const progressSlotRecipe = defineSlotRecipe({
4
+ className: 'progress',
5
+ jsx: ['MpProgress', 'mp-progress'],
6
+ slots: ['root', 'linear', 'circularBase', 'circularTrack'],
7
+ base: {
8
+ root: {
9
+ position: 'relative',
10
+ width: 'full',
11
+ borderRadius: '100px',
12
+ background: 'gray.100',
13
+ transition: 'all 250ms linear'
14
+ },
15
+ linear: {
16
+ transition: 'all 250ms linear',
17
+ height: 'full',
18
+ borderRadius: '100px',
19
+ background: 'var(--mp-progress-color)',
20
+ width: 'var(--mp-progress-width)'
21
+ },
22
+ circularBase: {
23
+ width: 'full',
24
+ height: 'full',
25
+ borderRadius: 'full',
26
+ background:
27
+ 'conic-gradient(var(--mp-progress-color) var(--mp-progress-width), var(--mp-colors-gray-100) 0deg)'
28
+ },
29
+ circularTrack: {
30
+ width: 'calc(100% - 6px)',
31
+ height: 'calc(100% - 6px)',
32
+ position: 'absolute',
33
+ top: '50%',
34
+ left: '50%',
35
+ transform: 'translate(-50%, -50%)',
36
+ backgroundColor: 'white',
37
+ borderRadius: 'full'
38
+ }
39
+ },
40
+ variants: {
41
+ size: {
42
+ md: {
43
+ linear: {
44
+ height: '3'
45
+ }
46
+ },
47
+ sm: {
48
+ linear: {
49
+ height: '2'
50
+ }
51
+ }
52
+ },
53
+ variant: {
54
+ linear: {
55
+ root: {
56
+ borderRadius: '100px'
57
+ }
58
+ },
59
+ circular: {
60
+ root: {
61
+ borderRadius: 'full',
62
+ width: '22px',
63
+ height: '22px',
64
+ background: 'transparent',
65
+ alignSelf: 'start'
66
+ }
67
+ }
68
+ }
69
+ },
70
+ defaultVariants: {
71
+ variant: 'linear',
72
+ size: 'md'
73
+ }
74
+ })
75
+
76
+ export { progressSlotRecipe }
@@ -0,0 +1,103 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const radioSlotRecipe = defineSlotRecipe({
4
+ className: 'radio',
5
+ jsx: ['MpRadio', 'mp-radio'],
6
+ slots: ['root', 'control', 'label'],
7
+ base: {
8
+ root: {
9
+ position: 'relative',
10
+ display: 'inline-flex',
11
+ alignItems: 'center',
12
+ justifyContent: 'center',
13
+ gap: '2',
14
+ cursor: 'pointer',
15
+ outline: 'none',
16
+ '&[data-has-description=true]': {
17
+ alignItems: 'flex-start',
18
+ '& .mp-radio__control': {
19
+ marginTop: '1'
20
+ }
21
+ },
22
+ '& .mp-shared__hidden': {
23
+ '&:focus + .mp-radio__control': {
24
+ borderColor: 'blue.400',
25
+ boxShadow: 'focus'
26
+ }
27
+ },
28
+ _hover: {
29
+ '& .mp-radio__control': {
30
+ borderColor: 'gray.400'
31
+ }
32
+ },
33
+ _disabled: {
34
+ cursor: 'not-allowed',
35
+ '& .mp-radio__control': {
36
+ borderColor: 'gray.100 !important',
37
+ background: 'gray.50 !important',
38
+ boxShadow: 'none !important',
39
+
40
+ '& div': {
41
+ background: 'gray.400'
42
+ }
43
+ }
44
+ },
45
+ _invalid: {
46
+ '& .mp-radio__control': {
47
+ borderColor: 'red.400',
48
+ background: 'white'
49
+ }
50
+ },
51
+ _checked: {
52
+ '& .mp-radio__control': {
53
+ borderColor: 'blue.400',
54
+ background: 'blue.400'
55
+ },
56
+ _hover: {
57
+ '& .mp-radio__control': {
58
+ borderColor: 'blue.400'
59
+ }
60
+ }
61
+ },
62
+ _indeterminate: {
63
+ '& .mp-radio__control': {
64
+ borderColor: 'blue.400',
65
+ background: 'blue.400'
66
+ },
67
+ _hover: {
68
+ '& .mp-radio__control': {
69
+ borderColor: 'blue.400'
70
+ }
71
+ }
72
+ }
73
+ },
74
+ control: {
75
+ flex: 'none',
76
+ transitionDuration: '250ms',
77
+ transitionProperty: 'background, border-color, box-shadow',
78
+ transitionTimingFunction: 'linear',
79
+ position: 'relative',
80
+ display: 'inline-flex',
81
+ alignItems: 'center',
82
+ justifyContent: 'center',
83
+ width: '18px',
84
+ height: '18px',
85
+ borderWidth: '2px',
86
+ borderColor: 'gray.100',
87
+ borderRadius: 'full',
88
+ background: 'white',
89
+
90
+ '& div': {
91
+ width: '2.5',
92
+ height: '2.5',
93
+ background: 'white',
94
+ borderRadius: 'full'
95
+ }
96
+ },
97
+ label: {
98
+ background: 'transparent'
99
+ }
100
+ }
101
+ })
102
+
103
+ export { radioSlotRecipe }