@rovula/ui 0.1.26 → 0.1.28

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 (29) hide show
  1. package/dist/cjs/bundle.css +12 -0
  2. package/dist/cjs/bundle.js +3 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/Avatar/Avatar.d.ts +1 -1
  5. package/dist/cjs/types/components/Avatar/Avatar.stories.d.ts +1 -1
  6. package/dist/cjs/types/components/Avatar/Avatar.styles.d.ts +1 -0
  7. package/dist/cjs/types/patterns/confirm-dialog/ConfirmDialog.d.ts +2 -0
  8. package/dist/cjs/types/patterns/confirm-dialog/ConfirmDialog.stories.d.ts +3 -0
  9. package/dist/components/Avatar/Avatar.js +2 -1
  10. package/dist/components/Avatar/Avatar.styles.js +3 -0
  11. package/dist/components/Avatar/AvatarBase.js +1 -1
  12. package/dist/esm/bundle.css +12 -0
  13. package/dist/esm/bundle.js +2 -2
  14. package/dist/esm/bundle.js.map +1 -1
  15. package/dist/esm/types/components/Avatar/Avatar.d.ts +1 -1
  16. package/dist/esm/types/components/Avatar/Avatar.stories.d.ts +1 -1
  17. package/dist/esm/types/components/Avatar/Avatar.styles.d.ts +1 -0
  18. package/dist/esm/types/patterns/confirm-dialog/ConfirmDialog.d.ts +2 -0
  19. package/dist/esm/types/patterns/confirm-dialog/ConfirmDialog.stories.d.ts +3 -0
  20. package/dist/index.d.ts +3 -1
  21. package/dist/patterns/confirm-dialog/ConfirmDialog.js +18 -7
  22. package/dist/patterns/confirm-dialog/ConfirmDialog.stories.js +33 -0
  23. package/dist/src/theme/global.css +15 -0
  24. package/package.json +1 -1
  25. package/src/components/Avatar/Avatar.styles.ts +4 -1
  26. package/src/components/Avatar/Avatar.tsx +3 -2
  27. package/src/components/Avatar/AvatarBase.tsx +3 -3
  28. package/src/patterns/confirm-dialog/ConfirmDialog.stories.tsx +71 -0
  29. package/src/patterns/confirm-dialog/ConfirmDialog.tsx +24 -9
@@ -22,7 +22,7 @@ type AvatarImageProps = {
22
22
  type: "image";
23
23
  } & BaseAvatarProps;
24
24
  type AvatarIconProps = {
25
- icon: string;
25
+ icon: React.ReactNode;
26
26
  type: "icon";
27
27
  } & BaseAvatarProps;
28
28
  export type AvatarProps = AvatarTextProps | AvatarImageProps | AvatarIconProps;
@@ -34,7 +34,7 @@ declare const meta: {
34
34
  fallbackClassName?: string | undefined;
35
35
  style?: React.CSSProperties | undefined;
36
36
  } | {
37
- icon: string & React.ReactNode;
37
+ icon: React.ReactNode;
38
38
  type: "icon";
39
39
  imageUrl?: string | undefined;
40
40
  text?: string | undefined;
@@ -1,4 +1,5 @@
1
1
  export declare const avatarVariants: (props?: ({
2
2
  size?: "sm" | "md" | "lg" | "xxs" | "xs" | null | undefined;
3
3
  rounded?: "none" | "normal" | "full" | null | undefined;
4
+ hasImage?: boolean | null | undefined;
4
5
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
@@ -21,6 +21,8 @@ export type ConfirmDialogProps = {
21
21
  * When true, hides the cancel button — useful for info/error alerts that only need one action.
22
22
  */
23
23
  hideCancelButton?: boolean;
24
+ /** When true, shows a loading spinner on the confirm button and disables all interactive controls. */
25
+ isLoading?: boolean;
24
26
  testId?: string;
25
27
  cancelClassName?: string;
26
28
  confirmClassName?: string;
@@ -22,6 +22,7 @@ declare const meta: {
22
22
  trigger?: React.ReactNode;
23
23
  typeToConfirm?: string | undefined;
24
24
  hideCancelButton?: boolean | undefined;
25
+ isLoading?: boolean | undefined;
25
26
  testId?: string | undefined;
26
27
  cancelClassName?: string | undefined;
27
28
  confirmClassName?: string | undefined;
@@ -55,3 +56,5 @@ export declare const WithoutCancelButton: Story;
55
56
  export declare const RequireConfirmText: Story;
56
57
  export declare const FigmaDefaultOpen: Story;
57
58
  export declare const FigmaRequirePasswordDefaultOpen: Story;
59
+ export declare const WithLoading: Story;
60
+ export declare const WithLoadingAndTypeToConfirm: Story;
@@ -13,7 +13,8 @@ export const formatAvatarName = (text) => {
13
13
  return `${first}${last}`;
14
14
  };
15
15
  const Avatar = ({ text, imageUrl, icon, fallback, size, rounded, className, imageClassName, fallbackClassName, type = "text", children, style, }) => {
16
- const avatarClassname = avatarVariants({ size, rounded });
16
+ const hasImage = !!imageUrl;
17
+ const avatarClassname = avatarVariants({ size, rounded, hasImage });
17
18
  return (_jsx(AvatarBase, { className: cn(avatarClassname, className), style: style, children: children || (_jsxs(_Fragment, { children: [type === "image" && (_jsxs(_Fragment, { children: [_jsx(AvatarImage, { src: imageUrl, className: cn(imageClassName) }), _jsx(AvatarFallback, { className: cn(fallbackClassName), children: typeof fallback === "string"
18
19
  ? formatAvatarName(fallback)
19
20
  : fallback })] })), type === "text" && formatAvatarName(text !== null && text !== void 0 ? text : ""), type === "icon" && icon] })) }));
@@ -15,6 +15,9 @@ export const avatarVariants = cva([
15
15
  full: "rounded-full",
16
16
  none: "rounded-none",
17
17
  },
18
+ hasImage: {
19
+ true: "bg-white",
20
+ },
18
21
  },
19
22
  defaultVariants: {
20
23
  size: "md",
@@ -21,7 +21,7 @@ const AvatarBase = React.forwardRef((_a, ref) => {
21
21
  AvatarBase.displayName = AvatarPrimitive.Root.displayName;
22
22
  const AvatarImage = React.forwardRef((_a, ref) => {
23
23
  var { className } = _a, props = __rest(_a, ["className"]);
24
- return (_jsx(AvatarPrimitive.Image, Object.assign({ ref: ref, className: cn("aspect-square h-full w-full", className) }, props)));
24
+ return (_jsx(AvatarPrimitive.Image, Object.assign({ ref: ref, className: cn("object-cover object-top h-full w-full", className) }, props)));
25
25
  });
26
26
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
27
27
  const AvatarFallback = React.forwardRef((_a, ref) => {
@@ -3173,6 +3173,10 @@ input[type=number] {
3173
3173
  --tw-bg-opacity: 1;
3174
3174
  background-color: color-mix(in srgb, var(--transparent-warning-8) calc(100% * var(--tw-bg-opacity, 1)), transparent);
3175
3175
  }
3176
+ .bg-white{
3177
+ --tw-bg-opacity: 1;
3178
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
3179
+ }
3176
3180
  .bg-white-transparent-12{
3177
3181
  --tw-bg-opacity: 1;
3178
3182
  background-color: color-mix(in srgb, var(--transparent-white-12) calc(100% * var(--tw-bg-opacity, 1)), transparent);
@@ -3378,6 +3382,14 @@ input[type=number] {
3378
3382
  .stroke-primary-default{
3379
3383
  stroke: color-mix(in srgb, var(--state-primary-default) calc(100% * 1), transparent);
3380
3384
  }
3385
+ .object-cover{
3386
+ -o-object-fit: cover;
3387
+ object-fit: cover;
3388
+ }
3389
+ .object-top{
3390
+ -o-object-position: top;
3391
+ object-position: top;
3392
+ }
3381
3393
  .\!p-0{
3382
3394
  padding: 0px !important;
3383
3395
  }