@kushagradhawan/kookie-ui 0.1.0 → 0.1.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 (39) hide show
  1. package/components.css +6 -23
  2. package/dist/cjs/components/checkbox-group.primitive.js +1 -1
  3. package/dist/cjs/components/checkbox-group.primitive.js.map +2 -2
  4. package/dist/cjs/components/checkbox.js +1 -1
  5. package/dist/cjs/components/checkbox.js.map +2 -2
  6. package/dist/cjs/components/segmented-control.js +1 -1
  7. package/dist/cjs/components/segmented-control.js.map +2 -2
  8. package/dist/cjs/components/slot.d.ts +1 -3
  9. package/dist/cjs/components/slot.d.ts.map +1 -1
  10. package/dist/cjs/components/slot.js +1 -1
  11. package/dist/cjs/components/slot.js.map +2 -2
  12. package/dist/cjs/components/theme.props.d.ts +2 -2
  13. package/dist/cjs/components/theme.props.js +1 -1
  14. package/dist/cjs/components/theme.props.js.map +2 -2
  15. package/dist/cjs/helpers/require-react-element.d.ts.map +1 -1
  16. package/dist/esm/components/checkbox-group.primitive.js +1 -1
  17. package/dist/esm/components/checkbox-group.primitive.js.map +2 -2
  18. package/dist/esm/components/checkbox.js +1 -1
  19. package/dist/esm/components/checkbox.js.map +2 -2
  20. package/dist/esm/components/segmented-control.js +1 -1
  21. package/dist/esm/components/segmented-control.js.map +2 -2
  22. package/dist/esm/components/slot.d.ts +1 -3
  23. package/dist/esm/components/slot.d.ts.map +1 -1
  24. package/dist/esm/components/slot.js +1 -1
  25. package/dist/esm/components/slot.js.map +2 -2
  26. package/dist/esm/components/theme.props.d.ts +2 -2
  27. package/dist/esm/components/theme.props.js +1 -1
  28. package/dist/esm/components/theme.props.js.map +2 -2
  29. package/dist/esm/helpers/require-react-element.d.ts.map +1 -1
  30. package/package.json +15 -2
  31. package/src/components/_internal/base-card.css +10 -107
  32. package/src/components/checkbox-group.primitive.tsx +6 -6
  33. package/src/components/checkbox.tsx +1 -1
  34. package/src/components/segmented-control.tsx +3 -3
  35. package/src/components/slot.tsx +1 -1
  36. package/src/components/theme.props.tsx +2 -2
  37. package/styles.css +6 -18
  38. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  39. package/dist/esm/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,6 +1,20 @@
1
1
  {
2
2
  "name": "@kushagradhawan/kookie-ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
+ "description": "A modern React component library with beautiful design tokens and flexible theming",
5
+ "keywords": [
6
+ "react",
7
+ "ui",
8
+ "components",
9
+ "design-system",
10
+ "themes",
11
+ "radix"
12
+ ],
13
+ "author": "Kushagra Dhawan",
14
+ "license": "MIT",
15
+ "engines": {
16
+ "node": ">=16"
17
+ },
4
18
  "type": "commonjs",
5
19
  "main": "./dist/cjs/index.js",
6
20
  "types": "./dist/cjs/index.d.ts",
@@ -55,7 +69,6 @@
55
69
  "sideEffects": [
56
70
  "*.css"
57
71
  ],
58
- "license": "MIT",
59
72
  "files": [
60
73
  "src/**",
61
74
  "dist/**",
@@ -21,7 +21,7 @@
21
21
  /*
22
22
  * Some layout acrobatics with `var(--base-card-border-width)` because we want:
23
23
  * 1. <Card> with fixed height to clip overflowing content.
24
- * 2. <Inset> that clips to cards border-box or padding-box depending on the `clip` value.
24
+ * 2. <Inset> that clips to card's border-box or padding-box depending on the `clip` value.
25
25
  *
26
26
  * To have both (1) and (2), we clip the content at the outer edge of `.rt-BaseCard` border, and use
27
27
  * a ::before pseudo-element for the background color, which is smaller by the border width on each side.
@@ -48,7 +48,7 @@
48
48
  /*
49
49
  * Background color:
50
50
  * 1. "z-index: -1" so that the background goes below the children
51
- * 2. "contain: paint" creates a new stacking context so that ::before doesnt go below the cards sibling elements
51
+ * 2. "contain: paint" creates a new stacking context so that ::before doesn't go below the card's sibling elements
52
52
  */
53
53
  &::before {
54
54
  z-index: -1;
@@ -83,58 +83,19 @@
83
83
  /* * * * * * * * * * * * * * * * * * * */
84
84
 
85
85
  /*
86
- * 1. Outer shadow has to be the same as inner shadow, but with a 1px smaller spread value.
87
- * 2. Keep the initial state in sync with var(--shadow-2) in `shadow.css`.
88
- * 3. Make sure that between all states, the length of the shadow list matches:
89
- * https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow#interpolation
86
+ * Using standard shadow tokens for consistency across the design system.
87
+ * Maps shadow variants to the standard --shadow-{1-6} tokens.
90
88
  */
91
89
 
92
- /* prettier-ignore */
93
90
  :where(.radix-themes) {
94
- --base-card-classic-box-shadow-inner:
95
- 0 0 0 1px var(--base-card-classic-border-color),
96
- 0 0 0 1px var(--color-transparent),
97
- 0 0 0 0.5px var(--black-a1),
98
- 0 1px 1px 0 var(--gray-a2),
99
- 0 2px 1px -1px var(--black-a1),
100
- 0 1px 3px 0 var(--black-a1);
101
- --base-card-classic-box-shadow-outer:
102
- 0 0 0 0 var(--base-card-classic-border-color),
103
- 0 0 0 0 var(--color-transparent),
104
- 0 0 0 0 var(--black-a1),
105
- 0 1px 1px -1px var(--gray-a2),
106
- 0 2px 1px -2px var(--black-a1),
107
- 0 1px 3px -1px var(--black-a1);
91
+ --base-card-classic-box-shadow-inner: var(--shadow-2);
92
+ --base-card-classic-box-shadow-outer: var(--shadow-2);
108
93
 
109
- --base-card-classic-hover-box-shadow-inner:
110
- 0 0 0 1px var(--base-card-classic-hover-border-color),
111
- 0 1px 1px 1px var(--black-a1),
112
- 0 2px 1px -1px var(--gray-a3),
113
- 0 2px 3px -2px var(--black-a1),
114
- 0 3px 12px -4px var(--gray-a3),
115
- 0 4px 16px -8px var(--black-a1);
116
- --base-card-classic-hover-box-shadow-outer:
117
- 0 0 0 0 var(--base-card-classic-hover-border-color),
118
- 0 1px 1px 0 var(--black-a1),
119
- 0 2px 1px -2px var(--gray-a3),
120
- 0 2px 3px -3px var(--black-a1),
121
- 0 3px 12px -5px var(--gray-a3),
122
- 0 4px 16px -9px var(--black-a1);
94
+ --base-card-classic-hover-box-shadow-inner: var(--shadow-3);
95
+ --base-card-classic-hover-box-shadow-outer: var(--shadow-3);
123
96
 
124
- --base-card-classic-active-box-shadow-inner:
125
- 0 0 0 1px var(--base-card-classic-active-border-color),
126
- 0 0 0 1px var(--color-transparent),
127
- 0 0 0 0.5px var(--black-a1),
128
- 0 1px 1px 0 var(--gray-a4),
129
- 0 2px 1px -1px var(--black-a1),
130
- 0 1px 3px 0 var(--black-a1);
131
- --base-card-classic-active-box-shadow-outer:
132
- 0 0 0 0 var(--base-card-classic-active-border-color),
133
- 0 0 0 0 var(--color-transparent),
134
- 0 0 0 0 var(--black-a1),
135
- 0 1px 1px -1px var(--gray-a4),
136
- 0 2px 1px -2px var(--black-a1),
137
- 0 1px 3px -1px var(--black-a1);
97
+ --base-card-classic-active-box-shadow-inner: var(--shadow-2);
98
+ --base-card-classic-active-box-shadow-outer: var(--shadow-2);
138
99
 
139
100
  --base-card-classic-border-color: var(--gray-a3);
140
101
  --base-card-classic-hover-border-color: var(--gray-a3);
@@ -145,61 +106,3 @@
145
106
  --base-card-classic-active-border-color: color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%);
146
107
  }
147
108
  }
148
-
149
- /* prettier-ignore */
150
- :is(.dark, .dark-theme),
151
- :is(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) {
152
- --base-card-classic-box-shadow-inner:
153
- 0 0 0 1px var(--base-card-classic-border-color),
154
- 0 0 0 1px var(--color-transparent),
155
- 0 0 0 0.5px var(--black-a3),
156
- 0 1px 1px 0 var(--black-a6),
157
- 0 2px 1px -1px var(--black-a6),
158
- 0 1px 3px 0 var(--black-a5);
159
- --base-card-classic-box-shadow-outer:
160
- 0 0 0 0 var(--base-card-classic-border-color),
161
- 0 0 0 0 var(--color-transparent),
162
- 0 0 0 0 var(--black-a3),
163
- 0 1px 1px -1px var(--black-a6),
164
- 0 2px 1px -2px var(--black-a6),
165
- 0 1px 3px -1px var(--black-a5);
166
-
167
- --base-card-classic-hover-box-shadow-inner:
168
- 0 0 0 1px var(--base-card-classic-hover-border-color),
169
- 0 0 1px 1px var(--gray-a4),
170
- 0 0 1px -1px var(--gray-a4),
171
- 0 0 3px -2px var(--gray-a3),
172
- 0 0 12px -2px var(--gray-a3),
173
- 0 0 16px -8px var(--gray-a7);
174
- --base-card-classic-hover-box-shadow-outer:
175
- 0 0 0 0 var(--base-card-classic-hover-border-color),
176
- 0 0 1px 0 var(--gray-a4),
177
- 0 0 1px -2px var(--gray-a4),
178
- 0 0 3px -3px var(--gray-a3),
179
- 0 0 12px -3px var(--gray-a3),
180
- 0 0 16px -9px var(--gray-a7);
181
-
182
- --base-card-classic-active-box-shadow-inner:
183
- 0 0 0 1px var(--base-card-classic-active-border-color),
184
- 0 0 0 1px var(--color-transparent),
185
- 0 0 0 0.5px var(--black-a3),
186
- 0 1px 1px 0 var(--black-a6),
187
- 0 2px 1px -1px var(--black-a6),
188
- 0 1px 3px 0 var(--black-a5);
189
- --base-card-classic-active-box-shadow-outer:
190
- 0 0 0 0 var(--base-card-classic-active-border-color),
191
- 0 0 0 0 var(--color-transparent),
192
- 0 0 0 0 var(--black-a3),
193
- 0 1px 1px -1px var(--black-a6),
194
- 0 2px 1px -2px var(--black-a6),
195
- 0 1px 3px -1px var(--black-a5);
196
-
197
- --base-card-classic-border-color: var(--gray-a6);
198
- --base-card-classic-hover-border-color: var(--gray-a6);
199
- --base-card-classic-active-border-color: var(--gray-a6);
200
- @supports (color: color-mix(in oklab, white, black)) {
201
- --base-card-classic-border-color: color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%);
202
- --base-card-classic-hover-border-color: color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%);
203
- --base-card-classic-active-border-color: color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%);
204
- }
205
- }
@@ -20,7 +20,7 @@ const CHECKBOX_GROUP_NAME = 'CheckboxGroup';
20
20
  type ScopedProps<P> = P & { __scopeCheckboxGroup?: Context.Scope };
21
21
  const [createCheckboxGroupContext, createCheckboxGroupScope] = Context.createContextScope(
22
22
  CHECKBOX_GROUP_NAME,
23
- [RovingFocus.createRovingFocusGroupScope, CheckboxPrimitive.createCheckboxScope]
23
+ [RovingFocus.createRovingFocusGroupScope, CheckboxPrimitive.createCheckboxScope],
24
24
  );
25
25
  const useRovingFocusGroupScope = RovingFocus.createRovingFocusGroupScope();
26
26
  const useCheckboxScope = CheckboxPrimitive.createCheckboxScope();
@@ -71,19 +71,19 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
71
71
  const direction = useDirection(dir);
72
72
  const [value = [], setValue] = useControllableState({
73
73
  prop: valueProp,
74
- defaultProp: defaultValue,
74
+ defaultProp: defaultValue ?? [],
75
75
  onChange: onValueChange,
76
76
  });
77
77
 
78
78
  const handleItemCheck = React.useCallback(
79
79
  (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),
80
- [setValue]
80
+ [setValue],
81
81
  );
82
82
 
83
83
  const handleItemUncheck = React.useCallback(
84
84
  (itemValue: string) =>
85
85
  setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),
86
- [setValue]
86
+ [setValue],
87
87
  );
88
88
 
89
89
  return (
@@ -113,7 +113,7 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
113
113
  </RovingFocus.Root>
114
114
  </CheckboxGroupProvider>
115
115
  );
116
- }
116
+ },
117
117
  );
118
118
 
119
119
  CheckboxGroup.displayName = CHECKBOX_GROUP_NAME;
@@ -162,7 +162,7 @@ const CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGro
162
162
  />
163
163
  </RovingFocus.Item>
164
164
  );
165
- }
165
+ },
166
166
  );
167
167
 
168
168
  CheckboxGroupItem.displayName = ITEM_NAME;
@@ -35,7 +35,7 @@ const Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>((props, forwar
35
35
 
36
36
  const [checked, setChecked] = useControllableState({
37
37
  prop: checkedProp,
38
- defaultProp: defaultCheckedProp,
38
+ defaultProp: defaultCheckedProp ?? false,
39
39
  onChange: onCheckedChange,
40
40
  });
41
41
 
@@ -39,7 +39,7 @@ const SegmentedControlRoot = React.forwardRef<HTMLDivElement, SegmentedControlRo
39
39
  const [value, setValue] = useControllableState({
40
40
  prop: valueProp,
41
41
  onChange: onValueChangeProp,
42
- defaultProp: defaultValueProp,
42
+ defaultProp: defaultValueProp ?? '',
43
43
  });
44
44
 
45
45
  return (
@@ -63,7 +63,7 @@ const SegmentedControlRoot = React.forwardRef<HTMLDivElement, SegmentedControlRo
63
63
  <div className="rt-SegmentedControlIndicator" />
64
64
  </ToggleGroupPrimitive.Root>
65
65
  );
66
- }
66
+ },
67
67
  );
68
68
 
69
69
  SegmentedControlRoot.displayName = 'SegmentedControl.Root';
@@ -96,7 +96,7 @@ const SegmentedControlItem = React.forwardRef<HTMLButtonElement, SegmentedContro
96
96
  </span>
97
97
  </span>
98
98
  </ToggleGroupPrimitive.Item>
99
- )
99
+ ),
100
100
  );
101
101
 
102
102
  SegmentedControlItem.displayName = 'SegmentedControl.Item';
@@ -1,4 +1,4 @@
1
1
  import { Slot as SlotPrimitive } from 'radix-ui';
2
2
  export const Root = SlotPrimitive.Root;
3
3
  export const Slot = SlotPrimitive.Root;
4
- export const Slottable = SlotPrimitive.Slottable;
4
+ export const Slottable: typeof SlotPrimitive.Slottable = SlotPrimitive.Slottable;
@@ -30,14 +30,14 @@ const themePropDefs = {
30
30
  * @link
31
31
  * https://www.radix-ui.com/themes/docs/theme/color
32
32
  */
33
- accentColor: { type: 'enum', values: accentColors, default: 'indigo' },
33
+ accentColor: { type: 'enum', values: accentColors, default: 'blue' },
34
34
  /**
35
35
  * Selects one of the gray color options to use in the Theme.
36
36
  *
37
37
  * @link
38
38
  * https://www.radix-ui.com/themes/docs/theme/color
39
39
  */
40
- grayColor: { type: 'enum', values: grayColors, default: 'auto' },
40
+ grayColor: { type: 'enum', values: grayColors, default: 'slate' },
41
41
  /**
42
42
  * Controls whether to use a solid or translucent background color on panelled
43
43
  * elements such as Card or Table is solid or translucent.
package/styles.css CHANGED
@@ -3387,12 +3387,12 @@
3387
3387
  --base-card-surface-box-shadow: 0 0 0 1px var(--gray-a5);
3388
3388
  --base-card-surface-hover-box-shadow: 0 0 0 1px var(--gray-a7);
3389
3389
  --base-card-surface-active-box-shadow: 0 0 0 1px var(--gray-a6);
3390
- --base-card-classic-box-shadow-inner: 0 0 0 1px var(--base-card-classic-border-color), 0 0 0 1px var(--color-transparent), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
3391
- --base-card-classic-box-shadow-outer: 0 0 0 0 var(--base-card-classic-border-color), 0 0 0 0 var(--color-transparent), 0 0 0 0 var(--black-a1), 0 1px 1px -1px var(--gray-a2), 0 2px 1px -2px var(--black-a1), 0 1px 3px -1px var(--black-a1);
3392
- --base-card-classic-hover-box-shadow-inner: 0 0 0 1px var(--base-card-classic-hover-border-color), 0 1px 1px 1px var(--black-a1), 0 2px 1px -1px var(--gray-a3), 0 2px 3px -2px var(--black-a1), 0 3px 12px -4px var(--gray-a3), 0 4px 16px -8px var(--black-a1);
3393
- --base-card-classic-hover-box-shadow-outer: 0 0 0 0 var(--base-card-classic-hover-border-color), 0 1px 1px 0 var(--black-a1), 0 2px 1px -2px var(--gray-a3), 0 2px 3px -3px var(--black-a1), 0 3px 12px -5px var(--gray-a3), 0 4px 16px -9px var(--black-a1);
3394
- --base-card-classic-active-box-shadow-inner: 0 0 0 1px var(--base-card-classic-active-border-color), 0 0 0 1px var(--color-transparent), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a4), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
3395
- --base-card-classic-active-box-shadow-outer: 0 0 0 0 var(--base-card-classic-active-border-color), 0 0 0 0 var(--color-transparent), 0 0 0 0 var(--black-a1), 0 1px 1px -1px var(--gray-a4), 0 2px 1px -2px var(--black-a1), 0 1px 3px -1px var(--black-a1);
3390
+ --base-card-classic-box-shadow-inner: var(--shadow-2);
3391
+ --base-card-classic-box-shadow-outer: var(--shadow-2);
3392
+ --base-card-classic-hover-box-shadow-inner: var(--shadow-3);
3393
+ --base-card-classic-hover-box-shadow-outer: var(--shadow-3);
3394
+ --base-card-classic-active-box-shadow-inner: var(--shadow-2);
3395
+ --base-card-classic-active-box-shadow-outer: var(--shadow-2);
3396
3396
  --base-card-classic-border-color: var(--gray-a3);
3397
3397
  --base-card-classic-hover-border-color: var(--gray-a3);
3398
3398
  --base-card-classic-active-border-color: var(--gray-a4);
@@ -3430,15 +3430,6 @@
3430
3430
  --switch-high-contrast-checked-active-before-filter: brightness(1.08);
3431
3431
  --switch-surface-checked-active-filter: brightness(1.08);
3432
3432
  --switch-surface-checked-active-filter: brightness(1.08);
3433
- --base-card-classic-box-shadow-inner: 0 0 0 1px var(--base-card-classic-border-color), 0 0 0 1px var(--color-transparent), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
3434
- --base-card-classic-box-shadow-outer: 0 0 0 0 var(--base-card-classic-border-color), 0 0 0 0 var(--color-transparent), 0 0 0 0 var(--black-a3), 0 1px 1px -1px var(--black-a6), 0 2px 1px -2px var(--black-a6), 0 1px 3px -1px var(--black-a5);
3435
- --base-card-classic-hover-box-shadow-inner: 0 0 0 1px var(--base-card-classic-hover-border-color), 0 0 1px 1px var(--gray-a4), 0 0 1px -1px var(--gray-a4), 0 0 3px -2px var(--gray-a3), 0 0 12px -2px var(--gray-a3), 0 0 16px -8px var(--gray-a7);
3436
- --base-card-classic-hover-box-shadow-outer: 0 0 0 0 var(--base-card-classic-hover-border-color), 0 0 1px 0 var(--gray-a4), 0 0 1px -2px var(--gray-a4), 0 0 3px -3px var(--gray-a3), 0 0 12px -3px var(--gray-a3), 0 0 16px -9px var(--gray-a7);
3437
- --base-card-classic-active-box-shadow-inner: 0 0 0 1px var(--base-card-classic-active-border-color), 0 0 0 1px var(--color-transparent), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
3438
- --base-card-classic-active-box-shadow-outer: 0 0 0 0 var(--base-card-classic-active-border-color), 0 0 0 0 var(--color-transparent), 0 0 0 0 var(--black-a3), 0 1px 1px -1px var(--black-a6), 0 2px 1px -2px var(--black-a6), 0 1px 3px -1px var(--black-a5);
3439
- --base-card-classic-border-color: var(--gray-a6);
3440
- --base-card-classic-hover-border-color: var(--gray-a6);
3441
- --base-card-classic-active-border-color: var(--gray-a6);
3442
3433
  }
3443
3434
  @supports (color: color(display-p3 1 1 1)) {
3444
3435
  @media (color-gamut: p3) {
@@ -4633,9 +4624,6 @@
4633
4624
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
4634
4625
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
4635
4626
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
4636
- --base-card-classic-border-color: color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%);
4637
- --base-card-classic-hover-border-color: color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%);
4638
- --base-card-classic-active-border-color: color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%);
4639
4627
  }
4640
4628
  }
4641
4629
  @font-face {