@mekari/pixel3-theme 0.2.2-dev.0 → 0.2.2-dev.1

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 (40) hide show
  1. package/dist/index.js +581 -244
  2. package/dist/index.mjs +496 -159
  3. package/dist/recipes/airene-button.d.mts +5 -0
  4. package/dist/recipes/airene-button.d.ts +5 -0
  5. package/dist/recipes/index.d.mts +1 -0
  6. package/dist/recipes/index.d.ts +1 -0
  7. package/dist/tokens/colors.d.mts +3 -0
  8. package/dist/tokens/colors.d.ts +3 -0
  9. package/dist/tokens/index.d.mts +3 -0
  10. package/dist/tokens/index.d.ts +3 -0
  11. package/dist/tokens-next/colors.d.mts +3 -0
  12. package/dist/tokens-next/colors.d.ts +3 -0
  13. package/dist/tokens-next/index.d.mts +3 -0
  14. package/dist/tokens-next/index.d.ts +3 -0
  15. package/package.json +3 -2
  16. package/src/conditions.ts +1 -1
  17. package/src/keyframes.ts +5 -0
  18. package/src/recipes/accordion.ts +50 -10
  19. package/src/recipes/airene-button.ts +120 -0
  20. package/src/recipes/avatar.ts +33 -13
  21. package/src/recipes/banner.ts +0 -1
  22. package/src/recipes/button.ts +127 -22
  23. package/src/recipes/checkbox.ts +8 -6
  24. package/src/recipes/dropzone.ts +1 -1
  25. package/src/recipes/icon.ts +3 -1
  26. package/src/recipes/index.ts +3 -1
  27. package/src/recipes/input.ts +32 -12
  28. package/src/recipes/modal.ts +9 -2
  29. package/src/recipes/radio.ts +8 -6
  30. package/src/recipes/segmented-control.ts +1 -1
  31. package/src/recipes/tabs.ts +2 -2
  32. package/src/recipes/tag.ts +3 -3
  33. package/src/recipes/text.ts +0 -1
  34. package/src/recipes/timeline.ts +8 -2
  35. package/src/recipes/toast.ts +1 -2
  36. package/src/recipes/toggle.ts +8 -6
  37. package/src/recipes/tooltip.ts +1 -0
  38. package/src/text-styles.ts +1 -1
  39. package/src/tokens/colors.ts +1 -0
  40. package/src/tokens-next/colors.ts +1 -0
@@ -0,0 +1,5 @@
1
+ import * as _pandacss_dev from '@pandacss/dev';
2
+
3
+ declare const aireneButtonSlotRecipe: _pandacss_dev.SlotRecipeConfig;
4
+
5
+ export { aireneButtonSlotRecipe };
@@ -0,0 +1,5 @@
1
+ import * as _pandacss_dev from '@pandacss/dev';
2
+
3
+ declare const aireneButtonSlotRecipe: _pandacss_dev.SlotRecipeConfig;
4
+
5
+ export { aireneButtonSlotRecipe };
@@ -73,6 +73,7 @@ declare const slotRecipes: {
73
73
  colorPickerSlotRecipe: _pandacss_types.SlotRecipeConfig;
74
74
  sliderSlotRecipe: _pandacss_types.SlotRecipeConfig;
75
75
  tourSlotRecipe: _pandacss_types.SlotRecipeConfig;
76
+ aireneButtonSlotRecipe: _pandacss_types.SlotRecipeConfig;
76
77
  };
77
78
 
78
79
  export { recipes, slotRecipes };
@@ -73,6 +73,7 @@ declare const slotRecipes: {
73
73
  colorPickerSlotRecipe: _pandacss_types.SlotRecipeConfig;
74
74
  sliderSlotRecipe: _pandacss_types.SlotRecipeConfig;
75
75
  tourSlotRecipe: _pandacss_types.SlotRecipeConfig;
76
+ aireneButtonSlotRecipe: _pandacss_types.SlotRecipeConfig;
76
77
  };
77
78
 
78
79
  export { recipes, slotRecipes };
@@ -17,6 +17,9 @@ declare const colors: {
17
17
  white: {
18
18
  value: string;
19
19
  };
20
+ vibrantPurple: {
21
+ value: string;
22
+ };
20
23
  whiteAlpha: {
21
24
  50: {
22
25
  value: string;
@@ -17,6 +17,9 @@ declare const colors: {
17
17
  white: {
18
18
  value: string;
19
19
  };
20
+ vibrantPurple: {
21
+ value: string;
22
+ };
20
23
  whiteAlpha: {
21
24
  50: {
22
25
  value: string;
@@ -32,6 +32,9 @@ declare const tokens: {
32
32
  white: {
33
33
  value: string;
34
34
  };
35
+ vibrantPurple: {
36
+ value: string;
37
+ };
35
38
  whiteAlpha: {
36
39
  50: {
37
40
  value: string;
@@ -32,6 +32,9 @@ declare const tokens: {
32
32
  white: {
33
33
  value: string;
34
34
  };
35
+ vibrantPurple: {
36
+ value: string;
37
+ };
35
38
  whiteAlpha: {
36
39
  50: {
37
40
  value: string;
@@ -8,6 +8,9 @@ declare const colors: {
8
8
  white: {
9
9
  value: string;
10
10
  };
11
+ vibrantPurple: {
12
+ value: string;
13
+ };
11
14
  dark: {
12
15
  '-100': {
13
16
  value: string;
@@ -8,6 +8,9 @@ declare const colors: {
8
8
  white: {
9
9
  value: string;
10
10
  };
11
+ vibrantPurple: {
12
+ value: string;
13
+ };
11
14
  dark: {
12
15
  '-100': {
13
16
  value: string;
@@ -29,6 +29,9 @@ declare const tokensNext: {
29
29
  white: {
30
30
  value: string;
31
31
  };
32
+ vibrantPurple: {
33
+ value: string;
34
+ };
32
35
  dark: {
33
36
  '-100': {
34
37
  value: string;
@@ -29,6 +29,9 @@ declare const tokensNext: {
29
29
  white: {
30
30
  value: string;
31
31
  };
32
+ vibrantPurple: {
33
+ value: string;
34
+ };
32
35
  dark: {
33
36
  '-100': {
34
37
  value: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mekari/pixel3-theme",
3
3
  "description": "Theme for mekari pixel 3",
4
- "version": "0.2.2-dev.0",
4
+ "version": "0.2.2-dev.1",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
7
7
  "files": [
@@ -37,6 +37,7 @@
37
37
  "build:types": "tsup src --dts-only",
38
38
  "types:check": "tsc --noEmit",
39
39
  "replace-config": "clean-package",
40
- "restore-config": "clean-package restore"
40
+ "restore-config": "clean-package restore",
41
+ "types:vue": "vue-tsc --noEmit"
41
42
  }
42
43
  }
package/src/conditions.ts CHANGED
@@ -2,7 +2,7 @@ export const conditions = {
2
2
  extend: {
3
3
  disabled: '&:is(:disabled, [disabled], [aria-disabled=true], [data-disabled])',
4
4
  invalid: '&:is([aria-invalid=true], [data-invalid])',
5
- active: '&:is(:active, [data-active], [data-active=true])',
5
+ active: '&:is(:active, [data-active=true])',
6
6
  checked: '&:is(:checked, [data-checked], [aria-checked=true], [data-state=checked])',
7
7
  indeterminate: '&:is(:indeterminate, [data-indeterminate], [aria-checked=mixed], [data-state=indeterminate])',
8
8
  closed: '&:is([data-state=closed])',
package/src/keyframes.ts CHANGED
@@ -11,5 +11,10 @@ export const keyframes = defineKeyframes({
11
11
  },
12
12
  spin: {
13
13
  '100%': { transform: 'rotate(1turn)' }
14
+ },
15
+ 'border-shine': {
16
+ '0%': { backgroundPosition: '0% 20%' },
17
+ '50%': { backgroundPosition: '100% 50%' },
18
+ '100%': { backgroundPosition: '0% 100%' }
14
19
  }
15
20
  })
@@ -2,7 +2,7 @@ import { defineSlotRecipe } from '@pandacss/dev'
2
2
 
3
3
  export const accordionSlotRecipe = defineSlotRecipe({
4
4
  className: 'accordion',
5
- slots: ['header', 'item', 'panel'],
5
+ slots: ['header', 'headerTitle', 'headerDescription', 'item', 'panel'],
6
6
  jsx: [
7
7
  'MpAccordionHeader',
8
8
  'MpAccordionItem',
@@ -13,35 +13,52 @@ export const accordionSlotRecipe = defineSlotRecipe({
13
13
  ],
14
14
  base: {
15
15
  header: {
16
+ display: 'flex',
17
+ flexDirection: 'column',
18
+ alignItems: 'flex-start',
19
+ pt: 3,
20
+ _disabled: { opacity: '0.4', cursor: 'not-allowed' }
21
+ },
22
+ headerTitle: {
16
23
  display: 'flex',
17
24
  alignItems: 'center',
25
+ gap: 2,
18
26
  width: '100%',
19
27
  outline: 0,
20
- gap: 4,
21
- transition: 'all 0.2s',
22
- py: 3,
23
28
  fontWeight: 'semiBold',
24
- fontSize: 'md',
29
+ fontSize: 'xl',
25
30
  color: 'dark',
26
- _disabled: { opacity: '0.4', cursor: 'not-allowed' },
31
+ transition: 'all 0.2s',
27
32
  _nextTheme: {
28
33
  color: 'text.default'
29
34
  }
30
35
  },
36
+ headerDescription: {
37
+ color: 'gray.600',
38
+ lineHeight: 'md',
39
+ _nextTheme: {
40
+ color: 'text.secondary'
41
+ }
42
+ },
31
43
  item: {
32
44
  borderBottomWidth: '1px',
33
45
  borderColor: 'gray.100',
46
+ pb: 3,
34
47
  _last: {
35
48
  borderBottomWidth: '1px',
36
49
  borderColor: 'gray.100',
37
- _nextTheme: { borderColor: 'border.default' }
50
+ _nextTheme: { borderColor: 'transparent' }
38
51
  },
39
52
  _nextTheme: {
40
53
  borderColor: 'border.default'
41
54
  }
42
55
  },
43
56
  panel: {
44
- py: 3
57
+ pt: 2,
58
+ color: 'gray.600',
59
+ _nextTheme: {
60
+ color: 'text.secondary'
61
+ }
45
62
  }
46
63
  },
47
64
  variants: {
@@ -56,9 +73,32 @@ export const accordionSlotRecipe = defineSlotRecipe({
56
73
  cursor: 'default'
57
74
  }
58
75
  }
76
+ },
77
+ iconPosition: {
78
+ start: {
79
+ headerDescription: {
80
+ pl: 8
81
+ },
82
+ panel: {
83
+ pl: 8
84
+ }
85
+ },
86
+ end: {
87
+ headerDescription: {
88
+ pl: 0
89
+ },
90
+ panel: {
91
+ pl: 0
92
+ }
93
+ }
59
94
  }
60
95
  },
61
96
  defaultVariants: {
62
- isClickable: true
63
- }
97
+ isClickable: true,
98
+ iconPosition: 'end'
99
+ },
100
+ staticCss: [
101
+ // Need to generate statically as `start` and `end` values are runtime-determined.
102
+ { iconPosition: ['*'] }
103
+ ]
64
104
  })
@@ -0,0 +1,120 @@
1
+ import { defineSlotRecipe } from '@pandacss/dev'
2
+
3
+ const aireneButtonSlotRecipe = defineSlotRecipe({
4
+ className: 'airene-button',
5
+ jsx: ['MpAireneButton', 'mp-airene-button'],
6
+ slots: ['root', 'badge'],
7
+ base: {
8
+ root: {
9
+ display: 'inline-flex!',
10
+ justifyContent: 'center',
11
+ alignItems: 'center',
12
+ position: 'relative',
13
+ backgroundColor: 'white',
14
+ color: 'blue.400!',
15
+ borderRadius: '25px!',
16
+ fontSize: 'md',
17
+ fontWeight: 'semiBold',
18
+ paddingLeft: '0.625rem!',
19
+ paddingRight: '0.625rem!',
20
+ overflow: 'hidden',
21
+ paddingTop: '7.5px!',
22
+ paddingBottom: '7.5px!',
23
+ height: 'auto',
24
+ zIndex: '1',
25
+ gap: '0!',
26
+ transition: 'color 0.3s ease, background-color 0.3s ease',
27
+ _nextTheme: {
28
+ backgroundColor: 'background.neutral',
29
+ color: 'text.link!',
30
+ },
31
+ _before: {
32
+ content: '\'\'',
33
+ position: 'absolute',
34
+ top: '-2px',
35
+ left: '-2px',
36
+ right: '-2px',
37
+ bottom: '-2px',
38
+ borderRadius: '23px',
39
+ background: 'vibrantPurple',
40
+ backgroundSize: '200% 200%',
41
+ animation: 'border-shine 4s linear infinite',
42
+ transition: 'background-color 0.3s ease',
43
+ zIndex: '-1',
44
+ },
45
+ _after: {
46
+ content: '\'\'',
47
+ position: 'absolute',
48
+ top: '2px',
49
+ left: '2px',
50
+ right: '2px',
51
+ bottom: '2px',
52
+ borderRadius: '999px',
53
+ backgroundColor: 'white',
54
+ zIndex: '-1',
55
+ _nextTheme: {
56
+ backgroundColor: 'background.neutral',
57
+ },
58
+ },
59
+ _hover: {
60
+ _before: {
61
+ background: 'linear-gradient(90deg, var(--mp-colors-blue-400), var(--mp-colors-blue-400), var(--mp-colors-blue-400))',
62
+ _nextTheme: {
63
+ background: 'linear-gradient(90deg, var(--mp-colors-background-brand-bold), var(--mp-colors-background-brand-bold), var(--mp-colors-background-brand-bold))',
64
+ }
65
+ }
66
+ },
67
+ _active: {
68
+ _before: {
69
+ background: 'linear-gradient(90deg, var(--mp-colors-blue-400), var(--mp-colors-blue-400), var(--mp-colors-blue-400))',
70
+ },
71
+ _after: {
72
+ background: 'blue.50',
73
+ }
74
+ },
75
+ _disabled: {
76
+ color: 'gray.400!',
77
+ cursor: 'not-allowed',
78
+ _nextTheme: {
79
+ color: 'text.placeholder!',
80
+ },
81
+ _before: {
82
+ background: 'gray.50!',
83
+ },
84
+ _after: {
85
+ background: 'gray.50!',
86
+ _nextTheme: {
87
+ bacground: '#F0F1F3!',
88
+ }
89
+ }
90
+ }
91
+ },
92
+ badge: {
93
+ display: 'flex',
94
+ backgroundColor: 'var(--mp-airene-button-badge-background)',
95
+ borderRadius: '999px',
96
+ paddingRight: '1',
97
+ paddingLeft: '0.5',
98
+ paddingY: '0.5',
99
+ height: '4',
100
+ marginLeft: '1',
101
+ '& > [data-pixel-component=MpIcon]': {
102
+ width: '3!',
103
+ height: '3!',
104
+ '& > path': {
105
+ fill: 'var(--mp-airene-button-badge-icon)',
106
+ }
107
+ },
108
+ '& > [data-pixel-component=MpText]': {
109
+ fontSize: '0.625rem!',
110
+ fontWeight: 'semiBold!',
111
+ color: 'var(--mp-airene-button-badge-text)'
112
+ }
113
+ }
114
+ },
115
+ variants: {},
116
+ compoundVariants: [],
117
+ defaultVariants: {}
118
+ })
119
+
120
+ export { aireneButtonSlotRecipe }
@@ -129,20 +129,20 @@ const avatarSlotRecipe = defineSlotRecipe({
129
129
  variantColor: variantColor,
130
130
  size: {
131
131
  sm: {
132
- root: { width: '6', height: '6', fontSize: 'xs' },
133
- icon: { width: '4!', height: '4!' }
132
+ root: { width: '5', height: '5', fontSize: 'sm' },
133
+ icon: { width: '3!', height: '3!' }
134
134
  },
135
135
  md: {
136
- root: { width: '8', height: '8', fontSize: 'sm' },
137
- icon: { width: '5!', height: '5!' }
136
+ root: { width: '6', height: '6', fontSize: 'md' },
137
+ icon: { width: '4!', height: '4!' }
138
138
  },
139
139
  lg: {
140
- root: { width: '12', height: '12', fontSize: 'lg' },
141
- icon: { width: '8!', height: '8!' }
140
+ root: { width: '9', height: '9', fontSize: 'sm' },
141
+ icon: { width: '5!', height: '5!' }
142
142
  },
143
143
  xl: {
144
- root: { width: '20', height: '20', fontSize: '2xl' },
145
- icon: { width: '16!', height: '16!' }
144
+ root: { width: '20', height: '20', fontSize: '32px' },
145
+ icon: { width: '12!', height: '12!' }
146
146
  }
147
147
  }
148
148
  },
@@ -200,7 +200,7 @@ const avatarGroupSlotRecipe = defineSlotRecipe({
200
200
  zIndex: '0'
201
201
  },
202
202
  excess: {
203
- marginLeft: '2',
203
+ marginLeft: '1',
204
204
  color: 'blue.400',
205
205
  backgroundColor: 'blue.50',
206
206
  fontWeight: 'semiBold',
@@ -219,16 +219,36 @@ const avatarGroupSlotRecipe = defineSlotRecipe({
219
219
  variants: {
220
220
  size: {
221
221
  sm: {
222
- excess: { width: '6', height: '6', fontSize: 'xs' }
222
+ root: {
223
+ '& > [data-pixel-component=MpAvatar]': {
224
+ width: '6.5', height: '6.5', fontSize: 'sm'
225
+ }
226
+ },
227
+ excess: { width: '5', height: '5', fontSize: 'sm' }
223
228
  },
224
229
  md: {
225
- excess: { width: '8', height: '8', fontSize: 'sm' }
230
+ root: {
231
+ '& > [data-pixel-component=MpAvatar]': {
232
+ width: '7', height: '7', fontSize: 'md'
233
+ }
234
+ },
235
+ excess: { width: '6', height: '6', fontSize: 'md' }
226
236
  },
227
237
  lg: {
228
- excess: { width: '12', height: '12', fontSize: 'lg' }
238
+ root: {
239
+ '& > [data-pixel-component=MpAvatar]': {
240
+ width: '9.5', height: '9.5', fontSize: 'sm'
241
+ }
242
+ },
243
+ excess: { width: '9', height: '9', fontSize: 'sm' }
229
244
  },
230
245
  xl: {
231
- excess: { width: '20', height: '20', fontSize: '2xl' }
246
+ root: {
247
+ '& > [data-pixel-component=MpAvatar]': {
248
+ width: '82px', height: '82px', fontSize: '32px'
249
+ }
250
+ },
251
+ excess: { width: '20', height: '20', fontSize: '32px' }
232
252
  }
233
253
  }
234
254
  },
@@ -72,7 +72,6 @@ const bannerTitleRecipe = defineRecipe({
72
72
  lineHeight: 'md',
73
73
  letterSpacing: 'normal',
74
74
  color: 'dark',
75
- marginTop: '0.5',
76
75
  marginBottom: '1',
77
76
  _nextTheme: {
78
77
  color: 'text.default',