cetec-design-system 2.2.2-next.0 → 2.3.7

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 (36) hide show
  1. package/dist/{cetec-preset-CcvrY8wh.js → cetec-preset-CZJA5UR0.js} +1696 -1331
  2. package/dist/cetec-preset-CZJA5UR0.js.map +1 -0
  3. package/dist/index.js +12655 -9360
  4. package/dist/index.js.map +1 -1
  5. package/dist/panda.buildinfo.json +461 -365
  6. package/dist/playroom-static.css +68887 -180258
  7. package/dist/preset.js +1 -1
  8. package/dist/specs/recipes.json +126 -25
  9. package/dist/styles.css +1315 -642
  10. package/dist/types/index.d.ts +3001 -273
  11. package/dist/types/preset.d.ts +15 -0
  12. package/package.json +6 -1
  13. package/src/recipes/autocomplete.ts +266 -0
  14. package/src/recipes/calendar.ts +92 -0
  15. package/src/recipes/chip.ts +6 -0
  16. package/src/recipes/dateMenus.ts +40 -0
  17. package/src/recipes/dateTimeMenus.ts +43 -0
  18. package/src/recipes/menu.ts +13 -1
  19. package/src/recipes/modal.ts +1 -1
  20. package/src/recipes/recipes-slot.ts +7 -2
  21. package/src/recipes/segmentedFields.ts +192 -0
  22. package/src/recipes/segmentedInputs.ts +106 -0
  23. package/src/recipes/text.ts +32 -28
  24. package/src/recipes/timeMenus.ts +110 -0
  25. package/src/styles/primitives/zIndex.ts +1 -0
  26. package/src/styles/semantics/colors.ts +44 -0
  27. package/src/styles/semantics/zIndex.ts +2 -0
  28. package/src/styles/utilities/conditions.ts +1 -0
  29. package/src/styles/utilities/transitions.ts +2 -1
  30. package/src/utils/dsChain.ts +113 -0
  31. package/src/utils/dsComponent.ts +44 -0
  32. package/src/utils/dsPart.ts +41 -0
  33. package/src/utils/splitProps.ts +15 -0
  34. package/dist/cetec-preset-CcvrY8wh.js.map +0 -1
  35. package/src/recipes/datePicker.ts +0 -230
  36. package/src/recipes/timePicker.ts +0 -206
@@ -1,230 +0,0 @@
1
- import { defineSlotRecipe } from '@pandacss/dev';
2
-
3
- const datePickerBase = {
4
- root: {
5
- display: 'inline-flex',
6
- flexDirection: 'column',
7
- position: 'relative',
8
- },
9
-
10
- // The segmented input container — visually identical to textinput
11
- input: {
12
- display: 'inline-flex',
13
- alignItems: 'center',
14
- gap: '0',
15
- width: 'full',
16
- borderWidth: '1',
17
- borderStyle: 'solid',
18
- borderColor: 'border.input',
19
- borderRadius: '4',
20
- outlineWidth: '2',
21
- outlineOffset: '-1',
22
- outlineStyle: 'solid',
23
- outlineColor: 'transparent',
24
- bg: 'bg.input',
25
- color: 'text',
26
- fontFamily: 'mono',
27
- lineHeight: 'default',
28
- cursor: 'text',
29
- userSelect: 'none',
30
- transitionDuration: 'fast',
31
- transitionProperty: 'background, border-color, outline-color',
32
- transitionTimingFunction: 'default',
33
- _focusWithin: {
34
- bg: 'bg.input.pressed',
35
- borderColor: 'border.focused',
36
- outlineColor: 'border.focused',
37
- },
38
- _open: {
39
- bg: 'bg.input.pressed',
40
- borderColor: 'border.focused',
41
- outlineColor: 'border.focused',
42
- },
43
- _disabled: {
44
- bg: 'bg.disabled',
45
- borderColor: 'border.disabled',
46
- color: 'text.disabled',
47
- cursor: 'not-allowed',
48
- pointerEvents: 'none',
49
- },
50
- _error: {
51
- borderColor: 'border.danger',
52
- _hover: {
53
- borderColor: 'border.danger',
54
- },
55
- _focusWithin: {
56
- borderColor: 'border.danger',
57
- outlineColor: 'border.danger',
58
- },
59
- _open: {
60
- borderColor: 'border.danger',
61
- outlineColor: 'border.danger',
62
- },
63
- },
64
- },
65
-
66
- // Individual focusable segment span (MM, DD, YYYY)
67
- segment: {
68
- display: 'inline-flex',
69
- alignItems: 'center',
70
- justifyContent: 'center',
71
- outline: 'none',
72
- borderRadius: '2',
73
- cursor: 'default',
74
- userSelect: 'none',
75
- fontFamily: 'mono',
76
- fontVariantsProperty: 'mono',
77
- fontVariantNumeric: 'tabular-nums',
78
- minWidth: '1.5em',
79
- textAlign: 'center',
80
- color: 'text',
81
- _focusVisible: {
82
- bg: 'bg.neutral.hovered',
83
- },
84
- _groupDisabled: {
85
- color: 'text.disabled',
86
- },
87
- },
88
-
89
- // The "/" or " " literal between date segments
90
- separator: {
91
- color: 'text.placeholder',
92
- userSelect: 'none',
93
- display: 'inline-flex',
94
- alignItems: 'center',
95
- },
96
-
97
- // The floating calendar container
98
- popover: {
99
- display: 'flex',
100
- flexDirection: 'column',
101
- bg: 'surface.overlay',
102
- borderWidth: '1',
103
- borderStyle: 'solid',
104
- borderColor: 'border',
105
- borderRadius: '8',
106
- boxShadow: 'overlay',
107
- zIndex: 1000,
108
- width: '280',
109
- overflow: 'hidden',
110
- outline: 'none',
111
- },
112
-
113
- // Month/year navigation row
114
- calendarHeader: {
115
- fontFamily: 'mono',
116
- display: 'flex',
117
- alignItems: 'center',
118
- justifyContent: 'space-between',
119
- px: '8',
120
- py: '8',
121
- borderBottom: 'default',
122
- gap: '4',
123
- },
124
-
125
- // 7-column grid for the days
126
- calendarGrid: {
127
- display: 'grid',
128
- gridTemplateColumns: 'repeat(7, 1fr)',
129
- gap: '2',
130
- px: '8',
131
- py: '4',
132
- pb: '8',
133
- },
134
-
135
- // Su Mo Tu We Th Fr Sa column headers
136
- weekdayLabel: {
137
- display: 'flex',
138
- alignItems: 'center',
139
- justifyContent: 'center',
140
- userSelect: 'none',
141
- },
142
-
143
- // Individual day button in the grid
144
- day: {
145
- alignItems: 'center',
146
- justifyContent: 'center',
147
- fontFamily: 'mono',
148
- width: '32',
149
- height: '32',
150
- _today: {
151
- fontWeight: 'bold',
152
- color: 'text.selected',
153
- bg: 'bg.selected',
154
- },
155
- _selected: {
156
- bg: 'bg.selected.bold',
157
- color: 'text.inverse',
158
- _hover: {
159
- bg: 'bg.selected.bold.hovered',
160
- },
161
- _today: {
162
- bg: 'bg.selected.bold',
163
- color: 'text.inverse',
164
- },
165
- },
166
- _unavailable: {
167
- color: 'text.disabled',
168
- cursor: 'not-allowed',
169
- pointerEvents: 'none',
170
- _hover: {
171
- bg: 'transparent',
172
- },
173
- },
174
- },
175
- };
176
-
177
- const datePickerVariants = {
178
- size: {
179
- sm: {
180
- input: {
181
- py: '0',
182
- px: '8',
183
- fontSize: '14',
184
- },
185
- },
186
- md: {
187
- input: {
188
- py: '3',
189
- px: '10',
190
- fontSize: '16',
191
- },
192
- },
193
- lg: {
194
- input: {
195
- py: '7',
196
- px: '12',
197
- fontSize: '16',
198
- },
199
- },
200
- xl: {
201
- input: {
202
- py: '9',
203
- px: '16',
204
- fontSize: '20',
205
- },
206
- },
207
- },
208
- };
209
-
210
- export const datePickerRecipe = defineSlotRecipe({
211
- className: 'datePicker',
212
- jsx: ['DatePicker', 'DateRangePicker'],
213
- slots: [
214
- 'root',
215
- 'input',
216
- 'segment',
217
- 'separator',
218
- 'popover',
219
- 'calendarHeader',
220
- 'navButton',
221
- 'calendarGrid',
222
- 'weekdayLabel',
223
- 'day',
224
- ],
225
- base: datePickerBase,
226
- variants: datePickerVariants,
227
- defaultVariants: {
228
- size: 'md',
229
- },
230
- });
@@ -1,206 +0,0 @@
1
- import { defineSlotRecipe } from '@pandacss/dev';
2
-
3
- const timePickerBase = {
4
- root: {
5
- display: 'inline-flex',
6
- flexDirection: 'column',
7
- position: 'relative',
8
- },
9
-
10
- // The segmented input container — visually identical to textinput
11
- input: {
12
- display: 'inline-flex',
13
- alignItems: 'center',
14
- gap: '2',
15
- width: 'full',
16
- borderWidth: '1',
17
- borderStyle: 'solid',
18
- borderColor: 'border.input',
19
- borderRadius: '4',
20
- outlineWidth: '2',
21
- outlineOffset: '-1',
22
- outlineStyle: 'solid',
23
- outlineColor: 'transparent',
24
- bg: 'bg.input',
25
- color: 'text',
26
- fontFamily: 'mono',
27
- lineHeight: 'default',
28
- cursor: 'text',
29
- userSelect: 'none',
30
- transitionDuration: 'fast',
31
- transitionProperty: 'background, border-color, outline-color',
32
- transitionTimingFunction: 'default',
33
- _focusWithin: {
34
- bg: 'bg.input.pressed',
35
- borderColor: 'border.focused',
36
- outlineColor: 'border.focused',
37
- },
38
- _open: {
39
- bg: 'bg.input.pressed',
40
- borderColor: 'border.focused',
41
- outlineColor: 'border.focused',
42
- },
43
- _disabled: {
44
- bg: 'bg.disabled',
45
- borderColor: 'border.disabled',
46
- color: 'text.disabled',
47
- cursor: 'not-allowed',
48
- pointerEvents: 'none',
49
- },
50
- _error: {
51
- borderColor: 'border.danger',
52
- _hover: {
53
- borderColor: 'border.danger',
54
- },
55
- _focusWithin: {
56
- borderColor: 'border.danger',
57
- outlineColor: 'border.danger',
58
- },
59
- _open: {
60
- borderColor: 'border.danger',
61
- outlineColor: 'border.danger',
62
- },
63
- },
64
- },
65
-
66
- // Individual focusable segment span (HH, MM, AM/PM)
67
- segment: {
68
- display: 'inline-flex',
69
- alignItems: 'center',
70
- justifyContent: 'center',
71
- outline: 'none',
72
- borderRadius: '2',
73
- cursor: 'default',
74
- userSelect: 'none',
75
- fontFamily: 'mono',
76
- fontVariantsProperty: 'mono',
77
- fontVariantNumeric: 'tabular-nums',
78
- minWidth: '1.5em',
79
- textAlign: 'center',
80
- color: 'text',
81
- _focusVisible: {
82
- bg: 'bg.neutral.hovered',
83
- },
84
- _groupDisabled: {
85
- color: 'text.disabled',
86
- },
87
- },
88
-
89
- // The ":" separator between time segments
90
- separator: {
91
- color: 'text.placeholder',
92
- userSelect: 'none',
93
- display: 'inline-flex',
94
- alignItems: 'center',
95
- },
96
-
97
- // The floating time list container
98
- popover: {
99
- display: 'flex',
100
- flexDirection: 'row',
101
- bg: 'surface.overlay',
102
- borderWidth: '1',
103
- borderStyle: 'solid',
104
- borderColor: 'border',
105
- borderRadius: '8',
106
- boxShadow: 'overlay',
107
- zIndex: 1000,
108
- overflow: 'hidden',
109
- outline: 'none',
110
- w: 'fit',
111
- },
112
-
113
- // A single scrollable column (hours, minutes, or AM/PM)
114
- column: {
115
- display: 'flex',
116
- flexDirection: 'column',
117
- overflowY: 'auto',
118
- flex: 1,
119
- maxHeight: '200',
120
- scrollSnapType: 'y mandatory',
121
- borderRight: 'default',
122
- minW: '56',
123
- textAlign: 'center',
124
- _last: {
125
- borderRight: 'none',
126
- },
127
- // Hide scrollbar visually but keep functionality
128
- '&::-webkit-scrollbar': {
129
- display: 'none',
130
- },
131
- scrollbarWidth: 'none' as const,
132
- msOverflowStyle: 'none',
133
- },
134
-
135
- // Optional column header (e.g. "Hr", "Min")
136
- columnLabel: {
137
- display: 'flex',
138
- alignItems: 'center',
139
- justifyContent: 'center',
140
- py: '4',
141
- px: '8',
142
- fontSize: '11',
143
- fontWeight: 'medium',
144
- color: 'text.subtlest',
145
- textTransform: 'uppercase',
146
- letterSpacing: 'widest',
147
- borderBottom: 'default',
148
- position: 'sticky',
149
- top: '0',
150
- bg: 'surface.overlay',
151
- zIndex: 1,
152
- userSelect: 'none',
153
- },
154
- };
155
-
156
- const timePickerVariants = {
157
- size: {
158
- sm: {
159
- input: {
160
- py: '0',
161
- px: '8',
162
- fontSize: '14',
163
- },
164
- },
165
- md: {
166
- input: {
167
- py: '3',
168
- px: '10',
169
- fontSize: '16',
170
- },
171
- },
172
- lg: {
173
- input: {
174
- py: '7',
175
- px: '12',
176
- fontSize: '16',
177
- },
178
- },
179
- xl: {
180
- input: {
181
- py: '9',
182
- px: '16',
183
- fontSize: '20',
184
- },
185
- },
186
- },
187
- };
188
-
189
- export const timePickerRecipe = defineSlotRecipe({
190
- className: 'timePicker',
191
- jsx: ['TimePicker', 'TimeRangePicker'],
192
- slots: [
193
- 'root',
194
- 'input',
195
- 'segment',
196
- 'separator',
197
- 'popover',
198
- 'column',
199
- 'columnLabel',
200
- ],
201
- base: timePickerBase,
202
- variants: timePickerVariants,
203
- defaultVariants: {
204
- size: 'md',
205
- },
206
- });