@kalink-ui/seedly 0.9.0 → 0.11.0
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/CHANGELOG.md +23 -0
- package/package.json +14 -6
- package/src/components/box/box.css.ts +2 -2
- package/src/components/button/button.css.ts +52 -50
- package/src/components/button/button.tsx +15 -12
- package/src/components/button/index.ts +1 -1
- package/src/components/button-icon/button-icon.css.ts +90 -0
- package/src/components/button-icon/button-icon.tsx +23 -0
- package/src/components/button-icon/index.ts +1 -0
- package/src/components/card/card.tsx +7 -4
- package/src/components/card/index.ts +1 -1
- package/src/components/center/center.tsx +2 -2
- package/src/components/center/index.ts +1 -1
- package/src/components/cluster/cluster.css.ts +17 -0
- package/src/components/command/command-empty.tsx +14 -0
- package/src/components/command/command-group.css.ts +34 -0
- package/src/components/command/command-group.tsx +19 -0
- package/src/components/command/command-input.css.ts +31 -0
- package/src/components/command/command-input.tsx +44 -0
- package/src/components/command/command-item.css.ts +27 -0
- package/src/components/command/command-item.tsx +35 -0
- package/src/components/command/command-list.css.ts +14 -0
- package/src/components/command/command-list.tsx +19 -0
- package/src/components/command/command-separator.tsx +29 -0
- package/src/components/command/command.tsx +24 -0
- package/src/components/command/index.ts +7 -0
- package/src/components/cover/index.ts +1 -1
- package/src/components/divider/divider.css.ts +11 -0
- package/src/components/divider/divider.tsx +11 -0
- package/src/components/divider/index.ts +1 -0
- package/src/components/form-field/form-field-context.ts +18 -0
- package/src/components/form-field/form-field-control.tsx +34 -0
- package/src/components/form-field/form-field-description.tsx +16 -0
- package/src/components/form-field/form-field-error.tsx +22 -0
- package/src/components/form-field/form-field-item-context.ts +6 -0
- package/src/components/form-field/form-field-item.tsx +28 -0
- package/src/components/form-field/form-field-label.tsx +27 -0
- package/src/components/form-field/form-field-message.tsx +33 -0
- package/src/components/form-field/form-field.css.ts +97 -0
- package/src/components/form-field/form-field.tsx +56 -0
- package/src/components/form-field/index.ts +9 -0
- package/src/components/frame/frame.css.ts +8 -8
- package/src/components/frame/frame.tsx +2 -6
- package/src/components/frame/index.ts +1 -1
- package/src/components/heading/heading.tsx +43 -8
- package/src/components/index.ts +29 -15
- package/src/components/input/index.ts +2 -0
- package/src/components/input/input-wrapper.tsx +58 -0
- package/src/components/input/input.css.ts +250 -0
- package/src/components/input/input.tsx +56 -0
- package/src/components/label/index.ts +1 -0
- package/src/components/label/label.css.ts +37 -0
- package/src/components/label/label.tsx +23 -0
- package/src/components/loader/index.ts +1 -0
- package/src/components/loader/loader.css.ts +109 -0
- package/src/components/loader/moon-loader.tsx +43 -0
- package/src/components/loader-overlay/index.ts +1 -0
- package/src/components/loader-overlay/loader-overlay.css.ts +35 -0
- package/src/components/loader-overlay/loader-overlay.tsx +28 -0
- package/src/components/menu/index.ts +2 -0
- package/src/components/menu/menu-item.css.ts +79 -0
- package/src/components/menu/menu-separator.css.ts +53 -0
- package/src/components/popover/index.ts +3 -0
- package/src/components/popover/popover-content.css.ts +107 -0
- package/src/components/popover/popover-content.tsx +82 -0
- package/src/components/popover/popover.tsx +6 -0
- package/src/components/scroll-area/index.ts +1 -0
- package/src/components/scroll-area/scroll-area.css.ts +72 -0
- package/src/components/scroll-area/scroll-area.tsx +39 -0
- package/src/components/scroll-area/scroll-bar.tsx +37 -0
- package/src/components/seed/seed.tsx +4 -4
- package/src/components/select/index.ts +5 -0
- package/src/components/select/select-content.css.ts +22 -0
- package/src/components/select/select-content.tsx +51 -0
- package/src/components/select/select-item.css.ts +24 -0
- package/src/components/select/select-item.tsx +24 -0
- package/src/components/select/select-root.tsx +14 -0
- package/src/components/select/select-trigger.css.ts +75 -0
- package/src/components/select/select-trigger.tsx +47 -0
- package/src/components/select/select.tsx +85 -0
- package/src/components/sheet/index.ts +5 -0
- package/src/components/sheet/sheet-content.css.ts +143 -0
- package/src/components/sheet/sheet-content.tsx +43 -0
- package/src/components/sheet/sheet-description.tsx +21 -0
- package/src/components/sheet/sheet-footer.tsx +15 -0
- package/src/components/sheet/sheet-header.css.ts +35 -0
- package/src/components/sheet/sheet-header.tsx +32 -0
- package/src/components/sheet/sheet-overlay.css.ts +43 -0
- package/src/components/sheet/sheet-overlay.tsx +14 -0
- package/src/components/sheet/sheet-title.tsx +31 -0
- package/src/components/sheet/sheet.tsx +8 -0
- package/src/components/stack/index.ts +1 -1
- package/src/components/stack/stack.css.ts +5 -1
- package/src/components/stack/stack.tsx +2 -2
- package/src/components/text/index.ts +6 -0
- package/src/components/text/text.css.ts +31 -4
- package/src/components/text-field/index.ts +1 -0
- package/src/components/text-field/text-field.css.ts +3 -0
- package/src/components/text-field/text-field.tsx +64 -0
- package/src/components/textarea/index.ts +1 -0
- package/src/components/textarea/textarea-input.tsx +20 -0
- package/src/components/textarea/textarea.css.ts +10 -0
- package/src/components/textarea/textarea.tsx +69 -0
- package/src/styles/define-responsive-properties.ts +242 -0
- package/src/styles/extract-sprinkles-props.ts +29 -35
- package/src/styles/index.ts +9 -0
- package/src/styles/reset.css.ts +1 -0
- package/src/styles/visually-hidden.css.ts +21 -0
|
@@ -1,46 +1,40 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { UnknownRecord } from 'type-fest';
|
|
1
|
+
import { UnknownRecord } from 'type-fest';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
(...args: any): string;
|
|
8
|
-
properties: Set<string>;
|
|
3
|
+
export interface SprinklesFnBase<TSprinklesProps = Record<string, unknown>> {
|
|
4
|
+
(props: TSprinklesProps): string;
|
|
5
|
+
properties: Set<Extract<keyof TSprinklesProps, string>>;
|
|
9
6
|
}
|
|
10
7
|
|
|
11
|
-
export type GetSprinkles<T extends SprinklesFnBase> =
|
|
8
|
+
export type GetSprinkles<T extends SprinklesFnBase> =
|
|
9
|
+
T extends SprinklesFnBase<infer TSprinklesProps> ? TSprinklesProps : never;
|
|
12
10
|
|
|
13
|
-
export type SprinklesProps<TSprinklesFnBase extends SprinklesFnBase> =
|
|
14
|
-
TSprinklesFnBase['properties'] extends Set<infer T>
|
|
15
|
-
? {
|
|
16
|
-
[KeyType in keyof T]: T[KeyType] extends SprinklesProperties
|
|
17
|
-
? KeyType
|
|
18
|
-
: never;
|
|
19
|
-
}
|
|
20
|
-
: never;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Extracts the sprinkles properties from the given component props,
|
|
24
|
-
* returning an array containing the extracted sprinkle props and
|
|
25
|
-
* the remaining component props.
|
|
26
|
-
*/
|
|
27
11
|
export const extractSprinklesProps = <
|
|
28
|
-
|
|
29
|
-
|
|
12
|
+
TProps extends UnknownRecord,
|
|
13
|
+
TSprinkles extends SprinklesFnBase,
|
|
30
14
|
>(
|
|
31
|
-
props:
|
|
32
|
-
sprinkles:
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
props: TProps,
|
|
16
|
+
sprinkles: TSprinkles,
|
|
17
|
+
): [
|
|
18
|
+
Pick<TProps, Extract<keyof TProps, keyof GetSprinkles<TSprinkles>>>,
|
|
19
|
+
Omit<TProps, Extract<keyof TProps, keyof GetSprinkles<TSprinkles>>>,
|
|
20
|
+
] => {
|
|
21
|
+
const sprinkleProps = {} as Pick<
|
|
22
|
+
TProps,
|
|
23
|
+
Extract<keyof TProps, keyof GetSprinkles<TSprinkles>>
|
|
24
|
+
>;
|
|
25
|
+
const componentProps = {} as Omit<
|
|
26
|
+
TProps,
|
|
27
|
+
Extract<keyof TProps, keyof GetSprinkles<TSprinkles>>
|
|
28
|
+
>;
|
|
36
29
|
|
|
37
|
-
for (const
|
|
38
|
-
if (sprinkles.properties.has(
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
for (const key of Object.keys(props) as (keyof TProps)[]) {
|
|
31
|
+
if (sprinkles.properties.has(key as string)) {
|
|
32
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
33
|
+
(sprinkleProps as any)[key] = props[key];
|
|
34
|
+
} else {
|
|
35
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
36
|
+
(componentProps as any)[key] = props[key];
|
|
41
37
|
}
|
|
42
|
-
|
|
43
|
-
componentProps[prop] = props[prop];
|
|
44
38
|
}
|
|
45
39
|
|
|
46
40
|
return [sprinkleProps, componentProps];
|
package/src/styles/index.ts
CHANGED
|
@@ -13,3 +13,12 @@ export {
|
|
|
13
13
|
} from './extract-sprinkles-props';
|
|
14
14
|
|
|
15
15
|
export { mapContractVars } from './map-contract-vars';
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
defineResponsiveProperties,
|
|
19
|
+
type ResponsiveProperties,
|
|
20
|
+
} from './define-responsive-properties';
|
|
21
|
+
|
|
22
|
+
export { transition, type CreateTransitionFn } from './transition';
|
|
23
|
+
|
|
24
|
+
export { visuallyHidden } from './visually-hidden.css';
|
package/src/styles/reset.css.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { recipe } from '@vanilla-extract/recipes';
|
|
2
|
+
|
|
3
|
+
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
4
|
+
export const visuallyHidden = recipe({
|
|
5
|
+
variants: {
|
|
6
|
+
hidden: {
|
|
7
|
+
true: {
|
|
8
|
+
position: 'absolute',
|
|
9
|
+
border: 0,
|
|
10
|
+
width: 1,
|
|
11
|
+
height: 1,
|
|
12
|
+
padding: 0,
|
|
13
|
+
margin: -1,
|
|
14
|
+
overflow: 'hidden',
|
|
15
|
+
clip: 'rect(0, 0, 0, 0)',
|
|
16
|
+
whiteSpace: 'nowrap',
|
|
17
|
+
wordWrap: 'normal',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|