@raystack/apsara 0.46.0-rc.3 → 0.46.0-rc.4

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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var reactIs = {exports: {}};
3
+ var shim = {exports: {}};
4
4
 
5
- exports.__module = reactIs;
5
+ exports.__module = shim;
6
6
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- var reactIs = {exports: {}};
1
+ var shim = {exports: {}};
2
2
 
3
- export { reactIs as __module };
3
+ export { shim as __module };
4
4
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var shim = {exports: {}};
3
+ var reactIs = {exports: {}};
4
4
 
5
- exports.__module = shim;
5
+ exports.__module = reactIs;
6
6
  //# sourceMappingURL=index2.cjs.map
@@ -1,4 +1,4 @@
1
- var shim = {exports: {}};
1
+ var reactIs = {exports: {}};
2
2
 
3
- export { shim as __module };
3
+ export { reactIs as __module };
4
4
  //# sourceMappingURL=index2.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../../../../../_virtual/index.cjs');
3
+ var index = require('../../../../../_virtual/index2.cjs');
4
4
  var reactIs_production_min = require('./cjs/react-is.production.min.cjs');
5
5
  var reactIs_development = require('./cjs/react-is.development.cjs');
6
6
 
@@ -1,4 +1,4 @@
1
- import { __module as reactIs } from '../../../../../_virtual/index.js';
1
+ import { __module as reactIs } from '../../../../../_virtual/index2.js';
2
2
  import { __require as requireReactIs_production_min } from './cjs/react-is.production.min.js';
3
3
  import { __require as requireReactIs_development } from './cjs/react-is.development.js';
4
4
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _commonjsHelpers = require('../../../../../../_virtual/_commonjsHelpers.cjs');
6
- var index = require('../../../../../../_virtual/index2.cjs');
6
+ var index = require('../../../../../../_virtual/index.cjs');
7
7
  var useSyncExternalStoreShim_production = require('../cjs/use-sync-external-store-shim.production.cjs');
8
8
  var useSyncExternalStoreShim_development = require('../cjs/use-sync-external-store-shim.development.cjs');
9
9
 
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from '../../../../../../_virtual/_commonjsHelpers.js';
2
- import { __module as shim } from '../../../../../../_virtual/index2.js';
2
+ import { __module as shim } from '../../../../../../_virtual/index.js';
3
3
  import { __require as requireUseSyncExternalStoreShim_production } from '../cjs/use-sync-external-store-shim.production.js';
4
4
  import { __require as requireUseSyncExternalStoreShim_development } from '../cjs/use-sync-external-store-shim.development.js';
5
5
 
@@ -10,13 +10,13 @@ var breadcrumb_module = require('./breadcrumb.module.css.cjs');
10
10
  const breadcrumb = index.cva(breadcrumb_module.default['breadcrumb'], {
11
11
  variants: {
12
12
  size: {
13
- small: breadcrumb_module.default["breadcrumb-small"],
14
- medium: breadcrumb_module.default["breadcrumb-medium"],
15
- },
13
+ small: breadcrumb_module.default['breadcrumb-small'],
14
+ medium: breadcrumb_module.default['breadcrumb-medium']
15
+ }
16
16
  },
17
17
  defaultVariants: {
18
- size: "medium",
19
- },
18
+ size: 'medium'
19
+ }
20
20
  });
21
21
  const Breadcrumb = React.forwardRef(({ className, size = 'medium', items, maxVisibleItems, separator = '/', onItemClick, ...props }, ref) => {
22
22
  const visibleItems = maxVisibleItems && items.length > maxVisibleItems
@@ -26,18 +26,19 @@ const Breadcrumb = React.forwardRef(({ className, size = 'medium', items, maxVis
26
26
  ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))
27
27
  ]
28
28
  : items;
29
- const renderItem = (item, index, isLast) => (jsxRuntime.jsxRuntimeExports.jsxs("li", { className: breadcrumb_module.default['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-ellipsis'], children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu, { children: [jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu.Trigger, { className: breadcrumb_module.default['breadcrumb-dropdown-trigger'], children: [item.icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: item.icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: breadcrumb_module.default['breadcrumb-dropdown-icon'] })] }), jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Content, { className: breadcrumb_module.default['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Item, { className: breadcrumb_module.default['breadcrumb-dropdown-item'], onSelect: () => onItemClick && onItemClick({
30
- label: dropdownItem.label,
31
- href: dropdownItem.href
32
- }), children: dropdownItem.label }, dropdownIndex))) })] })) : (jsxRuntime.jsxRuntimeExports.jsxs("a", { href: item.href, className: `${breadcrumb_module.default['breadcrumb-link']} ${isLast ? breadcrumb_module.default['breadcrumb-link-active'] : ''}`, onClick: (e) => {
29
+ const renderItem = (item, index, isLast) => (jsxRuntime.jsxRuntimeExports.jsxs("li", { className: breadcrumb_module.default['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-ellipsis'], children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu, { children: [jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu.Trigger, { className: breadcrumb_module.default['breadcrumb-dropdown-trigger'], children: [item.icon && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: item.icon })), jsxRuntime.jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: breadcrumb_module.default['breadcrumb-dropdown-icon'] })] }), jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Content, { className: breadcrumb_module.default['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Item, { className: breadcrumb_module.default['breadcrumb-dropdown-item'], onClick: () => onItemClick &&
30
+ onItemClick({
31
+ label: dropdownItem.label,
32
+ href: dropdownItem.href
33
+ }), children: dropdownItem.label }, dropdownIndex))) })] })) : (jsxRuntime.jsxRuntimeExports.jsxs("a", { href: item.href, className: `${breadcrumb_module.default['breadcrumb-link']} ${isLast ? breadcrumb_module.default['breadcrumb-link-active'] : ''}`, onClick: e => {
33
34
  if (onItemClick && item.href !== '#') {
34
35
  e.preventDefault();
35
36
  onItemClick(item);
36
37
  }
37
- }, children: [item.icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: item.icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-separator'], children: separator })] }, index));
38
+ }, children: [item.icon && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-icon'], children: item.icon })), jsxRuntime.jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: breadcrumb_module.default['breadcrumb-separator'], children: separator }))] }, index));
38
39
  return (jsxRuntime.jsxRuntimeExports.jsx("nav", { className: breadcrumb({ size: size, className }), ref: ref, ...props, children: jsxRuntime.jsxRuntimeExports.jsx("ol", { className: breadcrumb_module.default['breadcrumb-list'], children: visibleItems.map((item, index) => renderItem(item, index, index === visibleItems.length - 1)) }) }));
39
40
  });
40
- Breadcrumb.displayName = "Breadcrumb";
41
+ Breadcrumb.displayName = 'Breadcrumb';
41
42
 
42
43
  exports.Breadcrumb = Breadcrumb;
43
44
  //# sourceMappingURL=breadcrumb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.cjs","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon,DotsHorizontalIcon } from \"@radix-ui/react-icons\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React, { forwardRef, PropsWithChildren } from \"react\";\n\nimport { DropdownMenu } from \"../dropdown-menu\";\nimport styles from \"./breadcrumb.module.css\";\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles[\"breadcrumb-small\"],\n medium: styles[\"breadcrumb-medium\"],\n },\n },\n defaultVariants: {\n size: \"medium\",\n },\n});\n\ntype BreadcrumbProps = PropsWithChildren<Omit<VariantProps<typeof breadcrumb>, 'size'>> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n ({ \n className, \n size = 'medium', \n items, \n maxVisibleItems, \n separator = '/', \n onItemClick,\n ...props \n }, ref) => {\n const visibleItems = maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (item: BreadcrumbItem, index: number, isLast: boolean) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger className={styles['breadcrumb-dropdown-trigger']}>\n {item.icon && <span className={styles['breadcrumb-icon']}>{item.icon}</span>}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className={styles['breadcrumb-dropdown-content']}>\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item \n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onSelect={() => onItemClick && onItemClick({ \n label: dropdownItem.label, \n href: dropdownItem.href \n })}\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a \n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={(e) => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && <span className={styles['breadcrumb-icon']}>{item.icon}</span>}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && <span className={styles['breadcrumb-separator']}>{separator}</span>}\n </li>\n );\n\n return (\n <nav \n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) => renderItem(item, index, index === visibleItems.length - 1))}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = \"Breadcrumb\";\n"],"names":["cva","styles","forwardRef","_jsxs","_jsx","DotsHorizontalIcon","DropdownMenu","ChevronDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"breadcrumb.cjs","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport React, { forwardRef, PropsWithChildren } from 'react';\n\nimport { DropdownMenu } from '../dropdown-menu';\nimport styles from './breadcrumb.module.css';\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles['breadcrumb-small'],\n medium: styles['breadcrumb-medium']\n }\n },\n defaultVariants: {\n size: 'medium'\n }\n});\n\ntype BreadcrumbProps = PropsWithChildren<\n Omit<VariantProps<typeof breadcrumb>, 'size'>\n> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n (\n {\n className,\n size = 'medium',\n items,\n maxVisibleItems,\n separator = '/',\n onItemClick,\n ...props\n },\n ref\n ) => {\n const visibleItems =\n maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (\n item: BreadcrumbItem,\n index: number,\n isLast: boolean\n ) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger\n className={styles['breadcrumb-dropdown-trigger']}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content\n className={styles['breadcrumb-dropdown-content']}\n >\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item\n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onClick={() =>\n onItemClick &&\n onItemClick({\n label: dropdownItem.label,\n href: dropdownItem.href\n })\n }\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a\n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={e => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && (\n <span className={styles['breadcrumb-separator']}>{separator}</span>\n )}\n </li>\n );\n\n return (\n <nav\n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) =>\n renderItem(item, index, index === visibleItems.length - 1)\n )}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["cva","styles","forwardRef","_jsxs","_jsx","DotsHorizontalIcon","DropdownMenu","ChevronDownIcon"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type VariantProps } from "class-variance-authority";
2
- import React from "react";
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ import React from 'react';
3
3
  interface BreadcrumbItem {
4
4
  label: string;
5
5
  href: string;
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAuBD,eAAO,MAAM,UAAU;;;;;WARd,cAAc,EAAE;;gBAEX,MAAM,SAAS;0BACN,cAAc,KAAK,IAAI;;;wCAkF7C,CAAC"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAyBD,eAAO,MAAM,UAAU;;;;;WARd,cAAc,EAAE;;gBAEX,MAAM,SAAS;0BACN,cAAc,KAAK,IAAI;;;wCAyG7C,CAAC"}
@@ -8,13 +8,13 @@ import styles from './breadcrumb.module.css.js';
8
8
  const breadcrumb = cva(styles['breadcrumb'], {
9
9
  variants: {
10
10
  size: {
11
- small: styles["breadcrumb-small"],
12
- medium: styles["breadcrumb-medium"],
13
- },
11
+ small: styles['breadcrumb-small'],
12
+ medium: styles['breadcrumb-medium']
13
+ }
14
14
  },
15
15
  defaultVariants: {
16
- size: "medium",
17
- },
16
+ size: 'medium'
17
+ }
18
18
  });
19
19
  const Breadcrumb = forwardRef(({ className, size = 'medium', items, maxVisibleItems, separator = '/', onItemClick, ...props }, ref) => {
20
20
  const visibleItems = maxVisibleItems && items.length > maxVisibleItems
@@ -24,18 +24,19 @@ const Breadcrumb = forwardRef(({ className, size = 'medium', items, maxVisibleIt
24
24
  ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))
25
25
  ]
26
26
  : items;
27
- const renderItem = (item, index, isLast) => (jsxRuntimeExports.jsxs("li", { className: styles['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-ellipsis'], children: jsxRuntimeExports.jsx(DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsxs(DropdownMenu.Trigger, { className: styles['breadcrumb-dropdown-trigger'], children: [item.icon && jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon }), jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntimeExports.jsx(ChevronDownIcon, { className: styles['breadcrumb-dropdown-icon'] })] }), jsxRuntimeExports.jsx(DropdownMenu.Content, { className: styles['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntimeExports.jsx(DropdownMenu.Item, { className: styles['breadcrumb-dropdown-item'], onSelect: () => onItemClick && onItemClick({
28
- label: dropdownItem.label,
29
- href: dropdownItem.href
30
- }), children: dropdownItem.label }, dropdownIndex))) })] })) : (jsxRuntimeExports.jsxs("a", { href: item.href, className: `${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`, onClick: (e) => {
27
+ const renderItem = (item, index, isLast) => (jsxRuntimeExports.jsxs("li", { className: styles['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-ellipsis'], children: jsxRuntimeExports.jsx(DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsxs(DropdownMenu.Trigger, { className: styles['breadcrumb-dropdown-trigger'], children: [item.icon && (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon })), jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntimeExports.jsx(ChevronDownIcon, { className: styles['breadcrumb-dropdown-icon'] })] }), jsxRuntimeExports.jsx(DropdownMenu.Content, { className: styles['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntimeExports.jsx(DropdownMenu.Item, { className: styles['breadcrumb-dropdown-item'], onClick: () => onItemClick &&
28
+ onItemClick({
29
+ label: dropdownItem.label,
30
+ href: dropdownItem.href
31
+ }), children: dropdownItem.label }, dropdownIndex))) })] })) : (jsxRuntimeExports.jsxs("a", { href: item.href, className: `${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`, onClick: e => {
31
32
  if (onItemClick && item.href !== '#') {
32
33
  e.preventDefault();
33
34
  onItemClick(item);
34
35
  }
35
- }, children: [item.icon && jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon }), jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-separator'], children: separator })] }, index));
36
+ }, children: [item.icon && (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon })), jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-separator'], children: separator }))] }, index));
36
37
  return (jsxRuntimeExports.jsx("nav", { className: breadcrumb({ size: size, className }), ref: ref, ...props, children: jsxRuntimeExports.jsx("ol", { className: styles['breadcrumb-list'], children: visibleItems.map((item, index) => renderItem(item, index, index === visibleItems.length - 1)) }) }));
37
38
  });
38
- Breadcrumb.displayName = "Breadcrumb";
39
+ Breadcrumb.displayName = 'Breadcrumb';
39
40
 
40
41
  export { Breadcrumb };
41
42
  //# sourceMappingURL=breadcrumb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon,DotsHorizontalIcon } from \"@radix-ui/react-icons\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React, { forwardRef, PropsWithChildren } from \"react\";\n\nimport { DropdownMenu } from \"../dropdown-menu\";\nimport styles from \"./breadcrumb.module.css\";\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles[\"breadcrumb-small\"],\n medium: styles[\"breadcrumb-medium\"],\n },\n },\n defaultVariants: {\n size: \"medium\",\n },\n});\n\ntype BreadcrumbProps = PropsWithChildren<Omit<VariantProps<typeof breadcrumb>, 'size'>> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n ({ \n className, \n size = 'medium', \n items, \n maxVisibleItems, \n separator = '/', \n onItemClick,\n ...props \n }, ref) => {\n const visibleItems = maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (item: BreadcrumbItem, index: number, isLast: boolean) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger className={styles['breadcrumb-dropdown-trigger']}>\n {item.icon && <span className={styles['breadcrumb-icon']}>{item.icon}</span>}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className={styles['breadcrumb-dropdown-content']}>\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item \n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onSelect={() => onItemClick && onItemClick({ \n label: dropdownItem.label, \n href: dropdownItem.href \n })}\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a \n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={(e) => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && <span className={styles['breadcrumb-icon']}>{item.icon}</span>}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && <span className={styles['breadcrumb-separator']}>{separator}</span>}\n </li>\n );\n\n return (\n <nav \n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) => renderItem(item, index, index === visibleItems.length - 1))}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = \"Breadcrumb\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAcA,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;AAC3C,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC;AACjC,YAAA,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACpC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,QAAQ;AACf,KAAA;AACF,CAAA,CAAC,CAAC;AAWI,MAAM,UAAU,GAAG,UAAU,CAClC,CAAC,EACC,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,eAAe,EACf,SAAS,GAAG,GAAG,EACf,WAAW,EACX,GAAG,KAAK,EACT,EAAE,GAAG,KAAI;IACR,MAAM,YAAY,GAAG,eAAe,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe;AACpE,UAAE;AACE,YAAA,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACpB,YAAA,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE;AAChC,YAAA,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjE,SAAA;UACD,KAAK,CAAC;AAEV,IAAA,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAE,KAAa,EAAE,MAAe,MACtEA,sBAAgB,CAAA,IAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACjD,QAAA,EAAA,CAAA,IAAI,CAAC,KAAK,KAAK,UAAU,IACxBC,qBAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAC5C,QAAA,EAAAA,qBAAA,CAAC,kBAAkB,EAAA,EAAA,CAAG,EACjB,CAAA,IACL,IAAI,EAAE,aAAa,IACrBD,uBAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACXA,sBAAC,CAAA,YAAY,CAAC,OAAO,EAAC,EAAA,SAAS,EAAE,MAAM,CAAC,6BAA6B,CAAC,aACnE,IAAI,CAAC,IAAI,IAAIC,gCAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAG,QAAA,EAAA,IAAI,CAAC,IAAI,EAAA,CAAQ,EAC5EA,qBAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,CAAC,KAAK,EAAQ,CAAA,EACzBA,sBAAC,eAAe,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,GAAI,CAC7C,EAAA,CAAA,EACvBA,qBAAC,CAAA,YAAY,CAAC,OAAO,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,6BAA6B,CAAC,EAAA,QAAA,EACnE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,MAClDA,sBAAC,YAAY,CAAC,IAAI,EAAA,EAEhB,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,EAC7C,QAAQ,EAAE,MAAM,WAAW,IAAI,WAAW,CAAC;gCACzC,KAAK,EAAE,YAAY,CAAC,KAAK;gCACzB,IAAI,EAAE,YAAY,CAAC,IAAI;6BACxB,CAAC,EAAA,QAAA,EAED,YAAY,CAAC,KAAK,IAPd,aAAa,CAQA,CACrB,CAAC,EACmB,CAAA,CAAA,EAAA,CACV,KAEfD,sBACE,CAAA,GAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA,CAAA,EAAI,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAE,CAAA,EAC3F,OAAO,EAAE,CAAC,CAAC,KAAI;oBACb,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;wBACpC,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,WAAW,CAAC,IAAI,CAAC,CAAC;qBACnB;AACH,iBAAC,aAEA,IAAI,CAAC,IAAI,IAAIC,qBAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,YAAG,IAAI,CAAC,IAAI,EAAQ,CAAA,EAC5EA,0CAAO,IAAI,CAAC,KAAK,EAAQ,CAAA,CAAA,EAAA,CACvB,CACL,EACA,CAAC,MAAM,IAAIA,qBAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,YAAG,SAAS,EAAA,CAAQ,KA1CxE,KAAK,CA2CT,CACN,CAAC;IAEF,QACEA,qBACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAA0B,EAAE,SAAS,EAAE,CAAC,EACtE,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,QAAA,EAETA,qBAAI,CAAA,IAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAA,QAAA,EACrC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAA,CAC3F,EACD,CAAA,EACN;AACJ,CAAC,EACD;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"breadcrumb.js","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport React, { forwardRef, PropsWithChildren } from 'react';\n\nimport { DropdownMenu } from '../dropdown-menu';\nimport styles from './breadcrumb.module.css';\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles['breadcrumb-small'],\n medium: styles['breadcrumb-medium']\n }\n },\n defaultVariants: {\n size: 'medium'\n }\n});\n\ntype BreadcrumbProps = PropsWithChildren<\n Omit<VariantProps<typeof breadcrumb>, 'size'>\n> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n (\n {\n className,\n size = 'medium',\n items,\n maxVisibleItems,\n separator = '/',\n onItemClick,\n ...props\n },\n ref\n ) => {\n const visibleItems =\n maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (\n item: BreadcrumbItem,\n index: number,\n isLast: boolean\n ) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger\n className={styles['breadcrumb-dropdown-trigger']}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content\n className={styles['breadcrumb-dropdown-content']}\n >\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item\n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onClick={() =>\n onItemClick &&\n onItemClick({\n label: dropdownItem.label,\n href: dropdownItem.href\n })\n }\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a\n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={e => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && (\n <span className={styles['breadcrumb-separator']}>{separator}</span>\n )}\n </li>\n );\n\n return (\n <nav\n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) =>\n renderItem(item, index, index === visibleItems.length - 1)\n )}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,44 +1,44 @@
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 filter = require('../../../icons/assets/filter.svg.cjs');
5
+ var filters = require('../../../types/filters.cjs');
4
6
  var button = require('../../button/button.cjs');
5
7
  var dropdownMenu = require('../../dropdown-menu/dropdown-menu.cjs');
6
8
  var filterChip = require('../../filter-chip/filter-chip.cjs');
7
9
  var flex = require('../../flex/flex.cjs');
8
10
  var iconButton = require('../../icon-button/icon-button.cjs');
9
- var filter = require('../../../icons/assets/filter.svg.cjs');
10
11
  var useDataTable = require('../hooks/useDataTable.cjs');
11
- var filters = require('../../../types/filters.cjs');
12
12
  var useFilters = require('../hooks/useFilters.cjs');
13
13
 
14
- function AddFilter({ columnList = [], appliedFiltersSet, onAddFilter, }) {
15
- const availableFilters = columnList?.filter((col) => !appliedFiltersSet.has(col.id));
16
- return availableFilters.length > 0 ? (jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu, { children: [jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Trigger, { asChild: true, children: appliedFiltersSet.size > 0 ? (jsxRuntime.jsxRuntimeExports.jsx(iconButton.IconButton, { size: 4, children: jsxRuntime.jsxRuntimeExports.jsx(filter.ReactComponent, {}) })) : (jsxRuntime.jsxRuntimeExports.jsx(button.Button, { variant: "text", size: "small", leadingIcon: jsxRuntime.jsxRuntimeExports.jsx(filter.ReactComponent, {}), children: "Filter" })) }), jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Content, { align: "start", children: availableFilters?.map((column) => {
14
+ function AddFilter({ columnList = [], appliedFiltersSet, onAddFilter }) {
15
+ const availableFilters = columnList?.filter(col => !appliedFiltersSet.has(col.id));
16
+ return availableFilters.length > 0 ? (jsxRuntime.jsxRuntimeExports.jsxs(dropdownMenu.DropdownMenu, { children: [jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Trigger, { asChild: true, children: appliedFiltersSet.size > 0 ? (jsxRuntime.jsxRuntimeExports.jsx(iconButton.IconButton, { size: 4, children: jsxRuntime.jsxRuntimeExports.jsx(filter.ReactComponent, {}) })) : (jsxRuntime.jsxRuntimeExports.jsx(button.Button, { variant: 'text', size: 'small', leadingIcon: jsxRuntime.jsxRuntimeExports.jsx(filter.ReactComponent, {}), children: "Filter" })) }), jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Content, { children: availableFilters?.map(column => {
17
17
  const columnDef = column.columnDef;
18
18
  const id = columnDef.accessorKey || column.id;
19
- return (jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Item, { onSelect: () => onAddFilter(column), children: columnDef.header || id }, id));
19
+ return (jsxRuntime.jsxRuntimeExports.jsx(dropdownMenu.DropdownMenu.Item, { onClick: () => onAddFilter(column), children: columnDef.header || id }, id));
20
20
  }) })] })) : null;
21
21
  }
22
22
  function Filters() {
23
23
  const { table, tableQuery } = useDataTable.useDataTable();
24
24
  const columns = table?.getAllColumns();
25
- const { onAddFilter, handleRemoveFilter, handleFilterValueChange, handleFilterOperationChange, } = useFilters.useFilters();
26
- const columnList = columns?.filter((column) => column.columnDef.enableColumnFilter);
27
- const appliedFiltersSet = new Set(tableQuery?.filters?.map((filter) => filter.name));
28
- const appliedFilters = tableQuery?.filters?.map((filter) => {
29
- const columnDef = columns?.find((col) => {
25
+ const { onAddFilter, handleRemoveFilter, handleFilterValueChange, handleFilterOperationChange } = useFilters.useFilters();
26
+ const columnList = columns?.filter(column => column.columnDef.enableColumnFilter);
27
+ const appliedFiltersSet = new Set(tableQuery?.filters?.map(filter => filter.name));
28
+ const appliedFilters = tableQuery?.filters?.map(filter => {
29
+ const columnDef = columns?.find(col => {
30
30
  const columnDef = col.columnDef;
31
31
  const id = columnDef.accessorKey || col.id;
32
32
  return id === filter.name;
33
33
  })?.columnDef;
34
34
  return {
35
35
  filterType: columnDef?.filterType || filters.FilterType.string,
36
- label: columnDef?.header || "",
36
+ label: columnDef?.header || '',
37
37
  options: columnDef?.filterOptions || [],
38
- ...filter,
38
+ ...filter
39
39
  };
40
40
  }) || [];
41
- return (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { gap: 3, children: [jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { gap: 3, children: appliedFilters.map((filter) => (jsxRuntime.jsxRuntimeExports.jsx(filterChip.FilterChip, { label: filter.label, value: filter.value, onRemove: () => handleRemoveFilter(filter.name), onValueChange: (value) => handleFilterValueChange(filter.name, value), onOperationChange: (operator) => handleFilterOperationChange(filter.name, operator), columnType: filter.filterType, options: filter.options }, filter.name))) }), jsxRuntime.jsxRuntimeExports.jsx(AddFilter, { columnList: columnList, appliedFiltersSet: appliedFiltersSet, onAddFilter: onAddFilter })] }));
41
+ return (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { gap: 3, children: [jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { gap: 3, children: appliedFilters.map(filter => (jsxRuntime.jsxRuntimeExports.jsx(filterChip.FilterChip, { label: filter.label, value: filter.value, onRemove: () => handleRemoveFilter(filter.name), onValueChange: value => handleFilterValueChange(filter.name, value), onOperationChange: operator => handleFilterOperationChange(filter.name, operator), columnType: filter.filterType, options: filter.options }, filter.name))) }), jsxRuntime.jsxRuntimeExports.jsx(AddFilter, { columnList: columnList, appliedFiltersSet: appliedFiltersSet, onAddFilter: onAddFilter })] }));
42
42
  }
43
43
 
44
44
  exports.Filters = Filters;
@@ -1 +1 @@
1
- {"version":3,"file":"filters.cjs","sources":["../../../../../v1/components/data-table/components/filters.tsx"],"sourcesContent":["import { Button } from \"../../button\";\nimport { DropdownMenu } from \"../../dropdown-menu\";\nimport { FilterChip } from \"../../filter-chip\";\nimport { Flex } from \"../../flex\";\nimport { IconButton } from \"../../icon-button\";\nimport { FilterIcon } from \"~/icons\";\nimport { DataTableColumn } from \"../data-table.types\";\nimport { useDataTable } from \"../hooks/useDataTable\";\nimport { FilterOperatorTypes, FilterType } from \"~/v1/types/filters\";\nimport { useFilters } from \"../hooks/useFilters\";\n\ninterface AddFilterProps<TData, TValue> {\n columnList: DataTableColumn<TData, TValue>[];\n appliedFiltersSet: Set<string>;\n onAddFilter: (column: DataTableColumn<TData, TValue>) => void;\n}\n\nfunction AddFilter<TData, TValue>({\n columnList = [],\n appliedFiltersSet,\n onAddFilter,\n}: AddFilterProps<TData, TValue>) {\n const availableFilters = columnList?.filter(\n (col) => !appliedFiltersSet.has(col.id)\n );\n\n return availableFilters.length > 0 ? (\n <DropdownMenu>\n <DropdownMenu.Trigger asChild>\n {appliedFiltersSet.size > 0 ? (\n <IconButton size={4}>\n <FilterIcon />\n </IconButton>\n ) : (\n <Button variant={\"text\"} size={\"small\"} leadingIcon={<FilterIcon />}>\n Filter\n </Button>\n )}\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"start\">\n {availableFilters?.map((column) => {\n const columnDef = column.columnDef;\n const id = columnDef.accessorKey || column.id;\n return (\n <DropdownMenu.Item key={id} onSelect={() => onAddFilter(column)}>\n {columnDef.header || id}\n </DropdownMenu.Item>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : null;\n}\n\nexport function Filters<TData, TValue>() {\n const { table, tableQuery } = useDataTable();\n const columns = table?.getAllColumns() as DataTableColumn<TData, TValue>[];\n\n const {\n onAddFilter,\n handleRemoveFilter,\n handleFilterValueChange,\n handleFilterOperationChange,\n } = useFilters<TData, TValue>();\n\n const columnList = columns?.filter(\n (column) => column.columnDef.enableColumnFilter\n );\n\n const appliedFiltersSet = new Set(\n tableQuery?.filters?.map((filter) => filter.name)\n );\n\n const appliedFilters =\n tableQuery?.filters?.map((filter) => {\n const columnDef = columns?.find((col) => {\n const columnDef = col.columnDef;\n const id = columnDef.accessorKey || col.id;\n return id === filter.name;\n })?.columnDef;\n return {\n filterType: columnDef?.filterType || FilterType.string,\n label: (columnDef?.header as string) || \"\",\n options: columnDef?.filterOptions || [],\n ...filter,\n };\n }) || [];\n\n return (\n <Flex gap={3}>\n <Flex gap={3}>\n {appliedFilters.map((filter) => (\n <FilterChip\n key={filter.name}\n label={filter.label}\n value={filter.value}\n onRemove={() => handleRemoveFilter(filter.name)}\n onValueChange={(value) =>\n handleFilterValueChange(filter.name, value)\n }\n onOperationChange={(operator) =>\n handleFilterOperationChange(\n filter.name,\n operator as FilterOperatorTypes\n )\n }\n columnType={filter.filterType}\n options={filter.options}\n />\n ))}\n </Flex>\n <AddFilter\n columnList={columnList}\n appliedFiltersSet={appliedFiltersSet}\n onAddFilter={onAddFilter}\n />\n </Flex>\n );\n}\n"],"names":["_jsxs","DropdownMenu","_jsx","IconButton","FilterIcon","Button","useDataTable","useFilters","FilterType","Flex","FilterChip"],"mappings":"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"}
1
+ {"version":3,"file":"filters.cjs","sources":["../../../../../v1/components/data-table/components/filters.tsx"],"sourcesContent":["import { FilterIcon } from '~/icons';\nimport { FilterOperatorTypes, FilterType } from '~/v1/types/filters';\nimport { Button } from '../../button';\nimport { DropdownMenu } from '../../dropdown-menu';\nimport { FilterChip } from '../../filter-chip';\nimport { Flex } from '../../flex';\nimport { IconButton } from '../../icon-button';\nimport { DataTableColumn } from '../data-table.types';\nimport { useDataTable } from '../hooks/useDataTable';\nimport { useFilters } from '../hooks/useFilters';\n\ninterface AddFilterProps<TData, TValue> {\n columnList: DataTableColumn<TData, TValue>[];\n appliedFiltersSet: Set<string>;\n onAddFilter: (column: DataTableColumn<TData, TValue>) => void;\n}\n\nfunction AddFilter<TData, TValue>({\n columnList = [],\n appliedFiltersSet,\n onAddFilter\n}: AddFilterProps<TData, TValue>) {\n const availableFilters = columnList?.filter(\n col => !appliedFiltersSet.has(col.id)\n );\n\n return availableFilters.length > 0 ? (\n <DropdownMenu>\n <DropdownMenu.Trigger asChild>\n {appliedFiltersSet.size > 0 ? (\n <IconButton size={4}>\n <FilterIcon />\n </IconButton>\n ) : (\n <Button variant={'text'} size={'small'} leadingIcon={<FilterIcon />}>\n Filter\n </Button>\n )}\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n {availableFilters?.map(column => {\n const columnDef = column.columnDef;\n const id = columnDef.accessorKey || column.id;\n return (\n <DropdownMenu.Item key={id} onClick={() => onAddFilter(column)}>\n {columnDef.header || id}\n </DropdownMenu.Item>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : null;\n}\n\nexport function Filters<TData, TValue>() {\n const { table, tableQuery } = useDataTable();\n const columns = table?.getAllColumns() as DataTableColumn<TData, TValue>[];\n\n const {\n onAddFilter,\n handleRemoveFilter,\n handleFilterValueChange,\n handleFilterOperationChange\n } = useFilters<TData, TValue>();\n\n const columnList = columns?.filter(\n column => column.columnDef.enableColumnFilter\n );\n\n const appliedFiltersSet = new Set(\n tableQuery?.filters?.map(filter => filter.name)\n );\n\n const appliedFilters =\n tableQuery?.filters?.map(filter => {\n const columnDef = columns?.find(col => {\n const columnDef = col.columnDef;\n const id = columnDef.accessorKey || col.id;\n return id === filter.name;\n })?.columnDef;\n return {\n filterType: columnDef?.filterType || FilterType.string,\n label: (columnDef?.header as string) || '',\n options: columnDef?.filterOptions || [],\n ...filter\n };\n }) || [];\n\n return (\n <Flex gap={3}>\n <Flex gap={3}>\n {appliedFilters.map(filter => (\n <FilterChip\n key={filter.name}\n label={filter.label}\n value={filter.value}\n onRemove={() => handleRemoveFilter(filter.name)}\n onValueChange={value => handleFilterValueChange(filter.name, value)}\n onOperationChange={operator =>\n handleFilterOperationChange(\n filter.name,\n operator as FilterOperatorTypes\n )\n }\n columnType={filter.filterType}\n options={filter.options}\n />\n ))}\n </Flex>\n <AddFilter\n columnList={columnList}\n appliedFiltersSet={appliedFiltersSet}\n onAddFilter={onAddFilter}\n />\n </Flex>\n );\n}\n"],"names":["_jsxs","DropdownMenu","_jsx","IconButton","FilterIcon","Button","useDataTable","useFilters","FilterType","Flex","FilterChip"],"mappings":";;;;;;;;;;;;;AAiBA,SAAS,SAAS,CAAgB,EAChC,UAAU,GAAG,EAAE,EACf,iBAAiB,EACjB,WAAW,EACmB,EAAA;IAC9B,MAAM,gBAAgB,GAAG,UAAU,EAAE,MAAM,CACzC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACtC,CAAC;AAEF,IAAA,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAChCA,kCAACC,yBAAY,EAAA,EAAA,QAAA,EAAA,CACXC,gCAAC,CAAAD,yBAAY,CAAC,OAAO,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC1B,iBAAiB,CAAC,IAAI,GAAG,CAAC,IACzBC,gCAAA,CAACC,qBAAU,EAAC,EAAA,IAAI,EAAE,CAAC,YACjBD,gCAAC,CAAAE,qBAAU,EAAG,EAAA,CAAA,EAAA,CACH,KAEbF,iCAACG,aAAM,EAAA,EAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAEH,gCAAC,CAAAE,qBAAU,KAAG,EAE1D,QAAA,EAAA,QAAA,EAAA,CAAA,CACV,EACoB,CAAA,EACvBF,iCAACD,yBAAY,CAAC,OAAO,EAAA,EAAA,QAAA,EAClB,gBAAgB,EAAE,GAAG,CAAC,MAAM,IAAG;AAC9B,oBAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;oBACnC,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;oBAC9C,QACEC,gCAAC,CAAAD,yBAAY,CAAC,IAAI,IAAU,OAAO,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,EAC3D,QAAA,EAAA,SAAS,CAAC,MAAM,IAAI,EAAE,EADD,EAAA,EAAE,CAEN,EACpB;iBACH,CAAC,GACmB,CACV,EAAA,CAAA,IACb,IAAI,CAAC;AACX,CAAC;SAEe,OAAO,GAAA;IACrB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAGK,yBAAY,EAAE,CAAC;AAC7C,IAAA,MAAM,OAAO,GAAG,KAAK,EAAE,aAAa,EAAsC,CAAC;AAE3E,IAAA,MAAM,EACJ,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAC5B,GAAGC,qBAAU,EAAiB,CAAC;AAEhC,IAAA,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,CAChC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAC9C,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAChD,CAAC;IAEF,MAAM,cAAc,GAClB,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAG;QAChC,MAAM,SAAS,GAAG,OAAO,EAAE,IAAI,CAAC,GAAG,IAAG;AACpC,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAChC,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE,CAAC;AAC3C,YAAA,OAAO,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC;SAC3B,CAAC,EAAE,SAAS,CAAC;QACd,OAAO;AACL,YAAA,UAAU,EAAE,SAAS,EAAE,UAAU,IAAIC,kBAAU,CAAC,MAAM;AACtD,YAAA,KAAK,EAAG,SAAS,EAAE,MAAiB,IAAI,EAAE;AAC1C,YAAA,OAAO,EAAE,SAAS,EAAE,aAAa,IAAI,EAAE;AACvC,YAAA,GAAG,MAAM;SACV,CAAC;KACH,CAAC,IAAI,EAAE,CAAC;IAEX,QACER,iCAAC,CAAAS,SAAI,EAAC,EAAA,GAAG,EAAE,CAAC,EACV,QAAA,EAAA,CAAAP,gCAAA,CAACO,SAAI,EAAA,EAAC,GAAG,EAAE,CAAC,EACT,QAAA,EAAA,cAAc,CAAC,GAAG,CAAC,MAAM,KACxBP,gCAAC,CAAAQ,qBAAU,EAET,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAC/C,aAAa,EAAE,KAAK,IAAI,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EACnE,iBAAiB,EAAE,QAAQ,IACzB,2BAA2B,CACzB,MAAM,CAAC,IAAI,EACX,QAA+B,CAChC,EAEH,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,EAZlB,EAAA,MAAM,CAAC,IAAI,CAahB,CACH,CAAC,EAAA,CACG,EACPR,gCAAA,CAAC,SAAS,EAAA,EACR,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EAAA,CACxB,CACG,EAAA,CAAA,EACP;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../../v1/components/data-table/components/filters.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,6CAgEpC"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../../v1/components/data-table/components/filters.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,6CA8DpC"}
@@ -1,42 +1,42 @@
1
1
  import { j as jsxRuntimeExports } from '../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
2
+ import { ReactComponent as SvgFilter } from '../../../icons/assets/filter.svg.js';
3
+ import { FilterType } from '../../../types/filters.js';
2
4
  import { Button } from '../../button/button.js';
3
5
  import { DropdownMenu } from '../../dropdown-menu/dropdown-menu.js';
4
6
  import { FilterChip } from '../../filter-chip/filter-chip.js';
5
7
  import { Flex } from '../../flex/flex.js';
6
8
  import { IconButton } from '../../icon-button/icon-button.js';
7
- import { ReactComponent as SvgFilter } from '../../../icons/assets/filter.svg.js';
8
9
  import { useDataTable } from '../hooks/useDataTable.js';
9
- import { FilterType } from '../../../types/filters.js';
10
10
  import { useFilters } from '../hooks/useFilters.js';
11
11
 
12
- function AddFilter({ columnList = [], appliedFiltersSet, onAddFilter, }) {
13
- const availableFilters = columnList?.filter((col) => !appliedFiltersSet.has(col.id));
14
- return availableFilters.length > 0 ? (jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsx(DropdownMenu.Trigger, { asChild: true, children: appliedFiltersSet.size > 0 ? (jsxRuntimeExports.jsx(IconButton, { size: 4, children: jsxRuntimeExports.jsx(SvgFilter, {}) })) : (jsxRuntimeExports.jsx(Button, { variant: "text", size: "small", leadingIcon: jsxRuntimeExports.jsx(SvgFilter, {}), children: "Filter" })) }), jsxRuntimeExports.jsx(DropdownMenu.Content, { align: "start", children: availableFilters?.map((column) => {
12
+ function AddFilter({ columnList = [], appliedFiltersSet, onAddFilter }) {
13
+ const availableFilters = columnList?.filter(col => !appliedFiltersSet.has(col.id));
14
+ return availableFilters.length > 0 ? (jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsx(DropdownMenu.Trigger, { asChild: true, children: appliedFiltersSet.size > 0 ? (jsxRuntimeExports.jsx(IconButton, { size: 4, children: jsxRuntimeExports.jsx(SvgFilter, {}) })) : (jsxRuntimeExports.jsx(Button, { variant: 'text', size: 'small', leadingIcon: jsxRuntimeExports.jsx(SvgFilter, {}), children: "Filter" })) }), jsxRuntimeExports.jsx(DropdownMenu.Content, { children: availableFilters?.map(column => {
15
15
  const columnDef = column.columnDef;
16
16
  const id = columnDef.accessorKey || column.id;
17
- return (jsxRuntimeExports.jsx(DropdownMenu.Item, { onSelect: () => onAddFilter(column), children: columnDef.header || id }, id));
17
+ return (jsxRuntimeExports.jsx(DropdownMenu.Item, { onClick: () => onAddFilter(column), children: columnDef.header || id }, id));
18
18
  }) })] })) : null;
19
19
  }
20
20
  function Filters() {
21
21
  const { table, tableQuery } = useDataTable();
22
22
  const columns = table?.getAllColumns();
23
- const { onAddFilter, handleRemoveFilter, handleFilterValueChange, handleFilterOperationChange, } = useFilters();
24
- const columnList = columns?.filter((column) => column.columnDef.enableColumnFilter);
25
- const appliedFiltersSet = new Set(tableQuery?.filters?.map((filter) => filter.name));
26
- const appliedFilters = tableQuery?.filters?.map((filter) => {
27
- const columnDef = columns?.find((col) => {
23
+ const { onAddFilter, handleRemoveFilter, handleFilterValueChange, handleFilterOperationChange } = useFilters();
24
+ const columnList = columns?.filter(column => column.columnDef.enableColumnFilter);
25
+ const appliedFiltersSet = new Set(tableQuery?.filters?.map(filter => filter.name));
26
+ const appliedFilters = tableQuery?.filters?.map(filter => {
27
+ const columnDef = columns?.find(col => {
28
28
  const columnDef = col.columnDef;
29
29
  const id = columnDef.accessorKey || col.id;
30
30
  return id === filter.name;
31
31
  })?.columnDef;
32
32
  return {
33
33
  filterType: columnDef?.filterType || FilterType.string,
34
- label: columnDef?.header || "",
34
+ label: columnDef?.header || '',
35
35
  options: columnDef?.filterOptions || [],
36
- ...filter,
36
+ ...filter
37
37
  };
38
38
  }) || [];
39
- return (jsxRuntimeExports.jsxs(Flex, { gap: 3, children: [jsxRuntimeExports.jsx(Flex, { gap: 3, children: appliedFilters.map((filter) => (jsxRuntimeExports.jsx(FilterChip, { label: filter.label, value: filter.value, onRemove: () => handleRemoveFilter(filter.name), onValueChange: (value) => handleFilterValueChange(filter.name, value), onOperationChange: (operator) => handleFilterOperationChange(filter.name, operator), columnType: filter.filterType, options: filter.options }, filter.name))) }), jsxRuntimeExports.jsx(AddFilter, { columnList: columnList, appliedFiltersSet: appliedFiltersSet, onAddFilter: onAddFilter })] }));
39
+ return (jsxRuntimeExports.jsxs(Flex, { gap: 3, children: [jsxRuntimeExports.jsx(Flex, { gap: 3, children: appliedFilters.map(filter => (jsxRuntimeExports.jsx(FilterChip, { label: filter.label, value: filter.value, onRemove: () => handleRemoveFilter(filter.name), onValueChange: value => handleFilterValueChange(filter.name, value), onOperationChange: operator => handleFilterOperationChange(filter.name, operator), columnType: filter.filterType, options: filter.options }, filter.name))) }), jsxRuntimeExports.jsx(AddFilter, { columnList: columnList, appliedFiltersSet: appliedFiltersSet, onAddFilter: onAddFilter })] }));
40
40
  }
41
41
 
42
42
  export { Filters };
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sources":["../../../../../v1/components/data-table/components/filters.tsx"],"sourcesContent":["import { Button } from \"../../button\";\nimport { DropdownMenu } from \"../../dropdown-menu\";\nimport { FilterChip } from \"../../filter-chip\";\nimport { Flex } from \"../../flex\";\nimport { IconButton } from \"../../icon-button\";\nimport { FilterIcon } from \"~/icons\";\nimport { DataTableColumn } from \"../data-table.types\";\nimport { useDataTable } from \"../hooks/useDataTable\";\nimport { FilterOperatorTypes, FilterType } from \"~/v1/types/filters\";\nimport { useFilters } from \"../hooks/useFilters\";\n\ninterface AddFilterProps<TData, TValue> {\n columnList: DataTableColumn<TData, TValue>[];\n appliedFiltersSet: Set<string>;\n onAddFilter: (column: DataTableColumn<TData, TValue>) => void;\n}\n\nfunction AddFilter<TData, TValue>({\n columnList = [],\n appliedFiltersSet,\n onAddFilter,\n}: AddFilterProps<TData, TValue>) {\n const availableFilters = columnList?.filter(\n (col) => !appliedFiltersSet.has(col.id)\n );\n\n return availableFilters.length > 0 ? (\n <DropdownMenu>\n <DropdownMenu.Trigger asChild>\n {appliedFiltersSet.size > 0 ? (\n <IconButton size={4}>\n <FilterIcon />\n </IconButton>\n ) : (\n <Button variant={\"text\"} size={\"small\"} leadingIcon={<FilterIcon />}>\n Filter\n </Button>\n )}\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"start\">\n {availableFilters?.map((column) => {\n const columnDef = column.columnDef;\n const id = columnDef.accessorKey || column.id;\n return (\n <DropdownMenu.Item key={id} onSelect={() => onAddFilter(column)}>\n {columnDef.header || id}\n </DropdownMenu.Item>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : null;\n}\n\nexport function Filters<TData, TValue>() {\n const { table, tableQuery } = useDataTable();\n const columns = table?.getAllColumns() as DataTableColumn<TData, TValue>[];\n\n const {\n onAddFilter,\n handleRemoveFilter,\n handleFilterValueChange,\n handleFilterOperationChange,\n } = useFilters<TData, TValue>();\n\n const columnList = columns?.filter(\n (column) => column.columnDef.enableColumnFilter\n );\n\n const appliedFiltersSet = new Set(\n tableQuery?.filters?.map((filter) => filter.name)\n );\n\n const appliedFilters =\n tableQuery?.filters?.map((filter) => {\n const columnDef = columns?.find((col) => {\n const columnDef = col.columnDef;\n const id = columnDef.accessorKey || col.id;\n return id === filter.name;\n })?.columnDef;\n return {\n filterType: columnDef?.filterType || FilterType.string,\n label: (columnDef?.header as string) || \"\",\n options: columnDef?.filterOptions || [],\n ...filter,\n };\n }) || [];\n\n return (\n <Flex gap={3}>\n <Flex gap={3}>\n {appliedFilters.map((filter) => (\n <FilterChip\n key={filter.name}\n label={filter.label}\n value={filter.value}\n onRemove={() => handleRemoveFilter(filter.name)}\n onValueChange={(value) =>\n handleFilterValueChange(filter.name, value)\n }\n onOperationChange={(operator) =>\n handleFilterOperationChange(\n filter.name,\n operator as FilterOperatorTypes\n )\n }\n columnType={filter.filterType}\n options={filter.options}\n />\n ))}\n </Flex>\n <AddFilter\n columnList={columnList}\n appliedFiltersSet={appliedFiltersSet}\n onAddFilter={onAddFilter}\n />\n </Flex>\n );\n}\n"],"names":["_jsxs","_jsx","FilterIcon"],"mappings":"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"}
1
+ {"version":3,"file":"filters.js","sources":["../../../../../v1/components/data-table/components/filters.tsx"],"sourcesContent":["import { FilterIcon } from '~/icons';\nimport { FilterOperatorTypes, FilterType } from '~/v1/types/filters';\nimport { Button } from '../../button';\nimport { DropdownMenu } from '../../dropdown-menu';\nimport { FilterChip } from '../../filter-chip';\nimport { Flex } from '../../flex';\nimport { IconButton } from '../../icon-button';\nimport { DataTableColumn } from '../data-table.types';\nimport { useDataTable } from '../hooks/useDataTable';\nimport { useFilters } from '../hooks/useFilters';\n\ninterface AddFilterProps<TData, TValue> {\n columnList: DataTableColumn<TData, TValue>[];\n appliedFiltersSet: Set<string>;\n onAddFilter: (column: DataTableColumn<TData, TValue>) => void;\n}\n\nfunction AddFilter<TData, TValue>({\n columnList = [],\n appliedFiltersSet,\n onAddFilter\n}: AddFilterProps<TData, TValue>) {\n const availableFilters = columnList?.filter(\n col => !appliedFiltersSet.has(col.id)\n );\n\n return availableFilters.length > 0 ? (\n <DropdownMenu>\n <DropdownMenu.Trigger asChild>\n {appliedFiltersSet.size > 0 ? (\n <IconButton size={4}>\n <FilterIcon />\n </IconButton>\n ) : (\n <Button variant={'text'} size={'small'} leadingIcon={<FilterIcon />}>\n Filter\n </Button>\n )}\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n {availableFilters?.map(column => {\n const columnDef = column.columnDef;\n const id = columnDef.accessorKey || column.id;\n return (\n <DropdownMenu.Item key={id} onClick={() => onAddFilter(column)}>\n {columnDef.header || id}\n </DropdownMenu.Item>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : null;\n}\n\nexport function Filters<TData, TValue>() {\n const { table, tableQuery } = useDataTable();\n const columns = table?.getAllColumns() as DataTableColumn<TData, TValue>[];\n\n const {\n onAddFilter,\n handleRemoveFilter,\n handleFilterValueChange,\n handleFilterOperationChange\n } = useFilters<TData, TValue>();\n\n const columnList = columns?.filter(\n column => column.columnDef.enableColumnFilter\n );\n\n const appliedFiltersSet = new Set(\n tableQuery?.filters?.map(filter => filter.name)\n );\n\n const appliedFilters =\n tableQuery?.filters?.map(filter => {\n const columnDef = columns?.find(col => {\n const columnDef = col.columnDef;\n const id = columnDef.accessorKey || col.id;\n return id === filter.name;\n })?.columnDef;\n return {\n filterType: columnDef?.filterType || FilterType.string,\n label: (columnDef?.header as string) || '',\n options: columnDef?.filterOptions || [],\n ...filter\n };\n }) || [];\n\n return (\n <Flex gap={3}>\n <Flex gap={3}>\n {appliedFilters.map(filter => (\n <FilterChip\n key={filter.name}\n label={filter.label}\n value={filter.value}\n onRemove={() => handleRemoveFilter(filter.name)}\n onValueChange={value => handleFilterValueChange(filter.name, value)}\n onOperationChange={operator =>\n handleFilterOperationChange(\n filter.name,\n operator as FilterOperatorTypes\n )\n }\n columnType={filter.filterType}\n options={filter.options}\n />\n ))}\n </Flex>\n <AddFilter\n columnList={columnList}\n appliedFiltersSet={appliedFiltersSet}\n onAddFilter={onAddFilter}\n />\n </Flex>\n );\n}\n"],"names":["_jsxs","_jsx","FilterIcon"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raystack/apsara",
3
- "version": "0.46.0-rc.3",
3
+ "version": "0.46.0-rc.4",
4
4
  "types": "dist/index.d.ts",
5
5
  "sideEffects": false,
6
6
  "engines": {