@6thbridge/hexa 0.0.0-pr80-158 → 0.0.0-pr81-160

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/index.d.mts CHANGED
@@ -12,7 +12,6 @@ import { OTPInputProps as OTPInputProps$1 } from 'react-otp-input';
12
12
  import * as PopoverPrimitive from '@radix-ui/react-popover';
13
13
  import { Drawer as Drawer$1 } from 'vaul';
14
14
  import { RowData, Row, Table as Table$1 } from '@tanstack/react-table';
15
- import { UseFormReturn } from 'react-hook-form';
16
15
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
17
16
  import * as zustand from 'zustand';
18
17
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
@@ -265,6 +264,20 @@ type OTPInputProps = DefailtInputProps & VariantProps<typeof otpInputVariants> &
265
264
  };
266
265
  declare const OTPInput: ({ numInputs, inputStyle, containerStyle, placeholder, status, inputMode, inputType, ...props }: OTPInputProps) => React$1.JSX.Element;
267
266
 
267
+ type AccordionItemType = {
268
+ key: string;
269
+ title: React.ReactNode;
270
+ content: React.ReactNode;
271
+ };
272
+ type AccordionProps = {
273
+ items: AccordionItemType[];
274
+ type?: "single" | "multiple";
275
+ defaultValue?: string | string[];
276
+ onChange?: (value: string | string[]) => void;
277
+ className?: string;
278
+ };
279
+ declare function Accordion({ items, type, defaultValue, onChange, className, }: AccordionProps): React$1.JSX.Element;
280
+
268
281
  declare const PopoverRoot: React$1.FC<PopoverPrimitive.PopoverProps>;
269
282
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
270
283
  declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
@@ -475,83 +488,37 @@ type TableBulkRowActionsProps = {
475
488
  id?: string;
476
489
  };
477
490
 
478
- type FilterSelectOption = {
491
+ type SelectOption = {
479
492
  value: string;
480
493
  label: string;
481
494
  };
482
- type FilterType = "input" | "drop-down" | "date-range" | "multi" | "date" | "radio";
483
- /**
484
- * Base properties shared by all filter types.
485
- */
486
- interface FilterBase {
495
+ type Base = {
496
+ type: "input" | "drop-down" | "date-range" | "multi" | "date" | "radio";
487
497
  key: string;
488
498
  label: string;
489
- type: FilterType;
490
499
  placeholder?: string;
491
- }
492
- /**
493
- * Input-specific filter properties.
494
- */
495
- interface FilterInput extends FilterBase, Omit<InputProps, "value" | "onChange" | "type" | "label"> {
500
+ };
501
+ type FilterListOption = {
496
502
  type: "input";
497
- }
498
- /**
499
- * Drop-down (Select) specific filter properties.
500
- */
501
- interface FilterDropDown extends FilterBase {
502
- type: "drop-down";
503
- options: FilterSelectOption[];
504
- hideSearch?: boolean;
505
- }
506
- /**
507
- * Radio specific filter properties.
508
- */
509
- interface FilterRadio extends FilterBase {
510
- type: "radio";
511
- options: FilterSelectOption[];
512
- }
513
- /**
514
- * Date specific filter properties.
515
- */
516
- interface FilterDate extends FilterBase {
503
+ } & Exclude<InputProps, "value" | "onChange">;
504
+ type FilterListDate = {
517
505
  type: "date";
518
506
  date?: string | Date;
519
- }
520
- /**
521
- * Multi-select specific filter properties.
522
- */
523
- interface FilterMultiSelect extends FilterBase {
524
- type: "multi";
525
- options: FilterSelectOption[];
507
+ };
508
+ type FilterListInputDropDown = {
509
+ type: "drop-down" | "multi" | "radio";
510
+ options: SelectOption[];
526
511
  hideSearch?: boolean;
527
- }
528
- /**
529
- * Date range specific filter properties.
530
- */
531
- interface FilterDateRange extends FilterBase {
532
- type: "date-range";
533
- }
534
- /**
535
- * Discriminated union of all supported filter item configurations.
536
- */
537
- type FilterListItem = FilterInput | FilterDropDown | FilterRadio | FilterDate | FilterMultiSelect | FilterDateRange;
538
- /**
539
- * Alias for backward compatibility.
540
- */
541
- type FilterListOptions = FilterListItem[];
542
- /**
543
- * Type alias for filter values, used to avoid 'any' in filter state management.
544
- */
545
- type FilterValues = Record<string, string>;
546
- /**
547
- * Shared props for individual filter fields to eliminate 'any'.
548
- */
549
- type FilterFieldProps<T extends FilterListItem = FilterListItem> = {
550
- filter: T;
551
- id: string;
552
- form: UseFormReturn<FilterValues>;
553
- onClear?: (fieldKey: string) => void;
554
512
  };
513
+ type FilterListItem = Base & (FilterListOption | FilterListInputDropDown | FilterListDate);
514
+ type FilterContentProps = {
515
+ filters: FilterListItem[];
516
+ values?: Record<string, any>;
517
+ setAppliedFilters?: (values: Record<string, any>) => void;
518
+ onChange?: (values: Record<string, any>) => void;
519
+ id?: string;
520
+ };
521
+ type FilterListOptions = FilterListItem[];
555
522
 
556
523
  type PaginationProps = {
557
524
  currentPage?: number;
@@ -599,7 +566,6 @@ type TableProps<T extends RowData> = {
599
566
  FilterMenu?: ReactNode;
600
567
  setAppliedFilters?: (values: Record<string, any>) => void;
601
568
  filterListOptions?: FilterListItem[];
602
- filterValues?: Record<string, any>;
603
569
  buttonClassName?: string;
604
570
  download?: TableDownloadProps;
605
571
  id?: string;
@@ -619,7 +585,7 @@ type TableProps<T extends RowData> = {
619
585
  };
620
586
  emptyDataMessage?: ReactNode;
621
587
  };
622
- declare const Table: <T extends RowData>({ table, isMobile, onRowClick, id, onRefetch, isRefetching, FilterMenu, ExtraNode, onExport, search, download, isLoading, pagination, filterListOptions, filterValues, setAppliedFilters, onFilterChange, tableBulkActions, emptyDataMessage, }: TableProps<T>) => React$1.JSX.Element;
588
+ declare const Table: <T extends RowData>({ table, isMobile, onRowClick, id, onRefetch, isRefetching, FilterMenu, ExtraNode, onExport, search, download, isLoading, pagination, filterListOptions, setAppliedFilters, onFilterChange, tableBulkActions, emptyDataMessage, }: TableProps<T>) => React$1.JSX.Element;
623
589
 
624
590
  type PageDataToolbarProps = {
625
591
  onRefetch?: () => void;
@@ -631,11 +597,10 @@ type PageDataToolbarProps = {
631
597
  isRefetching?: boolean;
632
598
  setAppliedFilters?: (values: Record<string, any>) => void;
633
599
  onFilterChange?: (values: Record<string, any>) => void;
634
- filterValues?: Record<string, any>;
635
600
  filterListOptions?: FilterListItem[];
636
601
  id?: string;
637
602
  };
638
- declare const PageDataToolbar: ({ onRefetch, search, FilterMenu, ExtraNode, onExport, download, isRefetching, filterListOptions, filterValues, setAppliedFilters, onFilterChange, id, }: PageDataToolbarProps) => React$1.JSX.Element;
603
+ declare const PageDataToolbar: ({ onRefetch, search, FilterMenu, ExtraNode, onExport, download, isRefetching, filterListOptions, setAppliedFilters, onFilterChange, id, }: PageDataToolbarProps) => React$1.JSX.Element;
639
604
 
640
605
  declare const PermissionsContext: React$1.Context<ResourcePermissions | undefined>;
641
606
  declare const PermissionsProvider: ({ permissions, children, }: {
@@ -680,24 +645,13 @@ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupP
680
645
  className?: string;
681
646
  } & React$1.RefAttributes<HTMLButtonElement>>;
682
647
 
683
- type FilterContentProps = {
684
- filters: FilterListItem[];
685
- values?: FilterValues;
686
- onChange?: (values: FilterValues) => void;
687
- onApply?: (values: FilterValues) => void;
688
- onReset?: () => void;
689
- /** Called when a single field is cleared, so the parent can update applied state + URL for that key only. */
690
- onClearApplied?: (fieldKey: string) => void;
691
- id?: string;
692
- setAppliedFilters?: (values: FilterValues) => void;
693
- };
694
-
695
- type FilterPopoverProps = Omit<FilterContentProps, "onApply"> & {
648
+ type FilterPopoverProps = FilterContentProps & {
696
649
  isOpen?: boolean;
697
650
  trigger?: ReactNode;
698
651
  id?: string;
652
+ onChange?: (values: Record<string, any>) => void;
699
653
  };
700
- declare const FilterPopover: ({ filters, setAppliedFilters, isOpen, onChange, values, id, }: FilterPopoverProps) => React$1.JSX.Element | null;
654
+ declare const FilterPopover: ({ filters, setAppliedFilters, isOpen, onChange, id, }: FilterPopoverProps) => React$1.JSX.Element | null;
701
655
 
702
656
  interface FilterSliceType {
703
657
  filters: Record<string, any> | null;
@@ -925,4 +879,4 @@ declare const TagsInput: ({ value, onChange, options, label, error, placeholder,
925
879
 
926
880
  declare function cn(...inputs: ClassValue[]): string;
927
881
 
928
- export { AmountAction, Banner, Button, CalendarInput, CopyableLabel, Country, CurrencySymbolMap, DateAction, DebouncedInput, DevBanner, Dialog, Drawer, DrawerClose, type DrawerPropsType, DrawerRoot, FeatureBanner, type FilterFieldProps, type FilterListItem, type FilterListOptions, FilterPopover, FlagComponent, FormLabel, type FormatCurrencyOptions, HasResourcePermission, Input, Loader, LocaleSelector, MultiSelect, type MultiSelectDataType, MultiSelectTrigger, OTPInput, PageDataToolbar, Pagination, PasswordInput, PermissionsContext, PermissionsProvider, PhoneInput, Popover, PopoverContent, PopoverRoot, PopoverTrigger, RadioGroup, RadioGroupItem, type ResourcePermission, type ResourcePermissionProps, type ResourcePermissions, RichTextEditor, ScrollArea, Select, Sidebar, Status, StringAction, Table, type TableBulkRowActionsProps, type TablePaginationProps, Tabs, type TagOption, TagsInput, type TagsInputProps, TextOverflow, type TextOverflowProps, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, buttonVariants, cn, useFilterStore, useHasPermission, usePermissions };
882
+ export { Accordion, type AccordionItemType, type AccordionProps, AmountAction, Banner, Button, CalendarInput, CopyableLabel, Country, CurrencySymbolMap, DateAction, DebouncedInput, DevBanner, Dialog, Drawer, DrawerClose, type DrawerPropsType, DrawerRoot, FeatureBanner, type FilterListItem, type FilterListOptions, FilterPopover, FlagComponent, FormLabel, type FormatCurrencyOptions, HasResourcePermission, Input, Loader, LocaleSelector, MultiSelect, type MultiSelectDataType, MultiSelectTrigger, OTPInput, PageDataToolbar, Pagination, PasswordInput, PermissionsContext, PermissionsProvider, PhoneInput, Popover, PopoverContent, PopoverRoot, PopoverTrigger, RadioGroup, RadioGroupItem, type ResourcePermission, type ResourcePermissionProps, type ResourcePermissions, RichTextEditor, ScrollArea, Select, Sidebar, Status, StringAction, Table, type TableBulkRowActionsProps, type TablePaginationProps, Tabs, type TagOption, TagsInput, type TagsInputProps, TextOverflow, type TextOverflowProps, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, buttonVariants, cn, useFilterStore, useHasPermission, usePermissions };
package/dist/index.d.ts CHANGED
@@ -12,7 +12,6 @@ import { OTPInputProps as OTPInputProps$1 } from 'react-otp-input';
12
12
  import * as PopoverPrimitive from '@radix-ui/react-popover';
13
13
  import { Drawer as Drawer$1 } from 'vaul';
14
14
  import { RowData, Row, Table as Table$1 } from '@tanstack/react-table';
15
- import { UseFormReturn } from 'react-hook-form';
16
15
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
17
16
  import * as zustand from 'zustand';
18
17
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
@@ -265,6 +264,20 @@ type OTPInputProps = DefailtInputProps & VariantProps<typeof otpInputVariants> &
265
264
  };
266
265
  declare const OTPInput: ({ numInputs, inputStyle, containerStyle, placeholder, status, inputMode, inputType, ...props }: OTPInputProps) => React$1.JSX.Element;
267
266
 
267
+ type AccordionItemType = {
268
+ key: string;
269
+ title: React.ReactNode;
270
+ content: React.ReactNode;
271
+ };
272
+ type AccordionProps = {
273
+ items: AccordionItemType[];
274
+ type?: "single" | "multiple";
275
+ defaultValue?: string | string[];
276
+ onChange?: (value: string | string[]) => void;
277
+ className?: string;
278
+ };
279
+ declare function Accordion({ items, type, defaultValue, onChange, className, }: AccordionProps): React$1.JSX.Element;
280
+
268
281
  declare const PopoverRoot: React$1.FC<PopoverPrimitive.PopoverProps>;
269
282
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
270
283
  declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
@@ -475,83 +488,37 @@ type TableBulkRowActionsProps = {
475
488
  id?: string;
476
489
  };
477
490
 
478
- type FilterSelectOption = {
491
+ type SelectOption = {
479
492
  value: string;
480
493
  label: string;
481
494
  };
482
- type FilterType = "input" | "drop-down" | "date-range" | "multi" | "date" | "radio";
483
- /**
484
- * Base properties shared by all filter types.
485
- */
486
- interface FilterBase {
495
+ type Base = {
496
+ type: "input" | "drop-down" | "date-range" | "multi" | "date" | "radio";
487
497
  key: string;
488
498
  label: string;
489
- type: FilterType;
490
499
  placeholder?: string;
491
- }
492
- /**
493
- * Input-specific filter properties.
494
- */
495
- interface FilterInput extends FilterBase, Omit<InputProps, "value" | "onChange" | "type" | "label"> {
500
+ };
501
+ type FilterListOption = {
496
502
  type: "input";
497
- }
498
- /**
499
- * Drop-down (Select) specific filter properties.
500
- */
501
- interface FilterDropDown extends FilterBase {
502
- type: "drop-down";
503
- options: FilterSelectOption[];
504
- hideSearch?: boolean;
505
- }
506
- /**
507
- * Radio specific filter properties.
508
- */
509
- interface FilterRadio extends FilterBase {
510
- type: "radio";
511
- options: FilterSelectOption[];
512
- }
513
- /**
514
- * Date specific filter properties.
515
- */
516
- interface FilterDate extends FilterBase {
503
+ } & Exclude<InputProps, "value" | "onChange">;
504
+ type FilterListDate = {
517
505
  type: "date";
518
506
  date?: string | Date;
519
- }
520
- /**
521
- * Multi-select specific filter properties.
522
- */
523
- interface FilterMultiSelect extends FilterBase {
524
- type: "multi";
525
- options: FilterSelectOption[];
507
+ };
508
+ type FilterListInputDropDown = {
509
+ type: "drop-down" | "multi" | "radio";
510
+ options: SelectOption[];
526
511
  hideSearch?: boolean;
527
- }
528
- /**
529
- * Date range specific filter properties.
530
- */
531
- interface FilterDateRange extends FilterBase {
532
- type: "date-range";
533
- }
534
- /**
535
- * Discriminated union of all supported filter item configurations.
536
- */
537
- type FilterListItem = FilterInput | FilterDropDown | FilterRadio | FilterDate | FilterMultiSelect | FilterDateRange;
538
- /**
539
- * Alias for backward compatibility.
540
- */
541
- type FilterListOptions = FilterListItem[];
542
- /**
543
- * Type alias for filter values, used to avoid 'any' in filter state management.
544
- */
545
- type FilterValues = Record<string, string>;
546
- /**
547
- * Shared props for individual filter fields to eliminate 'any'.
548
- */
549
- type FilterFieldProps<T extends FilterListItem = FilterListItem> = {
550
- filter: T;
551
- id: string;
552
- form: UseFormReturn<FilterValues>;
553
- onClear?: (fieldKey: string) => void;
554
512
  };
513
+ type FilterListItem = Base & (FilterListOption | FilterListInputDropDown | FilterListDate);
514
+ type FilterContentProps = {
515
+ filters: FilterListItem[];
516
+ values?: Record<string, any>;
517
+ setAppliedFilters?: (values: Record<string, any>) => void;
518
+ onChange?: (values: Record<string, any>) => void;
519
+ id?: string;
520
+ };
521
+ type FilterListOptions = FilterListItem[];
555
522
 
556
523
  type PaginationProps = {
557
524
  currentPage?: number;
@@ -599,7 +566,6 @@ type TableProps<T extends RowData> = {
599
566
  FilterMenu?: ReactNode;
600
567
  setAppliedFilters?: (values: Record<string, any>) => void;
601
568
  filterListOptions?: FilterListItem[];
602
- filterValues?: Record<string, any>;
603
569
  buttonClassName?: string;
604
570
  download?: TableDownloadProps;
605
571
  id?: string;
@@ -619,7 +585,7 @@ type TableProps<T extends RowData> = {
619
585
  };
620
586
  emptyDataMessage?: ReactNode;
621
587
  };
622
- declare const Table: <T extends RowData>({ table, isMobile, onRowClick, id, onRefetch, isRefetching, FilterMenu, ExtraNode, onExport, search, download, isLoading, pagination, filterListOptions, filterValues, setAppliedFilters, onFilterChange, tableBulkActions, emptyDataMessage, }: TableProps<T>) => React$1.JSX.Element;
588
+ declare const Table: <T extends RowData>({ table, isMobile, onRowClick, id, onRefetch, isRefetching, FilterMenu, ExtraNode, onExport, search, download, isLoading, pagination, filterListOptions, setAppliedFilters, onFilterChange, tableBulkActions, emptyDataMessage, }: TableProps<T>) => React$1.JSX.Element;
623
589
 
624
590
  type PageDataToolbarProps = {
625
591
  onRefetch?: () => void;
@@ -631,11 +597,10 @@ type PageDataToolbarProps = {
631
597
  isRefetching?: boolean;
632
598
  setAppliedFilters?: (values: Record<string, any>) => void;
633
599
  onFilterChange?: (values: Record<string, any>) => void;
634
- filterValues?: Record<string, any>;
635
600
  filterListOptions?: FilterListItem[];
636
601
  id?: string;
637
602
  };
638
- declare const PageDataToolbar: ({ onRefetch, search, FilterMenu, ExtraNode, onExport, download, isRefetching, filterListOptions, filterValues, setAppliedFilters, onFilterChange, id, }: PageDataToolbarProps) => React$1.JSX.Element;
603
+ declare const PageDataToolbar: ({ onRefetch, search, FilterMenu, ExtraNode, onExport, download, isRefetching, filterListOptions, setAppliedFilters, onFilterChange, id, }: PageDataToolbarProps) => React$1.JSX.Element;
639
604
 
640
605
  declare const PermissionsContext: React$1.Context<ResourcePermissions | undefined>;
641
606
  declare const PermissionsProvider: ({ permissions, children, }: {
@@ -680,24 +645,13 @@ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupP
680
645
  className?: string;
681
646
  } & React$1.RefAttributes<HTMLButtonElement>>;
682
647
 
683
- type FilterContentProps = {
684
- filters: FilterListItem[];
685
- values?: FilterValues;
686
- onChange?: (values: FilterValues) => void;
687
- onApply?: (values: FilterValues) => void;
688
- onReset?: () => void;
689
- /** Called when a single field is cleared, so the parent can update applied state + URL for that key only. */
690
- onClearApplied?: (fieldKey: string) => void;
691
- id?: string;
692
- setAppliedFilters?: (values: FilterValues) => void;
693
- };
694
-
695
- type FilterPopoverProps = Omit<FilterContentProps, "onApply"> & {
648
+ type FilterPopoverProps = FilterContentProps & {
696
649
  isOpen?: boolean;
697
650
  trigger?: ReactNode;
698
651
  id?: string;
652
+ onChange?: (values: Record<string, any>) => void;
699
653
  };
700
- declare const FilterPopover: ({ filters, setAppliedFilters, isOpen, onChange, values, id, }: FilterPopoverProps) => React$1.JSX.Element | null;
654
+ declare const FilterPopover: ({ filters, setAppliedFilters, isOpen, onChange, id, }: FilterPopoverProps) => React$1.JSX.Element | null;
701
655
 
702
656
  interface FilterSliceType {
703
657
  filters: Record<string, any> | null;
@@ -925,4 +879,4 @@ declare const TagsInput: ({ value, onChange, options, label, error, placeholder,
925
879
 
926
880
  declare function cn(...inputs: ClassValue[]): string;
927
881
 
928
- export { AmountAction, Banner, Button, CalendarInput, CopyableLabel, Country, CurrencySymbolMap, DateAction, DebouncedInput, DevBanner, Dialog, Drawer, DrawerClose, type DrawerPropsType, DrawerRoot, FeatureBanner, type FilterFieldProps, type FilterListItem, type FilterListOptions, FilterPopover, FlagComponent, FormLabel, type FormatCurrencyOptions, HasResourcePermission, Input, Loader, LocaleSelector, MultiSelect, type MultiSelectDataType, MultiSelectTrigger, OTPInput, PageDataToolbar, Pagination, PasswordInput, PermissionsContext, PermissionsProvider, PhoneInput, Popover, PopoverContent, PopoverRoot, PopoverTrigger, RadioGroup, RadioGroupItem, type ResourcePermission, type ResourcePermissionProps, type ResourcePermissions, RichTextEditor, ScrollArea, Select, Sidebar, Status, StringAction, Table, type TableBulkRowActionsProps, type TablePaginationProps, Tabs, type TagOption, TagsInput, type TagsInputProps, TextOverflow, type TextOverflowProps, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, buttonVariants, cn, useFilterStore, useHasPermission, usePermissions };
882
+ export { Accordion, type AccordionItemType, type AccordionProps, AmountAction, Banner, Button, CalendarInput, CopyableLabel, Country, CurrencySymbolMap, DateAction, DebouncedInput, DevBanner, Dialog, Drawer, DrawerClose, type DrawerPropsType, DrawerRoot, FeatureBanner, type FilterListItem, type FilterListOptions, FilterPopover, FlagComponent, FormLabel, type FormatCurrencyOptions, HasResourcePermission, Input, Loader, LocaleSelector, MultiSelect, type MultiSelectDataType, MultiSelectTrigger, OTPInput, PageDataToolbar, Pagination, PasswordInput, PermissionsContext, PermissionsProvider, PhoneInput, Popover, PopoverContent, PopoverRoot, PopoverTrigger, RadioGroup, RadioGroupItem, type ResourcePermission, type ResourcePermissionProps, type ResourcePermissions, RichTextEditor, ScrollArea, Select, Sidebar, Status, StringAction, Table, type TableBulkRowActionsProps, type TablePaginationProps, Tabs, type TagOption, TagsInput, type TagsInputProps, TextOverflow, type TextOverflowProps, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger, buttonVariants, cn, useFilterStore, useHasPermission, usePermissions };