@raystack/apsara 0.44.1 → 0.44.3

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 (43) hide show
  1. package/dist/errorstate/errorstate.cjs +3 -0
  2. package/dist/errorstate/errorstate.cjs.map +1 -1
  3. package/dist/errorstate/errorstate.d.ts +3 -0
  4. package/dist/errorstate/errorstate.d.ts.map +1 -1
  5. package/dist/errorstate/errorstate.js +3 -0
  6. package/dist/errorstate/errorstate.js.map +1 -1
  7. package/dist/style.css +1 -1
  8. package/dist/textfield/textfield.cjs +3 -0
  9. package/dist/textfield/textfield.cjs.map +1 -1
  10. package/dist/textfield/textfield.d.ts +6 -0
  11. package/dist/textfield/textfield.d.ts.map +1 -1
  12. package/dist/textfield/textfield.js +3 -0
  13. package/dist/textfield/textfield.js.map +1 -1
  14. package/dist/v1/components/avatar/avatar.cjs +5 -2
  15. package/dist/v1/components/avatar/avatar.cjs.map +1 -1
  16. package/dist/v1/components/avatar/avatar.d.ts +1 -1
  17. package/dist/v1/components/avatar/avatar.d.ts.map +1 -1
  18. package/dist/v1/components/avatar/avatar.js +5 -2
  19. package/dist/v1/components/avatar/avatar.js.map +1 -1
  20. package/dist/v1/components/avatar/utils.cjs +20 -0
  21. package/dist/v1/components/avatar/utils.cjs.map +1 -1
  22. package/dist/v1/components/avatar/utils.d.ts +3 -0
  23. package/dist/v1/components/avatar/utils.d.ts.map +1 -1
  24. package/dist/v1/components/avatar/utils.js +20 -1
  25. package/dist/v1/components/avatar/utils.js.map +1 -1
  26. package/dist/v1/components/calendar/range-picker.cjs +16 -20
  27. package/dist/v1/components/calendar/range-picker.cjs.map +1 -1
  28. package/dist/v1/components/calendar/range-picker.js +16 -20
  29. package/dist/v1/components/calendar/range-picker.js.map +1 -1
  30. package/dist/v1/components/filter-chip/filter-chip.cjs +20 -7
  31. package/dist/v1/components/filter-chip/filter-chip.cjs.map +1 -1
  32. package/dist/v1/components/filter-chip/filter-chip.d.ts +7 -2
  33. package/dist/v1/components/filter-chip/filter-chip.d.ts.map +1 -1
  34. package/dist/v1/components/filter-chip/filter-chip.js +20 -7
  35. package/dist/v1/components/filter-chip/filter-chip.js.map +1 -1
  36. package/dist/v1/components/filter-chip/filter-chip.module.css.cjs +1 -1
  37. package/dist/v1/components/filter-chip/filter-chip.module.css.js +1 -1
  38. package/dist/v1/components/spinner/spinner.cjs +1 -1
  39. package/dist/v1/components/spinner/spinner.cjs.map +1 -1
  40. package/dist/v1/components/spinner/spinner.js +1 -1
  41. package/dist/v1/components/spinner/spinner.js.map +1 -1
  42. package/dist/v1/style.css +1 -1
  43. package/package.json +1 -1
@@ -27,6 +27,9 @@ const textfield = index.cva(textfield_module.default.textfield, {
27
27
  size: "small",
28
28
  },
29
29
  });
30
+ /**
31
+ * @deprecated Use InputField from '@raystack/apsara/v1' instead.
32
+ */
30
33
  const TextField = React.forwardRef(({ leading, trailing, className, src, size, state, style, iconClass, ...props }, ref) => {
31
34
  const hasLeadingElement = Boolean(leading);
32
35
  const hasTrailingElement = Boolean(trailing);
@@ -1 +1 @@
1
- {"version":3,"file":"textfield.cjs","sources":["../../textfield/textfield.tsx"],"sourcesContent":["import { cva, cx, VariantProps } from \"class-variance-authority\";\nimport { forwardRef, InputHTMLAttributes, PropsWithChildren } from \"react\";\nimport { Flex } from \"../flex\";\nimport styles from \"./textfield.module.css\";\n\nconst textfield = cva(styles.textfield, {\n variants: {\n size: {\n small: styles[\"textfield-sm\"],\n medium: styles[\"textfield-md\"],\n },\n\n state: {\n invalid: styles[\"textfield-invalid\"],\n valid: styles[\"textfield-valid\"],\n },\n\n hasLeadingElement: {\n true: styles[\"textfield-leading\"],\n },\n hasTrailingElement: {\n true: styles[\"textfield-trailing\"],\n },\n },\n defaultVariants: {\n size: \"small\",\n },\n});\n\nexport type TextfieldProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n> &\n PropsWithChildren<VariantProps<typeof textfield>> & {\n leading?: React.ReactElement;\n trailing?: React.ReactElement;\n iconClass?: { leadingIcon?: string; trailingIcon?: string };\n };\n\nexport const TextField = forwardRef<HTMLInputElement, TextfieldProps>(\n (\n {\n leading,\n trailing,\n className,\n src,\n size,\n state,\n style,\n iconClass,\n ...props\n },\n ref\n ) => {\n const hasLeadingElement = Boolean(leading);\n const hasTrailingElement = Boolean(trailing);\n\n return (\n <Flex align=\"center\" style={{ position: \"relative\", width: \"100%\" }}>\n {hasLeadingElement ? (\n <Flex\n style={{ left: \"8px\" }}\n className={cx(styles.leadingIcon, iconClass?.leadingIcon)}\n >\n {leading}\n </Flex>\n ) : null}\n\n <input\n className={cx(\n textfield({\n size,\n state,\n className,\n hasLeadingElement,\n hasTrailingElement,\n })\n )}\n {...props}\n ref={ref}\n />\n\n {hasTrailingElement ? (\n <Flex\n style={{ right: \"8px\" }}\n className={cx(styles.trailingIcon, iconClass?.trailingIcon)}\n >\n {trailing}\n </Flex>\n ) : null}\n </Flex>\n );\n }\n);\n\nTextField.displayName = \"TextField\";\n"],"names":["cva","styles","forwardRef","_jsxs","Flex","_jsx","cx"],"mappings":";;;;;;;;AAKA,MAAM,SAAS,GAAGA,SAAG,CAACC,wBAAM,CAAC,SAAS,EAAE;AACtC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAEA,wBAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,MAAM,EAAEA,wBAAM,CAAC,cAAc,CAAC;AAC/B,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAEA,wBAAM,CAAC,mBAAmB,CAAC;AACpC,YAAA,KAAK,EAAEA,wBAAM,CAAC,iBAAiB,CAAC;AACjC,SAAA;AAED,QAAA,iBAAiB,EAAE;AACjB,YAAA,IAAI,EAAEA,wBAAM,CAAC,mBAAmB,CAAC;AAClC,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAEA,wBAAM,CAAC,oBAAoB,CAAC;AACnC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,OAAO;AACd,KAAA;AACF,CAAA,CAAC,CAAC;AAYI,MAAM,SAAS,GAAGC,gBAAU,CACjC,CACE,EACE,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3C,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7C,IAAA,QACEC,iCAAA,CAACC,SAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAChE,iBAAiB,IAChBC,gCAAA,CAACD,SAAI,EAAA,EACH,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EACtB,SAAS,EAAEE,QAAE,CAACL,wBAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,EAExD,QAAA,EAAA,OAAO,EACH,CAAA,IACL,IAAI,EAERI,gCAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAEC,QAAE,CACX,SAAS,CAAC;oBACR,IAAI;oBACJ,KAAK;oBACL,SAAS;oBACT,iBAAiB;oBACjB,kBAAkB;iBACnB,CAAC,CACH,KACG,KAAK,EACT,GAAG,EAAE,GAAG,GACR,EAED,kBAAkB,IACjBD,gCAAC,CAAAD,SAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACvB,SAAS,EAAEE,QAAE,CAACL,wBAAM,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAE1D,QAAA,EAAA,QAAQ,GACJ,IACL,IAAI,CACH,EAAA,CAAA,EACP;AACJ,CAAC,EACD;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
1
+ {"version":3,"file":"textfield.cjs","sources":["../../textfield/textfield.tsx"],"sourcesContent":["import { cva, cx, VariantProps } from \"class-variance-authority\";\nimport { forwardRef, InputHTMLAttributes, PropsWithChildren } from \"react\";\nimport { Flex } from \"../flex\";\nimport styles from \"./textfield.module.css\";\n\nconst textfield = cva(styles.textfield, {\n variants: {\n size: {\n small: styles[\"textfield-sm\"],\n medium: styles[\"textfield-md\"],\n },\n\n state: {\n invalid: styles[\"textfield-invalid\"],\n valid: styles[\"textfield-valid\"],\n },\n\n hasLeadingElement: {\n true: styles[\"textfield-leading\"],\n },\n hasTrailingElement: {\n true: styles[\"textfield-trailing\"],\n },\n },\n defaultVariants: {\n size: \"small\",\n },\n});\n\n/**\n * @deprecated Use InputFieldProps from '@raystack/apsara/v1' instead.\n */\nexport type TextfieldProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n> &\n PropsWithChildren<VariantProps<typeof textfield>> & {\n leading?: React.ReactElement;\n trailing?: React.ReactElement;\n iconClass?: { leadingIcon?: string; trailingIcon?: string };\n };\n\n/**\n * @deprecated Use InputField from '@raystack/apsara/v1' instead.\n */\nexport const TextField = forwardRef<HTMLInputElement, TextfieldProps>(\n (\n {\n leading,\n trailing,\n className,\n src,\n size,\n state,\n style,\n iconClass,\n ...props\n },\n ref\n ) => {\n const hasLeadingElement = Boolean(leading);\n const hasTrailingElement = Boolean(trailing);\n\n return (\n <Flex align=\"center\" style={{ position: \"relative\", width: \"100%\" }}>\n {hasLeadingElement ? (\n <Flex\n style={{ left: \"8px\" }}\n className={cx(styles.leadingIcon, iconClass?.leadingIcon)}\n >\n {leading}\n </Flex>\n ) : null}\n\n <input\n className={cx(\n textfield({\n size,\n state,\n className,\n hasLeadingElement,\n hasTrailingElement,\n })\n )}\n {...props}\n ref={ref}\n />\n\n {hasTrailingElement ? (\n <Flex\n style={{ right: \"8px\" }}\n className={cx(styles.trailingIcon, iconClass?.trailingIcon)}\n >\n {trailing}\n </Flex>\n ) : null}\n </Flex>\n );\n }\n);\n\nTextField.displayName = \"TextField\";\n"],"names":["cva","styles","forwardRef","_jsxs","Flex","_jsx","cx"],"mappings":";;;;;;;;AAKA,MAAM,SAAS,GAAGA,SAAG,CAACC,wBAAM,CAAC,SAAS,EAAE;AACtC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAEA,wBAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,MAAM,EAAEA,wBAAM,CAAC,cAAc,CAAC;AAC/B,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAEA,wBAAM,CAAC,mBAAmB,CAAC;AACpC,YAAA,KAAK,EAAEA,wBAAM,CAAC,iBAAiB,CAAC;AACjC,SAAA;AAED,QAAA,iBAAiB,EAAE;AACjB,YAAA,IAAI,EAAEA,wBAAM,CAAC,mBAAmB,CAAC;AAClC,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAEA,wBAAM,CAAC,oBAAoB,CAAC;AACnC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,OAAO;AACd,KAAA;AACF,CAAA,CAAC,CAAC;AAeH;;AAEG;AACI,MAAM,SAAS,GAAGC,gBAAU,CACjC,CACE,EACE,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3C,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7C,IAAA,QACEC,iCAAA,CAACC,SAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAChE,iBAAiB,IAChBC,gCAAA,CAACD,SAAI,EAAA,EACH,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EACtB,SAAS,EAAEE,QAAE,CAACL,wBAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,EAExD,QAAA,EAAA,OAAO,EACH,CAAA,IACL,IAAI,EAERI,gCAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAEC,QAAE,CACX,SAAS,CAAC;oBACR,IAAI;oBACJ,KAAK;oBACL,SAAS;oBACT,iBAAiB;oBACjB,kBAAkB;iBACnB,CAAC,CACH,KACG,KAAK,EACT,GAAG,EAAE,GAAG,GACR,EAED,kBAAkB,IACjBD,gCAAC,CAAAD,SAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACvB,SAAS,EAAEE,QAAE,CAACL,wBAAM,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAE1D,QAAA,EAAA,QAAQ,GACJ,IACL,IAAI,CACH,EAAA,CAAA,EACP;AACJ,CAAC,EACD;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
@@ -6,6 +6,9 @@ declare const textfield: (props?: ({
6
6
  hasLeadingElement?: boolean | null | undefined;
7
7
  hasTrailingElement?: boolean | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ /**
10
+ * @deprecated Use InputFieldProps from '@raystack/apsara/v1' instead.
11
+ */
9
12
  export type TextfieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & PropsWithChildren<VariantProps<typeof textfield>> & {
10
13
  leading?: React.ReactElement;
11
14
  trailing?: React.ReactElement;
@@ -14,6 +17,9 @@ export type TextfieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size">
14
17
  trailingIcon?: string;
15
18
  };
16
19
  };
20
+ /**
21
+ * @deprecated Use InputField from '@raystack/apsara/v1' instead.
22
+ */
17
23
  export declare const TextField: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<(props?: ({
18
24
  size?: "small" | "medium" | null | undefined;
19
25
  state?: "invalid" | "valid" | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"textfield.d.ts","sourceRoot":"","sources":["../../textfield/textfield.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAc,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI3E,QAAA,MAAM,SAAS;;;;;8EAsBb,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,CACP,GACC,iBAAiB,CAAC,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC,GAAG;IAClD,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,SAAS,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D,CAAC;AAEJ,eAAO,MAAM,SAAS;;;;;;;;;;;;;;oDAsDrB,CAAC"}
1
+ {"version":3,"file":"textfield.d.ts","sourceRoot":"","sources":["../../textfield/textfield.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAc,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI3E,QAAA,MAAM,SAAS;;;;;8EAsBb,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,CACP,GACC,iBAAiB,CAAC,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC,GAAG;IAClD,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,SAAS,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;oDAsDrB,CAAC"}
@@ -25,6 +25,9 @@ const textfield = cva(styles.textfield, {
25
25
  size: "small",
26
26
  },
27
27
  });
28
+ /**
29
+ * @deprecated Use InputField from '@raystack/apsara/v1' instead.
30
+ */
28
31
  const TextField = forwardRef(({ leading, trailing, className, src, size, state, style, iconClass, ...props }, ref) => {
29
32
  const hasLeadingElement = Boolean(leading);
30
33
  const hasTrailingElement = Boolean(trailing);
@@ -1 +1 @@
1
- {"version":3,"file":"textfield.js","sources":["../../textfield/textfield.tsx"],"sourcesContent":["import { cva, cx, VariantProps } from \"class-variance-authority\";\nimport { forwardRef, InputHTMLAttributes, PropsWithChildren } from \"react\";\nimport { Flex } from \"../flex\";\nimport styles from \"./textfield.module.css\";\n\nconst textfield = cva(styles.textfield, {\n variants: {\n size: {\n small: styles[\"textfield-sm\"],\n medium: styles[\"textfield-md\"],\n },\n\n state: {\n invalid: styles[\"textfield-invalid\"],\n valid: styles[\"textfield-valid\"],\n },\n\n hasLeadingElement: {\n true: styles[\"textfield-leading\"],\n },\n hasTrailingElement: {\n true: styles[\"textfield-trailing\"],\n },\n },\n defaultVariants: {\n size: \"small\",\n },\n});\n\nexport type TextfieldProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n> &\n PropsWithChildren<VariantProps<typeof textfield>> & {\n leading?: React.ReactElement;\n trailing?: React.ReactElement;\n iconClass?: { leadingIcon?: string; trailingIcon?: string };\n };\n\nexport const TextField = forwardRef<HTMLInputElement, TextfieldProps>(\n (\n {\n leading,\n trailing,\n className,\n src,\n size,\n state,\n style,\n iconClass,\n ...props\n },\n ref\n ) => {\n const hasLeadingElement = Boolean(leading);\n const hasTrailingElement = Boolean(trailing);\n\n return (\n <Flex align=\"center\" style={{ position: \"relative\", width: \"100%\" }}>\n {hasLeadingElement ? (\n <Flex\n style={{ left: \"8px\" }}\n className={cx(styles.leadingIcon, iconClass?.leadingIcon)}\n >\n {leading}\n </Flex>\n ) : null}\n\n <input\n className={cx(\n textfield({\n size,\n state,\n className,\n hasLeadingElement,\n hasTrailingElement,\n })\n )}\n {...props}\n ref={ref}\n />\n\n {hasTrailingElement ? (\n <Flex\n style={{ right: \"8px\" }}\n className={cx(styles.trailingIcon, iconClass?.trailingIcon)}\n >\n {trailing}\n </Flex>\n ) : null}\n </Flex>\n );\n }\n);\n\nTextField.displayName = \"TextField\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAKA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;AACtC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;AAC/B,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACpC,YAAA,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC;AACjC,SAAA;AAED,QAAA,iBAAiB,EAAE;AACjB,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AAClC,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACnC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,OAAO;AACd,KAAA;AACF,CAAA,CAAC,CAAC;AAYI,MAAM,SAAS,GAAG,UAAU,CACjC,CACE,EACE,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3C,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7C,IAAA,QACEA,sBAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAChE,iBAAiB,IAChBC,qBAAA,CAAC,IAAI,EAAA,EACH,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EACtB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,EAExD,QAAA,EAAA,OAAO,EACH,CAAA,IACL,IAAI,EAERA,qBAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,SAAS,CAAC;oBACR,IAAI;oBACJ,KAAK;oBACL,SAAS;oBACT,iBAAiB;oBACjB,kBAAkB;iBACnB,CAAC,CACH,KACG,KAAK,EACT,GAAG,EAAE,GAAG,GACR,EAED,kBAAkB,IACjBA,qBAAC,CAAA,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACvB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAE1D,QAAA,EAAA,QAAQ,GACJ,IACL,IAAI,CACH,EAAA,CAAA,EACP;AACJ,CAAC,EACD;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
1
+ {"version":3,"file":"textfield.js","sources":["../../textfield/textfield.tsx"],"sourcesContent":["import { cva, cx, VariantProps } from \"class-variance-authority\";\nimport { forwardRef, InputHTMLAttributes, PropsWithChildren } from \"react\";\nimport { Flex } from \"../flex\";\nimport styles from \"./textfield.module.css\";\n\nconst textfield = cva(styles.textfield, {\n variants: {\n size: {\n small: styles[\"textfield-sm\"],\n medium: styles[\"textfield-md\"],\n },\n\n state: {\n invalid: styles[\"textfield-invalid\"],\n valid: styles[\"textfield-valid\"],\n },\n\n hasLeadingElement: {\n true: styles[\"textfield-leading\"],\n },\n hasTrailingElement: {\n true: styles[\"textfield-trailing\"],\n },\n },\n defaultVariants: {\n size: \"small\",\n },\n});\n\n/**\n * @deprecated Use InputFieldProps from '@raystack/apsara/v1' instead.\n */\nexport type TextfieldProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n> &\n PropsWithChildren<VariantProps<typeof textfield>> & {\n leading?: React.ReactElement;\n trailing?: React.ReactElement;\n iconClass?: { leadingIcon?: string; trailingIcon?: string };\n };\n\n/**\n * @deprecated Use InputField from '@raystack/apsara/v1' instead.\n */\nexport const TextField = forwardRef<HTMLInputElement, TextfieldProps>(\n (\n {\n leading,\n trailing,\n className,\n src,\n size,\n state,\n style,\n iconClass,\n ...props\n },\n ref\n ) => {\n const hasLeadingElement = Boolean(leading);\n const hasTrailingElement = Boolean(trailing);\n\n return (\n <Flex align=\"center\" style={{ position: \"relative\", width: \"100%\" }}>\n {hasLeadingElement ? (\n <Flex\n style={{ left: \"8px\" }}\n className={cx(styles.leadingIcon, iconClass?.leadingIcon)}\n >\n {leading}\n </Flex>\n ) : null}\n\n <input\n className={cx(\n textfield({\n size,\n state,\n className,\n hasLeadingElement,\n hasTrailingElement,\n })\n )}\n {...props}\n ref={ref}\n />\n\n {hasTrailingElement ? (\n <Flex\n style={{ right: \"8px\" }}\n className={cx(styles.trailingIcon, iconClass?.trailingIcon)}\n >\n {trailing}\n </Flex>\n ) : null}\n </Flex>\n );\n }\n);\n\nTextField.displayName = \"TextField\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAKA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;AACtC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;AAC/B,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACpC,YAAA,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC;AACjC,SAAA;AAED,QAAA,iBAAiB,EAAE;AACjB,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AAClC,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACnC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,OAAO;AACd,KAAA;AACF,CAAA,CAAC,CAAC;AAeH;;AAEG;AACI,MAAM,SAAS,GAAG,UAAU,CACjC,CACE,EACE,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3C,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7C,IAAA,QACEA,sBAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CAChE,iBAAiB,IAChBC,qBAAA,CAAC,IAAI,EAAA,EACH,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EACtB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,EAExD,QAAA,EAAA,OAAO,EACH,CAAA,IACL,IAAI,EAERA,qBAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,SAAS,CAAC;oBACR,IAAI;oBACJ,KAAK;oBACL,SAAS;oBACT,iBAAiB;oBACjB,kBAAkB;iBACnB,CAAC,CACH,KACG,KAAK,EACT,GAAG,EAAE,GAAG,GACR,EAED,kBAAkB,IACjBA,qBAAC,CAAA,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACvB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAE1D,QAAA,EAAA,QAAQ,GACJ,IACL,IAAI,CACH,EAAA,CAAA,EACP;AACJ,CAAC,EACD;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
+ var React = require('react');
4
5
  var index = require('../../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.cjs');
5
6
  var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
7
  var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
7
- var React = require('react');
8
+ var utils = require('./utils.cjs');
8
9
  var box = require('../box/box.cjs');
9
10
  var avatar_module = require('./avatar.module.css.cjs');
10
11
 
@@ -92,7 +93,9 @@ const Avatar = AvatarRoot;
92
93
  const AvatarGroup = React.forwardRef(({ children, max, className, ...props }, ref) => {
93
94
  const avatars = max ? children.slice(0, max) : children;
94
95
  const count = max && children.length > max ? children.length - max : 0;
95
- 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: avatars[0].props.size, radius: avatars[0].props.radius, variant: avatars[0].props.variant, color: 'neutral', fallback: jsxRuntime.jsxRuntimeExports.jsxs("span", { children: ["+", count] }) }) }))] }));
96
+ // Overflow avatar matches the first avatar styling
97
+ const firstAvatarProps = utils.getAvatarProps(avatars[0]);
98
+ 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}` }) }))] }));
96
99
  });
97
100
  AvatarGroup.displayName = 'AvatarGroup';
98
101
 
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.cjs","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { clsx } from 'clsx';\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n forwardRef,\n ReactNode,\n} from \"react\";\n\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 { variant: 'solid', color: 'indigo', className: styles['avatar-solid-indigo'] },\n { variant: 'solid', color: 'orange', className: styles['avatar-solid-orange'] },\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 { variant: 'solid', color: 'grass', className: styles['avatar-solid-grass'] },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n { variant: 'solid', color: 'purple', className: styles['avatar-solid-purple'] },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n { variant: 'solid', color: 'crimson', className: styles['avatar-solid-crimson'] },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n { variant: 'soft', color: 'indigo', className: styles['avatar-soft-indigo'] },\n { variant: 'soft', color: 'orange', className: styles['avatar-soft-orange'] },\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 { variant: 'soft', color: 'purple', className: styles['avatar-soft-purple'] },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n { variant: 'soft', color: 'crimson', className: styles['avatar-soft-crimson'] },\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 { className, alt, src, fallback, size, radius, variant, color, style, asChild, ...props },\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\n className={image()}\n src={src}\n alt={alt}\n />\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 return (\n <div\n ref={ref}\n className={clsx(styles.avatarGroup, className)}\n {...props}\n >\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={avatars[0].props.size}\n radius={avatars[0].props.radius}\n variant={avatars[0].props.variant}\n color='neutral'\n fallback={<span>+{count}</span>}\n />\n </div>\n )}\n </div>\n );\n }\n);\n\nAvatarGroup.displayName = 'AvatarGroup';\n"],"names":["cva","styles","forwardRef","_jsx","Box","_jsxs","AvatarPrimitive.Root","clsx","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
1
+ {"version":3,"file":"avatar.cjs","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ElementRef,\n forwardRef,\n ReactNode\n} from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { clsx } from 'clsx';\n\nimport {AVATAR_COLORS, getAvatarProps} from './utils'\nimport { Box } from \"../box\";\nimport styles from \"./avatar.module.css\";\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 { variant: 'solid', color: 'indigo', className: styles['avatar-solid-indigo'] },\n { variant: 'solid', color: 'orange', className: styles['avatar-solid-orange'] },\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 { variant: 'solid', color: 'grass', className: styles['avatar-solid-grass'] },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n { variant: 'solid', color: 'purple', className: styles['avatar-solid-purple'] },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n { variant: 'solid', color: 'crimson', className: styles['avatar-solid-crimson'] },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n { variant: 'soft', color: 'indigo', className: styles['avatar-soft-indigo'] },\n { variant: 'soft', color: 'orange', className: styles['avatar-soft-orange'] },\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 { variant: 'soft', color: 'purple', className: styles['avatar-soft-purple'] },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n { variant: 'soft', color: 'crimson', className: styles['avatar-soft-crimson'] },\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 { className, alt, src, fallback, size, radius, variant, color, style, asChild, ...props },\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\n className={image()}\n src={src}\n alt={alt}\n />\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\n ref={ref}\n className={clsx(styles.avatarGroup, className)}\n {...props}\n >\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\nAvatarGroup.displayName = 'AvatarGroup';\n"],"names":["cva","styles","forwardRef","_jsx","Box","_jsxs","AvatarPrimitive.Root","clsx","AvatarPrimitive.Image","AvatarPrimitive.Fallback","getAvatarProps"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
1
2
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
2
3
  import { VariantProps } from "class-variance-authority";
3
- import { ComponentPropsWithoutRef, ReactNode } from "react";
4
4
  import { AVATAR_COLORS } from './utils';
5
5
  declare const avatar: (props?: ({
6
6
  radius?: "small" | "full" | null | undefined;
@@ -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,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,wBAAwB,EAGxB,SAAS,EACV,MAAM,OAAO,CAAC;AAIf,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAA;AAErC,QAAA,MAAM,MAAM;;;;;;8EA4EV,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;AAgCD,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,6GA8BvB,CAAC"}
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../v1/components/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAGxB,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAC,aAAa,EAAiB,MAAM,SAAS,CAAA;AAIrD,QAAA,MAAM,MAAM;;;;;;8EA4EV,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;AAgCD,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,6GAiCvB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
2
+ import { forwardRef } from 'react';
2
3
  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
4
  import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
5
  import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
5
- import { forwardRef } from 'react';
6
+ import { getAvatarProps } from './utils.js';
6
7
  import { Box } from '../box/box.js';
7
8
  import styles from './avatar.module.css.js';
8
9
 
@@ -90,7 +91,9 @@ const Avatar = AvatarRoot;
90
91
  const AvatarGroup = forwardRef(({ children, max, className, ...props }, ref) => {
91
92
  const avatars = max ? children.slice(0, max) : children;
92
93
  const count = max && children.length > max ? children.length - max : 0;
93
- 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: avatars[0].props.size, radius: avatars[0].props.radius, variant: avatars[0].props.variant, color: 'neutral', fallback: jsxRuntimeExports.jsxs("span", { children: ["+", count] }) }) }))] }));
94
+ // Overflow avatar matches the first avatar styling
95
+ const firstAvatarProps = getAvatarProps(avatars[0]);
96
+ 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}` }) }))] }));
94
97
  });
95
98
  AvatarGroup.displayName = 'AvatarGroup';
96
99
 
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../../../v1/components/avatar/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { clsx } from 'clsx';\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n forwardRef,\n ReactNode,\n} from \"react\";\n\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 { variant: 'solid', color: 'indigo', className: styles['avatar-solid-indigo'] },\n { variant: 'solid', color: 'orange', className: styles['avatar-solid-orange'] },\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 { variant: 'solid', color: 'grass', className: styles['avatar-solid-grass'] },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n { variant: 'solid', color: 'purple', className: styles['avatar-solid-purple'] },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n { variant: 'solid', color: 'crimson', className: styles['avatar-solid-crimson'] },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n { variant: 'soft', color: 'indigo', className: styles['avatar-soft-indigo'] },\n { variant: 'soft', color: 'orange', className: styles['avatar-soft-orange'] },\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 { variant: 'soft', color: 'purple', className: styles['avatar-soft-purple'] },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n { variant: 'soft', color: 'crimson', className: styles['avatar-soft-crimson'] },\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 { className, alt, src, fallback, size, radius, variant, color, style, asChild, ...props },\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\n className={image()}\n src={src}\n alt={alt}\n />\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 return (\n <div\n ref={ref}\n className={clsx(styles.avatarGroup, className)}\n {...props}\n >\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={avatars[0].props.size}\n radius={avatars[0].props.radius}\n variant={avatars[0].props.variant}\n color='neutral'\n fallback={<span>+{count}</span>}\n />\n </div>\n )}\n </div>\n );\n }\n);\n\nAvatarGroup.displayName = 'AvatarGroup';\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 {\n ComponentPropsWithoutRef,\n ElementRef,\n forwardRef,\n ReactNode\n} from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { clsx } from 'clsx';\n\nimport {AVATAR_COLORS, getAvatarProps} from './utils'\nimport { Box } from \"../box\";\nimport styles from \"./avatar.module.css\";\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 { variant: 'solid', color: 'indigo', className: styles['avatar-solid-indigo'] },\n { variant: 'solid', color: 'orange', className: styles['avatar-solid-orange'] },\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 { variant: 'solid', color: 'grass', className: styles['avatar-solid-grass'] },\n { variant: 'solid', color: 'cyan', className: styles['avatar-solid-cyan'] },\n { variant: 'solid', color: 'iris', className: styles['avatar-solid-iris'] },\n { variant: 'solid', color: 'purple', className: styles['avatar-solid-purple'] },\n { variant: 'solid', color: 'pink', className: styles['avatar-solid-pink'] },\n { variant: 'solid', color: 'crimson', className: styles['avatar-solid-crimson'] },\n { variant: 'solid', color: 'gold', className: styles['avatar-solid-gold'] },\n { variant: 'soft', color: 'indigo', className: styles['avatar-soft-indigo'] },\n { variant: 'soft', color: 'orange', className: styles['avatar-soft-orange'] },\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 { variant: 'soft', color: 'purple', className: styles['avatar-soft-purple'] },\n { variant: 'soft', color: 'pink', className: styles['avatar-soft-pink'] },\n { variant: 'soft', color: 'crimson', className: styles['avatar-soft-crimson'] },\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 { className, alt, src, fallback, size, radius, variant, color, style, asChild, ...props },\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\n className={image()}\n src={src}\n alt={alt}\n />\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\n ref={ref}\n className={clsx(styles.avatarGroup, className)}\n {...props}\n >\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\nAvatarGroup.displayName = 'AvatarGroup';\n"],"names":["_jsx","_jsxs","AvatarPrimitive.Root","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ var React = require('react');
4
+ var avatar = require('./avatar.cjs');
5
+
3
6
  const COLORS = [
4
7
  "indigo",
5
8
  "orange",
@@ -20,7 +23,24 @@ function getAvatarColor(str) {
20
23
  const index = hash % COLORS.length;
21
24
  return COLORS[index];
22
25
  }
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
+ };
23
42
 
24
43
  exports.COLORS = COLORS;
25
44
  exports.getAvatarColor = getAvatarColor;
45
+ exports.getAvatarProps = getAvatarProps;
26
46
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
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
+ {"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,4 +1,7 @@
1
+ import { ReactElement } from "react";
2
+ import { AvatarProps } from "./avatar";
1
3
  export declare const COLORS: readonly ["indigo", "orange", "mint", "neutral", "sky", "lime", "grass", "cyan", "iris", "purple", "pink", "crimson", "gold"];
2
4
  export type AVATAR_COLORS = typeof COLORS[number];
3
5
  export declare function getAvatarColor(str: string): AVATAR_COLORS;
6
+ export declare const getAvatarProps: (element: ReactElement) => AvatarProps;
4
7
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
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,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAElD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIzD"}
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,3 +1,6 @@
1
+ import { isValidElement } from 'react';
2
+ import { Avatar } from './avatar.js';
3
+
1
4
  const COLORS = [
2
5
  "indigo",
3
6
  "orange",
@@ -18,6 +21,22 @@ function getAvatarColor(str) {
18
21
  const index = hash % COLORS.length;
19
22
  return COLORS[index];
20
23
  }
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
+ };
21
40
 
22
- export { COLORS, getAvatarColor };
41
+ export { COLORS, getAvatarColor, getAvatarProps };
23
42
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
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;;;;"}
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;;;;"}
@@ -23,30 +23,26 @@ function RangePicker({ side = "top", dateFormat = "DD/MM/YYYY", inputFieldsProps
23
23
  // 2nd click will select the end date.
24
24
  // 3rd click will select the start date again.
25
25
  const handleSelect = (range, selectedDay) => {
26
- const from = selectedRange?.from || range?.from;
26
+ // TODO: Remove custom logic and reuse the default logic from react-day-picker
27
27
  let newRange;
28
- if (currentRangeField === "to") {
29
- if (dayjs_min.default(selectedDay).isSame(dayjs_min.default(from), 'day')) {
30
- // If same date is clicked twice, set end date to the same date for UI
31
- newRange = {
32
- from,
33
- to: selectedDay
34
- };
35
- }
36
- else if (dayjs_min.default(selectedDay).isAfter(dayjs_min.default(from))) {
37
- // If different date is selected and it's after start date
38
- newRange = { from, to: selectedDay };
28
+ if (currentRangeField === "from") {
29
+ // First click - set from date and prepare for to date selection
30
+ newRange = { from: selectedDay };
31
+ setCurrentRangeField("to");
32
+ }
33
+ else {
34
+ // Second click - setting to date
35
+ const from = selectedRange.from;
36
+ if (dayjs_min.default(selectedDay).isBefore(dayjs_min.default(from))) {
37
+ // If selected date is before current from date, start new range
38
+ newRange = { from: selectedDay };
39
+ setCurrentRangeField("to");
39
40
  }
40
41
  else {
41
- // If selected date is before start date, reset and select start day
42
- newRange = { from: selectedDay };
42
+ // Set the to date
43
+ newRange = { from, to: selectedDay };
44
+ setCurrentRangeField("from");
43
45
  }
44
- setCurrentRangeField("from");
45
- }
46
- else {
47
- // Reset the range and select start day
48
- newRange = { from: selectedDay };
49
- setCurrentRangeField("to");
50
46
  }
51
47
  setSelectedRange(newRange);
52
48
  // Return the range with +1 day for the end date in the callback
@@ -1 +1 @@
1
- {"version":3,"file":"range-picker.cjs","sources":["../../../../v1/components/calendar/range-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { DateRange, PropsBase, PropsRangeRequired } from \"react-day-picker\";\n\nimport { Flex } from \"../flex\";\nimport { Popover } from \"../popover\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\n\ninterface RangePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldsProps?: { startDate?: InputFieldProps, endDate?: InputFieldProps };\n calendarProps?: PropsRangeRequired & PropsBase;\n onSelect?: (date: DateRange) => void;\n pickerGroupClassName?: string;\n value?: DateRange;\n children?: React.ReactNode | ((props: { startDate: string; endDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n footer?: React.ReactNode;\n}\n\ntype RangeFields = keyof DateRange;\n\nexport function RangePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldsProps = {},\n calendarProps,\n onSelect = () => {},\n value = {\n to: new Date(),\n from: new Date(),\n },\n pickerGroupClassName,\n children,\n showCalendarIcon = true,\n footer,\n}: RangePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [currentRangeField, setCurrentRangeField] = useState<RangeFields>(\"from\");\n const [selectedRange, setSelectedRange] = useState(value);\n\n const startDate = selectedRange.from ? dayjs(selectedRange.from).format(dateFormat) : '';\n const endDate = selectedRange.to ? dayjs(selectedRange.to).format(dateFormat) : '';\n\n // 1st click will select the start date.\n // 2nd click will select the end date.\n // 3rd click will select the start date again.\n const handleSelect = (range: DateRange, selectedDay: Date) => {\n const from = selectedRange?.from || range?.from;\n let newRange: DateRange;\n if (currentRangeField === \"to\") {\n if (dayjs(selectedDay).isSame(dayjs(from), 'day')) {\n // If same date is clicked twice, set end date to the same date for UI\n newRange = {\n from,\n to: selectedDay\n };\n } else if (dayjs(selectedDay).isAfter(dayjs(from))) {\n // If different date is selected and it's after start date\n newRange = { from, to: selectedDay };\n } else {\n // If selected date is before start date, reset and select start day\n newRange = { from: selectedDay };\n }\n setCurrentRangeField(\"from\");\n } else {\n // Reset the range and select start day\n newRange = { from: selectedDay };\n setCurrentRangeField(\"to\");\n }\n setSelectedRange(newRange);\n // Return the range with +1 day for the end date in the callback\n const callbackRange = {\n from: newRange.from,\n to: newRange.to ? dayjs(newRange.to).add(1, 'day').toDate() : undefined\n };\n onSelect(callbackRange);\n };\n\n function onOpenChange(open?: boolean) {\n setShowCalendar(Boolean(open));\n }\n\n const defaultTrigger = (\n <Flex gap={\"medium\"} className={pickerGroupClassName}>\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.startDate ?? {})}\n value={startDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.endDate ?? {})}\n value={endDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n </Flex>\n );\n\n const trigger = typeof children === 'function'\n ? children({ startDate, endDate })\n : children || defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>\n {trigger}\n </Popover.Trigger>\n <Popover.Content side={side} className={styles.calendarPopover}>\n <Calendar\n showOutsideDays={false}\n numberOfMonths={2}\n defaultMonth={selectedRange.from}\n required={true}\n {...calendarProps}\n mode=\"range\"\n selected={selectedRange}\n onSelect={handleSelect}\n />\n {footer && (\n <Flex align=\"center\" justify=\"center\" className={styles.calendarFooter}>\n {footer}\n </Flex>\n )}\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["useState","dayjs","_jsxs","Flex","_jsx","InputField","CalendarIcon","Popover","styles","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"range-picker.cjs","sources":["../../../../v1/components/calendar/range-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { DateRange, PropsBase, PropsRangeRequired } from \"react-day-picker\";\n\nimport { Flex } from \"../flex\";\nimport { Popover } from \"../popover\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\n\ninterface RangePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldsProps?: { startDate?: InputFieldProps, endDate?: InputFieldProps };\n calendarProps?: PropsRangeRequired & PropsBase;\n onSelect?: (date: DateRange) => void;\n pickerGroupClassName?: string;\n value?: DateRange;\n children?: React.ReactNode | ((props: { startDate: string; endDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n footer?: React.ReactNode;\n}\n\ntype RangeFields = keyof DateRange;\n\nexport function RangePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldsProps = {},\n calendarProps,\n onSelect = () => {},\n value = {\n to: new Date(),\n from: new Date(),\n },\n pickerGroupClassName,\n children,\n showCalendarIcon = true,\n footer,\n}: RangePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [currentRangeField, setCurrentRangeField] = useState<RangeFields>(\"from\");\n const [selectedRange, setSelectedRange] = useState(value);\n\n const startDate = selectedRange.from ? dayjs(selectedRange.from).format(dateFormat) : '';\n const endDate = selectedRange.to ? dayjs(selectedRange.to).format(dateFormat) : '';\n\n // 1st click will select the start date.\n // 2nd click will select the end date.\n // 3rd click will select the start date again.\n const handleSelect = (range: DateRange, selectedDay: Date) => {\n // TODO: Remove custom logic and reuse the default logic from react-day-picker\n let newRange: DateRange;\n\n if (currentRangeField === \"from\") {\n // First click - set from date and prepare for to date selection\n newRange = { from: selectedDay };\n setCurrentRangeField(\"to\");\n } else {\n // Second click - setting to date\n const from = selectedRange.from;\n \n if (dayjs(selectedDay).isBefore(dayjs(from))) {\n // If selected date is before current from date, start new range\n newRange = { from: selectedDay };\n setCurrentRangeField(\"to\");\n } else {\n // Set the to date\n newRange = { from, to: selectedDay };\n setCurrentRangeField(\"from\");\n }\n }\n\n setSelectedRange(newRange);\n // Return the range with +1 day for the end date in the callback\n const callbackRange = {\n from: newRange.from,\n to: newRange.to ? dayjs(newRange.to).add(1, 'day').toDate() : undefined\n };\n onSelect(callbackRange);\n };\n\n function onOpenChange(open?: boolean) {\n setShowCalendar(Boolean(open));\n }\n\n const defaultTrigger = (\n <Flex gap={\"medium\"} className={pickerGroupClassName}>\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.startDate ?? {})}\n value={startDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.endDate ?? {})}\n value={endDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n </Flex>\n );\n\n const trigger = typeof children === 'function'\n ? children({ startDate, endDate })\n : children || defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>\n {trigger}\n </Popover.Trigger>\n <Popover.Content side={side} className={styles.calendarPopover}>\n <Calendar\n showOutsideDays={false}\n numberOfMonths={2}\n defaultMonth={selectedRange.from}\n required={true}\n {...calendarProps}\n mode=\"range\"\n selected={selectedRange}\n onSelect={handleSelect}\n />\n {footer && (\n <Flex align=\"center\" justify=\"center\" className={styles.calendarFooter}>\n {footer}\n </Flex>\n )}\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["useState","dayjs","_jsxs","Flex","_jsx","InputField","CalendarIcon","Popover","styles","Calendar"],"mappings":"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"}
@@ -21,30 +21,26 @@ function RangePicker({ side = "top", dateFormat = "DD/MM/YYYY", inputFieldsProps
21
21
  // 2nd click will select the end date.
22
22
  // 3rd click will select the start date again.
23
23
  const handleSelect = (range, selectedDay) => {
24
- const from = selectedRange?.from || range?.from;
24
+ // TODO: Remove custom logic and reuse the default logic from react-day-picker
25
25
  let newRange;
26
- if (currentRangeField === "to") {
27
- if (dayjs(selectedDay).isSame(dayjs(from), 'day')) {
28
- // If same date is clicked twice, set end date to the same date for UI
29
- newRange = {
30
- from,
31
- to: selectedDay
32
- };
33
- }
34
- else if (dayjs(selectedDay).isAfter(dayjs(from))) {
35
- // If different date is selected and it's after start date
36
- newRange = { from, to: selectedDay };
26
+ if (currentRangeField === "from") {
27
+ // First click - set from date and prepare for to date selection
28
+ newRange = { from: selectedDay };
29
+ setCurrentRangeField("to");
30
+ }
31
+ else {
32
+ // Second click - setting to date
33
+ const from = selectedRange.from;
34
+ if (dayjs(selectedDay).isBefore(dayjs(from))) {
35
+ // If selected date is before current from date, start new range
36
+ newRange = { from: selectedDay };
37
+ setCurrentRangeField("to");
37
38
  }
38
39
  else {
39
- // If selected date is before start date, reset and select start day
40
- newRange = { from: selectedDay };
40
+ // Set the to date
41
+ newRange = { from, to: selectedDay };
42
+ setCurrentRangeField("from");
41
43
  }
42
- setCurrentRangeField("from");
43
- }
44
- else {
45
- // Reset the range and select start day
46
- newRange = { from: selectedDay };
47
- setCurrentRangeField("to");
48
44
  }
49
45
  setSelectedRange(newRange);
50
46
  // Return the range with +1 day for the end date in the callback
@@ -1 +1 @@
1
- {"version":3,"file":"range-picker.js","sources":["../../../../v1/components/calendar/range-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { DateRange, PropsBase, PropsRangeRequired } from \"react-day-picker\";\n\nimport { Flex } from \"../flex\";\nimport { Popover } from \"../popover\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\n\ninterface RangePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldsProps?: { startDate?: InputFieldProps, endDate?: InputFieldProps };\n calendarProps?: PropsRangeRequired & PropsBase;\n onSelect?: (date: DateRange) => void;\n pickerGroupClassName?: string;\n value?: DateRange;\n children?: React.ReactNode | ((props: { startDate: string; endDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n footer?: React.ReactNode;\n}\n\ntype RangeFields = keyof DateRange;\n\nexport function RangePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldsProps = {},\n calendarProps,\n onSelect = () => {},\n value = {\n to: new Date(),\n from: new Date(),\n },\n pickerGroupClassName,\n children,\n showCalendarIcon = true,\n footer,\n}: RangePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [currentRangeField, setCurrentRangeField] = useState<RangeFields>(\"from\");\n const [selectedRange, setSelectedRange] = useState(value);\n\n const startDate = selectedRange.from ? dayjs(selectedRange.from).format(dateFormat) : '';\n const endDate = selectedRange.to ? dayjs(selectedRange.to).format(dateFormat) : '';\n\n // 1st click will select the start date.\n // 2nd click will select the end date.\n // 3rd click will select the start date again.\n const handleSelect = (range: DateRange, selectedDay: Date) => {\n const from = selectedRange?.from || range?.from;\n let newRange: DateRange;\n if (currentRangeField === \"to\") {\n if (dayjs(selectedDay).isSame(dayjs(from), 'day')) {\n // If same date is clicked twice, set end date to the same date for UI\n newRange = {\n from,\n to: selectedDay\n };\n } else if (dayjs(selectedDay).isAfter(dayjs(from))) {\n // If different date is selected and it's after start date\n newRange = { from, to: selectedDay };\n } else {\n // If selected date is before start date, reset and select start day\n newRange = { from: selectedDay };\n }\n setCurrentRangeField(\"from\");\n } else {\n // Reset the range and select start day\n newRange = { from: selectedDay };\n setCurrentRangeField(\"to\");\n }\n setSelectedRange(newRange);\n // Return the range with +1 day for the end date in the callback\n const callbackRange = {\n from: newRange.from,\n to: newRange.to ? dayjs(newRange.to).add(1, 'day').toDate() : undefined\n };\n onSelect(callbackRange);\n };\n\n function onOpenChange(open?: boolean) {\n setShowCalendar(Boolean(open));\n }\n\n const defaultTrigger = (\n <Flex gap={\"medium\"} className={pickerGroupClassName}>\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.startDate ?? {})}\n value={startDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.endDate ?? {})}\n value={endDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n </Flex>\n );\n\n const trigger = typeof children === 'function'\n ? children({ startDate, endDate })\n : children || defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>\n {trigger}\n </Popover.Trigger>\n <Popover.Content side={side} className={styles.calendarPopover}>\n <Calendar\n showOutsideDays={false}\n numberOfMonths={2}\n defaultMonth={selectedRange.from}\n required={true}\n {...calendarProps}\n mode=\"range\"\n selected={selectedRange}\n onSelect={handleSelect}\n />\n {footer && (\n <Flex align=\"center\" justify=\"center\" className={styles.calendarFooter}>\n {footer}\n </Flex>\n )}\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AA2BM,SAAU,WAAW,CAAC,EAC1B,IAAI,GAAG,KAAK,EACZ,UAAU,GAAG,YAAY,EACzB,gBAAgB,GAAG,EAAE,EACrB,aAAa,EACb,QAAQ,GAAG,MAAO,GAAC,EACnB,KAAK,GAAG;IACN,EAAE,EAAE,IAAI,IAAI,EAAE;IACd,IAAI,EAAE,IAAI,IAAI,EAAE;CACjB,EACD,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GAAG,IAAI,EACvB,MAAM,GACW,EAAA;IACjB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAc,MAAM,CAAC,CAAC;IAChF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IACzF,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;;;;AAKnF,IAAA,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAE,WAAiB,KAAI;QAC3D,MAAM,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC;AAChD,QAAA,IAAI,QAAmB,CAAC;AACxB,QAAA,IAAI,iBAAiB,KAAK,IAAI,EAAE;AAC9B,YAAA,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE;;AAEjD,gBAAA,QAAQ,GAAG;oBACT,IAAI;AACJ,oBAAA,EAAE,EAAE,WAAW;iBAChB,CAAC;aACH;AAAM,iBAAA,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;;gBAElD,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;aACtC;iBAAM;;AAEL,gBAAA,QAAQ,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aAClC;YACD,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAC9B;aAAM;;AAEL,YAAA,QAAQ,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACjC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;QACD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;;AAE3B,QAAA,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,SAAS;SACxE,CAAC;QACF,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC1B,KAAC,CAAC;IAEF,SAAS,YAAY,CAAC,IAAc,EAAA;AAClC,QAAA,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAChC;AAED,IAAA,MAAM,cAAc,IAClBA,uBAAC,IAAI,EAAA,EAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAA,QAAA,EAAA,CAClDC,sBAAC,UAAU,EAAA,EACb,IAAI,EAAC,OAAO,EACJ,IAAC,gBAAgB,CAAC,SAAS,IAAI,EAAE,CAAC,EACtC,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,gBAAgB,GAAGA,qBAAA,CAAC,YAAY,EAAG,EAAA,CAAA,GAAG,SAAS,EAC7D,QAAQ,SACR,EAEFA,qBAAA,CAAC,UAAU,EACb,EAAA,IAAI,EAAC,OAAO,EAAA,IACH,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,EACpC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,gBAAgB,GAAGA,qBAAC,CAAA,YAAY,KAAG,GAAG,SAAS,EAC7D,QAAQ,EACR,IAAA,EAAA,CAAA,CAAA,EAAA,CACG,CACR,CAAC;AAEF,IAAA,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,UAAU;UAC1C,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAClC,UAAE,QAAQ,IAAI,cAAc,CAAC;IAE/B,QACED,uBAAC,OAAO,EAAA,EAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EACrD,QAAA,EAAA,CAAAC,qBAAA,CAAC,OAAO,CAAC,OAAO,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACrB,OAAO,EAAA,CACQ,EAClBD,sBAAA,CAAC,OAAO,CAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,aAC5DC,qBAAC,CAAA,QAAQ,IACP,eAAe,EAAE,KAAK,EACtB,cAAc,EAAE,CAAC,EACjB,YAAY,EAAE,aAAa,CAAC,IAAI,EAChC,QAAQ,EAAE,IAAI,EAAA,GACV,aAAa,EACjB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,EACtB,CAAA,EACD,MAAM,KACLA,qBAAC,CAAA,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EACnE,QAAA,EAAA,MAAM,GACF,CACR,CAAA,EAAA,CACe,CACV,EAAA,CAAA,EACV;AACJ;;;;"}
1
+ {"version":3,"file":"range-picker.js","sources":["../../../../v1/components/calendar/range-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { DateRange, PropsBase, PropsRangeRequired } from \"react-day-picker\";\n\nimport { Flex } from \"../flex\";\nimport { Popover } from \"../popover\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\n\ninterface RangePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldsProps?: { startDate?: InputFieldProps, endDate?: InputFieldProps };\n calendarProps?: PropsRangeRequired & PropsBase;\n onSelect?: (date: DateRange) => void;\n pickerGroupClassName?: string;\n value?: DateRange;\n children?: React.ReactNode | ((props: { startDate: string; endDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n footer?: React.ReactNode;\n}\n\ntype RangeFields = keyof DateRange;\n\nexport function RangePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldsProps = {},\n calendarProps,\n onSelect = () => {},\n value = {\n to: new Date(),\n from: new Date(),\n },\n pickerGroupClassName,\n children,\n showCalendarIcon = true,\n footer,\n}: RangePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [currentRangeField, setCurrentRangeField] = useState<RangeFields>(\"from\");\n const [selectedRange, setSelectedRange] = useState(value);\n\n const startDate = selectedRange.from ? dayjs(selectedRange.from).format(dateFormat) : '';\n const endDate = selectedRange.to ? dayjs(selectedRange.to).format(dateFormat) : '';\n\n // 1st click will select the start date.\n // 2nd click will select the end date.\n // 3rd click will select the start date again.\n const handleSelect = (range: DateRange, selectedDay: Date) => {\n // TODO: Remove custom logic and reuse the default logic from react-day-picker\n let newRange: DateRange;\n\n if (currentRangeField === \"from\") {\n // First click - set from date and prepare for to date selection\n newRange = { from: selectedDay };\n setCurrentRangeField(\"to\");\n } else {\n // Second click - setting to date\n const from = selectedRange.from;\n \n if (dayjs(selectedDay).isBefore(dayjs(from))) {\n // If selected date is before current from date, start new range\n newRange = { from: selectedDay };\n setCurrentRangeField(\"to\");\n } else {\n // Set the to date\n newRange = { from, to: selectedDay };\n setCurrentRangeField(\"from\");\n }\n }\n\n setSelectedRange(newRange);\n // Return the range with +1 day for the end date in the callback\n const callbackRange = {\n from: newRange.from,\n to: newRange.to ? dayjs(newRange.to).add(1, 'day').toDate() : undefined\n };\n onSelect(callbackRange);\n };\n\n function onOpenChange(open?: boolean) {\n setShowCalendar(Boolean(open));\n }\n\n const defaultTrigger = (\n <Flex gap={\"medium\"} className={pickerGroupClassName}>\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.startDate ?? {})}\n value={startDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n\n <InputField\n\t\t\t\tsize='small'\n {...(inputFieldsProps.endDate ?? {})}\n value={endDate}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n readOnly\n />\n </Flex>\n );\n\n const trigger = typeof children === 'function'\n ? children({ startDate, endDate })\n : children || defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>\n {trigger}\n </Popover.Trigger>\n <Popover.Content side={side} className={styles.calendarPopover}>\n <Calendar\n showOutsideDays={false}\n numberOfMonths={2}\n defaultMonth={selectedRange.from}\n required={true}\n {...calendarProps}\n mode=\"range\"\n selected={selectedRange}\n onSelect={handleSelect}\n />\n {footer && (\n <Flex align=\"center\" justify=\"center\" className={styles.calendarFooter}>\n {footer}\n </Flex>\n )}\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":"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"}