@raystack/apsara 0.46.0-rc.4 → 0.46.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.
Files changed (119) hide show
  1. package/dist/_virtual/index.cjs +2 -2
  2. package/dist/_virtual/index.js +2 -2
  3. package/dist/_virtual/index2.cjs +2 -2
  4. package/dist/_virtual/index2.js +2 -2
  5. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.cjs +1 -1
  6. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  7. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.2.0/node_modules/use-sync-external-store/shim/index.cjs +1 -1
  8. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.2.0/node_modules/use-sync-external-store/shim/index.js +1 -1
  9. package/dist/style.css +1 -1
  10. package/dist/v1/components/avatar/avatar.cjs +18 -2
  11. package/dist/v1/components/avatar/avatar.cjs.map +1 -1
  12. package/dist/v1/components/avatar/avatar.d.ts +2 -1
  13. package/dist/v1/components/avatar/avatar.d.ts.map +1 -1
  14. package/dist/v1/components/avatar/avatar.js +18 -3
  15. package/dist/v1/components/avatar/avatar.js.map +1 -1
  16. package/dist/v1/components/avatar/utils.cjs +14 -34
  17. package/dist/v1/components/avatar/utils.cjs.map +1 -1
  18. package/dist/v1/components/avatar/utils.d.ts +1 -4
  19. package/dist/v1/components/avatar/utils.d.ts.map +1 -1
  20. package/dist/v1/components/avatar/utils.js +15 -34
  21. package/dist/v1/components/avatar/utils.js.map +1 -1
  22. package/dist/v1/components/breadcrumb/breadcrumb.cjs +35 -19
  23. package/dist/v1/components/breadcrumb/breadcrumb.cjs.map +1 -1
  24. package/dist/v1/components/breadcrumb/breadcrumb.d.ts +15 -12
  25. package/dist/v1/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  26. package/dist/v1/components/breadcrumb/breadcrumb.js +37 -21
  27. package/dist/v1/components/breadcrumb/breadcrumb.js.map +1 -1
  28. package/dist/v1/components/dropdown-menu/dropdown-menu-content.cjs +5 -5
  29. package/dist/v1/components/dropdown-menu/dropdown-menu-content.cjs.map +1 -1
  30. package/dist/v1/components/dropdown-menu/dropdown-menu-content.d.ts +3 -3
  31. package/dist/v1/components/dropdown-menu/dropdown-menu-content.d.ts.map +1 -1
  32. package/dist/v1/components/dropdown-menu/dropdown-menu-content.js +5 -5
  33. package/dist/v1/components/dropdown-menu/dropdown-menu-content.js.map +1 -1
  34. package/dist/v1/components/icon-button/icon-button.cjs +8 -7
  35. package/dist/v1/components/icon-button/icon-button.cjs.map +1 -1
  36. package/dist/v1/components/icon-button/icon-button.d.ts +1 -1
  37. package/dist/v1/components/icon-button/icon-button.d.ts.map +1 -1
  38. package/dist/v1/components/icon-button/icon-button.js +8 -7
  39. package/dist/v1/components/icon-button/icon-button.js.map +1 -1
  40. package/dist/v1/components/select/select-content.cjs +16 -7
  41. package/dist/v1/components/select/select-content.cjs.map +1 -1
  42. package/dist/v1/components/select/select-content.d.ts +1 -1
  43. package/dist/v1/components/select/select-content.d.ts.map +1 -1
  44. package/dist/v1/components/select/select-content.js +16 -7
  45. package/dist/v1/components/select/select-content.js.map +1 -1
  46. package/dist/v1/components/select/select-item.cjs +19 -18
  47. package/dist/v1/components/select/select-item.cjs.map +1 -1
  48. package/dist/v1/components/select/select-item.d.ts +1 -3
  49. package/dist/v1/components/select/select-item.d.ts.map +1 -1
  50. package/dist/v1/components/select/select-item.js +19 -18
  51. package/dist/v1/components/select/select-item.js.map +1 -1
  52. package/dist/v1/components/select/select-multiple-value.cjs +67 -0
  53. package/dist/v1/components/select/select-multiple-value.cjs.map +1 -0
  54. package/dist/v1/components/select/select-multiple-value.d.ts +8 -0
  55. package/dist/v1/components/select/select-multiple-value.d.ts.map +1 -0
  56. package/dist/v1/components/select/select-multiple-value.js +65 -0
  57. package/dist/v1/components/select/select-multiple-value.js.map +1 -0
  58. package/dist/v1/components/select/select-root.cjs +64 -22
  59. package/dist/v1/components/select/select-root.cjs.map +1 -1
  60. package/dist/v1/components/select/select-root.d.ts +25 -26
  61. package/dist/v1/components/select/select-root.d.ts.map +1 -1
  62. package/dist/v1/components/select/select-root.js +64 -22
  63. package/dist/v1/components/select/select-root.js.map +1 -1
  64. package/dist/v1/components/select/select-trigger.cjs +18 -20
  65. package/dist/v1/components/select/select-trigger.cjs.map +1 -1
  66. package/dist/v1/components/select/select-trigger.d.ts +10 -18
  67. package/dist/v1/components/select/select-trigger.d.ts.map +1 -1
  68. package/dist/v1/components/select/select-trigger.js +16 -18
  69. package/dist/v1/components/select/select-trigger.js.map +1 -1
  70. package/dist/v1/components/select/select-value.cjs +23 -7
  71. package/dist/v1/components/select/select-value.cjs.map +1 -1
  72. package/dist/v1/components/select/select-value.d.ts +8 -2
  73. package/dist/v1/components/select/select-value.d.ts.map +1 -1
  74. package/dist/v1/components/select/select-value.js +22 -6
  75. package/dist/v1/components/select/select-value.js.map +1 -1
  76. package/dist/v1/components/select/select.d.ts +11 -9
  77. package/dist/v1/components/select/select.d.ts.map +1 -1
  78. package/dist/v1/components/select/select.module.css.cjs +1 -1
  79. package/dist/v1/components/select/select.module.css.js +1 -1
  80. package/dist/v1/components/select/types.d.ts +7 -0
  81. package/dist/v1/components/select/types.d.ts.map +1 -0
  82. package/dist/v1/components/sidebar/sidebar.cjs +26 -26
  83. package/dist/v1/components/sidebar/sidebar.cjs.map +1 -1
  84. package/dist/v1/components/sidebar/sidebar.d.ts +8 -8
  85. package/dist/v1/components/sidebar/sidebar.d.ts.map +1 -1
  86. package/dist/v1/components/sidebar/sidebar.js +26 -26
  87. package/dist/v1/components/sidebar/sidebar.js.map +1 -1
  88. package/dist/v1/components/tooltip/tooltip.cjs +34 -12
  89. package/dist/v1/components/tooltip/tooltip.cjs.map +1 -1
  90. package/dist/v1/components/tooltip/tooltip.d.ts +16 -9
  91. package/dist/v1/components/tooltip/tooltip.d.ts.map +1 -1
  92. package/dist/v1/components/tooltip/tooltip.js +35 -13
  93. package/dist/v1/components/tooltip/tooltip.js.map +1 -1
  94. package/dist/v1/components/tooltip/tooltip.module.css.cjs +1 -1
  95. package/dist/v1/components/tooltip/tooltip.module.css.js +1 -1
  96. package/dist/v1/components/tooltip/utils.cjs +30 -0
  97. package/dist/v1/components/tooltip/utils.cjs.map +1 -0
  98. package/dist/v1/components/tooltip/utils.d.ts +10 -0
  99. package/dist/v1/components/tooltip/utils.d.ts.map +1 -0
  100. package/dist/v1/components/tooltip/utils.js +28 -0
  101. package/dist/v1/components/tooltip/utils.js.map +1 -0
  102. package/dist/v1/hooks/index.cjs +2 -0
  103. package/dist/v1/hooks/index.cjs.map +1 -1
  104. package/dist/v1/hooks/index.d.ts +2 -1
  105. package/dist/v1/hooks/index.d.ts.map +1 -1
  106. package/dist/v1/hooks/index.js +1 -0
  107. package/dist/v1/hooks/index.js.map +1 -1
  108. package/dist/v1/hooks/useMouse.cjs +53 -0
  109. package/dist/v1/hooks/useMouse.cjs.map +1 -0
  110. package/dist/v1/hooks/useMouse.d.ts +20 -0
  111. package/dist/v1/hooks/useMouse.d.ts.map +1 -0
  112. package/dist/v1/hooks/useMouse.js +51 -0
  113. package/dist/v1/hooks/useMouse.js.map +1 -0
  114. package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs +0 -2
  115. package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs.map +1 -1
  116. package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js +1 -2
  117. package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
  118. package/dist/v1/style.css +1 -1
  119. package/package.json +1 -1
@@ -7,7 +7,6 @@ var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/c
7
7
  var React = require('react');
8
8
  var box = require('../box/box.cjs');
9
9
  var avatar_module = require('./avatar.module.css.cjs');
10
- var utils = require('./utils.cjs');
11
10
 
12
11
  const avatar = index$1.cva(avatar_module.default.avatar, {
13
12
  variants: {
@@ -123,6 +122,22 @@ const avatar = index$1.cva(avatar_module.default.avatar, {
123
122
  }
124
123
  });
125
124
  const image = index$1.cva(avatar_module.default.image);
125
+ /*
126
+ * @desc Recursively get the avatar props even if it's
127
+ * wrapped in another component like Tooltip, Flex, etc.
128
+ */
129
+ const getAvatarProps = (element) => {
130
+ const { props } = element;
131
+ if (element.type === Avatar) {
132
+ return props;
133
+ }
134
+ if (props.children) {
135
+ if (React.isValidElement(props.children)) {
136
+ return getAvatarProps(props.children);
137
+ }
138
+ }
139
+ return {};
140
+ };
126
141
  const AvatarRoot = React.forwardRef(({ className, alt, src, fallback, size, radius, variant, color, style, asChild, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx(box.Box, { className: avatar_module.default.imageWrapper, style: style, children: jsxRuntime.jsxRuntimeExports.jsxs(index.Root, { ref: ref, className: clsx.clsx(avatar({ size, radius, variant, color }), className), asChild: asChild, ...props, children: [jsxRuntime.jsxRuntimeExports.jsx(index.Image, { className: image(), src: src, alt: alt }), jsxRuntime.jsxRuntimeExports.jsx(index.Fallback, { className: avatar_module.default.fallback, children: fallback })] }) })));
127
142
  AvatarRoot.displayName = index.Root.displayName;
128
143
  const Avatar = AvatarRoot;
@@ -130,10 +145,11 @@ const AvatarGroup = React.forwardRef(({ children, max, className, ...props }, re
130
145
  const avatars = max ? children.slice(0, max) : children;
131
146
  const count = max && children.length > max ? children.length - max : 0;
132
147
  // Overflow avatar matches the first avatar styling
133
- const firstAvatarProps = utils.getAvatarProps(avatars[0]);
148
+ const firstAvatarProps = getAvatarProps(avatars[0]);
134
149
  return (jsxRuntime.jsxRuntimeExports.jsxs("div", { ref: ref, className: clsx.clsx(avatar_module.default.avatarGroup, className), ...props, children: [avatars.map((avatar, index) => (jsxRuntime.jsxRuntimeExports.jsx("div", { className: avatar_module.default.avatarWrapper, children: avatar }, index))), count > 0 && (jsxRuntime.jsxRuntimeExports.jsx("div", { className: avatar_module.default.avatarWrapper, children: jsxRuntime.jsxRuntimeExports.jsx(Avatar, { size: firstAvatarProps.size, radius: firstAvatarProps.radius, variant: firstAvatarProps.variant, color: 'neutral', fallback: `+${count}` }) }))] }));
135
150
  });
136
151
 
137
152
  exports.Avatar = Avatar;
138
153
  exports.AvatarGroup = AvatarGroup;
154
+ exports.getAvatarProps = getAvatarProps;
139
155
  //# sourceMappingURL=avatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.cjs","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { clsx } from 'clsx';\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n ReactNode,\n forwardRef\n} from 'react';\nimport { Box } from '../box';\nimport styles from './avatar.module.css';\nimport { AVATAR_COLORS, getAvatarProps } from './utils';\n\nconst avatar = cva(styles.avatar, {\n variants: {\n radius: {\n small: styles['avatar-small'],\n full: styles['avatar-full']\n },\n size: {\n 1: styles['avatar-size-1'],\n 2: styles['avatar-size-2'],\n 3: styles['avatar-size-3'],\n 4: styles['avatar-size-4'],\n 5: styles['avatar-size-5'],\n 6: styles['avatar-size-6'],\n 7: styles['avatar-size-7'],\n 8: styles['avatar-size-8'],\n 9: styles['avatar-size-9'],\n 10: styles['avatar-size-10'],\n 11: styles['avatar-size-11'],\n 12: styles['avatar-size-12'],\n 13: styles['avatar-size-13']\n },\n variant: {\n solid: styles['avatar-solid'],\n soft: styles['avatar-soft']\n },\n disabled: {\n true: styles['avatar-disabled']\n },\n color: {\n indigo: styles['avatar-color-indigo'],\n orange: styles['avatar-color-orange'],\n mint: styles['avatar-color-mint'],\n neutral: styles['avatar-color-neutral'],\n sky: styles['avatar-color-sky'],\n lime: styles['avatar-color-lime'],\n grass: styles['avatar-color-grass'],\n cyan: styles['avatar-color-cyan'],\n iris: styles['avatar-color-iris'],\n purple: styles['avatar-color-purple'],\n pink: styles['avatar-color-pink'],\n crimson: styles['avatar-color-crimson'],\n gold: styles['avatar-color-gold']\n }\n },\n compoundVariants: [\n {\n variant: 'solid',\n color: 'indigo',\n className: styles['avatar-solid-indigo']\n },\n {\n variant: 'solid',\n color: 'orange',\n className: styles['avatar-solid-orange']\n },\n { variant: 'solid', color: 'mint', className: styles['avatar-solid-mint'] },\n { variant: 'solid', color: 'sky', className: styles['avatar-solid-sky'] },\n { variant: 'solid', color: 'lime', className: styles['avatar-solid-lime'] },\n {\n variant: 'solid',\n color: 'grass',\n className: styles['avatar-solid-grass']\n },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n {\n variant: 'solid',\n color: 'purple',\n className: styles['avatar-solid-purple']\n },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n {\n variant: 'solid',\n color: 'crimson',\n className: styles['avatar-solid-crimson']\n },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n {\n variant: 'soft',\n color: 'indigo',\n className: styles['avatar-soft-indigo']\n },\n\n {\n variant: 'soft',\n color: 'orange',\n className: styles['avatar-soft-orange']\n },\n { variant: 'soft', color: 'mint', className: styles['avatar-soft-mint'] },\n { variant: 'soft', color: 'sky', className: styles['avatar-soft-sky'] },\n { variant: 'soft', color: 'lime', className: styles['avatar-soft-lime'] },\n { variant: 'soft', color: 'grass', className: styles['avatar-soft-grass'] },\n { variant: 'soft', color: 'cyan', className: styles['avatar-soft-cyan'] },\n { variant: 'soft', color: 'iris', className: styles['avatar-soft-iris'] },\n {\n variant: 'soft',\n color: 'purple',\n className: styles['avatar-soft-purple']\n },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n {\n variant: 'soft',\n color: 'crimson',\n className: styles['avatar-soft-crimson']\n },\n { variant: 'soft', color: 'gold', className: styles['avatar-soft-gold'] }\n ],\n defaultVariants: {\n size: 3,\n radius: 'small',\n variant: 'soft',\n color: 'indigo'\n }\n});\n\nconst image = cva(styles.image);\n\nexport interface AvatarProps\n extends ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatar> {\n size?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;\n src?: string;\n alt?: string;\n fallback?: ReactNode;\n variant?: 'solid' | 'soft';\n color?: AVATAR_COLORS;\n asChild?: boolean;\n className?: string;\n}\n\nconst AvatarRoot = forwardRef<\n ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>(\n (\n {\n className,\n alt,\n src,\n fallback,\n size,\n radius,\n variant,\n color,\n style,\n asChild,\n ...props\n },\n ref\n ) => (\n <Box className={styles.imageWrapper} style={style}>\n <AvatarPrimitive.Root\n ref={ref}\n className={clsx(avatar({ size, radius, variant, color }), className)}\n asChild={asChild}\n {...props}\n >\n <AvatarPrimitive.Image className={image()} src={src} alt={alt} />\n <AvatarPrimitive.Fallback className={styles.fallback}>\n {fallback}\n </AvatarPrimitive.Fallback>\n </AvatarPrimitive.Root>\n </Box>\n )\n);\n\nAvatarRoot.displayName = AvatarPrimitive.Root.displayName;\n\nexport const Avatar = AvatarRoot;\n\nexport interface AvatarGroupProps extends ComponentPropsWithoutRef<'div'> {\n children: React.ReactElement<AvatarProps>[];\n max?: number;\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n ({ children, max, className, ...props }, ref) => {\n const avatars = max ? children.slice(0, max) : children;\n const count = max && children.length > max ? children.length - max : 0;\n\n // Overflow avatar matches the first avatar styling\n const firstAvatarProps = getAvatarProps(avatars[0]);\n\n return (\n <div ref={ref} className={clsx(styles.avatarGroup, className)} {...props}>\n {avatars.map((avatar, index) => (\n <div key={index} className={styles.avatarWrapper}>\n {avatar}\n </div>\n ))}\n {count > 0 && (\n <div className={styles.avatarWrapper}>\n <Avatar\n size={firstAvatarProps.size}\n radius={firstAvatarProps.radius}\n variant={firstAvatarProps.variant}\n color='neutral'\n fallback={`+${count}`}\n />\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["cva","styles","forwardRef","_jsx","Box","_jsxs","AvatarPrimitive.Root","clsx","AvatarPrimitive.Image","AvatarPrimitive.Fallback","getAvatarProps"],"mappings":"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"}
1
+ {"version":3,"file":"avatar.cjs","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { clsx } from 'clsx';\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n ReactElement,\n ReactNode,\n forwardRef,\n isValidElement\n} from 'react';\nimport { Box } from '../box';\nimport styles from './avatar.module.css';\nimport { AVATAR_COLORS } from './utils';\n\nconst avatar = cva(styles.avatar, {\n variants: {\n radius: {\n small: styles['avatar-small'],\n full: styles['avatar-full']\n },\n size: {\n 1: styles['avatar-size-1'],\n 2: styles['avatar-size-2'],\n 3: styles['avatar-size-3'],\n 4: styles['avatar-size-4'],\n 5: styles['avatar-size-5'],\n 6: styles['avatar-size-6'],\n 7: styles['avatar-size-7'],\n 8: styles['avatar-size-8'],\n 9: styles['avatar-size-9'],\n 10: styles['avatar-size-10'],\n 11: styles['avatar-size-11'],\n 12: styles['avatar-size-12'],\n 13: styles['avatar-size-13']\n },\n variant: {\n solid: styles['avatar-solid'],\n soft: styles['avatar-soft']\n },\n disabled: {\n true: styles['avatar-disabled']\n },\n color: {\n indigo: styles['avatar-color-indigo'],\n orange: styles['avatar-color-orange'],\n mint: styles['avatar-color-mint'],\n neutral: styles['avatar-color-neutral'],\n sky: styles['avatar-color-sky'],\n lime: styles['avatar-color-lime'],\n grass: styles['avatar-color-grass'],\n cyan: styles['avatar-color-cyan'],\n iris: styles['avatar-color-iris'],\n purple: styles['avatar-color-purple'],\n pink: styles['avatar-color-pink'],\n crimson: styles['avatar-color-crimson'],\n gold: styles['avatar-color-gold']\n }\n },\n compoundVariants: [\n {\n variant: 'solid',\n color: 'indigo',\n className: styles['avatar-solid-indigo']\n },\n {\n variant: 'solid',\n color: 'orange',\n className: styles['avatar-solid-orange']\n },\n { variant: 'solid', color: 'mint', className: styles['avatar-solid-mint'] },\n { variant: 'solid', color: 'sky', className: styles['avatar-solid-sky'] },\n { variant: 'solid', color: 'lime', className: styles['avatar-solid-lime'] },\n {\n variant: 'solid',\n color: 'grass',\n className: styles['avatar-solid-grass']\n },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n {\n variant: 'solid',\n color: 'purple',\n className: styles['avatar-solid-purple']\n },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n {\n variant: 'solid',\n color: 'crimson',\n className: styles['avatar-solid-crimson']\n },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n {\n variant: 'soft',\n color: 'indigo',\n className: styles['avatar-soft-indigo']\n },\n\n {\n variant: 'soft',\n color: 'orange',\n className: styles['avatar-soft-orange']\n },\n { variant: 'soft', color: 'mint', className: styles['avatar-soft-mint'] },\n { variant: 'soft', color: 'sky', className: styles['avatar-soft-sky'] },\n { variant: 'soft', color: 'lime', className: styles['avatar-soft-lime'] },\n { variant: 'soft', color: 'grass', className: styles['avatar-soft-grass'] },\n { variant: 'soft', color: 'cyan', className: styles['avatar-soft-cyan'] },\n { variant: 'soft', color: 'iris', className: styles['avatar-soft-iris'] },\n {\n variant: 'soft',\n color: 'purple',\n className: styles['avatar-soft-purple']\n },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n {\n variant: 'soft',\n color: 'crimson',\n className: styles['avatar-soft-crimson']\n },\n { variant: 'soft', color: 'gold', className: styles['avatar-soft-gold'] }\n ],\n defaultVariants: {\n size: 3,\n radius: 'small',\n variant: 'soft',\n color: 'indigo'\n }\n});\n\nconst image = cva(styles.image);\n\n/*\n * @desc Recursively get the avatar props even if it's\n * wrapped in another component like Tooltip, Flex, etc.\n */\nexport const getAvatarProps = (element: ReactElement): AvatarProps => {\n const { props } = element;\n\n if (element.type === Avatar) {\n return props;\n }\n\n if (props.children) {\n if (isValidElement(props.children)) {\n return getAvatarProps(props.children);\n }\n }\n return {};\n};\n\nexport interface AvatarProps\n extends ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatar> {\n size?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;\n src?: string;\n alt?: string;\n fallback?: ReactNode;\n variant?: 'solid' | 'soft';\n color?: AVATAR_COLORS;\n asChild?: boolean;\n className?: string;\n}\n\nconst AvatarRoot = forwardRef<\n ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>(\n (\n {\n className,\n alt,\n src,\n fallback,\n size,\n radius,\n variant,\n color,\n style,\n asChild,\n ...props\n },\n ref\n ) => (\n <Box className={styles.imageWrapper} style={style}>\n <AvatarPrimitive.Root\n ref={ref}\n className={clsx(avatar({ size, radius, variant, color }), className)}\n asChild={asChild}\n {...props}\n >\n <AvatarPrimitive.Image className={image()} src={src} alt={alt} />\n <AvatarPrimitive.Fallback className={styles.fallback}>\n {fallback}\n </AvatarPrimitive.Fallback>\n </AvatarPrimitive.Root>\n </Box>\n )\n);\n\nAvatarRoot.displayName = AvatarPrimitive.Root.displayName;\n\nexport const Avatar = AvatarRoot;\n\nexport interface AvatarGroupProps extends ComponentPropsWithoutRef<'div'> {\n children: React.ReactElement<AvatarProps>[];\n max?: number;\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n ({ children, max, className, ...props }, ref) => {\n const avatars = max ? children.slice(0, max) : children;\n const count = max && children.length > max ? children.length - max : 0;\n\n // Overflow avatar matches the first avatar styling\n const firstAvatarProps = getAvatarProps(avatars[0]);\n\n return (\n <div ref={ref} className={clsx(styles.avatarGroup, className)} {...props}>\n {avatars.map((avatar, index) => (\n <div key={index} className={styles.avatarWrapper}>\n {avatar}\n </div>\n ))}\n {count > 0 && (\n <div className={styles.avatarWrapper}>\n <Avatar\n size={firstAvatarProps.size}\n radius={firstAvatarProps.radius}\n variant={firstAvatarProps.variant}\n color='neutral'\n fallback={`+${count}`}\n />\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["cva","styles","isValidElement","forwardRef","_jsx","Box","_jsxs","AvatarPrimitive.Root","clsx","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
2
2
  import { VariantProps } from 'class-variance-authority';
3
- import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+ import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
4
4
  import { AVATAR_COLORS } from './utils';
5
5
  declare const avatar: (props?: ({
6
6
  radius?: "small" | "full" | null | undefined;
@@ -9,6 +9,7 @@ declare const avatar: (props?: ({
9
9
  disabled?: boolean | null | undefined;
10
10
  color?: "indigo" | "orange" | "mint" | "neutral" | "sky" | "lime" | "grass" | "cyan" | "iris" | "purple" | "pink" | "crimson" | "gold" | null | undefined;
11
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ export declare const getAvatarProps: (element: ReactElement) => AvatarProps;
12
13
  export interface AvatarProps extends ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>, VariantProps<typeof avatar> {
13
14
  size?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;
14
15
  src?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../v1/components/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,wBAAwB,EAExB,SAAS,EAEV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAExD,QAAA,MAAM,MAAM;;;;;;8EAiHV,CAAC;AAIH,MAAM,WAAW,WACf,SAAQ,wBAAwB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,EAC3D,YAAY,CAAC,OAAO,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD,eAAO,MAAM,MAAM,yGAAa,CAAC;AAEjC,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,WAAW,6GA6BvB,CAAC"}
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../v1/components/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,wBAAwB,EAExB,YAAY,EACZ,SAAS,EAGV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,QAAA,MAAM,MAAM;;;;;;8EAiHV,CAAC;AAQH,eAAO,MAAM,cAAc,YAAa,YAAY,KAAG,WAatD,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,wBAAwB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,EAC3D,YAAY,CAAC,OAAO,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD,eAAO,MAAM,MAAM,yGAAa,CAAC;AAEjC,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,WAAW,6GA6BvB,CAAC"}
@@ -2,10 +2,9 @@ import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/no
2
2
  import { Root as $cddcb0b647441e34$export$be92b6f5f03c0fe9, Image as $cddcb0b647441e34$export$3e431a229df88919, Fallback as $cddcb0b647441e34$export$fb8d7f40caaeea67 } from '../../node_modules/.pnpm/@radix-ui_react-avatar@1.0.3_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-avatar/dist/index.js';
3
3
  import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
4
  import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
5
- import { forwardRef } from 'react';
5
+ import { forwardRef, isValidElement } from 'react';
6
6
  import { Box } from '../box/box.js';
7
7
  import styles from './avatar.module.css.js';
8
- import { getAvatarProps } from './utils.js';
9
8
 
10
9
  const avatar = cva(styles.avatar, {
11
10
  variants: {
@@ -121,6 +120,22 @@ const avatar = cva(styles.avatar, {
121
120
  }
122
121
  });
123
122
  const image = cva(styles.image);
123
+ /*
124
+ * @desc Recursively get the avatar props even if it's
125
+ * wrapped in another component like Tooltip, Flex, etc.
126
+ */
127
+ const getAvatarProps = (element) => {
128
+ const { props } = element;
129
+ if (element.type === Avatar) {
130
+ return props;
131
+ }
132
+ if (props.children) {
133
+ if (isValidElement(props.children)) {
134
+ return getAvatarProps(props.children);
135
+ }
136
+ }
137
+ return {};
138
+ };
124
139
  const AvatarRoot = forwardRef(({ className, alt, src, fallback, size, radius, variant, color, style, asChild, ...props }, ref) => (jsxRuntimeExports.jsx(Box, { className: styles.imageWrapper, style: style, children: jsxRuntimeExports.jsxs($cddcb0b647441e34$export$be92b6f5f03c0fe9, { ref: ref, className: clsx(avatar({ size, radius, variant, color }), className), asChild: asChild, ...props, children: [jsxRuntimeExports.jsx($cddcb0b647441e34$export$3e431a229df88919, { className: image(), src: src, alt: alt }), jsxRuntimeExports.jsx($cddcb0b647441e34$export$fb8d7f40caaeea67, { className: styles.fallback, children: fallback })] }) })));
125
140
  AvatarRoot.displayName = $cddcb0b647441e34$export$be92b6f5f03c0fe9.displayName;
126
141
  const Avatar = AvatarRoot;
@@ -132,5 +147,5 @@ const AvatarGroup = forwardRef(({ children, max, className, ...props }, ref) =>
132
147
  return (jsxRuntimeExports.jsxs("div", { ref: ref, className: clsx(styles.avatarGroup, className), ...props, children: [avatars.map((avatar, index) => (jsxRuntimeExports.jsx("div", { className: styles.avatarWrapper, children: avatar }, index))), count > 0 && (jsxRuntimeExports.jsx("div", { className: styles.avatarWrapper, children: jsxRuntimeExports.jsx(Avatar, { size: firstAvatarProps.size, radius: firstAvatarProps.radius, variant: firstAvatarProps.variant, color: 'neutral', fallback: `+${count}` }) }))] }));
133
148
  });
134
149
 
135
- export { Avatar, AvatarGroup };
150
+ export { Avatar, AvatarGroup, getAvatarProps };
136
151
  //# sourceMappingURL=avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { clsx } from 'clsx';\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n ReactNode,\n forwardRef\n} from 'react';\nimport { Box } from '../box';\nimport styles from './avatar.module.css';\nimport { AVATAR_COLORS, getAvatarProps } from './utils';\n\nconst avatar = cva(styles.avatar, {\n variants: {\n radius: {\n small: styles['avatar-small'],\n full: styles['avatar-full']\n },\n size: {\n 1: styles['avatar-size-1'],\n 2: styles['avatar-size-2'],\n 3: styles['avatar-size-3'],\n 4: styles['avatar-size-4'],\n 5: styles['avatar-size-5'],\n 6: styles['avatar-size-6'],\n 7: styles['avatar-size-7'],\n 8: styles['avatar-size-8'],\n 9: styles['avatar-size-9'],\n 10: styles['avatar-size-10'],\n 11: styles['avatar-size-11'],\n 12: styles['avatar-size-12'],\n 13: styles['avatar-size-13']\n },\n variant: {\n solid: styles['avatar-solid'],\n soft: styles['avatar-soft']\n },\n disabled: {\n true: styles['avatar-disabled']\n },\n color: {\n indigo: styles['avatar-color-indigo'],\n orange: styles['avatar-color-orange'],\n mint: styles['avatar-color-mint'],\n neutral: styles['avatar-color-neutral'],\n sky: styles['avatar-color-sky'],\n lime: styles['avatar-color-lime'],\n grass: styles['avatar-color-grass'],\n cyan: styles['avatar-color-cyan'],\n iris: styles['avatar-color-iris'],\n purple: styles['avatar-color-purple'],\n pink: styles['avatar-color-pink'],\n crimson: styles['avatar-color-crimson'],\n gold: styles['avatar-color-gold']\n }\n },\n compoundVariants: [\n {\n variant: 'solid',\n color: 'indigo',\n className: styles['avatar-solid-indigo']\n },\n {\n variant: 'solid',\n color: 'orange',\n className: styles['avatar-solid-orange']\n },\n { variant: 'solid', color: 'mint', className: styles['avatar-solid-mint'] },\n { variant: 'solid', color: 'sky', className: styles['avatar-solid-sky'] },\n { variant: 'solid', color: 'lime', className: styles['avatar-solid-lime'] },\n {\n variant: 'solid',\n color: 'grass',\n className: styles['avatar-solid-grass']\n },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n {\n variant: 'solid',\n color: 'purple',\n className: styles['avatar-solid-purple']\n },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n {\n variant: 'solid',\n color: 'crimson',\n className: styles['avatar-solid-crimson']\n },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n {\n variant: 'soft',\n color: 'indigo',\n className: styles['avatar-soft-indigo']\n },\n\n {\n variant: 'soft',\n color: 'orange',\n className: styles['avatar-soft-orange']\n },\n { variant: 'soft', color: 'mint', className: styles['avatar-soft-mint'] },\n { variant: 'soft', color: 'sky', className: styles['avatar-soft-sky'] },\n { variant: 'soft', color: 'lime', className: styles['avatar-soft-lime'] },\n { variant: 'soft', color: 'grass', className: styles['avatar-soft-grass'] },\n { variant: 'soft', color: 'cyan', className: styles['avatar-soft-cyan'] },\n { variant: 'soft', color: 'iris', className: styles['avatar-soft-iris'] },\n {\n variant: 'soft',\n color: 'purple',\n className: styles['avatar-soft-purple']\n },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n {\n variant: 'soft',\n color: 'crimson',\n className: styles['avatar-soft-crimson']\n },\n { variant: 'soft', color: 'gold', className: styles['avatar-soft-gold'] }\n ],\n defaultVariants: {\n size: 3,\n radius: 'small',\n variant: 'soft',\n color: 'indigo'\n }\n});\n\nconst image = cva(styles.image);\n\nexport interface AvatarProps\n extends ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatar> {\n size?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;\n src?: string;\n alt?: string;\n fallback?: ReactNode;\n variant?: 'solid' | 'soft';\n color?: AVATAR_COLORS;\n asChild?: boolean;\n className?: string;\n}\n\nconst AvatarRoot = forwardRef<\n ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>(\n (\n {\n className,\n alt,\n src,\n fallback,\n size,\n radius,\n variant,\n color,\n style,\n asChild,\n ...props\n },\n ref\n ) => (\n <Box className={styles.imageWrapper} style={style}>\n <AvatarPrimitive.Root\n ref={ref}\n className={clsx(avatar({ size, radius, variant, color }), className)}\n asChild={asChild}\n {...props}\n >\n <AvatarPrimitive.Image className={image()} src={src} alt={alt} />\n <AvatarPrimitive.Fallback className={styles.fallback}>\n {fallback}\n </AvatarPrimitive.Fallback>\n </AvatarPrimitive.Root>\n </Box>\n )\n);\n\nAvatarRoot.displayName = AvatarPrimitive.Root.displayName;\n\nexport const Avatar = AvatarRoot;\n\nexport interface AvatarGroupProps extends ComponentPropsWithoutRef<'div'> {\n children: React.ReactElement<AvatarProps>[];\n max?: number;\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n ({ children, max, className, ...props }, ref) => {\n const avatars = max ? children.slice(0, max) : children;\n const count = max && children.length > max ? children.length - max : 0;\n\n // Overflow avatar matches the first avatar styling\n const firstAvatarProps = getAvatarProps(avatars[0]);\n\n return (\n <div ref={ref} className={clsx(styles.avatarGroup, className)} {...props}>\n {avatars.map((avatar, index) => (\n <div key={index} className={styles.avatarWrapper}>\n {avatar}\n </div>\n ))}\n {count > 0 && (\n <div className={styles.avatarWrapper}>\n <Avatar\n size={firstAvatarProps.size}\n radius={firstAvatarProps.radius}\n variant={firstAvatarProps.variant}\n color='neutral'\n fallback={`+${count}`}\n />\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["_jsx","_jsxs","AvatarPrimitive.Root","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
1
+ {"version":3,"file":"avatar.js","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { clsx } from 'clsx';\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n ReactElement,\n ReactNode,\n forwardRef,\n isValidElement\n} from 'react';\nimport { Box } from '../box';\nimport styles from './avatar.module.css';\nimport { AVATAR_COLORS } from './utils';\n\nconst avatar = cva(styles.avatar, {\n variants: {\n radius: {\n small: styles['avatar-small'],\n full: styles['avatar-full']\n },\n size: {\n 1: styles['avatar-size-1'],\n 2: styles['avatar-size-2'],\n 3: styles['avatar-size-3'],\n 4: styles['avatar-size-4'],\n 5: styles['avatar-size-5'],\n 6: styles['avatar-size-6'],\n 7: styles['avatar-size-7'],\n 8: styles['avatar-size-8'],\n 9: styles['avatar-size-9'],\n 10: styles['avatar-size-10'],\n 11: styles['avatar-size-11'],\n 12: styles['avatar-size-12'],\n 13: styles['avatar-size-13']\n },\n variant: {\n solid: styles['avatar-solid'],\n soft: styles['avatar-soft']\n },\n disabled: {\n true: styles['avatar-disabled']\n },\n color: {\n indigo: styles['avatar-color-indigo'],\n orange: styles['avatar-color-orange'],\n mint: styles['avatar-color-mint'],\n neutral: styles['avatar-color-neutral'],\n sky: styles['avatar-color-sky'],\n lime: styles['avatar-color-lime'],\n grass: styles['avatar-color-grass'],\n cyan: styles['avatar-color-cyan'],\n iris: styles['avatar-color-iris'],\n purple: styles['avatar-color-purple'],\n pink: styles['avatar-color-pink'],\n crimson: styles['avatar-color-crimson'],\n gold: styles['avatar-color-gold']\n }\n },\n compoundVariants: [\n {\n variant: 'solid',\n color: 'indigo',\n className: styles['avatar-solid-indigo']\n },\n {\n variant: 'solid',\n color: 'orange',\n className: styles['avatar-solid-orange']\n },\n { variant: 'solid', color: 'mint', className: styles['avatar-solid-mint'] },\n { variant: 'solid', color: 'sky', className: styles['avatar-solid-sky'] },\n { variant: 'solid', color: 'lime', className: styles['avatar-solid-lime'] },\n {\n variant: 'solid',\n color: 'grass',\n className: styles['avatar-solid-grass']\n },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n {\n variant: 'solid',\n color: 'purple',\n className: styles['avatar-solid-purple']\n },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n {\n variant: 'solid',\n color: 'crimson',\n className: styles['avatar-solid-crimson']\n },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n {\n variant: 'soft',\n color: 'indigo',\n className: styles['avatar-soft-indigo']\n },\n\n {\n variant: 'soft',\n color: 'orange',\n className: styles['avatar-soft-orange']\n },\n { variant: 'soft', color: 'mint', className: styles['avatar-soft-mint'] },\n { variant: 'soft', color: 'sky', className: styles['avatar-soft-sky'] },\n { variant: 'soft', color: 'lime', className: styles['avatar-soft-lime'] },\n { variant: 'soft', color: 'grass', className: styles['avatar-soft-grass'] },\n { variant: 'soft', color: 'cyan', className: styles['avatar-soft-cyan'] },\n { variant: 'soft', color: 'iris', className: styles['avatar-soft-iris'] },\n {\n variant: 'soft',\n color: 'purple',\n className: styles['avatar-soft-purple']\n },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n {\n variant: 'soft',\n color: 'crimson',\n className: styles['avatar-soft-crimson']\n },\n { variant: 'soft', color: 'gold', className: styles['avatar-soft-gold'] }\n ],\n defaultVariants: {\n size: 3,\n radius: 'small',\n variant: 'soft',\n color: 'indigo'\n }\n});\n\nconst image = cva(styles.image);\n\n/*\n * @desc Recursively get the avatar props even if it's\n * wrapped in another component like Tooltip, Flex, etc.\n */\nexport const getAvatarProps = (element: ReactElement): AvatarProps => {\n const { props } = element;\n\n if (element.type === Avatar) {\n return props;\n }\n\n if (props.children) {\n if (isValidElement(props.children)) {\n return getAvatarProps(props.children);\n }\n }\n return {};\n};\n\nexport interface AvatarProps\n extends ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatar> {\n size?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;\n src?: string;\n alt?: string;\n fallback?: ReactNode;\n variant?: 'solid' | 'soft';\n color?: AVATAR_COLORS;\n asChild?: boolean;\n className?: string;\n}\n\nconst AvatarRoot = forwardRef<\n ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>(\n (\n {\n className,\n alt,\n src,\n fallback,\n size,\n radius,\n variant,\n color,\n style,\n asChild,\n ...props\n },\n ref\n ) => (\n <Box className={styles.imageWrapper} style={style}>\n <AvatarPrimitive.Root\n ref={ref}\n className={clsx(avatar({ size, radius, variant, color }), className)}\n asChild={asChild}\n {...props}\n >\n <AvatarPrimitive.Image className={image()} src={src} alt={alt} />\n <AvatarPrimitive.Fallback className={styles.fallback}>\n {fallback}\n </AvatarPrimitive.Fallback>\n </AvatarPrimitive.Root>\n </Box>\n )\n);\n\nAvatarRoot.displayName = AvatarPrimitive.Root.displayName;\n\nexport const Avatar = AvatarRoot;\n\nexport interface AvatarGroupProps extends ComponentPropsWithoutRef<'div'> {\n children: React.ReactElement<AvatarProps>[];\n max?: number;\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n ({ children, max, className, ...props }, ref) => {\n const avatars = max ? children.slice(0, max) : children;\n const count = max && children.length > max ? children.length - max : 0;\n\n // Overflow avatar matches the first avatar styling\n const firstAvatarProps = getAvatarProps(avatars[0]);\n\n return (\n <div ref={ref} className={clsx(styles.avatarGroup, className)} {...props}>\n {avatars.map((avatar, index) => (\n <div key={index} className={styles.avatarWrapper}>\n {avatar}\n </div>\n ))}\n {count > 0 && (\n <div className={styles.avatarWrapper}>\n <Avatar\n size={firstAvatarProps.size}\n radius={firstAvatarProps.radius}\n variant={firstAvatarProps.variant}\n color='neutral'\n fallback={`+${count}`}\n />\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["_jsx","_jsxs","AvatarPrimitive.Root","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
@@ -1,46 +1,26 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var avatar = require('./avatar.cjs');
5
-
6
3
  const COLORS = [
7
- "indigo",
8
- "orange",
9
- "mint",
10
- "neutral",
11
- "sky",
12
- "lime",
13
- "grass",
14
- "cyan",
15
- "iris",
16
- "purple",
17
- "pink",
18
- "crimson",
19
- "gold",
4
+ 'indigo',
5
+ 'orange',
6
+ 'mint',
7
+ 'neutral',
8
+ 'sky',
9
+ 'lime',
10
+ 'grass',
11
+ 'cyan',
12
+ 'iris',
13
+ 'purple',
14
+ 'pink',
15
+ 'crimson',
16
+ 'gold'
20
17
  ];
21
18
  function getAvatarColor(str) {
22
- const hash = str.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
19
+ const hash = str.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
23
20
  const index = hash % COLORS.length;
24
21
  return COLORS[index];
25
22
  }
26
- /*
27
- * @desc Recursively get the avatar props even if it's
28
- * wrapped in another component like Tooltip, Flex, etc.
29
- */
30
- const getAvatarProps = (element) => {
31
- const { props } = element;
32
- if (element.type === avatar.Avatar) {
33
- return props;
34
- }
35
- if (props.children) {
36
- if (React.isValidElement(props.children)) {
37
- return getAvatarProps(props.children);
38
- }
39
- }
40
- return {};
41
- };
42
23
 
43
24
  exports.COLORS = COLORS;
44
25
  exports.getAvatarColor = getAvatarColor;
45
- exports.getAvatarProps = getAvatarProps;
46
26
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../../../../v1/components/avatar/utils.tsx"],"sourcesContent":["import { isValidElement, ReactElement } from \"react\";\nimport { Avatar } from \"./avatar\";\n\nimport { AvatarProps } from \"./avatar\";\n\nexport const COLORS = [\n \"indigo\",\n \"orange\",\n \"mint\",\n \"neutral\",\n \"sky\",\n \"lime\",\n \"grass\",\n \"cyan\",\n \"iris\",\n \"purple\",\n \"pink\",\n \"crimson\",\n \"gold\",\n] as const;\n\nexport type AVATAR_COLORS = typeof COLORS[number];\n\nexport function getAvatarColor(str: string): AVATAR_COLORS {\n const hash = str.split(\"\").reduce((acc, char) => acc + char.charCodeAt(0), 0);\n const index = hash % COLORS.length;\n return COLORS[index];\n}\n\n/*\n * @desc Recursively get the avatar props even if it's\n * wrapped in another component like Tooltip, Flex, etc.\n */ \nexport const getAvatarProps = (element: ReactElement): AvatarProps => {\n const { props } = element;\n\n if (element.type === Avatar) {\n return props;\n }\n \n if (props.children) {\n if (isValidElement(props.children)) {\n return getAvatarProps(props.children);\n }\n }\n return {};\n};"],"names":["Avatar","isValidElement"],"mappings":";;;;;AAKa,MAAA,MAAM,GAAG;IACpB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;EACG;AAIL,SAAU,cAAc,CAAC,GAAW,EAAA;AACxC,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;AAGG;AACU,MAAA,cAAc,GAAG,CAAC,OAAqB,KAAiB;AACnE,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAE1B,IAAA,IAAI,OAAO,CAAC,IAAI,KAAKA,aAAM,EAAE;AAC3B,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;AAClB,QAAA,IAAIC,oBAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAClC,YAAA,OAAO,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvC;KACF;AACD,IAAA,OAAO,EAAE,CAAC;AACZ;;;;;;"}
1
+ {"version":3,"file":"utils.cjs","sources":["../../../../v1/components/avatar/utils.tsx"],"sourcesContent":["export const COLORS = [\n 'indigo',\n 'orange',\n 'mint',\n 'neutral',\n 'sky',\n 'lime',\n 'grass',\n 'cyan',\n 'iris',\n 'purple',\n 'pink',\n 'crimson',\n 'gold'\n] as const;\n\nexport type AVATAR_COLORS = (typeof COLORS)[number];\n\nexport function getAvatarColor(str: string): AVATAR_COLORS {\n const hash = str.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);\n const index = hash % COLORS.length;\n return COLORS[index];\n}\n"],"names":[],"mappings":";;AAAa,MAAA,MAAM,GAAG;IACpB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;EACG;AAIL,SAAU,cAAc,CAAC,GAAW,EAAA;AACxC,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB;;;;;"}
@@ -1,7 +1,4 @@
1
- import { ReactElement } from "react";
2
- import { AvatarProps } from "./avatar";
3
1
  export declare const COLORS: readonly ["indigo", "orange", "mint", "neutral", "sky", "lime", "grass", "cyan", "iris", "purple", "pink", "crimson", "gold"];
4
- export type AVATAR_COLORS = typeof COLORS[number];
2
+ export type AVATAR_COLORS = (typeof COLORS)[number];
5
3
  export declare function getAvatarColor(str: string): AVATAR_COLORS;
6
- export declare const getAvatarProps: (element: ReactElement) => AvatarProps;
7
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../v1/components/avatar/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,MAAM,+HAcT,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAElD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIzD;AAMD,eAAO,MAAM,cAAc,YAAa,YAAY,KAAG,WAatD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../v1/components/avatar/utils.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,+HAcT,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIzD"}
@@ -1,42 +1,23 @@
1
- import { isValidElement } from 'react';
2
- import { Avatar } from './avatar.js';
3
-
4
1
  const COLORS = [
5
- "indigo",
6
- "orange",
7
- "mint",
8
- "neutral",
9
- "sky",
10
- "lime",
11
- "grass",
12
- "cyan",
13
- "iris",
14
- "purple",
15
- "pink",
16
- "crimson",
17
- "gold",
2
+ 'indigo',
3
+ 'orange',
4
+ 'mint',
5
+ 'neutral',
6
+ 'sky',
7
+ 'lime',
8
+ 'grass',
9
+ 'cyan',
10
+ 'iris',
11
+ 'purple',
12
+ 'pink',
13
+ 'crimson',
14
+ 'gold'
18
15
  ];
19
16
  function getAvatarColor(str) {
20
- const hash = str.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0);
17
+ const hash = str.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
21
18
  const index = hash % COLORS.length;
22
19
  return COLORS[index];
23
20
  }
24
- /*
25
- * @desc Recursively get the avatar props even if it's
26
- * wrapped in another component like Tooltip, Flex, etc.
27
- */
28
- const getAvatarProps = (element) => {
29
- const { props } = element;
30
- if (element.type === Avatar) {
31
- return props;
32
- }
33
- if (props.children) {
34
- if (isValidElement(props.children)) {
35
- return getAvatarProps(props.children);
36
- }
37
- }
38
- return {};
39
- };
40
21
 
41
- export { COLORS, getAvatarColor, getAvatarProps };
22
+ export { COLORS, getAvatarColor };
42
23
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../v1/components/avatar/utils.tsx"],"sourcesContent":["import { isValidElement, ReactElement } from \"react\";\nimport { Avatar } from \"./avatar\";\n\nimport { AvatarProps } from \"./avatar\";\n\nexport const COLORS = [\n \"indigo\",\n \"orange\",\n \"mint\",\n \"neutral\",\n \"sky\",\n \"lime\",\n \"grass\",\n \"cyan\",\n \"iris\",\n \"purple\",\n \"pink\",\n \"crimson\",\n \"gold\",\n] as const;\n\nexport type AVATAR_COLORS = typeof COLORS[number];\n\nexport function getAvatarColor(str: string): AVATAR_COLORS {\n const hash = str.split(\"\").reduce((acc, char) => acc + char.charCodeAt(0), 0);\n const index = hash % COLORS.length;\n return COLORS[index];\n}\n\n/*\n * @desc Recursively get the avatar props even if it's\n * wrapped in another component like Tooltip, Flex, etc.\n */ \nexport const getAvatarProps = (element: ReactElement): AvatarProps => {\n const { props } = element;\n\n if (element.type === Avatar) {\n return props;\n }\n \n if (props.children) {\n if (isValidElement(props.children)) {\n return getAvatarProps(props.children);\n }\n }\n return {};\n};"],"names":[],"mappings":";;;AAKa,MAAA,MAAM,GAAG;IACpB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;EACG;AAIL,SAAU,cAAc,CAAC,GAAW,EAAA;AACxC,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;AAGG;AACU,MAAA,cAAc,GAAG,CAAC,OAAqB,KAAiB;AACnE,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAE1B,IAAA,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AAC3B,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;AAClB,QAAA,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAClC,YAAA,OAAO,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvC;KACF;AACD,IAAA,OAAO,EAAE,CAAC;AACZ;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../v1/components/avatar/utils.tsx"],"sourcesContent":["export const COLORS = [\n 'indigo',\n 'orange',\n 'mint',\n 'neutral',\n 'sky',\n 'lime',\n 'grass',\n 'cyan',\n 'iris',\n 'purple',\n 'pink',\n 'crimson',\n 'gold'\n] as const;\n\nexport type AVATAR_COLORS = (typeof COLORS)[number];\n\nexport function getAvatarColor(str: string): AVATAR_COLORS {\n const hash = str.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);\n const index = hash % COLORS.length;\n return COLORS[index];\n}\n"],"names":[],"mappings":"AAAa,MAAA,MAAM,GAAG;IACpB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;EACG;AAIL,SAAU,cAAc,CAAC,GAAW,EAAA;AACxC,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACnC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB;;;;"}
@@ -7,7 +7,27 @@ var React = require('react');
7
7
  var dropdownMenu = require('../dropdown-menu/dropdown-menu.cjs');
8
8
  var breadcrumb_module = require('./breadcrumb.module.css.cjs');
9
9
 
10
- const breadcrumb = index.cva(breadcrumb_module.default['breadcrumb'], {
10
+ const BreadcrumbItem = ({ as = jsxRuntime.jsxRuntimeExports.jsx("a", {}), onItemClick, ...props }) => {
11
+ const { label, href, icon, dropdownItems, isActive } = props;
12
+ if (label === 'ellipsis') {
13
+ return (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-ellipsis'], children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.DotsHorizontalIcon, {}) }));
14
+ }
15
+ if (dropdownItems) {
16
+ return (jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu, { children: [jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu.Trigger, { className: breadcrumb_module.default['breadcrumb-dropdown-trigger'], children: [icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { children: label }), jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: breadcrumb_module.default['breadcrumb-dropdown-icon'] })] }), jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Content, { className: breadcrumb_module.default['breadcrumb-dropdown-content'], children: dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Item, { className: breadcrumb_module.default['breadcrumb-dropdown-item'], onSelect: () => onItemClick?.(dropdownItem), children: dropdownItem.label }, dropdownIndex))) })] }));
17
+ }
18
+ return React.cloneElement(as, {
19
+ className: index.cx(breadcrumb_module.default['breadcrumb-link'], isActive && breadcrumb_module.default['breadcrumb-link-active']),
20
+ onClick: (e) => {
21
+ if (onItemClick && href !== '#') {
22
+ e.preventDefault();
23
+ onItemClick(props);
24
+ }
25
+ },
26
+ href,
27
+ ...as.props
28
+ }, jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { children: label })] }));
29
+ };
30
+ const breadcrumbVariants = index.cva(breadcrumb_module.default['breadcrumb'], {
11
31
  variants: {
12
32
  size: {
13
33
  small: breadcrumb_module.default['breadcrumb-small'],
@@ -19,24 +39,20 @@ const breadcrumb = index.cva(breadcrumb_module.default['breadcrumb'], {
19
39
  }
20
40
  });
21
41
  const Breadcrumb = React.forwardRef(({ className, size = 'medium', items, maxVisibleItems, separator = '/', onItemClick, ...props }, ref) => {
22
- const visibleItems = maxVisibleItems && items.length > maxVisibleItems
23
- ? [
24
- ...items.slice(0, 1),
25
- { label: 'ellipsis', href: '#' },
26
- ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))
27
- ]
28
- : items;
29
- const renderItem = (item, index, isLast) => (jsxRuntime.jsxRuntimeExports.jsxs("li", { className: breadcrumb_module.default['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-ellipsis'], children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu, { children: [jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu.Trigger, { className: breadcrumb_module.default['breadcrumb-dropdown-trigger'], children: [item.icon && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: item.icon })), jsxRuntime.jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: breadcrumb_module.default['breadcrumb-dropdown-icon'] })] }), jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Content, { className: breadcrumb_module.default['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Item, { className: breadcrumb_module.default['breadcrumb-dropdown-item'], onClick: () => onItemClick &&
30
- onItemClick({
31
- label: dropdownItem.label,
32
- href: dropdownItem.href
33
- }), children: dropdownItem.label }, dropdownIndex))) })] })) : (jsxRuntime.jsxRuntimeExports.jsxs("a", { href: item.href, className: `${breadcrumb_module.default['breadcrumb-link']} ${isLast ? breadcrumb_module.default['breadcrumb-link-active'] : ''}`, onClick: e => {
34
- if (onItemClick && item.href !== '#') {
35
- e.preventDefault();
36
- onItemClick(item);
37
- }
38
- }, children: [item.icon && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: item.icon })), jsxRuntime.jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-separator'], children: separator }))] }, index));
39
- return (jsxRuntime.jsxRuntimeExports.jsx("nav", { className: breadcrumb({ size: size, className }), ref: ref, ...props, children: jsxRuntime.jsxRuntimeExports.jsx("ol", { className: breadcrumb_module.default['breadcrumb-list'], children: visibleItems.map((item, index) => renderItem(item, index, index === visibleItems.length - 1)) }) }));
42
+ const visibleItems = React.useMemo(() => {
43
+ if (maxVisibleItems && items.length > maxVisibleItems) {
44
+ return [
45
+ ...items.slice(0, 1),
46
+ { label: 'ellipsis', href: '#' },
47
+ ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))
48
+ ];
49
+ }
50
+ return items;
51
+ }, [maxVisibleItems, items]);
52
+ return (jsxRuntime.jsxRuntimeExports.jsx("nav", { className: breadcrumbVariants({ size, className }), ref: ref, ...props, children: jsxRuntime.jsxRuntimeExports.jsx("ol", { className: breadcrumb_module.default['breadcrumb-list'], children: visibleItems.map((item, index) => {
53
+ const isLast = index === visibleItems.length - 1;
54
+ return (jsxRuntime.jsxRuntimeExports.jsxs("li", { className: breadcrumb_module.default['breadcrumb-item'], children: [jsxRuntime.jsxRuntimeExports.jsx(BreadcrumbItem, { ...item, isActive: isLast, onItemClick: onItemClick }), !isLast && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-separator'], children: separator }))] }, index));
55
+ }) }) }));
40
56
  });
41
57
  Breadcrumb.displayName = 'Breadcrumb';
42
58
 
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.cjs","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport React, { forwardRef, PropsWithChildren } from 'react';\n\nimport { DropdownMenu } from '../dropdown-menu';\nimport styles from './breadcrumb.module.css';\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles['breadcrumb-small'],\n medium: styles['breadcrumb-medium']\n }\n },\n defaultVariants: {\n size: 'medium'\n }\n});\n\ntype BreadcrumbProps = PropsWithChildren<\n Omit<VariantProps<typeof breadcrumb>, 'size'>\n> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n (\n {\n className,\n size = 'medium',\n items,\n maxVisibleItems,\n separator = '/',\n onItemClick,\n ...props\n },\n ref\n ) => {\n const visibleItems =\n maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (\n item: BreadcrumbItem,\n index: number,\n isLast: boolean\n ) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger\n className={styles['breadcrumb-dropdown-trigger']}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content\n className={styles['breadcrumb-dropdown-content']}\n >\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item\n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onClick={() =>\n onItemClick &&\n onItemClick({\n label: dropdownItem.label,\n href: dropdownItem.href\n })\n }\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a\n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={e => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && (\n <span className={styles['breadcrumb-separator']}>{separator}</span>\n )}\n </li>\n );\n\n return (\n <nav\n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) =>\n renderItem(item, index, index === visibleItems.length - 1)\n )}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["cva","styles","forwardRef","_jsxs","_jsx","DotsHorizontalIcon","DropdownMenu","ChevronDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"breadcrumb.cjs","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';\nimport { type VariantProps, cva, cx } from 'class-variance-authority';\nimport {\n MouseEvent,\n ReactElement,\n cloneElement,\n forwardRef,\n useMemo\n} from 'react';\nimport { DropdownMenu } from '../dropdown-menu';\nimport styles from './breadcrumb.module.css';\n\ninterface BreadcrumbItemBase {\n label: string;\n href?: string;\n}\ninterface BreadcrumbItem extends BreadcrumbItemBase {\n icon?: React.ReactNode;\n dropdownItems?: BreadcrumbItemBase[];\n as?: ReactElement;\n}\n\ninterface BreadcrumbItemProps extends BreadcrumbItem {\n isActive: boolean;\n onItemClick?: (item: BreadcrumbItem) => void;\n}\n\nconst BreadcrumbItem = ({\n as = <a />,\n onItemClick,\n ...props\n}: BreadcrumbItemProps) => {\n const { label, href, icon, dropdownItems, isActive } = props;\n\n if (label === 'ellipsis') {\n return (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n );\n }\n if (dropdownItems) {\n return (\n <DropdownMenu>\n <DropdownMenu.Trigger className={styles['breadcrumb-dropdown-trigger']}>\n {icon && <span className={styles['breadcrumb-icon']}>{icon}</span>}\n <span>{label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className={styles['breadcrumb-dropdown-content']}>\n {dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item\n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onSelect={() => onItemClick?.(dropdownItem)}\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n );\n }\n return cloneElement(\n as,\n {\n className: cx(\n styles['breadcrumb-link'],\n isActive && styles['breadcrumb-link-active']\n ),\n onClick: (e: MouseEvent) => {\n if (onItemClick && href !== '#') {\n e.preventDefault();\n onItemClick(props);\n }\n },\n href,\n ...as.props\n },\n <>\n {icon && <span className={styles['breadcrumb-icon']}>{icon}</span>}\n <span>{label}</span>\n </>\n );\n};\n\nconst breadcrumbVariants = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles['breadcrumb-small'],\n medium: styles['breadcrumb-medium']\n }\n },\n defaultVariants: {\n size: 'medium'\n }\n});\n\ntype BreadcrumbProps = VariantProps<typeof breadcrumbVariants> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n (\n {\n className,\n size = 'medium',\n items,\n maxVisibleItems,\n separator = '/',\n onItemClick,\n ...props\n },\n ref\n ) => {\n const visibleItems = useMemo(() => {\n if (maxVisibleItems && items.length > maxVisibleItems) {\n return [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ];\n }\n return items;\n }, [maxVisibleItems, items]);\n\n return (\n <nav\n className={breadcrumbVariants({ size, className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) => {\n const isLast = index === visibleItems.length - 1;\n return (\n <li className={styles['breadcrumb-item']} key={index}>\n <BreadcrumbItem\n {...item}\n isActive={isLast}\n onItemClick={onItemClick}\n />\n {!isLast && (\n <span className={styles['breadcrumb-separator']}>\n {separator}\n </span>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["_jsx","styles","DotsHorizontalIcon","_jsxs","DropdownMenu","ChevronDownIcon","cloneElement","cx","cva","forwardRef","useMemo"],"mappings":"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"}
@@ -1,25 +1,28 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
- import React from 'react';
3
- interface BreadcrumbItem {
2
+ import { ReactElement } from 'react';
3
+ interface BreadcrumbItemBase {
4
4
  label: string;
5
- href: string;
5
+ href?: string;
6
+ }
7
+ interface BreadcrumbItem extends BreadcrumbItemBase {
6
8
  icon?: React.ReactNode;
7
- dropdownItems?: Array<{
8
- label: string;
9
- href: string;
10
- }>;
9
+ dropdownItems?: BreadcrumbItemBase[];
10
+ as?: ReactElement;
11
+ }
12
+ interface BreadcrumbItemProps extends BreadcrumbItem {
13
+ isActive: boolean;
14
+ onItemClick?: (item: BreadcrumbItem) => void;
11
15
  }
12
- export declare const Breadcrumb: React.ForwardRefExoticComponent<Omit<VariantProps<(props?: ({
16
+ declare const BreadcrumbItem: ({ as, onItemClick, ...props }: BreadcrumbItemProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const Breadcrumb: import("react").ForwardRefExoticComponent<VariantProps<(props?: ({
13
18
  size?: "small" | "medium" | null | undefined;
14
- } & import("class-variance-authority/types").ClassProp) | undefined) => string>, "size"> & {
15
- children?: React.ReactNode;
16
- } & {
19
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
17
20
  items: BreadcrumbItem[];
18
21
  maxVisibleItems?: number | undefined;
19
22
  separator?: React.ReactNode;
20
23
  onItemClick?: ((item: BreadcrumbItem) => void) | undefined;
21
24
  className?: string | undefined;
22
25
  size?: "small" | "medium" | undefined;
23
- } & React.RefAttributes<HTMLDivElement>>;
26
+ } & import("react").RefAttributes<HTMLDivElement>>;
24
27
  export {};
25
28
  //# sourceMappingURL=breadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAyBD,eAAO,MAAM,UAAU;;;;;WARd,cAAc,EAAE;;gBAEX,MAAM,SAAS;0BACN,cAAc,KAAK,IAAI;;;wCAyG7C,CAAC"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAEL,YAAY,EAIb,MAAM,OAAO,CAAC;AAIf,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,UAAU,cAAe,SAAQ,kBAAkB;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,EAAE,CAAC,EAAE,YAAY,CAAC;CACnB;AAED,UAAU,mBAAoB,SAAQ,cAAc;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CAC9C;AAED,QAAA,MAAM,cAAc,kCAIjB,mBAAmB,4CAqDrB,CAAC;AAuBF,eAAO,MAAM,UAAU;;;WARd,cAAc,EAAE;;gBAEX,MAAM,SAAS;0BACN,cAAc,KAAK,IAAI;;;kDAyD7C,CAAC"}