@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,114 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const selectSlotRecipe = defineSlotRecipe({
4
+ className: 'select',
5
+ jsx: ['MpSelect', 'mp-select'],
6
+ slots: ['root', 'control', 'clear', 'arrow'],
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: 'var(--mp-select--color)',
21
+ position: 'relative',
22
+ display: 'flex',
23
+ alignItems: 'center',
24
+ outline: '0',
25
+ borderWidth: '1px',
26
+ borderRadius: 'sm',
27
+ paddingLeft: '3',
28
+ paddingRight: 'var(--mp-select--padding-right)',
29
+ appearance: 'none',
30
+ transition: 'all 250ms',
31
+ backgroundColor: 'white',
32
+ borderColor: 'gray.100',
33
+ _hover: {
34
+ borderColor: 'gray.400'
35
+ },
36
+ _focus: {
37
+ borderColor: 'blue.500',
38
+ boxShadow: 'outer',
39
+ _hover: {
40
+ borderColor: 'blue.500'
41
+ },
42
+ _invalid: {
43
+ borderColor: 'red.400'
44
+ }
45
+ },
46
+ _disabled: {
47
+ color: 'gray.400',
48
+ backgroundColor: 'gray.50',
49
+ borderColor: 'gray.100',
50
+ cursor: 'not-allowed'
51
+ },
52
+ _invalid: {
53
+ borderColor: 'red.400'
54
+ },
55
+ _isFullWidth: {
56
+ width: 'full'
57
+ }
58
+ },
59
+ clear: {
60
+ position: 'absolute!',
61
+ color: 'gray.600',
62
+ border: 'none',
63
+ top: '9px',
64
+ right: '40px',
65
+ width: '5',
66
+ height: '5',
67
+ minWidth: '5',
68
+ padding: '0',
69
+ transition: 'all 250ms!',
70
+ visibility: 'hidden',
71
+ opacity: '0',
72
+ _groupHover: {
73
+ visibility: 'var(--mp-select--visibility)',
74
+ opacity: 'var(--mp-select--opacity)'
75
+ }
76
+ },
77
+ arrow: {
78
+ position: 'absolute!',
79
+ display: 'inline-flex',
80
+ alignItems: 'center',
81
+ width: '6',
82
+ height: '6',
83
+ right: '2',
84
+ whiteSpace: 'nowrap',
85
+ pointerEvents: 'none'
86
+ }
87
+ },
88
+ variants: {
89
+ size: {
90
+ sm: {
91
+ control: {
92
+ height: '7.5',
93
+ fontSize: 'sm',
94
+ borderRadius: 'sm',
95
+ paddingY: '1'
96
+ }
97
+ },
98
+ md: {
99
+ control: {
100
+ height: '9.5',
101
+ fontSize: 'md',
102
+ borderRadius: 'md',
103
+ paddingY: '2'
104
+ }
105
+ }
106
+ }
107
+ },
108
+ compoundVariants: [],
109
+ defaultVariants: {
110
+ size: 'md'
111
+ }
112
+ })
113
+
114
+ export { selectSlotRecipe }
@@ -0,0 +1,19 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const sharedSlotRecipe = defineSlotRecipe({
4
+ className: 'shared',
5
+ jsx: ['MpCheckbox', 'mp-checkbox', 'MpRadio', 'mp-radio'],
6
+ slots: ['hidden'],
7
+ base: {
8
+ hidden: {
9
+ clip: 'rect(0px, 0px, 0px, 0px)',
10
+ height: '1px',
11
+ width: '1px',
12
+ overflow: 'hidden',
13
+ whiteSpace: 'nowrap',
14
+ position: 'absolute'
15
+ }
16
+ }
17
+ })
18
+
19
+ export { sharedSlotRecipe }
@@ -0,0 +1,25 @@
1
+ import { defineRecipe } from '@pandacss/dev'
2
+
3
+ export const spinnerRecipe = defineRecipe({
4
+ className: 'spinner',
5
+ jsx: ['MpSpinner', 'mp-spinner'],
6
+ base: {
7
+ display: 'inline-flex',
8
+ animation: '0.45s linear 0s infinite normal none running spin'
9
+ },
10
+ variants: {
11
+ size: {
12
+ sm: {
13
+ width: '5',
14
+ height: '5'
15
+ },
16
+ md: {
17
+ width: '6',
18
+ height: '6'
19
+ }
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ size: 'sm'
24
+ }
25
+ })
@@ -0,0 +1,113 @@
1
+ import { defineRecipe } from '@pandacss/dev'
2
+
3
+ const tableRecipe = defineRecipe({
4
+ className: 'table',
5
+ jsx: ['MpTable', 'mp-table'],
6
+ base: {
7
+ position: 'relative',
8
+ width: 'full',
9
+ display: 'table',
10
+ borderCollapse: 'collapse',
11
+ borderSpacing: '0px',
12
+ whiteSpace: 'nowrap',
13
+ '&[data-table-hoverable=true]': {
14
+ '& tr': {
15
+ _hover: {
16
+ '& > td': {
17
+ backgroundColor: 'gray.50'
18
+ }
19
+ }
20
+ }
21
+ },
22
+ '& > thead': {
23
+ width: 'full',
24
+ backgroundColor: 'gray.25',
25
+ '&[data-table-head-fixed=true]': {
26
+ position: 'sticky',
27
+ zIndex: 'sticky',
28
+ top: '0',
29
+ boxShadow: '0px 2px var(--mp-colors-gray-100)'
30
+ }
31
+ },
32
+ '& > tbody': {
33
+ width: 'full'
34
+ },
35
+ '& > tr': {
36
+ width: 'full',
37
+ boxSizing: 'border-box',
38
+ whiteSpace: 'nowrap'
39
+ },
40
+ '& th, & td': {
41
+ cursor: 'default',
42
+ paddingLeft: '2',
43
+ paddingRight: '4',
44
+ paddingY: '2',
45
+ height: '12',
46
+ textStyle: 'label.md',
47
+ textAlign: 'left',
48
+ borderBottom: 'sm',
49
+ borderStyle: 'solid',
50
+ borderColor: 'gray.100',
51
+ transition: 'background linear 120ms'
52
+ },
53
+ '& th': {
54
+ fontWeight: 'semiBold',
55
+ backgroundColor: 'gray.25'
56
+ },
57
+ '& td': {
58
+ fontWeight: 'regular',
59
+ backgroundColor: 'white'
60
+ },
61
+ '& th[data-table-cell-fixed=true], & td[data-table-cell-fixed=true]': {
62
+ position: 'sticky',
63
+ zIndex: 'docked',
64
+ left: '0',
65
+ right: '0'
66
+ }
67
+ }
68
+ })
69
+
70
+ const tableContainerRecipe = defineRecipe({
71
+ className: 'table-container',
72
+ jsx: ['MpTableContainer', 'mp-table-container'],
73
+ base: {
74
+ position: 'relative',
75
+ overflow: 'auto',
76
+ '&[data-table-has-left-shadow=true]': {
77
+ _before: {
78
+ boxShadow: 'inset 10px 0 8px -8px rgba(5, 5, 5, 0.08)'
79
+ }
80
+ },
81
+ '&[data-table-has-right-shadow=true]': {
82
+ _after: {
83
+ boxShadow: 'inset -10px 0 8px -8px rgba(5, 5, 5, 0.08)'
84
+ }
85
+ },
86
+ _before: {
87
+ content: '""',
88
+ position: 'absolute',
89
+ zIndex: 'docked',
90
+ boxShadow: 'none',
91
+ transition: 'box-shadow 300ms',
92
+ insetInlineStart: 0,
93
+ width: '30px',
94
+ top: 0,
95
+ bottom: 0,
96
+ pointerEvents: 'none'
97
+ },
98
+ _after: {
99
+ content: '""',
100
+ position: 'absolute',
101
+ zIndex: 'docked',
102
+ boxShadow: 'none',
103
+ transition: 'box-shadow linear 300ms',
104
+ insetInlineEnd: 0,
105
+ width: '30px',
106
+ top: 0,
107
+ bottom: 0,
108
+ pointerEvents: 'none'
109
+ }
110
+ }
111
+ })
112
+
113
+ export { tableRecipe, tableContainerRecipe }
@@ -0,0 +1,204 @@
1
+ import { defineRecipe } from '@pandacss/dev'
2
+
3
+ const tabListRecipe = defineRecipe({
4
+ className: 'tab-list',
5
+ jsx: ['MpTabList', 'mp-tab-list'],
6
+ base: {
7
+ display: 'flex',
8
+ overflow: 'auto',
9
+ gap: '1.5rem',
10
+ fontSize: 'md',
11
+ color: 'gray.600',
12
+ marginBottom: 6,
13
+ padding: 0.5,
14
+ alignItems: 'center',
15
+ justifyContent: 'flex-start',
16
+ maxWidth: 'full'
17
+ }
18
+ })
19
+
20
+ const tabRecipe = defineRecipe({
21
+ className: 'tab',
22
+ jsx: ['MpTab', 'mp-tab'],
23
+ base: {
24
+ display: 'flex',
25
+ cursor: 'pointer',
26
+ alignItems: 'center',
27
+ justifyContent: 'center',
28
+ transition: 'all 0.2s',
29
+ position: 'relative',
30
+ mb: '1px',
31
+ pt: '3',
32
+ pb: '4',
33
+ px: '1',
34
+ color: 'gray.600',
35
+ _hover: {
36
+ color: 'dark'
37
+ },
38
+ _disabled: {
39
+ opacity: 0.4,
40
+ cursor: 'not-allowed'
41
+ },
42
+ _focus: {
43
+ shadow: '0 0 0 2px #E0EEFF',
44
+ borderRadius: 'sm'
45
+ }
46
+ },
47
+ variants: {
48
+ variantColor: {
49
+ blue: {},
50
+ green: {},
51
+ orange: {},
52
+ red: {},
53
+ gray: {}
54
+ },
55
+ isSelected: {
56
+ true: {}
57
+ }
58
+ },
59
+ compoundVariants: [
60
+ {
61
+ variantColor: 'blue',
62
+ isSelected: true,
63
+ css: {
64
+ color: 'blue.400',
65
+ _hover: {
66
+ color: 'blue.500'
67
+ }
68
+ }
69
+ },
70
+ {
71
+ variantColor: 'green',
72
+ isSelected: true,
73
+ css: {
74
+ color: 'green.400',
75
+ _hover: {
76
+ color: 'green.500'
77
+ }
78
+ }
79
+ },
80
+ {
81
+ variantColor: 'orange',
82
+ isSelected: true,
83
+ css: {
84
+ color: 'orange.400',
85
+ _hover: {
86
+ color: 'orange.500'
87
+ }
88
+ }
89
+ },
90
+ {
91
+ variantColor: 'red',
92
+ isSelected: true,
93
+ css: {
94
+ color: 'red.400',
95
+ _hover: {
96
+ color: 'red.500'
97
+ }
98
+ }
99
+ },
100
+ {
101
+ variantColor: 'gray',
102
+ isSelected: true,
103
+ css: {
104
+ color: 'gray.400',
105
+ _hover: {
106
+ color: 'gray.500'
107
+ }
108
+ }
109
+ }
110
+ ],
111
+
112
+ defaultVariants: {
113
+ variantColor: 'blue',
114
+ isSelected: false
115
+ }
116
+ })
117
+
118
+ const selectedBorderRecipe = defineRecipe({
119
+ className: 'selected-border',
120
+ jsx: ['MpSelectedBorder', 'mp-selected-border'],
121
+ base: {
122
+ position: 'absolute',
123
+ bottom: '-2px',
124
+ width: 'calc(100% - 8px)',
125
+ height: '0.5'
126
+ },
127
+ variants: {
128
+ variantColor: {
129
+ blue: {},
130
+ green: {},
131
+ orange: {},
132
+ red: {},
133
+ gray: {}
134
+ },
135
+ isSelected: {
136
+ false: {
137
+ background: 'transparent',
138
+ _groupHover: {
139
+ background: 'gray.400'
140
+ }
141
+ },
142
+ true: {}
143
+ }
144
+ },
145
+ compoundVariants: [
146
+ {
147
+ variantColor: 'blue',
148
+ isSelected: true,
149
+ css: {
150
+ background: 'blue.400',
151
+ _groupHover: {
152
+ background: 'blue.500'
153
+ }
154
+ }
155
+ },
156
+ {
157
+ variantColor: 'green',
158
+ isSelected: true,
159
+ css: {
160
+ background: 'green.400',
161
+ _groupHover: {
162
+ background: 'green.500'
163
+ }
164
+ }
165
+ },
166
+ {
167
+ variantColor: 'orange',
168
+ isSelected: true,
169
+ css: {
170
+ background: 'orange.400',
171
+ _groupHover: {
172
+ background: 'orange.500'
173
+ }
174
+ }
175
+ },
176
+ {
177
+ variantColor: 'red',
178
+ isSelected: true,
179
+ css: {
180
+ background: 'red.400',
181
+ _groupHover: {
182
+ background: 'red.500'
183
+ }
184
+ }
185
+ },
186
+ {
187
+ variantColor: 'gray',
188
+ isSelected: true,
189
+ css: {
190
+ background: 'gray.400',
191
+ _groupHover: {
192
+ background: 'gray.500'
193
+ }
194
+ }
195
+ }
196
+ ],
197
+
198
+ defaultVariants: {
199
+ variantColor: 'blue',
200
+ isSelected: false
201
+ }
202
+ })
203
+
204
+ export { tabListRecipe, tabRecipe, selectedBorderRecipe }
@@ -0,0 +1,105 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const tagSlotRecipe = defineSlotRecipe({
4
+ className: 'tag',
5
+ jsx: ['MpTag', 'mp-tag'],
6
+ slots: ['root', 'close'],
7
+ base: {
8
+ root: {
9
+ position: 'relative',
10
+ display: 'inline-flex',
11
+ alignItems: 'center',
12
+ userSelect: 'auto',
13
+ outline: '0px solid transparent',
14
+ borderWidth: '1px',
15
+ borderColor: 'transparent',
16
+ borderRadius: 'sm',
17
+ transition: 'all 250ms',
18
+ textAlign: 'left',
19
+ fontSize: 'md',
20
+ fontWeight: 'regular',
21
+ lineHeight: 'md',
22
+ letterSpacing: 'normal',
23
+ paddingX: '2',
24
+ whiteSpace: 'normal',
25
+ overflowWrap: 'anywhere',
26
+ cursor: 'var(--mp-tag--cursor)'
27
+ },
28
+ close: {
29
+ position: 'absolute!',
30
+ color: 'gray.600',
31
+ border: 'none',
32
+ right: '0',
33
+ width: '5',
34
+ height: '5',
35
+ minWidth: '5',
36
+ paddingTop: '1',
37
+ padding: '0',
38
+ transition: 'all 250ms!',
39
+ visibility: 'hidden',
40
+ opacity: '0',
41
+ _groupHover: {
42
+ visibility: 'visible',
43
+ opacity: '1'
44
+ }
45
+ }
46
+ },
47
+ variants: {
48
+ size: {
49
+ sm: {
50
+ root: {
51
+ paddingY: '0'
52
+ }
53
+ },
54
+ md: {
55
+ root: {
56
+ paddingY: '1'
57
+ }
58
+ }
59
+ },
60
+ variant: {
61
+ gray: {
62
+ root: {
63
+ color: 'gray.600',
64
+ background: 'gray.50'
65
+ }
66
+ },
67
+ red: {
68
+ root: {
69
+ color: 'red.400',
70
+ backgroundColor: 'red.50'
71
+ }
72
+ }
73
+ }
74
+ },
75
+ compoundVariants: [
76
+ {
77
+ variant: 'gray',
78
+ css: {
79
+ close: {
80
+ background: 'linear-gradient(270deg, #EDF0F2 75%, rgba(237, 240, 242, 0) 111.54%)'
81
+ }
82
+ }
83
+ },
84
+ {
85
+ variant: 'red',
86
+ css: {
87
+ close: {
88
+ background: 'linear-gradient(270deg, #FDECEE 75%, rgba(237, 240, 242, 0) 111.54%)'
89
+ }
90
+ }
91
+ },
92
+ {
93
+ size: 'sm',
94
+ css: {
95
+ close: { paddingTop: '0' }
96
+ }
97
+ }
98
+ ],
99
+ defaultVariants: {
100
+ size: 'md',
101
+ variant: 'gray'
102
+ }
103
+ })
104
+
105
+ export { tagSlotRecipe }
@@ -0,0 +1,56 @@
1
+ import { defineRecipe } from '@pandacss/dev'
2
+
3
+ export const textRecipe = defineRecipe({
4
+ className: 'text',
5
+ jsx: ['MpText', 'mp-text'],
6
+ base: {
7
+ color: 'var(--mp-text-color)',
8
+ fontVariantNumeric: 'lining-nums tabular-nums',
9
+ '&[data-text-strike=true]': {
10
+ textDecoration: 'line-through'
11
+ },
12
+ '&[data-text-link=true]': {
13
+ textDecoration: 'underline'
14
+ }
15
+ },
16
+ variants: {
17
+ size: {
18
+ h1: {
19
+ textStyle: 'h1'
20
+ },
21
+ h2: {
22
+ textStyle: 'h2'
23
+ },
24
+ h3: {
25
+ textStyle: 'h3'
26
+ },
27
+ body: {
28
+ textStyle: 'body.md'
29
+ },
30
+ 'body-small': {
31
+ textStyle: 'body.sm'
32
+ },
33
+ label: {
34
+ textStyle: 'label.md'
35
+ },
36
+ 'label-small': {
37
+ textStyle: 'label.sm'
38
+ },
39
+ overline: {
40
+ textStyle: 'overline'
41
+ }
42
+ },
43
+ weight: {
44
+ regular: {
45
+ fontWeight: 'regular'
46
+ },
47
+ semiBold: {
48
+ fontWeight: 'semiBold'
49
+ }
50
+ }
51
+ },
52
+ defaultVariants: {
53
+ size: 'label',
54
+ weight: 'regular'
55
+ }
56
+ })
@@ -0,0 +1,60 @@
1
+ import { defineRecipe } from '@pandacss/dev'
2
+
3
+ const textareaRecipe = defineRecipe({
4
+ className: 'textarea',
5
+ jsx: ['MpTextarea', 'mp-textarea'],
6
+ base: {
7
+ position: 'relative',
8
+ display: 'flex',
9
+ alignItems: 'center',
10
+ outline: '0',
11
+ borderWidth: '1px',
12
+ borderColor: 'gray.100',
13
+ borderRadius: 'md',
14
+ color: 'dark',
15
+ backgroundColor: 'white',
16
+ appearance: 'none',
17
+ transition: 'all 250ms',
18
+ minWidth: '65',
19
+ minHeight: '20',
20
+ fontSize: 'md',
21
+ fontWeight: 'regular',
22
+ lineHeight: 'md',
23
+ paddingX: '3',
24
+ paddingTop: '2',
25
+ paddingBottom: '5',
26
+ resize: 'both',
27
+ _hover: {
28
+ borderColor: 'gray.400'
29
+ },
30
+ _focus: {
31
+ borderColor: 'blue.500',
32
+ boxShadow: 'outer',
33
+ _hover: {
34
+ borderColor: 'blue.500'
35
+ }
36
+ },
37
+ _disabled: {
38
+ color: 'gray.400',
39
+ backgroundColor: 'gray.50',
40
+ borderColor: 'gray.100',
41
+ cursor: 'not-allowed'
42
+ },
43
+ _invalid: {
44
+ borderColor: 'red.400'
45
+ },
46
+ _readOnly: {
47
+ boxShadow: 'none',
48
+ userSelect: 'all'
49
+ }
50
+ },
51
+ variants: {
52
+ isFullWidth: {
53
+ true: {
54
+ width: '100%'
55
+ }
56
+ }
57
+ }
58
+ })
59
+
60
+ export { textareaRecipe }