@raystack/apsara 0.48.3 → 0.48.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/avatar/avatar.cjs +1 -1
- package/dist/components/avatar/avatar.cjs.map +1 -1
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/data-table/utils/filter-operations.cjs +46 -22
- package/dist/components/data-table/utils/filter-operations.cjs.map +1 -1
- package/dist/components/data-table/utils/filter-operations.d.ts +10 -9
- package/dist/components/data-table/utils/filter-operations.d.ts.map +1 -1
- package/dist/components/data-table/utils/filter-operations.js +46 -22
- package/dist/components/data-table/utils/filter-operations.js.map +1 -1
- package/dist/components/filter-chip/filter-chip-operation.cjs +11 -4
- package/dist/components/filter-chip/filter-chip-operation.cjs.map +1 -1
- package/dist/components/filter-chip/filter-chip-operation.d.ts +2 -1
- package/dist/components/filter-chip/filter-chip-operation.d.ts.map +1 -1
- package/dist/components/filter-chip/filter-chip-operation.js +11 -4
- package/dist/components/filter-chip/filter-chip-operation.js.map +1 -1
- package/dist/components/filter-chip/filter-chip.cjs +10 -2
- package/dist/components/filter-chip/filter-chip.cjs.map +1 -1
- package/dist/components/filter-chip/filter-chip.d.ts.map +1 -1
- package/dist/components/filter-chip/filter-chip.js +10 -2
- package/dist/components/filter-chip/filter-chip.js.map +1 -1
- package/dist/components/filter-chip/filter-chip.module.css.cjs +1 -1
- package/dist/components/filter-chip/filter-chip.module.css.js +1 -1
- package/dist/components/sidebar/index.d.ts +1 -1
- package/dist/components/sidebar/sidebar.cjs +14 -13
- package/dist/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/sidebar/sidebar.d.ts +5 -10
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.js +15 -14
- package/dist/components/sidebar/sidebar.js.map +1 -1
- package/dist/components/sidebar/sidebar.module.css.cjs +1 -1
- package/dist/components/sidebar/sidebar.module.css.js +1 -1
- package/dist/components/tooltip/index.d.ts +1 -1
- package/dist/components/tooltip/index.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip-provider.cjs +17 -0
- package/dist/components/tooltip/tooltip-provider.cjs.map +1 -0
- package/dist/components/tooltip/tooltip-provider.d.ts +9 -0
- package/dist/components/tooltip/tooltip-provider.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip-provider.js +14 -0
- package/dist/components/tooltip/tooltip-provider.js.map +1 -0
- package/dist/components/tooltip/tooltip-root.cjs +65 -0
- package/dist/components/tooltip/tooltip-root.cjs.map +1 -0
- package/dist/components/tooltip/tooltip-root.d.ts +29 -0
- package/dist/components/tooltip/tooltip-root.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip-root.js +62 -0
- package/dist/components/tooltip/tooltip-root.js.map +1 -0
- package/dist/components/tooltip/tooltip.cjs +4 -50
- package/dist/components/tooltip/tooltip.cjs.map +1 -1
- package/dist/components/tooltip/tooltip.d.ts +3 -30
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.js +5 -50
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/index.cjs +0 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.7_@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-tooltip/dist/index.cjs +8 -8
- package/dist/style.css +1 -1
- package/dist/types/filters.cjs +26 -21
- package/dist/types/filters.cjs.map +1 -1
- package/dist/types/filters.d.ts +19 -6
- package/dist/types/filters.d.ts.map +1 -1
- package/dist/types/filters.js +26 -21
- package/dist/types/filters.js.map +1 -1
- package/package.json +1 -1
|
@@ -137,7 +137,7 @@ const getAvatarProps = (element) => {
|
|
|
137
137
|
}
|
|
138
138
|
return {};
|
|
139
139
|
};
|
|
140
|
-
const AvatarRoot = React.forwardRef(({ className, alt, src, fallback, size, radius, variant, color,
|
|
140
|
+
const AvatarRoot = React.forwardRef(({ className, alt, src, fallback, size, radius, variant, color, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx(box.Box, { className: avatar_module.default.imageWrapper, children: jsxRuntime.jsxRuntimeExports.jsxs(index.Root, { ref: ref, className: index$1.cx(avatar({ size, radius, variant, color }), className), ...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 })] }) })));
|
|
141
141
|
AvatarRoot.displayName = index.Root.displayName;
|
|
142
142
|
const Avatar = AvatarRoot;
|
|
143
143
|
const AvatarGroup = React.forwardRef(({ children, max, className, ...props }, ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.cjs","sources":["../../../components/avatar/avatar.tsx"],"sourcesContent":["import { VariantProps, cva, cx } from 'class-variance-authority';\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\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={cx(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={cx(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","cx","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"avatar.cjs","sources":["../../../components/avatar/avatar.tsx"],"sourcesContent":["import { VariantProps, cva, cx } from 'class-variance-authority';\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\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 { className, alt, src, fallback, size, radius, variant, color, ...props },\n ref\n ) => (\n <Box className={styles.imageWrapper}>\n <AvatarPrimitive.Root\n ref={ref}\n className={cx(avatar({ size, radius, variant, color }), className)}\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={cx(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","cx","AvatarPrimitive.Image","AvatarPrimitive.Fallback"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../components/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,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;
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../components/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,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;AA2BD,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"}
|
|
@@ -135,7 +135,7 @@ const getAvatarProps = (element) => {
|
|
|
135
135
|
}
|
|
136
136
|
return {};
|
|
137
137
|
};
|
|
138
|
-
const AvatarRoot = forwardRef(({ className, alt, src, fallback, size, radius, variant, color,
|
|
138
|
+
const AvatarRoot = forwardRef(({ className, alt, src, fallback, size, radius, variant, color, ...props }, ref) => (jsxRuntimeExports.jsx(Box, { className: styles.imageWrapper, children: jsxRuntimeExports.jsxs(Root, { ref: ref, className: cx(avatar({ size, radius, variant, color }), className), ...props, children: [jsxRuntimeExports.jsx(Image, { className: image(), src: src, alt: alt }), jsxRuntimeExports.jsx(Fallback, { className: styles.fallback, children: fallback })] }) })));
|
|
139
139
|
AvatarRoot.displayName = Root.displayName;
|
|
140
140
|
const Avatar = AvatarRoot;
|
|
141
141
|
const AvatarGroup = forwardRef(({ children, max, className, ...props }, ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sources":["../../../components/avatar/avatar.tsx"],"sourcesContent":["import { VariantProps, cva, cx } from 'class-variance-authority';\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\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={cx(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={cx(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":["../../../components/avatar/avatar.tsx"],"sourcesContent":["import { VariantProps, cva, cx } from 'class-variance-authority';\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\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 { className, alt, src, fallback, size, radius, variant, color, ...props },\n ref\n ) => (\n <Box className={styles.imageWrapper}>\n <AvatarPrimitive.Root\n ref={ref}\n className={cx(avatar({ size, radius, variant, color }), className)}\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={cx(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":";;;;;;;AAcA,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;AAChC,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;AACN,YAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;AAC1B,YAAA,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC;AAC5B,YAAA,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC;AAC5B,YAAA,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC;AAC5B,YAAA,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC;AAC7B,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;AAC5B,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAChC,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACrC,YAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACrC,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACjC,YAAA,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC;AACvC,YAAA,GAAG,EAAE,MAAM,CAAC,kBAAkB,CAAC;AAC/B,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACjC,YAAA,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACnC,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACjC,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACjC,YAAA,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACrC,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACjC,YAAA,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC;AACvC,YAAA,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACzC,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACzC,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACzE,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACxC,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACzC,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC;AAC1C,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACxC,SAAA;AAED,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACxC,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACzE,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE;AACvE,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACzE,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC3E,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACzE,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACzE,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACxC,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACzE,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACzC,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;AAC1E,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,KAAK,EAAE,QAAQ;AAChB,KAAA;AACF,CAAA,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEhC;;;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,EAAE;AAeF,MAAM,UAAU,GAAG,UAAU,CAI3B,CACE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EACzE,GAAG,MAEHA,qBAAA,CAAC,GAAG,EAAC,EAAA,SAAS,EAAE,MAAM,CAAC,YAAY,YACjCC,sBAAC,CAAAC,IAAoB,EACnB,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,EAC9D,GAAA,KAAK,EAET,QAAA,EAAA,CAAAF,qBAAA,CAACG,KAAqB,EAAC,EAAA,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAI,EACjEH,qBAAA,CAACI,QAAwB,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EACjD,QAAA,EAAA,QAAQ,GACgB,CACN,EAAA,CAAA,EAAA,CACnB,CACP,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAGF,IAAoB,CAAC,WAAW,CAAC;AAEnD,MAAM,MAAM,GAAG,WAAW;MAOpB,WAAW,GAAG,UAAU,CACnC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC9C,IAAA,MAAM,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;IACxD,MAAM,KAAK,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;;IAGvE,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,QACED,gCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,QAAA,EAAA,CACnE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MACzBD,+BAAiB,SAAS,EAAE,MAAM,CAAC,aAAa,YAC7C,MAAM,EAAA,EADC,KAAK,CAET,CACP,CAAC,EACD,KAAK,GAAG,CAAC,KACRA,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,aAAa,EAClC,QAAA,EAAAA,qBAAA,CAAC,MAAM,EACL,EAAA,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,EAAA,CACrB,GACE,CACP,CAAA,EAAA,CACG,EACN;AACJ,CAAC;;;;"}
|
|
@@ -27,7 +27,7 @@ const filterOperationsMap = {
|
|
|
27
27
|
},
|
|
28
28
|
gte: (row, columnId, filterValue) => {
|
|
29
29
|
return Number(row.getValue(columnId)) >= Number(filterValue.value);
|
|
30
|
-
}
|
|
30
|
+
}
|
|
31
31
|
},
|
|
32
32
|
string: {
|
|
33
33
|
eq: (row, columnId, filterValue) => {
|
|
@@ -42,44 +42,60 @@ const filterOperationsMap = {
|
|
|
42
42
|
const columnValue = row.getValue(columnId).toLowerCase();
|
|
43
43
|
const filterStr = filterValue.value.toLowerCase();
|
|
44
44
|
return columnValue.includes(filterStr);
|
|
45
|
-
}
|
|
45
|
+
}
|
|
46
46
|
},
|
|
47
47
|
date: {
|
|
48
48
|
eq: (row, columnId, filterValue) => {
|
|
49
|
-
return dayjs_min.default(row.getValue(columnId)).isSame(dayjs_min.default(filterValue.date),
|
|
49
|
+
return dayjs_min.default(row.getValue(columnId)).isSame(dayjs_min.default(filterValue.date), 'day');
|
|
50
50
|
},
|
|
51
51
|
neq: (row, columnId, filterValue) => {
|
|
52
|
-
return !dayjs_min.default(row.getValue(columnId)).isSame(dayjs_min.default(filterValue.date),
|
|
52
|
+
return !dayjs_min.default(row.getValue(columnId)).isSame(dayjs_min.default(filterValue.date), 'day');
|
|
53
53
|
},
|
|
54
54
|
lt: (row, columnId, filterValue) => {
|
|
55
|
-
return dayjs_min.default(row.getValue(columnId)).isBefore(dayjs_min.default(filterValue.date),
|
|
55
|
+
return dayjs_min.default(row.getValue(columnId)).isBefore(dayjs_min.default(filterValue.date), 'day');
|
|
56
56
|
},
|
|
57
57
|
lte: (row, columnId, filterValue) => {
|
|
58
|
-
return dayjs_min.default(row.getValue(columnId)).isSameOrBefore(dayjs_min.default(filterValue.date),
|
|
58
|
+
return dayjs_min.default(row.getValue(columnId)).isSameOrBefore(dayjs_min.default(filterValue.date), 'day');
|
|
59
59
|
},
|
|
60
60
|
gt: (row, columnId, filterValue) => {
|
|
61
|
-
return dayjs_min.default(row.getValue(columnId)).isAfter(dayjs_min.default(filterValue.date),
|
|
61
|
+
return dayjs_min.default(row.getValue(columnId)).isAfter(dayjs_min.default(filterValue.date), 'day');
|
|
62
62
|
},
|
|
63
63
|
gte: (row, columnId, filterValue) => {
|
|
64
|
-
return dayjs_min.default(row.getValue(columnId)).isSameOrAfter(dayjs_min.default(filterValue.date),
|
|
65
|
-
}
|
|
64
|
+
return dayjs_min.default(row.getValue(columnId)).isSameOrAfter(dayjs_min.default(filterValue.date), 'day');
|
|
65
|
+
}
|
|
66
66
|
},
|
|
67
67
|
select: {
|
|
68
68
|
eq: (row, columnId, filterValue) => {
|
|
69
69
|
if (String(filterValue.value) === dataTable_types.EmptyFilterValue) {
|
|
70
|
-
return row.getValue(columnId) ===
|
|
70
|
+
return row.getValue(columnId) === '';
|
|
71
71
|
}
|
|
72
72
|
// Select only supports string values
|
|
73
73
|
return String(row.getValue(columnId)) === String(filterValue.value);
|
|
74
74
|
},
|
|
75
75
|
neq: (row, columnId, filterValue) => {
|
|
76
76
|
if (String(filterValue.value) === dataTable_types.EmptyFilterValue) {
|
|
77
|
-
return row.getValue(columnId) !==
|
|
77
|
+
return row.getValue(columnId) !== '';
|
|
78
78
|
}
|
|
79
79
|
// Select only supports string values
|
|
80
80
|
return String(row.getValue(columnId)) !== String(filterValue.value);
|
|
81
|
-
}
|
|
81
|
+
}
|
|
82
82
|
},
|
|
83
|
+
multiselect: {
|
|
84
|
+
in: (row, columnId, filterValue) => {
|
|
85
|
+
if (!Array.isArray(filterValue.value))
|
|
86
|
+
return false;
|
|
87
|
+
return filterValue.value
|
|
88
|
+
.map(value => (value === dataTable_types.EmptyFilterValue ? '' : String(value)))
|
|
89
|
+
.includes(String(row.getValue(columnId)));
|
|
90
|
+
},
|
|
91
|
+
notin: (row, columnId, filterValue) => {
|
|
92
|
+
if (!Array.isArray(filterValue.value))
|
|
93
|
+
return false;
|
|
94
|
+
return !filterValue.value
|
|
95
|
+
.map(value => (value === dataTable_types.EmptyFilterValue ? '' : String(value)))
|
|
96
|
+
.includes(String(row.getValue(columnId)));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
83
99
|
};
|
|
84
100
|
function getFilterFn(type, operator) {
|
|
85
101
|
// @ts-expect-error FilterOperatorTypes is union of all possible operators
|
|
@@ -90,41 +106,49 @@ const handleStringBasedTypes = (filterType, value) => {
|
|
|
90
106
|
case filters.FilterType.date:
|
|
91
107
|
return {
|
|
92
108
|
value,
|
|
93
|
-
stringValue: value.toISOString()
|
|
109
|
+
stringValue: value.toISOString()
|
|
94
110
|
};
|
|
95
111
|
case filters.FilterType.select:
|
|
96
112
|
return {
|
|
97
|
-
stringValue: value === dataTable_types.EmptyFilterValue ?
|
|
113
|
+
stringValue: value === dataTable_types.EmptyFilterValue ? '' : value,
|
|
114
|
+
value
|
|
115
|
+
};
|
|
116
|
+
case filters.FilterType.multiselect:
|
|
117
|
+
return {
|
|
98
118
|
value,
|
|
119
|
+
stringValue: value
|
|
120
|
+
.map((value) => value === dataTable_types.EmptyFilterValue ? '' : String(value))
|
|
121
|
+
.join()
|
|
99
122
|
};
|
|
100
123
|
default:
|
|
101
124
|
return {
|
|
102
125
|
stringValue: value,
|
|
103
|
-
value
|
|
126
|
+
value
|
|
104
127
|
};
|
|
105
128
|
}
|
|
106
129
|
};
|
|
107
|
-
const getFilterOperator = ({ value, filterType, operator
|
|
130
|
+
const getFilterOperator = ({ value, filterType, operator }) => {
|
|
108
131
|
return value === dataTable_types.EmptyFilterValue && filterType === filters.FilterType.select
|
|
109
|
-
?
|
|
132
|
+
? 'empty'
|
|
110
133
|
: operator;
|
|
111
134
|
};
|
|
112
|
-
const getFilterValue = ({ value, dataType =
|
|
113
|
-
if (dataType ===
|
|
135
|
+
const getFilterValue = ({ value, dataType = 'string', filterType = filters.FilterType.string }) => {
|
|
136
|
+
if (dataType === 'boolean') {
|
|
114
137
|
return { boolValue: value, value };
|
|
115
138
|
}
|
|
116
|
-
if (dataType ===
|
|
139
|
+
if (dataType === 'number') {
|
|
117
140
|
return { numberValue: value, value };
|
|
118
141
|
}
|
|
119
142
|
// Handle string-based types
|
|
120
143
|
return handleStringBasedTypes(filterType, value);
|
|
121
144
|
};
|
|
122
|
-
const getDataType = ({ filterType = filters.FilterType.string, dataType =
|
|
145
|
+
const getDataType = ({ filterType = filters.FilterType.string, dataType = 'string' }) => {
|
|
123
146
|
switch (filterType) {
|
|
147
|
+
case filters.FilterType.multiselect:
|
|
124
148
|
case filters.FilterType.select:
|
|
125
149
|
return dataType;
|
|
126
150
|
case filters.FilterType.date:
|
|
127
|
-
return
|
|
151
|
+
return 'string';
|
|
128
152
|
default:
|
|
129
153
|
return filterType;
|
|
130
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-operations.cjs","sources":["../../../../components/data-table/utils/filter-operations.tsx"],"sourcesContent":["import type { FilterFn } from \"@tanstack/table-core\";\nimport dayjs from \"dayjs\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\n\nimport {\n DateFilterOperatorType,\n FilterOperatorTypes,\n FilterValue,\n NumberFilterOperatorType,\n StringFilterOperatorType,\n SelectFilterOperatorType,\n FilterTypes,\n FilterValueType,\n FilterType,\n} from \"~/types/filters\";\nimport { EmptyFilterValue, RQLFilterValues } from \"../data-table.types\";\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\n\nexport type FilterFunctionsMap = {\n number: Record<NumberFilterOperatorType, FilterFn<any>>;\n string: Record<StringFilterOperatorType, FilterFn<any>>;\n date: Record<DateFilterOperatorType, FilterFn<any>>;\n select: Record<SelectFilterOperatorType, FilterFn<any>>;\n};\n\nexport const filterOperationsMap: FilterFunctionsMap = {\n number: {\n eq: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) === Number(filterValue.value);\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) !== Number(filterValue.value);\n },\n lt: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) < Number(filterValue.value);\n },\n lte: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) <= Number(filterValue.value);\n },\n gt: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) > Number(filterValue.value);\n },\n gte: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) >= Number(filterValue.value);\n },\n },\n string: {\n eq: (row, columnId, filterValue: FilterValue) => {\n return (\n String(row.getValue(columnId)).toLowerCase() ===\n String(filterValue.value).toLowerCase()\n );\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n return (\n String(row.getValue(columnId)).toLowerCase() !==\n String(filterValue.value).toLowerCase()\n );\n },\n like: (row, columnId, filterValue: FilterValue) => {\n const columnValue = (row.getValue(columnId) as string).toLowerCase();\n const filterStr = (filterValue.value as string).toLowerCase();\n return columnValue.includes(filterStr);\n },\n },\n date: {\n eq: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isSame(\n dayjs(filterValue.date),\n \"day\"\n );\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n return !dayjs(row.getValue(columnId)).isSame(\n dayjs(filterValue.date),\n \"day\"\n );\n },\n lt: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isBefore(\n dayjs(filterValue.date),\n \"day\"\n );\n },\n lte: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isSameOrBefore(\n dayjs(filterValue.date),\n \"day\"\n );\n },\n gt: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isAfter(\n dayjs(filterValue.date),\n \"day\"\n );\n },\n gte: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isSameOrAfter(\n dayjs(filterValue.date),\n \"day\"\n );\n },\n },\n select: {\n eq: (row, columnId, filterValue: FilterValue) => {\n if (String(filterValue.value) === EmptyFilterValue) {\n return row.getValue(columnId) === \"\";\n }\n // Select only supports string values\n return String(row.getValue(columnId)) === String(filterValue.value);\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n if (String(filterValue.value) === EmptyFilterValue) {\n return row.getValue(columnId) !== \"\";\n }\n // Select only supports string values\n return String(row.getValue(columnId)) !== String(filterValue.value);\n },\n },\n} as const;\n\nexport function getFilterFn<T extends keyof FilterFunctionsMap>(\n type: T,\n operator: FilterOperatorTypes\n) {\n // @ts-expect-error FilterOperatorTypes is union of all possible operators\n return filterOperationsMap[type][operator];\n}\n\nconst handleStringBasedTypes = (\n filterType: FilterTypes,\n value: any\n): RQLFilterValues => {\n switch (filterType) {\n case FilterType.date:\n return {\n value,\n stringValue: (value as Date).toISOString(),\n };\n case FilterType.select:\n return {\n stringValue: value === EmptyFilterValue ? \"\" : value,\n value,\n };\n default:\n return {\n stringValue: value,\n value,\n };\n }\n};\n\nexport const getFilterOperator = ({\n value,\n filterType,\n operator,\n}: {\n value: any;\n filterType?: FilterTypes;\n operator: FilterOperatorTypes;\n}): FilterOperatorTypes => {\n return value === EmptyFilterValue && filterType === FilterType.select\n ? \"empty\"\n : operator;\n};\n\nexport const getFilterValue = ({\n value,\n dataType = \"string\",\n filterType = FilterType.string,\n}: {\n value: any;\n dataType?: FilterValueType;\n filterType?: FilterTypes;\n}): RQLFilterValues => {\n if (dataType === \"boolean\") {\n return { boolValue: value, value };\n }\n if (dataType === \"number\") {\n return { numberValue: value, value };\n }\n\n // Handle string-based types\n return handleStringBasedTypes(filterType, value);\n};\n\nexport const getDataType = ({\n filterType = FilterType.string,\n dataType = \"string\",\n}: {\n dataType?: FilterValueType;\n filterType?: FilterTypes;\n}): FilterValueType => {\n switch (filterType) {\n case FilterType.select:\n return dataType;\n case FilterType.date:\n return \"string\";\n default:\n return filterType;\n }\n};\n"],"names":["dayjs","isSameOrAfter","isSameOrBefore","EmptyFilterValue","FilterType"],"mappings":";;;;;;;;AAkBAA,iBAAK,CAAC,MAAM,CAACC,qBAAa,CAAC,CAAC;AAC5BD,iBAAK,CAAC,MAAM,CAACE,sBAAc,CAAC,CAAC;AAShB,MAAA,mBAAmB,GAAuB;AACrD,IAAA,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC9C,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACrE;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC/C,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACrE;QACD,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC9C,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACnE;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC/C,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACpE;QACD,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC9C,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACnE;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC/C,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACpE;AACF,KAAA;AACD,IAAA,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC9C,YAAA,QACE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EACvC;SACH;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;AAC/C,YAAA,QACE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EACvC;SACH;QACD,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAChD,MAAM,WAAW,GAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAY,CAAC,WAAW,EAAE,CAAC;YACrE,MAAM,SAAS,GAAI,WAAW,CAAC,KAAgB,CAAC,WAAW,EAAE,CAAC;AAC9D,YAAA,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACxC;AACF,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC9C,OAAOF,iBAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CACzCA,iBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EACvB,KAAK,CACN,CAAC;SACH;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC/C,OAAO,CAACA,iBAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAC1CA,iBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EACvB,KAAK,CACN,CAAC;SACH;QACD,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC9C,OAAOA,iBAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAC3CA,iBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EACvB,KAAK,CACN,CAAC;SACH;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC/C,OAAOA,iBAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CACjDA,iBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EACvB,KAAK,CACN,CAAC;SACH;QACD,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC9C,OAAOA,iBAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAC1CA,iBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EACvB,KAAK,CACN,CAAC;SACH;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC/C,OAAOA,iBAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAChDA,iBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EACvB,KAAK,CACN,CAAC;SACH;AACF,KAAA;AACD,IAAA,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC9C,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAKG,gCAAgB,EAAE;gBAClD,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aACtC;;AAED,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACrE;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAwB,KAAI;YAC/C,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAKA,gCAAgB,EAAE;gBAClD,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aACtC;;AAED,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACrE;AACF,KAAA;EACQ;AAEK,SAAA,WAAW,CACzB,IAAO,EACP,QAA6B,EAAA;;AAG7B,IAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,sBAAsB,GAAG,CAC7B,UAAuB,EACvB,KAAU,KACS;IACnB,QAAQ,UAAU;QAChB,KAAKC,kBAAU,CAAC,IAAI;YAClB,OAAO;gBACL,KAAK;AACL,gBAAA,WAAW,EAAG,KAAc,CAAC,WAAW,EAAE;aAC3C,CAAC;QACJ,KAAKA,kBAAU,CAAC,MAAM;YACpB,OAAO;gBACL,WAAW,EAAE,KAAK,KAAKD,gCAAgB,GAAG,EAAE,GAAG,KAAK;gBACpD,KAAK;aACN,CAAC;AACJ,QAAA;YACE,OAAO;AACL,gBAAA,WAAW,EAAE,KAAK;gBAClB,KAAK;aACN,CAAC;KACL;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAChC,KAAK,EACL,UAAU,EACV,QAAQ,GAKT,KAAyB;IACxB,OAAO,KAAK,KAAKA,gCAAgB,IAAI,UAAU,KAAKC,kBAAU,CAAC,MAAM;AACnE,UAAE,OAAO;UACP,QAAQ,CAAC;AACf,EAAE;AAEW,MAAA,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,QAAQ,GAAG,QAAQ,EACnB,UAAU,GAAGA,kBAAU,CAAC,MAAM,GAK/B,KAAqB;AACpB,IAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,QAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACpC;AACD,IAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACzB,QAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACtC;;AAGD,IAAA,OAAO,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACnD,EAAE;AAEW,MAAA,WAAW,GAAG,CAAC,EAC1B,UAAU,GAAGA,kBAAU,CAAC,MAAM,EAC9B,QAAQ,GAAG,QAAQ,GAIpB,KAAqB;IACpB,QAAQ,UAAU;QAChB,KAAKA,kBAAU,CAAC,MAAM;AACpB,YAAA,OAAO,QAAQ,CAAC;QAClB,KAAKA,kBAAU,CAAC,IAAI;AAClB,YAAA,OAAO,QAAQ,CAAC;AAClB,QAAA;AACE,YAAA,OAAO,UAAU,CAAC;KACrB;AACH;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"filter-operations.cjs","sources":["../../../../components/data-table/utils/filter-operations.tsx"],"sourcesContent":["import type { FilterFn } from '@tanstack/table-core';\nimport dayjs from 'dayjs';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\n\nimport {\n DateFilterOperatorType,\n FilterOperatorTypes,\n FilterType,\n FilterTypes,\n FilterValue,\n FilterValueType,\n MultiSelectFilterOperatorType,\n NumberFilterOperatorType,\n SelectFilterOperatorType,\n StringFilterOperatorType\n} from '~/types/filters';\nimport { EmptyFilterValue, RQLFilterValues } from '../data-table.types';\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\n\nexport type FilterFunctionsMap = {\n number: Record<NumberFilterOperatorType, FilterFn<any>>;\n string: Record<StringFilterOperatorType, FilterFn<any>>;\n date: Record<DateFilterOperatorType, FilterFn<any>>;\n select: Record<SelectFilterOperatorType, FilterFn<any>>;\n multiselect: Record<MultiSelectFilterOperatorType, FilterFn<any>>;\n};\n\nexport const filterOperationsMap: FilterFunctionsMap = {\n number: {\n eq: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) === Number(filterValue.value);\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) !== Number(filterValue.value);\n },\n lt: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) < Number(filterValue.value);\n },\n lte: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) <= Number(filterValue.value);\n },\n gt: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) > Number(filterValue.value);\n },\n gte: (row, columnId, filterValue: FilterValue) => {\n return Number(row.getValue(columnId)) >= Number(filterValue.value);\n }\n },\n string: {\n eq: (row, columnId, filterValue: FilterValue) => {\n return (\n String(row.getValue(columnId)).toLowerCase() ===\n String(filterValue.value).toLowerCase()\n );\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n return (\n String(row.getValue(columnId)).toLowerCase() !==\n String(filterValue.value).toLowerCase()\n );\n },\n like: (row, columnId, filterValue: FilterValue) => {\n const columnValue = (row.getValue(columnId) as string).toLowerCase();\n const filterStr = (filterValue.value as string).toLowerCase();\n return columnValue.includes(filterStr);\n }\n },\n date: {\n eq: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isSame(\n dayjs(filterValue.date),\n 'day'\n );\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n return !dayjs(row.getValue(columnId)).isSame(\n dayjs(filterValue.date),\n 'day'\n );\n },\n lt: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isBefore(\n dayjs(filterValue.date),\n 'day'\n );\n },\n lte: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isSameOrBefore(\n dayjs(filterValue.date),\n 'day'\n );\n },\n gt: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isAfter(\n dayjs(filterValue.date),\n 'day'\n );\n },\n gte: (row, columnId, filterValue: FilterValue) => {\n return dayjs(row.getValue(columnId)).isSameOrAfter(\n dayjs(filterValue.date),\n 'day'\n );\n }\n },\n select: {\n eq: (row, columnId, filterValue: FilterValue) => {\n if (String(filterValue.value) === EmptyFilterValue) {\n return row.getValue(columnId) === '';\n }\n // Select only supports string values\n return String(row.getValue(columnId)) === String(filterValue.value);\n },\n neq: (row, columnId, filterValue: FilterValue) => {\n if (String(filterValue.value) === EmptyFilterValue) {\n return row.getValue(columnId) !== '';\n }\n // Select only supports string values\n return String(row.getValue(columnId)) !== String(filterValue.value);\n }\n },\n multiselect: {\n in: (row, columnId, filterValue: FilterValue) => {\n if (!Array.isArray(filterValue.value)) return false;\n\n return filterValue.value\n .map(value => (value === EmptyFilterValue ? '' : String(value)))\n .includes(String(row.getValue(columnId)));\n },\n notin: (row, columnId, filterValue: FilterValue) => {\n if (!Array.isArray(filterValue.value)) return false;\n\n return !filterValue.value\n .map(value => (value === EmptyFilterValue ? '' : String(value)))\n .includes(String(row.getValue(columnId)));\n }\n }\n} as const;\n\nexport function getFilterFn<T extends keyof FilterFunctionsMap>(\n type: T,\n operator: FilterOperatorTypes\n) {\n // @ts-expect-error FilterOperatorTypes is union of all possible operators\n return filterOperationsMap[type][operator];\n}\n\nconst handleStringBasedTypes = (\n filterType: FilterTypes,\n value: any\n): RQLFilterValues => {\n switch (filterType) {\n case FilterType.date:\n return {\n value,\n stringValue: (value as Date).toISOString()\n };\n case FilterType.select:\n return {\n stringValue: value === EmptyFilterValue ? '' : value,\n value\n };\n case FilterType.multiselect:\n return {\n value,\n stringValue: value\n .map((value: any) =>\n value === EmptyFilterValue ? '' : String(value)\n )\n .join()\n };\n default:\n return {\n stringValue: value,\n value\n };\n }\n};\n\nexport const getFilterOperator = ({\n value,\n filterType,\n operator\n}: {\n value: any;\n filterType?: FilterTypes;\n operator: FilterOperatorTypes;\n}): FilterOperatorTypes => {\n return value === EmptyFilterValue && filterType === FilterType.select\n ? 'empty'\n : operator;\n};\n\nexport const getFilterValue = ({\n value,\n dataType = 'string',\n filterType = FilterType.string\n}: {\n value: any;\n dataType?: FilterValueType;\n filterType?: FilterTypes;\n}): RQLFilterValues => {\n if (dataType === 'boolean') {\n return { boolValue: value, value };\n }\n if (dataType === 'number') {\n return { numberValue: value, value };\n }\n\n // Handle string-based types\n return handleStringBasedTypes(filterType, value);\n};\n\nexport const getDataType = ({\n filterType = FilterType.string,\n dataType = 'string'\n}: {\n dataType?: FilterValueType;\n filterType?: FilterTypes;\n}): FilterValueType => {\n switch (filterType) {\n case FilterType.multiselect:\n case FilterType.select:\n return dataType;\n case FilterType.date:\n return 'string';\n default:\n return filterType;\n }\n};\n"],"names":["dayjs","isSameOrAfter","isSameOrBefore","EmptyFilterValue","FilterType"],"mappings":"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"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import type { FilterFn } from
|
|
2
|
-
import { DateFilterOperatorType, FilterOperatorTypes,
|
|
3
|
-
import { RQLFilterValues } from
|
|
1
|
+
import type { FilterFn } from '@tanstack/table-core';
|
|
2
|
+
import { DateFilterOperatorType, FilterOperatorTypes, FilterTypes, FilterValueType, MultiSelectFilterOperatorType, NumberFilterOperatorType, SelectFilterOperatorType, StringFilterOperatorType } from '~/types/filters';
|
|
3
|
+
import { RQLFilterValues } from '../data-table.types';
|
|
4
4
|
export type FilterFunctionsMap = {
|
|
5
5
|
number: Record<NumberFilterOperatorType, FilterFn<any>>;
|
|
6
6
|
string: Record<StringFilterOperatorType, FilterFn<any>>;
|
|
7
7
|
date: Record<DateFilterOperatorType, FilterFn<any>>;
|
|
8
8
|
select: Record<SelectFilterOperatorType, FilterFn<any>>;
|
|
9
|
+
multiselect: Record<MultiSelectFilterOperatorType, FilterFn<any>>;
|
|
9
10
|
};
|
|
10
11
|
export declare const filterOperationsMap: FilterFunctionsMap;
|
|
11
12
|
export declare function getFilterFn<T extends keyof FilterFunctionsMap>(type: T, operator: FilterOperatorTypes): any;
|
|
12
|
-
export declare const getFilterOperator: ({ value, filterType, operator
|
|
13
|
+
export declare const getFilterOperator: ({ value, filterType, operator }: {
|
|
13
14
|
value: any;
|
|
14
|
-
filterType?: "string" | "number" | "select" | "date" | undefined;
|
|
15
|
+
filterType?: "string" | "number" | "select" | "date" | "multiselect" | undefined;
|
|
15
16
|
operator: FilterOperatorTypes;
|
|
16
17
|
}) => FilterOperatorTypes;
|
|
17
|
-
export declare const getFilterValue: ({ value, dataType, filterType
|
|
18
|
+
export declare const getFilterValue: ({ value, dataType, filterType }: {
|
|
18
19
|
value: any;
|
|
19
20
|
dataType?: FilterValueType | undefined;
|
|
20
|
-
filterType?: "string" | "number" | "select" | "date" | undefined;
|
|
21
|
+
filterType?: "string" | "number" | "select" | "date" | "multiselect" | undefined;
|
|
21
22
|
}) => RQLFilterValues;
|
|
22
|
-
export declare const getDataType: ({ filterType, dataType
|
|
23
|
+
export declare const getDataType: ({ filterType, dataType }: {
|
|
23
24
|
dataType?: FilterValueType | undefined;
|
|
24
|
-
filterType?: "string" | "number" | "select" | "date" | undefined;
|
|
25
|
+
filterType?: "string" | "number" | "select" | "date" | "multiselect" | undefined;
|
|
25
26
|
}) => FilterValueType;
|
|
26
27
|
//# sourceMappingURL=filter-operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-operations.d.ts","sourceRoot":"","sources":["../../../../components/data-table/utils/filter-operations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EAEnB,
|
|
1
|
+
{"version":3,"file":"filter-operations.d.ts","sourceRoot":"","sources":["../../../../components/data-table/utils/filter-operations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EAEnB,WAAW,EAEX,eAAe,EACf,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAoB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKxE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBA8GxB,CAAC;AAEX,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,mBAAmB,OAI9B;AAkCD,eAAO,MAAM,iBAAiB;WAKrB,GAAG;;cAEA,mBAAmB;MAC3B,mBAIH,CAAC;AAEF,eAAO,MAAM,cAAc;WAKlB,GAAG;;;MAGR,eAUH,CAAC;AAEF,eAAO,MAAM,WAAW;;;MAMpB,eAUH,CAAC"}
|
|
@@ -25,7 +25,7 @@ const filterOperationsMap = {
|
|
|
25
25
|
},
|
|
26
26
|
gte: (row, columnId, filterValue) => {
|
|
27
27
|
return Number(row.getValue(columnId)) >= Number(filterValue.value);
|
|
28
|
-
}
|
|
28
|
+
}
|
|
29
29
|
},
|
|
30
30
|
string: {
|
|
31
31
|
eq: (row, columnId, filterValue) => {
|
|
@@ -40,44 +40,60 @@ const filterOperationsMap = {
|
|
|
40
40
|
const columnValue = row.getValue(columnId).toLowerCase();
|
|
41
41
|
const filterStr = filterValue.value.toLowerCase();
|
|
42
42
|
return columnValue.includes(filterStr);
|
|
43
|
-
}
|
|
43
|
+
}
|
|
44
44
|
},
|
|
45
45
|
date: {
|
|
46
46
|
eq: (row, columnId, filterValue) => {
|
|
47
|
-
return dayjs(row.getValue(columnId)).isSame(dayjs(filterValue.date),
|
|
47
|
+
return dayjs(row.getValue(columnId)).isSame(dayjs(filterValue.date), 'day');
|
|
48
48
|
},
|
|
49
49
|
neq: (row, columnId, filterValue) => {
|
|
50
|
-
return !dayjs(row.getValue(columnId)).isSame(dayjs(filterValue.date),
|
|
50
|
+
return !dayjs(row.getValue(columnId)).isSame(dayjs(filterValue.date), 'day');
|
|
51
51
|
},
|
|
52
52
|
lt: (row, columnId, filterValue) => {
|
|
53
|
-
return dayjs(row.getValue(columnId)).isBefore(dayjs(filterValue.date),
|
|
53
|
+
return dayjs(row.getValue(columnId)).isBefore(dayjs(filterValue.date), 'day');
|
|
54
54
|
},
|
|
55
55
|
lte: (row, columnId, filterValue) => {
|
|
56
|
-
return dayjs(row.getValue(columnId)).isSameOrBefore(dayjs(filterValue.date),
|
|
56
|
+
return dayjs(row.getValue(columnId)).isSameOrBefore(dayjs(filterValue.date), 'day');
|
|
57
57
|
},
|
|
58
58
|
gt: (row, columnId, filterValue) => {
|
|
59
|
-
return dayjs(row.getValue(columnId)).isAfter(dayjs(filterValue.date),
|
|
59
|
+
return dayjs(row.getValue(columnId)).isAfter(dayjs(filterValue.date), 'day');
|
|
60
60
|
},
|
|
61
61
|
gte: (row, columnId, filterValue) => {
|
|
62
|
-
return dayjs(row.getValue(columnId)).isSameOrAfter(dayjs(filterValue.date),
|
|
63
|
-
}
|
|
62
|
+
return dayjs(row.getValue(columnId)).isSameOrAfter(dayjs(filterValue.date), 'day');
|
|
63
|
+
}
|
|
64
64
|
},
|
|
65
65
|
select: {
|
|
66
66
|
eq: (row, columnId, filterValue) => {
|
|
67
67
|
if (String(filterValue.value) === EmptyFilterValue) {
|
|
68
|
-
return row.getValue(columnId) ===
|
|
68
|
+
return row.getValue(columnId) === '';
|
|
69
69
|
}
|
|
70
70
|
// Select only supports string values
|
|
71
71
|
return String(row.getValue(columnId)) === String(filterValue.value);
|
|
72
72
|
},
|
|
73
73
|
neq: (row, columnId, filterValue) => {
|
|
74
74
|
if (String(filterValue.value) === EmptyFilterValue) {
|
|
75
|
-
return row.getValue(columnId) !==
|
|
75
|
+
return row.getValue(columnId) !== '';
|
|
76
76
|
}
|
|
77
77
|
// Select only supports string values
|
|
78
78
|
return String(row.getValue(columnId)) !== String(filterValue.value);
|
|
79
|
-
}
|
|
79
|
+
}
|
|
80
80
|
},
|
|
81
|
+
multiselect: {
|
|
82
|
+
in: (row, columnId, filterValue) => {
|
|
83
|
+
if (!Array.isArray(filterValue.value))
|
|
84
|
+
return false;
|
|
85
|
+
return filterValue.value
|
|
86
|
+
.map(value => (value === EmptyFilterValue ? '' : String(value)))
|
|
87
|
+
.includes(String(row.getValue(columnId)));
|
|
88
|
+
},
|
|
89
|
+
notin: (row, columnId, filterValue) => {
|
|
90
|
+
if (!Array.isArray(filterValue.value))
|
|
91
|
+
return false;
|
|
92
|
+
return !filterValue.value
|
|
93
|
+
.map(value => (value === EmptyFilterValue ? '' : String(value)))
|
|
94
|
+
.includes(String(row.getValue(columnId)));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
81
97
|
};
|
|
82
98
|
function getFilterFn(type, operator) {
|
|
83
99
|
// @ts-expect-error FilterOperatorTypes is union of all possible operators
|
|
@@ -88,41 +104,49 @@ const handleStringBasedTypes = (filterType, value) => {
|
|
|
88
104
|
case FilterType.date:
|
|
89
105
|
return {
|
|
90
106
|
value,
|
|
91
|
-
stringValue: value.toISOString()
|
|
107
|
+
stringValue: value.toISOString()
|
|
92
108
|
};
|
|
93
109
|
case FilterType.select:
|
|
94
110
|
return {
|
|
95
|
-
stringValue: value === EmptyFilterValue ?
|
|
111
|
+
stringValue: value === EmptyFilterValue ? '' : value,
|
|
112
|
+
value
|
|
113
|
+
};
|
|
114
|
+
case FilterType.multiselect:
|
|
115
|
+
return {
|
|
96
116
|
value,
|
|
117
|
+
stringValue: value
|
|
118
|
+
.map((value) => value === EmptyFilterValue ? '' : String(value))
|
|
119
|
+
.join()
|
|
97
120
|
};
|
|
98
121
|
default:
|
|
99
122
|
return {
|
|
100
123
|
stringValue: value,
|
|
101
|
-
value
|
|
124
|
+
value
|
|
102
125
|
};
|
|
103
126
|
}
|
|
104
127
|
};
|
|
105
|
-
const getFilterOperator = ({ value, filterType, operator
|
|
128
|
+
const getFilterOperator = ({ value, filterType, operator }) => {
|
|
106
129
|
return value === EmptyFilterValue && filterType === FilterType.select
|
|
107
|
-
?
|
|
130
|
+
? 'empty'
|
|
108
131
|
: operator;
|
|
109
132
|
};
|
|
110
|
-
const getFilterValue = ({ value, dataType =
|
|
111
|
-
if (dataType ===
|
|
133
|
+
const getFilterValue = ({ value, dataType = 'string', filterType = FilterType.string }) => {
|
|
134
|
+
if (dataType === 'boolean') {
|
|
112
135
|
return { boolValue: value, value };
|
|
113
136
|
}
|
|
114
|
-
if (dataType ===
|
|
137
|
+
if (dataType === 'number') {
|
|
115
138
|
return { numberValue: value, value };
|
|
116
139
|
}
|
|
117
140
|
// Handle string-based types
|
|
118
141
|
return handleStringBasedTypes(filterType, value);
|
|
119
142
|
};
|
|
120
|
-
const getDataType = ({ filterType = FilterType.string, dataType =
|
|
143
|
+
const getDataType = ({ filterType = FilterType.string, dataType = 'string' }) => {
|
|
121
144
|
switch (filterType) {
|
|
145
|
+
case FilterType.multiselect:
|
|
122
146
|
case FilterType.select:
|
|
123
147
|
return dataType;
|
|
124
148
|
case FilterType.date:
|
|
125
|
-
return
|
|
149
|
+
return 'string';
|
|
126
150
|
default:
|
|
127
151
|
return filterType;
|
|
128
152
|
}
|