@kushagradhawan/kookie-ui 0.1.61 → 0.1.63
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.
- package/components.css +101 -48
- package/dist/cjs/components/separator.d.ts.map +1 -1
- package/dist/cjs/components/separator.js.map +2 -2
- package/dist/cjs/components/separator.props.d.ts +5 -0
- package/dist/cjs/components/separator.props.d.ts.map +1 -1
- package/dist/cjs/components/separator.props.js +1 -1
- package/dist/cjs/components/separator.props.js.map +2 -2
- package/dist/esm/components/separator.d.ts.map +1 -1
- package/dist/esm/components/separator.js.map +2 -2
- package/dist/esm/components/separator.props.d.ts +5 -0
- package/dist/esm/components/separator.props.d.ts.map +1 -1
- package/dist/esm/components/separator.props.js +1 -1
- package/dist/esm/components/separator.props.js.map +2 -2
- package/package.json +1 -1
- package/schemas/base-button.json +1 -1
- package/schemas/button.json +1 -1
- package/schemas/icon-button.json +1 -1
- package/schemas/index.json +6 -6
- package/schemas/toggle-button.json +1 -1
- package/schemas/toggle-icon-button.json +1 -1
- package/src/components/button.css +19 -8
- package/src/components/separator.css +4 -0
- package/src/components/separator.props.tsx +2 -0
- package/src/components/separator.tsx +3 -18
- package/styles.css +101 -48
package/package.json
CHANGED
package/schemas/base-button.json
CHANGED
|
@@ -279,6 +279,6 @@
|
|
|
279
279
|
"title": "Base-button Component Props",
|
|
280
280
|
"description": "Props schema for the base-button component in Kookie UI",
|
|
281
281
|
"version": "1.0.0",
|
|
282
|
-
"generatedAt": "2025-11-
|
|
282
|
+
"generatedAt": "2025-11-17T09:51:58.569Z",
|
|
283
283
|
"source": "Zod schema"
|
|
284
284
|
}
|
package/schemas/button.json
CHANGED
|
@@ -530,6 +530,6 @@
|
|
|
530
530
|
"title": "Button Component Props",
|
|
531
531
|
"description": "Props schema for the button component in Kookie UI",
|
|
532
532
|
"version": "1.0.0",
|
|
533
|
-
"generatedAt": "2025-11-
|
|
533
|
+
"generatedAt": "2025-11-17T09:51:58.574Z",
|
|
534
534
|
"source": "Zod schema"
|
|
535
535
|
}
|
package/schemas/icon-button.json
CHANGED
|
@@ -313,6 +313,6 @@
|
|
|
313
313
|
"title": "Icon-button Component Props",
|
|
314
314
|
"description": "Props schema for the icon-button component in Kookie UI",
|
|
315
315
|
"version": "1.0.0",
|
|
316
|
-
"generatedAt": "2025-11-
|
|
316
|
+
"generatedAt": "2025-11-17T09:51:58.575Z",
|
|
317
317
|
"source": "Zod schema"
|
|
318
318
|
}
|
package/schemas/index.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"title": "Kookie UI Button Components",
|
|
4
4
|
"description": "Complete JSON Schema collection for all button components in Kookie UI",
|
|
5
5
|
"version": "1.0.0",
|
|
6
|
-
"generatedAt": "2025-11-
|
|
6
|
+
"generatedAt": "2025-11-17T09:51:58.578Z",
|
|
7
7
|
"source": "Zod schemas",
|
|
8
8
|
"components": {
|
|
9
9
|
"base-button": {
|
|
@@ -287,7 +287,7 @@
|
|
|
287
287
|
"title": "Base-button Component Props",
|
|
288
288
|
"description": "Props schema for the base-button component in Kookie UI",
|
|
289
289
|
"version": "1.0.0",
|
|
290
|
-
"generatedAt": "2025-11-
|
|
290
|
+
"generatedAt": "2025-11-17T09:51:58.569Z",
|
|
291
291
|
"source": "Zod schema"
|
|
292
292
|
},
|
|
293
293
|
"button": {
|
|
@@ -822,7 +822,7 @@
|
|
|
822
822
|
"title": "Button Component Props",
|
|
823
823
|
"description": "Props schema for the button component in Kookie UI",
|
|
824
824
|
"version": "1.0.0",
|
|
825
|
-
"generatedAt": "2025-11-
|
|
825
|
+
"generatedAt": "2025-11-17T09:51:58.574Z",
|
|
826
826
|
"source": "Zod schema"
|
|
827
827
|
},
|
|
828
828
|
"icon-button": {
|
|
@@ -1140,7 +1140,7 @@
|
|
|
1140
1140
|
"title": "Icon-button Component Props",
|
|
1141
1141
|
"description": "Props schema for the icon-button component in Kookie UI",
|
|
1142
1142
|
"version": "1.0.0",
|
|
1143
|
-
"generatedAt": "2025-11-
|
|
1143
|
+
"generatedAt": "2025-11-17T09:51:58.575Z",
|
|
1144
1144
|
"source": "Zod schema"
|
|
1145
1145
|
},
|
|
1146
1146
|
"toggle-button": {
|
|
@@ -1683,7 +1683,7 @@
|
|
|
1683
1683
|
"title": "Toggle-button Component Props",
|
|
1684
1684
|
"description": "Props schema for the toggle-button component in Kookie UI",
|
|
1685
1685
|
"version": "1.0.0",
|
|
1686
|
-
"generatedAt": "2025-11-
|
|
1686
|
+
"generatedAt": "2025-11-17T09:51:58.577Z",
|
|
1687
1687
|
"source": "Zod schema"
|
|
1688
1688
|
},
|
|
1689
1689
|
"toggle-icon-button": {
|
|
@@ -2009,7 +2009,7 @@
|
|
|
2009
2009
|
"title": "Toggle-icon-button Component Props",
|
|
2010
2010
|
"description": "Props schema for the toggle-icon-button component in Kookie UI",
|
|
2011
2011
|
"version": "1.0.0",
|
|
2012
|
-
"generatedAt": "2025-11-
|
|
2012
|
+
"generatedAt": "2025-11-17T09:51:58.577Z",
|
|
2013
2013
|
"source": "Zod schema"
|
|
2014
2014
|
}
|
|
2015
2015
|
}
|
|
@@ -538,6 +538,6 @@
|
|
|
538
538
|
"title": "Toggle-button Component Props",
|
|
539
539
|
"description": "Props schema for the toggle-button component in Kookie UI",
|
|
540
540
|
"version": "1.0.0",
|
|
541
|
-
"generatedAt": "2025-11-
|
|
541
|
+
"generatedAt": "2025-11-17T09:51:58.577Z",
|
|
542
542
|
"source": "Zod schema"
|
|
543
543
|
}
|
|
@@ -321,6 +321,6 @@
|
|
|
321
321
|
"title": "Toggle-icon-button Component Props",
|
|
322
322
|
"description": "Props schema for the toggle-icon-button component in Kookie UI",
|
|
323
323
|
"version": "1.0.0",
|
|
324
|
-
"generatedAt": "2025-11-
|
|
324
|
+
"generatedAt": "2025-11-17T09:51:58.577Z",
|
|
325
325
|
"source": "Zod schema"
|
|
326
326
|
}
|
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
* This creates a more subtle, text-like appearance
|
|
37
37
|
*/
|
|
38
38
|
.rt-Button {
|
|
39
|
+
--button-padding-inline-base: var(--space-3);
|
|
40
|
+
--button-padding-icon-trim: max(calc(var(--button-padding-inline-base) * 0.35), var(--space-1));
|
|
41
|
+
|
|
39
42
|
&:where(.rt-variant-ghost) {
|
|
40
43
|
padding: var(--button-ghost-padding-y) var(--button-ghost-padding-x);
|
|
41
44
|
}
|
|
@@ -48,6 +51,7 @@
|
|
|
48
51
|
* Designed for toolbars, dense interfaces, and space-constrained contexts
|
|
49
52
|
*/
|
|
50
53
|
&:where(.rt-r-size-1) {
|
|
54
|
+
--button-padding-inline-base: var(--space-2);
|
|
51
55
|
gap: var(--component-gap-1);
|
|
52
56
|
font-size: var(--font-size-1);
|
|
53
57
|
line-height: var(--line-height-1);
|
|
@@ -68,8 +72,8 @@
|
|
|
68
72
|
* Provides adequate touch targets while maintaining compact appearance
|
|
69
73
|
*/
|
|
70
74
|
&:where(:not(.rt-variant-ghost)) {
|
|
71
|
-
padding-
|
|
72
|
-
padding-
|
|
75
|
+
padding-inline-start: var(--button-padding-inline-base);
|
|
76
|
+
padding-inline-end: var(--button-padding-inline-base);
|
|
73
77
|
}
|
|
74
78
|
|
|
75
79
|
/*
|
|
@@ -80,6 +84,7 @@
|
|
|
80
84
|
gap: var(--component-gap-ghost-1);
|
|
81
85
|
--button-ghost-padding-x: var(--space-2);
|
|
82
86
|
--button-ghost-padding-y: var(--space-1);
|
|
87
|
+
--button-padding-inline-base: var(--button-ghost-padding-x);
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
|
|
@@ -88,6 +93,7 @@
|
|
|
88
93
|
* Default size for most interface contexts and general use
|
|
89
94
|
*/
|
|
90
95
|
&:where(.rt-r-size-2) {
|
|
96
|
+
--button-padding-inline-base: var(--space-3);
|
|
91
97
|
gap: var(--component-gap-2);
|
|
92
98
|
font-size: var(--font-size-2);
|
|
93
99
|
line-height: var(--line-height-2);
|
|
@@ -102,8 +108,8 @@
|
|
|
102
108
|
|
|
103
109
|
/* Standard padding for non-ghost variants */
|
|
104
110
|
&:where(:not(.rt-variant-ghost)) {
|
|
105
|
-
padding-
|
|
106
|
-
padding-
|
|
111
|
+
padding-inline-start: var(--button-padding-inline-base);
|
|
112
|
+
padding-inline-end: var(--button-padding-inline-base);
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
/* Ghost variant padding for size 2 */
|
|
@@ -111,6 +117,7 @@
|
|
|
111
117
|
gap: var(--component-gap-ghost-2);
|
|
112
118
|
--button-ghost-padding-x: var(--space-2);
|
|
113
119
|
--button-ghost-padding-y: var(--space-1);
|
|
120
|
+
--button-padding-inline-base: var(--button-ghost-padding-x);
|
|
114
121
|
}
|
|
115
122
|
}
|
|
116
123
|
|
|
@@ -119,6 +126,7 @@
|
|
|
119
126
|
* Recommended for important actions and mobile touch targets
|
|
120
127
|
*/
|
|
121
128
|
&:where(.rt-r-size-3) {
|
|
129
|
+
--button-padding-inline-base: var(--space-4);
|
|
122
130
|
gap: var(--component-gap-3);
|
|
123
131
|
font-size: var(--font-size-3);
|
|
124
132
|
line-height: var(--line-height-3);
|
|
@@ -133,8 +141,8 @@
|
|
|
133
141
|
|
|
134
142
|
/* Standard padding for non-ghost variants */
|
|
135
143
|
&:where(:not(.rt-variant-ghost)) {
|
|
136
|
-
padding-
|
|
137
|
-
padding-
|
|
144
|
+
padding-inline-start: var(--button-padding-inline-base);
|
|
145
|
+
padding-inline-end: var(--button-padding-inline-base);
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
/* Ghost variant padding for size 3 */
|
|
@@ -142,6 +150,7 @@
|
|
|
142
150
|
gap: var(--component-gap-ghost-3);
|
|
143
151
|
--button-ghost-padding-x: var(--space-3);
|
|
144
152
|
--button-ghost-padding-y: calc(var(--space-1) * 1.5);
|
|
153
|
+
--button-padding-inline-base: var(--button-ghost-padding-x);
|
|
145
154
|
}
|
|
146
155
|
}
|
|
147
156
|
|
|
@@ -150,6 +159,7 @@
|
|
|
150
159
|
* Designed for hero sections and maximum visual impact
|
|
151
160
|
*/
|
|
152
161
|
&:where(.rt-r-size-4) {
|
|
162
|
+
--button-padding-inline-base: calc(var(--space-4) + (4px * var(--scaling)));
|
|
153
163
|
gap: var(--component-gap-4);
|
|
154
164
|
font-size: var(--font-size-4);
|
|
155
165
|
line-height: var(--line-height-4);
|
|
@@ -168,8 +178,8 @@
|
|
|
168
178
|
* HACK: This padding calculation adds 4px to the space-4 token for better visual balance at size 4.
|
|
169
179
|
* This is a temporary workaround and should be replaced with a proper tokenized solution.
|
|
170
180
|
*/
|
|
171
|
-
padding-
|
|
172
|
-
padding-
|
|
181
|
+
padding-inline-start: var(--button-padding-inline-base);
|
|
182
|
+
padding-inline-end: var(--button-padding-inline-base);
|
|
173
183
|
}
|
|
174
184
|
|
|
175
185
|
/* Ghost variant padding for size 4 */
|
|
@@ -177,6 +187,7 @@
|
|
|
177
187
|
gap: var(--component-gap-ghost-4);
|
|
178
188
|
--button-ghost-padding-x: var(--space-4);
|
|
179
189
|
--button-ghost-padding-y: var(--space-2);
|
|
190
|
+
--button-padding-inline-base: var(--button-ghost-padding-x);
|
|
180
191
|
}
|
|
181
192
|
}
|
|
182
193
|
}
|
|
@@ -16,11 +16,13 @@ const separatorPropDefs = {
|
|
|
16
16
|
size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },
|
|
17
17
|
color: { ...colorPropDef.color, default: 'gray' },
|
|
18
18
|
decorative: { type: 'boolean', default: true },
|
|
19
|
+
light: { type: 'boolean', className: 'rt-light', default: false },
|
|
19
20
|
} satisfies {
|
|
20
21
|
orientation: PropDef<(typeof orientationValues)[number]>;
|
|
21
22
|
size: PropDef<(typeof sizes)[number]>;
|
|
22
23
|
color: typeof colorPropDef.color;
|
|
23
24
|
decorative: PropDef<boolean>;
|
|
25
|
+
light: PropDef<boolean>;
|
|
24
26
|
};
|
|
25
27
|
|
|
26
28
|
export { separatorPropDefs };
|
|
@@ -11,25 +11,10 @@ import type { GetPropDefTypes } from '../props/prop-def.js';
|
|
|
11
11
|
|
|
12
12
|
type SeparatorElement = React.ElementRef<'span'>;
|
|
13
13
|
type SeparatorOwnProps = GetPropDefTypes<typeof separatorPropDefs>;
|
|
14
|
-
interface SeparatorProps
|
|
15
|
-
extends ComponentPropsWithout<'span', RemovedProps>,
|
|
16
|
-
MarginProps,
|
|
17
|
-
SeparatorOwnProps {}
|
|
14
|
+
interface SeparatorProps extends ComponentPropsWithout<'span', RemovedProps>, MarginProps, SeparatorOwnProps {}
|
|
18
15
|
const Separator = React.forwardRef<SeparatorElement, SeparatorProps>((props, forwardedRef) => {
|
|
19
|
-
const { className, color, decorative, ...separatorProps } = extractProps(
|
|
20
|
-
|
|
21
|
-
separatorPropDefs,
|
|
22
|
-
marginPropDefs
|
|
23
|
-
);
|
|
24
|
-
return (
|
|
25
|
-
<span
|
|
26
|
-
data-accent-color={color}
|
|
27
|
-
role={decorative ? undefined : 'separator'}
|
|
28
|
-
{...separatorProps}
|
|
29
|
-
ref={forwardedRef}
|
|
30
|
-
className={classNames('rt-Separator', className)}
|
|
31
|
-
/>
|
|
32
|
-
);
|
|
16
|
+
const { className, color, decorative, ...separatorProps } = extractProps(props, separatorPropDefs, marginPropDefs);
|
|
17
|
+
return <span data-accent-color={color} role={decorative ? undefined : 'separator'} {...separatorProps} ref={forwardedRef} className={classNames('rt-Separator', className)} />;
|
|
33
18
|
});
|
|
34
19
|
Separator.displayName = 'Separator';
|
|
35
20
|
|