@a-type/ui 4.0.0-beta.1 → 4.0.0-beta.10
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/dist/cjs/components/avatar/Avatar.js +1 -1
- package/dist/cjs/components/avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.stories.d.ts +18 -0
- package/dist/cjs/components/avatar/Avatar.stories.js +38 -0
- package/dist/cjs/components/avatar/Avatar.stories.js.map +1 -0
- package/dist/cjs/components/button/Button.d.ts +3 -3
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/collapsible/Collapsible.d.ts +2 -0
- package/dist/cjs/components/collapsible/Collapsible.js +3 -1
- package/dist/cjs/components/collapsible/Collapsible.js.map +1 -1
- package/dist/cjs/components/dialog/Dialog.d.ts +2 -2
- package/dist/cjs/components/dialog/Dialog.js +5 -4
- package/dist/cjs/components/dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/dialog/Dialog.stories.d.ts +1 -1
- package/dist/cjs/components/forms/SubmitButton.d.ts +1 -1
- package/dist/cjs/components/forms/SubmitButton.js +1 -13
- package/dist/cjs/components/forms/SubmitButton.js.map +1 -1
- package/dist/cjs/components/imageUploader/ImageUploader.js +1 -1
- package/dist/cjs/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/cjs/components/popover/Popover.d.ts +0 -2
- package/dist/cjs/components/popover/Popover.js +2 -4
- package/dist/cjs/components/popover/Popover.js.map +1 -1
- package/dist/cjs/components/richEditor/index.js +1 -1
- package/dist/cjs/components/richEditor/index.js.map +1 -1
- package/dist/cjs/components/select/Select.d.ts +3 -0
- package/dist/cjs/components/select/Select.js +4 -1
- package/dist/cjs/components/select/Select.js.map +1 -1
- package/dist/cjs/components/select/Select.stories.d.ts +3 -0
- package/dist/cjs/components/slider/Slider.d.ts +4 -4
- package/dist/cjs/components/slider/Slider.js +1 -1
- package/dist/cjs/components/slider/Slider.js.map +1 -1
- package/dist/cjs/components/slider/Slider.stories.d.ts +2 -2
- package/dist/cjs/components/tabs/tabs.js +1 -1
- package/dist/cjs/components/tabs/tabs.js.map +1 -1
- package/dist/cjs/hooks/withProps.d.ts +1 -1
- package/dist/cjs/hooks/withProps.js +1 -1
- package/dist/cjs/hooks/withProps.js.map +1 -1
- package/dist/css/main.css +1 -1
- package/dist/esm/components/avatar/Avatar.js +1 -1
- package/dist/esm/components/avatar/Avatar.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.stories.d.ts +18 -0
- package/dist/esm/components/avatar/Avatar.stories.js +35 -0
- package/dist/esm/components/avatar/Avatar.stories.js.map +1 -0
- package/dist/esm/components/button/Button.d.ts +3 -3
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/collapsible/Collapsible.d.ts +2 -0
- package/dist/esm/components/collapsible/Collapsible.js +2 -0
- package/dist/esm/components/collapsible/Collapsible.js.map +1 -1
- package/dist/esm/components/dialog/Dialog.d.ts +2 -2
- package/dist/esm/components/dialog/Dialog.js +4 -4
- package/dist/esm/components/dialog/Dialog.js.map +1 -1
- package/dist/esm/components/dialog/Dialog.stories.d.ts +1 -1
- package/dist/esm/components/forms/SubmitButton.d.ts +1 -1
- package/dist/esm/components/forms/SubmitButton.js +1 -13
- package/dist/esm/components/forms/SubmitButton.js.map +1 -1
- package/dist/esm/components/imageUploader/ImageUploader.js +1 -1
- package/dist/esm/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/esm/components/popover/Popover.d.ts +0 -2
- package/dist/esm/components/popover/Popover.js +1 -3
- package/dist/esm/components/popover/Popover.js.map +1 -1
- package/dist/esm/components/richEditor/index.js +1 -1
- package/dist/esm/components/richEditor/index.js.map +1 -1
- package/dist/esm/components/select/Select.d.ts +3 -0
- package/dist/esm/components/select/Select.js +4 -1
- package/dist/esm/components/select/Select.js.map +1 -1
- package/dist/esm/components/select/Select.stories.d.ts +3 -0
- package/dist/esm/components/slider/Slider.d.ts +4 -4
- package/dist/esm/components/slider/Slider.js +1 -1
- package/dist/esm/components/slider/Slider.js.map +1 -1
- package/dist/esm/components/slider/Slider.stories.d.ts +2 -2
- package/dist/esm/components/tabs/tabs.js +1 -1
- package/dist/esm/components/tabs/tabs.js.map +1 -1
- package/dist/esm/hooks/withProps.d.ts +1 -1
- package/dist/esm/hooks/withProps.js +1 -1
- package/dist/esm/hooks/withProps.js.map +1 -1
- package/package.json +1 -1
- package/src/components/avatar/Avatar.stories.tsx +41 -0
- package/src/components/avatar/Avatar.tsx +8 -6
- package/src/components/button/Button.tsx +5 -2
- package/src/components/collapsible/Collapsible.tsx +7 -0
- package/src/components/dialog/Dialog.tsx +3 -4
- package/src/components/forms/SubmitButton.tsx +1 -1
- package/src/components/imageUploader/ImageUploader.tsx +0 -1
- package/src/components/popover/Popover.tsx +1 -2
- package/src/components/richEditor/index.tsx +8 -4
- package/src/components/select/Select.tsx +4 -1
- package/src/components/slider/Slider.tsx +4 -1
- package/src/components/tabs/tabs.tsx +1 -1
- package/src/hooks/withProps.tsx +1 -1
|
@@ -5,7 +5,7 @@ export const withProps = (Component, extras) => {
|
|
|
5
5
|
return _jsx(Component, Object.assign({}, props, extras));
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
|
-
export const withoutProps = (Component,
|
|
8
|
+
export const withoutProps = (Component, _remove) => {
|
|
9
9
|
return (props) => {
|
|
10
10
|
return _jsx(Component, Object.assign({}, props));
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withProps.js","sourceRoot":"","sources":["../../../src/hooks/withProps.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,SAAiC,EACjC,MAAkB,EACjB,EAAE;IACH,OAAO,CAAC,KAAQ,EAAE,EAAE;QACnB,OAAO,KAAC,SAAS,oBAAK,KAAK,EAAM,MAAM,EAAI,CAAC;IAC7C,CAAC,CAAC;AACH,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,SAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"withProps.js","sourceRoot":"","sources":["../../../src/hooks/withProps.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,SAAiC,EACjC,MAAkB,EACjB,EAAE;IACH,OAAO,CAAC,KAAQ,EAAE,EAAE;QACnB,OAAO,KAAC,SAAS,oBAAK,KAAK,EAAM,MAAM,EAAI,CAAC;IAC7C,CAAC,CAAC;AACH,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,SAAiC,EACjC,OAAY,EACX,EAAE;IACH,OAAO,CAAC,KAAiB,EAAE,EAAE;QAC5B,OAAO,KAAC,SAAS,oBAAM,KAAa,EAAI,CAAC;IAC1C,CAAC,CAAC;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Avatar } from './Avatar.js';
|
|
3
|
+
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'Components/Avatar',
|
|
6
|
+
component: Avatar,
|
|
7
|
+
argTypes: {},
|
|
8
|
+
parameters: {
|
|
9
|
+
controls: { expanded: true },
|
|
10
|
+
},
|
|
11
|
+
} satisfies Meta<typeof Avatar>;
|
|
12
|
+
|
|
13
|
+
export default meta;
|
|
14
|
+
|
|
15
|
+
type Story = StoryObj<typeof Avatar>;
|
|
16
|
+
|
|
17
|
+
export const Default: Story = {
|
|
18
|
+
render(args) {
|
|
19
|
+
return <Avatar {...args} />;
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const WithImage: Story = {
|
|
24
|
+
args: {
|
|
25
|
+
imageSrc: 'https://i.pravatar.cc/300',
|
|
26
|
+
name: 'John Doe',
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const WithName: Story = {
|
|
31
|
+
args: {
|
|
32
|
+
name: 'Jane Smith',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const FailedImage: Story = {
|
|
37
|
+
args: {
|
|
38
|
+
imageSrc: 'http://localhost:3333/nonexistent.jpg',
|
|
39
|
+
name: 'Fallback User',
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -49,12 +49,14 @@ export function Avatar({
|
|
|
49
49
|
crossOrigin={crossOrigin}
|
|
50
50
|
/>
|
|
51
51
|
)}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
{!empty && (
|
|
53
|
+
<BaseAvatar.Fallback
|
|
54
|
+
className="text-size-[calc(0.5px*var(--avatar-size,24px))]"
|
|
55
|
+
style={{ '--avatar-size': size } as any}
|
|
56
|
+
>
|
|
57
|
+
{name?.charAt(0) || '?'}
|
|
58
|
+
</BaseAvatar.Fallback>
|
|
59
|
+
)}
|
|
58
60
|
{empty && <Icon name="profile" />}
|
|
59
61
|
</BaseAvatar.Root>
|
|
60
62
|
);
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import { AnimatePresence, motion } from 'motion/react';
|
|
7
7
|
import {
|
|
8
|
+
ButtonHTMLAttributes,
|
|
8
9
|
Children,
|
|
9
10
|
Fragment,
|
|
10
11
|
memo,
|
|
@@ -25,7 +26,9 @@ import { Spinner } from '../spinner/index.js';
|
|
|
25
26
|
import { SlotDiv } from '../utility/SlotDiv.js';
|
|
26
27
|
import { getButtonClassName } from './classes.js';
|
|
27
28
|
|
|
28
|
-
export
|
|
29
|
+
export interface ButtonProps
|
|
30
|
+
extends ButtonHTMLAttributes<HTMLButtonElement>,
|
|
31
|
+
Pick<BaseButtonProps, 'render' | 'focusableWhenDisabled'> {
|
|
29
32
|
color?: PaletteName;
|
|
30
33
|
emphasis?:
|
|
31
34
|
| 'primary'
|
|
@@ -44,7 +47,7 @@ export type ButtonProps = BaseButtonProps & {
|
|
|
44
47
|
disableIconMode?: boolean;
|
|
45
48
|
ref?: Ref<HTMLButtonElement>;
|
|
46
49
|
disableDropdownTriggerIcon?: boolean;
|
|
47
|
-
}
|
|
50
|
+
}
|
|
48
51
|
|
|
49
52
|
export function ButtonRoot({
|
|
50
53
|
className,
|
|
@@ -60,8 +60,15 @@ export const CollapsibleSimple = ({
|
|
|
60
60
|
</CollapsibleRoot>
|
|
61
61
|
);
|
|
62
62
|
|
|
63
|
+
export const CollapsibleIcon = withClassName(
|
|
64
|
+
'span',
|
|
65
|
+
'layer-components:transition-transform',
|
|
66
|
+
'layer-components:[[data-panel-open]_&]:rotate-180',
|
|
67
|
+
);
|
|
68
|
+
|
|
63
69
|
export const Collapsible = Object.assign(CollapsibleRoot, {
|
|
64
70
|
Content: CollapsibleContent,
|
|
65
71
|
Trigger: CollapsibleTrigger,
|
|
66
72
|
Simple: CollapsibleSimple,
|
|
73
|
+
Icon: CollapsibleIcon,
|
|
67
74
|
});
|
|
@@ -19,7 +19,6 @@ import {
|
|
|
19
19
|
useRef,
|
|
20
20
|
useState,
|
|
21
21
|
} from 'react';
|
|
22
|
-
import { withProps } from '../../hooks.js';
|
|
23
22
|
import { useMediaQuery } from '../../hooks/useMediaQuery.js';
|
|
24
23
|
import useMergedRef from '../../hooks/useMergedRef.js';
|
|
25
24
|
import { withClassName } from '../../hooks/withClassName.js';
|
|
@@ -431,9 +430,9 @@ const DialogRoot = (props: DialogRootProps) => {
|
|
|
431
430
|
);
|
|
432
431
|
};
|
|
433
432
|
|
|
434
|
-
export const DialogTrigger =
|
|
435
|
-
render
|
|
436
|
-
|
|
433
|
+
export const DialogTrigger = ({ render, ...props }: DialogTriggerProps) => (
|
|
434
|
+
<BaseDialog.Trigger render={render || <Button />} {...props} />
|
|
435
|
+
);
|
|
437
436
|
export const DialogContent = Content;
|
|
438
437
|
export const DialogTitle = StyledTitle;
|
|
439
438
|
export const DialogDescription = StyledDescription;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useFormikContext } from 'formik';
|
|
2
2
|
import { Button, ButtonProps } from '../button/Button.js';
|
|
3
3
|
|
|
4
|
-
export function SubmitButton(
|
|
4
|
+
export function SubmitButton(props: ButtonProps) {
|
|
5
5
|
const { isSubmitting, isValid } = useFormikContext();
|
|
6
6
|
return (
|
|
7
7
|
<Button
|
|
@@ -20,6 +20,7 @@ const StyledContent = withClassName(
|
|
|
20
20
|
'layer-components:data-[ending-style]:(opacity-0 scale-95 translate-y-4px)',
|
|
21
21
|
'important:motion-reduce:transition-none',
|
|
22
22
|
'layer-components:(max-h-[--available-height] max-w-[--available-width])',
|
|
23
|
+
'layer-components:focus-visible:(outline-none ring-2 ring-accent)',
|
|
23
24
|
);
|
|
24
25
|
|
|
25
26
|
const StyledArrow = withClassName(
|
|
@@ -43,7 +44,6 @@ export const PopoverRoot = PopoverPrimitive.Root;
|
|
|
43
44
|
export const PopoverTrigger = PopoverPrimitive.Trigger;
|
|
44
45
|
export const PopoverArrow = StyledArrow;
|
|
45
46
|
export const PopoverClose = StyledClose;
|
|
46
|
-
export const PopoverAnchor = PopoverPrimitive.Handle;
|
|
47
47
|
|
|
48
48
|
export const PopoverContent = function PopoverContent({
|
|
49
49
|
ref,
|
|
@@ -128,7 +128,6 @@ export const Popover = Object.assign(PopoverRoot, {
|
|
|
128
128
|
Arrow: PopoverArrow,
|
|
129
129
|
Close: PopoverClose,
|
|
130
130
|
Trigger: PopoverTrigger,
|
|
131
|
-
Anchor: PopoverAnchor,
|
|
132
131
|
Title: PopoverTitle,
|
|
133
132
|
Description: PopoverDescription,
|
|
134
133
|
createHandle: PopoverPrimitive.createHandle,
|
|
@@ -4,10 +4,14 @@ export const tipTapClassName = clsx(
|
|
|
4
4
|
'layer-components:(w-full leading-relaxed)',
|
|
5
5
|
'layer-components:[&_.ProseMirror:focus]:(outline-none shadow-focus)',
|
|
6
6
|
'layer-components:[&_h1,h2,h3,p]:mt-0',
|
|
7
|
-
'layer-components:[&_h1]:(text-2xl font-semibold mb-md
|
|
8
|
-
'layer-components:[&
|
|
9
|
-
'layer-components:[&
|
|
10
|
-
'layer-components:[&
|
|
7
|
+
'layer-components:[&_h1]:(text-2xl font-semibold mb-md)',
|
|
8
|
+
'layer-components:[&_h1]:[&:not(:first-child)]:mt-xl',
|
|
9
|
+
'layer-components:[&_h2]:(text-lg font-bold color-gray-dark color-darken-3 mb-md)',
|
|
10
|
+
'layer-components:[&_h2]:[&:not(:first-child)]:mt-lg',
|
|
11
|
+
'layer-components:[&_h3]:(text-md font-500 color-gray-dark color-darken-2 mb-sm)',
|
|
12
|
+
'layer-components:[&_h3]:[&:not(:first-child)]:mt-md',
|
|
13
|
+
'layer-components:[&_h4]:(text-xs color-gray-dark color-darken-1 mb-sm uppercase)',
|
|
14
|
+
'layer-components:[&_h4]:[&:not(:first-child)]:mt-md',
|
|
11
15
|
'layer-components:[&_p]:(mb-md mt-0)',
|
|
12
16
|
'layer-components:[&_a]:underline',
|
|
13
17
|
'layer-components:[&_blockquote]:(border-l-4 border-l-solid border-gray pl-4 mb-md mt-md ml-md)',
|
|
@@ -27,7 +27,7 @@ export const SelectItem = ({
|
|
|
27
27
|
}) => {
|
|
28
28
|
return (
|
|
29
29
|
<SelectItemRoot className={className} {...props} ref={forwardedRef}>
|
|
30
|
-
<
|
|
30
|
+
<SelectItemText>{children}</SelectItemText>
|
|
31
31
|
<SelectItemIndicator />
|
|
32
32
|
</SelectItemRoot>
|
|
33
33
|
);
|
|
@@ -235,4 +235,7 @@ export const Select = Object.assign(SelectBase, {
|
|
|
235
235
|
Icon: SelectIcon,
|
|
236
236
|
Content: SelectContent,
|
|
237
237
|
Arrow: SelectArrow,
|
|
238
|
+
ItemRoot: SelectItemRoot,
|
|
239
|
+
ItemText: SelectItemText,
|
|
240
|
+
ItemIndicator: SelectItemIndicator,
|
|
238
241
|
});
|
|
@@ -4,7 +4,10 @@ import { Ref } from 'react';
|
|
|
4
4
|
import { withClassName } from '../../hooks.js';
|
|
5
5
|
import { PaletteName } from '../../uno/index.js';
|
|
6
6
|
|
|
7
|
-
export const SliderRoot =
|
|
7
|
+
export const SliderRoot = withClassName(
|
|
8
|
+
BaseSlider.Root,
|
|
9
|
+
'layer-components:w-full',
|
|
10
|
+
);
|
|
8
11
|
|
|
9
12
|
export const SliderControl = withClassName(
|
|
10
13
|
BaseSlider.Control,
|
package/src/hooks/withProps.tsx
CHANGED
|
@@ -14,7 +14,7 @@ type OptionalKeys<T> = {
|
|
|
14
14
|
}[keyof T];
|
|
15
15
|
export const withoutProps = <T extends {}, P extends OptionalKeys<T>>(
|
|
16
16
|
Component: React.ComponentType<T>,
|
|
17
|
-
|
|
17
|
+
_remove: P[],
|
|
18
18
|
) => {
|
|
19
19
|
return (props: Omit<T, P>) => {
|
|
20
20
|
return <Component {...(props as any)} />;
|