@economic/taco 2.50.1 → 2.51.0-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/dist/components/Menu/components/Content.d.ts +1 -1
  2. package/dist/components/Menu/components/SubMenu.d.ts +1 -1
  3. package/dist/esm/packages/taco/src/components/Table3/Table3.js +1 -8
  4. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  5. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +15 -7
  6. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  7. package/dist/esm/packages/taco/src/components/Table3/useTable3.js +1 -1
  8. package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -1
  9. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +8 -5
  10. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  11. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js +1 -2
  12. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  13. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js +2 -2
  14. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js.map +1 -1
  15. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js +4 -0
  16. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -1
  17. package/dist/esm/packages/taco/src/primitives/Table/types.js +2 -0
  18. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  19. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js +0 -11
  20. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js.map +1 -1
  21. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js +6 -0
  22. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js.map +1 -1
  23. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +1 -2
  24. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  25. package/dist/primitives/Table/types.d.ts +7 -3
  26. package/dist/primitives/Table/useTableManager/features/useTableRowActions.d.ts +0 -2
  27. package/dist/taco.cjs.development.js +220 -216
  28. package/dist/taco.cjs.development.js.map +1 -1
  29. package/dist/taco.cjs.production.min.js +1 -1
  30. package/dist/taco.cjs.production.min.js.map +1 -1
  31. package/package.json +8 -8
@@ -15,6 +15,8 @@ var TableFilterComparator;
15
15
  TableFilterComparator[TableFilterComparator["HasAnyOf"] = 11] = "HasAnyOf";
16
16
  TableFilterComparator[TableFilterComparator["HasAllOf"] = 12] = "HasAllOf";
17
17
  TableFilterComparator[TableFilterComparator["HasNoneOf"] = 13] = "HasNoneOf";
18
+ TableFilterComparator[TableFilterComparator["IsOneOf"] = 14] = "IsOneOf";
19
+ TableFilterComparator[TableFilterComparator["IsNoneOf"] = 15] = "IsNoneOf";
18
20
  })(TableFilterComparator || (TableFilterComparator = {}));
19
21
 
20
22
  export { TableFilterComparator };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../../src/primitives/Table/types.ts"],"sourcesContent":["import {\n ColumnFilter as ReactTableColumnFilter,\n ColumnFiltersState as ReactTableColumnFilterState,\n ColumnOrderState as ReactTableColumnOrderState,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSort as ReactTableColumnSort,\n ColumnSizingState as ReactTableColumnSizingState,\n VisibilityState as ReactTableColumnVisibilityState,\n SortingState as ReactTableSortingState,\n BuiltInAggregationFn as ReactTableBuiltInAggregationFn,\n BuiltInSortingFn as ReactTableBuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { FontSize, FontSizes, StringWithAutocompleteOptions, ValueOf } from '../../types';\nimport { MenuItemProps } from '../../components/Menu/components/Item';\n\nexport type TableRef = HTMLTableElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n };\n};\n\n// filtering\nexport enum TableFilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\nexport type TableFilterValue = {\n comparator: TableFilterComparator;\n value: any;\n};\nexport type TableFilter = {\n id: string;\n value: TableFilterValue;\n};\n\n// columns\nexport type TableColumnAlignment = 'left' | 'center' | 'right';\nexport type TableColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type TableColumnDataType =\n // base\n | 'text'\n | 'number'\n | 'datetime'\n | 'boolean'\n // advanced\n | 'amount';\nexport type TableColumnFilter = ReactTableColumnFilter;\nexport type TableColumnMenu = ((columnId: string) => React.ReactNode | null)[];\nexport type TableColumnRenderer<TType, TValue> = (value: TValue, row: TType) => JSX.Element | string | number | null;\nexport type TableColumnRendererAggregate<TType, TValue> = (value: TValue, row: TType) => JSX.Element | string | number | null;\nexport type TableColumnRendererControl<TType = unknown> =\n | ((props: TableColumnRendererControlProps, row?: TType, filterState?: TableFilter[]) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch'\n | 'checkbox'\n | 'textarea';\nexport type TableColumnRendererControlProps = {\n className?: string;\n disabled?: boolean;\n fontSize?: FontSize;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement> | ((instance: HTMLElement | null | undefined) => void);\n setValue: (value: any) => void;\n value: any;\n};\nexport type TableColumnRendererHeader = string | JSX.Element;\nexport type TableColumnRendererFooter<TType> = (rows: TType[]) => JSX.Element | string | number | null;\nexport type TableColumnSort = ReactTableColumnSort;\nexport type TableColumnSortDirection = 'asc' | 'desc';\nexport type TableColumnSortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | ReactTableBuiltInSortingFn\n | 'auto';\nexport type TableColumnWidth = number | 'grow';\n\n// rows\nexport type TableRowActionRenderer<TType = unknown> = (\n row: TType,\n internalRowId: string,\n cleanup: (rowId: string) => void\n) => JSX.Element | null;\nexport type TableRowActionGroupRenderer<TType = unknown> = (rows: TType[]) => JSX.Element | null;\nexport type TableRowClickHandler<TType = unknown> = (row: TType) => void;\nexport type TableRowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type TableRowDropHandler<TType = unknown> = (event: React.DragEvent, row: TType) => void;\nexport type TableRowGotoHandler = (\n column: string,\n query: string,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type TableRowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type TableRowSelectHandler<TType = unknown> = (rows: TType[], ids: string[]) => void;\nexport type TableRowWithMetaData<TType = unknown> = TType & {\n _meta?: {\n layout?: 'heading' | 'summary' | 'item';\n };\n};\n\n// shortcuts\nexport type TableShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type TableShortcutHandlerObject<TType = unknown> = {\n handler: TableShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\n\n// table\nexport type TableSortHandler = (sorting: TableColumnSort[]) => Promise<void>;\nexport type TableFilterHandler = (filters: TableColumnFilter[], hiddenColumns: string[]) => Promise<void>;\nexport type TableSearchHandler = (search: string | undefined, hiddenColumns: string[]) => Promise<void>;\nexport type TableFontSize = keyof typeof FontSizes;\nexport type TablePreset = 'complex' | 'list' | 'simple';\nexport type TableRowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type TableScrollToIndexHandler = (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\nexport type TableServerLoadPageHandler = (\n pageIndex: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n hiddenColumns: string[],\n search: string | undefined\n) => Promise<void>;\nexport type TableServerLoadAllHandler = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n hiddenColumns: string[],\n search: string | undefined\n) => Promise<void>;\nexport type TableSettingsHandler = (settings: TableSettings) => void | Promise<void>;\nexport type TableShortcuts<TType = unknown> = Record<string, TableShortcutHandlerFn<TType> | TableShortcutHandlerObject<TType>>;\nexport type TableCustomSettingsRenderer = (props: TableSettings) => React.ReactElement<MenuItemProps>[];\nexport type TableEmptyStateReason = 'empty' | 'filtering' | 'searching';\nexport type TableEmptyStateRenderer = (props: { reason: TableEmptyStateReason }) => JSX.Element | null;\n\n// settings\nexport type TableSettings = {\n columnFilters?: ReactTableColumnFilterState;\n columnOrder?: ReactTableColumnOrderState;\n columnPinning?: ReactTableColumnPinningState;\n columnSizing?: ReactTableColumnSizingState;\n columnVisibility?: ReactTableColumnVisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: TableFontSize;\n rowHeight?: TableRowHeight;\n searchQuery?: string;\n sorting?: ReactTableSortingState;\n};\nexport type TableEnableSettingsOptions = {\n columnOrder: boolean;\n columnPinning: boolean;\n columnSizing: boolean;\n columnVisibility: boolean;\n excludeUnmatchedRecordsInSearch: boolean;\n fontSize: boolean;\n grouping: boolean;\n rowHeight: boolean;\n sorting: boolean;\n};\n\n// props\nexport type TableConditionalRowProp<TType = unknown> = boolean | ((row: TType) => boolean);\nexport type TableFeatureProps<TType = unknown> = {\n // react-table built-in\n enableFiltering?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableColumnFreezing?: boolean;\n enableColumnHiding?: boolean;\n enableColumnResizing?: boolean;\n enableRowExpansion?: boolean;\n enableRowExpansionAll?: boolean;\n enableRowSelection?: TableConditionalRowProp<TType>;\n\n // custom -- common between all table types\n enableColumnOrdering?: boolean;\n enableFontSize?: boolean;\n enableFooter?: boolean;\n enablePrinting?: boolean;\n enableRowActions?: boolean;\n enableRowActive?: boolean;\n enableRowClick?: TableConditionalRowProp<TType>;\n enableRowDrag?: boolean;\n enableRowDrop?: boolean;\n enableRowGoto?: boolean;\n enableRowHeight?: boolean;\n enableSaveSettings?: boolean | Partial<TableEnableSettingsOptions>;\n};\n\nexport type TableChild = JSX.Element | boolean | null | undefined;\n\nexport type TableCommonProps<TType = unknown> = TableFeatureProps<TType> & {\n children: TableChild | TableChild[];\n data: TType[];\n id: string;\n\n // misc\n customSettings?: TableCustomSettingsRenderer;\n defaultColumnFreezingIndex?: number;\n defaultRowActiveIndex?: number;\n defaultRowGroupColumnId?: keyof TType;\n defaultSettings?: TableSettings;\n emptyState?: TableEmptyStateRenderer;\n preset?: TablePreset;\n rowActions?: TableRowActionRenderer<TType>[];\n rowActionsForGroup?: TableRowActionGroupRenderer<TType>[];\n rowActionsLength?: number;\n rowExpansionRenderer?: TableRowExpansionRenderer<TType>;\n rowIdentityAccessor?: keyof TType;\n shortcuts?: TableShortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n toolbarPanel?: JSX.Element;\n\n // handlers\n onRowClick?: TableRowClickHandler<TType>;\n onRowDrag?: TableRowDragHandler<TType>;\n onRowDrop?: TableRowDropHandler<TType>;\n onRowGoto?: TableRowGotoHandler;\n onRowSelect?: TableRowSelectHandler<TType>;\n\n // state change handlers\n onChangeFilter?: TableFilterHandler;\n onChangeSearch?: TableSearchHandler;\n onChangeSettings?: TableSettingsHandler;\n onChangeSort?: TableSortHandler;\n};\n\nexport interface TableClientProps<TType = unknown> extends TableCommonProps<TType> {\n length?: never;\n loadAll?: never;\n loadPage?: never;\n pageSize?: never;\n pages?: never;\n\n // experimental\n _experimentalDataLoader2?: never;\n}\n\nexport interface TableServerProps<TType = unknown> extends TableCommonProps<TType> {\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n pageSize?: number;\n pages?: number[];\n\n // experimental\n _experimentalDataLoader2?: boolean;\n}\n\nexport type TableProps<TType = unknown> = TableClientProps<TType> | TableServerProps<TType>;\n\nexport type TableColumnProps<TType = unknown> = ValueOf<{\n [Key in keyof TType]: {\n accessor?: Key;\n id: StringWithAutocompleteOptions<Key>;\n // renderers\n renderer?: TableColumnRenderer<TType, TType[Key]>;\n /** Renderer to use if the cell is an aggregate cell and part of a grouped row */\n aggregate?: TableColumnRendererAggregate<TType, TType[Key]>;\n control?: TableColumnRendererControl<TType>;\n footer?: TableColumnRendererFooter<TType>;\n header: TableColumnRendererHeader;\n // options\n /** Aggregation function to be used when the column is part of a grouped row */\n aggregationFn?: 'auto' | ReactTableBuiltInAggregationFn;\n align?: TableColumnAlignment;\n className?: TableColumnClassNameHandler<TType>;\n dataType?: TableColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: TableColumnWidth;\n enableEditing?: boolean;\n enableFiltering?: boolean;\n enableGrouping?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enablePrinting?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: TableFilterComparator[];\n headerClassName?: string;\n menu?: TableColumnMenu;\n minWidth?: number;\n sort?: TableColumnSortDirection;\n sortFn?: TableColumnSortFn<TType>;\n tooltip?: string;\n };\n}>;\n\nexport type TableGroupProps = {\n children: (JSX.Element | boolean | null | undefined)[];\n header: string;\n id: string;\n};\n\nexport type TableTexts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n editFilter: string;\n filter: string;\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n sorting: string;\n sortingOrder: {\n ascending: string;\n descending: string;\n unsorted: string;\n };\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n cancel: string;\n clear: string;\n apply: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n hiddenColumn: string;\n hiddenGroupedColumn: string;\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n settingsDialog: {\n title: string;\n size: string;\n sizeA5: string;\n sizeA4: string;\n sizeA3: string;\n sizeLetter: string;\n sizeLegal: string;\n orientation: string;\n orientationLandscape: string;\n orientationPortrait: string;\n rows: string;\n rowsAll: string;\n rowsSelected: string;\n layout: string;\n layoutSplitGroups: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["TableFilterComparator"],"mappings":"AAwBA;IACYA;AAAZ,WAAYA,qBAAqB;EAC7BA,yEAAQ;EACRA,qFAAc;EACdA,2EAAS;EACTA,iFAAY;EACZA,mFAAa;EACbA,6EAAU;EACVA,2EAAS;EACTA,uEAAO;EACPA,6EAAU;EACVA,+FAAmB;EACnBA,sGAAsB;EACtBA,0EAAQ;EACRA,0EAAQ;EACRA,4EAAS;AACb,CAAC,EAfWA,qBAAqB,KAArBA,qBAAqB;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/primitives/Table/types.ts"],"sourcesContent":["import {\n ColumnFilter as ReactTableColumnFilter,\n ColumnFiltersState as ReactTableColumnFilterState,\n ColumnOrderState as ReactTableColumnOrderState,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSort as ReactTableColumnSort,\n ColumnSizingState as ReactTableColumnSizingState,\n VisibilityState as ReactTableColumnVisibilityState,\n SortingState as ReactTableSortingState,\n BuiltInAggregationFn as ReactTableBuiltInAggregationFn,\n BuiltInSortingFn as ReactTableBuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { FontSize, FontSizes, StringWithAutocompleteOptions, ValueOf } from '../../types';\nimport { MenuItemProps } from '../../components/Menu/components/Item';\n\nexport type TableRef = HTMLTableElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n };\n};\n\n// filtering\nexport enum TableFilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n IsOneOf,\n IsNoneOf,\n}\nexport type TableFilterValue = {\n comparator: TableFilterComparator;\n value: any;\n};\nexport type TableFilter = {\n id: string;\n value: TableFilterValue;\n};\n\n// columns\nexport type TableColumnAlignment = 'left' | 'center' | 'right';\nexport type TableColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type TableColumnDataType =\n // base\n | 'text'\n | 'number'\n | 'datetime'\n | 'boolean'\n // advanced\n | 'amount';\nexport type TableColumnFilter = ReactTableColumnFilter;\nexport type TableColumnMenu = ((columnId: string) => React.ReactNode | null)[];\nexport type TableColumnRenderer<TType, TValue> = (value: TValue, row: TType) => JSX.Element | string | number | null;\nexport type TableColumnRendererAggregate<TType, TValue> = (value: TValue, row: TType) => JSX.Element | string | number | null;\nexport type TableColumnRendererControl<TType = unknown> =\n | ((props: TableColumnRendererControlProps, row?: TType, filterState?: TableFilter[]) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch'\n | 'checkbox'\n | 'textarea';\nexport type TableColumnRendererControlProps = {\n className?: string;\n disabled?: boolean;\n fontSize?: FontSize;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement> | ((instance: HTMLElement | null | undefined) => void);\n setValue: (value: any) => void;\n value: any;\n};\nexport type TableColumnRendererHeader = string;\nexport type TableColumnRendererFooter<TType> = (rows: TType[]) => JSX.Element | string | number | null;\nexport type TableColumnSort = ReactTableColumnSort;\nexport type TableColumnSortDirection = 'asc' | 'desc';\nexport type TableColumnSortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | ReactTableBuiltInSortingFn\n | 'auto';\nexport type TableColumnWidth = number | 'grow';\n\n// rows\nexport type TableRowActionRenderer<TType = unknown> = (row: TType, internalRowId: string) => JSX.Element | null;\nexport type TableRowActionGroupRenderer<TType = unknown> = (rows: TType[]) => JSX.Element | null;\nexport type TableRowClickHandler<TType = unknown> = (row: TType) => void;\nexport type TableRowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type TableRowDropHandler<TType = unknown> = (event: React.DragEvent, row: TType) => void;\nexport type TableRowGotoHandler = (\n column: string,\n query: string,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type TableRowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type TableRowSelectHandler<TType = unknown> = (rows: TType[], ids: string[]) => void;\nexport type TableRowWithMetaData<TType = unknown> = TType & {\n _meta?: {\n layout?: 'heading' | 'summary' | 'item';\n };\n};\n\n// shortcuts\nexport type TableShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type TableShortcutHandlerObject<TType = unknown> = {\n handler: TableShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\n\n// table\nexport type TableSortHandler = (sorting: TableColumnSort[]) => Promise<void>;\nexport type TableFilterHandler = (filters: TableColumnFilter[], hiddenColumns: string[]) => Promise<void>;\nexport type TableSearchHandler = (search: string | undefined, hiddenColumns: string[]) => Promise<void>;\nexport type TableFontSize = keyof typeof FontSizes;\nexport type TablePreset = 'complex' | 'list' | 'simple';\nexport type TableRowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type TableScrollToIndexHandler = (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\nexport type TableServerLoadPageHandler = (\n pageIndex: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n hiddenColumns: string[],\n search: string | undefined\n) => Promise<void>;\nexport type TableServerLoadAllHandler = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n hiddenColumns: string[],\n search: string | undefined\n) => Promise<void>;\nexport type TableSettingsHandler = (settings: TableSettings) => void | Promise<void>;\nexport type TableShortcuts<TType = unknown> = Record<string, TableShortcutHandlerFn<TType> | TableShortcutHandlerObject<TType>>;\nexport type TableCustomSettingsRenderer = (props: TableSettings) => React.ReactElement<MenuItemProps>[];\nexport type TableEmptyStateReason = 'empty' | 'filtering' | 'searching';\nexport type TableEmptyStateRenderer = (props: { reason: TableEmptyStateReason }) => JSX.Element | null;\n\n// settings\nexport type TableSettings = {\n columnFilters?: ReactTableColumnFilterState;\n columnOrder?: ReactTableColumnOrderState;\n columnPinning?: ReactTableColumnPinningState;\n columnSizing?: ReactTableColumnSizingState;\n columnVisibility?: ReactTableColumnVisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: TableFontSize;\n rowHeight?: TableRowHeight;\n searchQuery?: string;\n sorting?: ReactTableSortingState;\n};\nexport type TableEnableSettingsOptions = {\n columnOrder: boolean;\n columnPinning: boolean;\n columnSizing: boolean;\n columnVisibility: boolean;\n excludeUnmatchedRecordsInSearch: boolean;\n fontSize: boolean;\n grouping: boolean;\n rowHeight: boolean;\n sorting: boolean;\n};\n\n// props\nexport type TableConditionalRowProp<TType = unknown> = boolean | ((row: TType) => boolean);\nexport type TableFeatureProps<TType = unknown> = {\n // react-table built-in\n enableFiltering?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableColumnFreezing?: boolean;\n enableColumnHiding?: boolean;\n enableColumnResizing?: boolean;\n enableRowExpansion?: boolean;\n enableRowExpansionAll?: boolean;\n enableRowSelection?: TableConditionalRowProp<TType>;\n\n // custom -- common between all table types\n enableColumnOrdering?: boolean;\n enableFontSize?: boolean;\n enableFooter?: boolean;\n enablePrinting?: boolean;\n enableRowActions?: boolean;\n enableRowActive?: boolean;\n enableRowClick?: TableConditionalRowProp<TType>;\n enableRowDrag?: boolean;\n enableRowDrop?: boolean;\n enableRowGoto?: boolean;\n enableRowHeight?: boolean;\n enableSaveSettings?: boolean | Partial<TableEnableSettingsOptions>;\n};\n\nexport type TableChild = JSX.Element | boolean | null | undefined;\n\nexport type TableCommonProps<TType = unknown> = TableFeatureProps<TType> & {\n children: TableChild | TableChild[];\n data: TType[];\n id: string;\n\n // misc\n customSettings?: TableCustomSettingsRenderer;\n defaultColumnFreezingIndex?: number;\n defaultRowActiveIndex?: number;\n defaultRowGroupColumnId?: keyof TType;\n defaultSettings?: TableSettings;\n emptyState?: TableEmptyStateRenderer;\n preset?: TablePreset;\n rowActions?: TableRowActionRenderer<TType>[];\n rowActionsForGroup?: TableRowActionGroupRenderer<TType>[];\n rowActionsLength?: number;\n rowExpansionRenderer?: TableRowExpansionRenderer<TType>;\n rowIdentityAccessor?: keyof TType;\n shortcuts?: TableShortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n toolbarPanel?: JSX.Element;\n\n // handlers\n onRowClick?: TableRowClickHandler<TType>;\n onRowDrag?: TableRowDragHandler<TType>;\n onRowDrop?: TableRowDropHandler<TType>;\n onRowGoto?: TableRowGotoHandler;\n onRowSelect?: TableRowSelectHandler<TType>;\n\n // state change handlers\n onChangeFilter?: TableFilterHandler;\n onChangeSearch?: TableSearchHandler;\n onChangeSettings?: TableSettingsHandler;\n onChangeSort?: TableSortHandler;\n};\n\nexport interface TableClientProps<TType = unknown> extends TableCommonProps<TType> {\n length?: never;\n loadAll?: never;\n loadPage?: never;\n pageSize?: never;\n pages?: never;\n\n // experimental\n _experimentalDataLoader2?: never;\n}\n\nexport interface TableServerProps<TType = unknown> extends TableCommonProps<TType> {\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n pageSize?: number;\n pages?: number[];\n\n // experimental\n _experimentalDataLoader2?: boolean;\n}\n\nexport type TableProps<TType = unknown> = TableClientProps<TType> | TableServerProps<TType>;\n\nexport type TableColumnProps<TType = unknown> = ValueOf<{\n [Key in keyof TType]: {\n accessor?: Key;\n id: StringWithAutocompleteOptions<Key>;\n // renderers\n renderer?: TableColumnRenderer<TType, TType[Key]>;\n /** Renderer to use if the cell is an aggregate cell and part of a grouped row */\n aggregate?: TableColumnRendererAggregate<TType, TType[Key]>;\n control?: TableColumnRendererControl<TType>;\n footer?: TableColumnRendererFooter<TType>;\n header: TableColumnRendererHeader;\n // options\n /** Aggregation function to be used when the column is part of a grouped row */\n aggregationFn?: 'auto' | ReactTableBuiltInAggregationFn;\n align?: TableColumnAlignment;\n className?: TableColumnClassNameHandler<TType>;\n dataType?: TableColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: TableColumnWidth;\n enableEditing?: boolean;\n enableFiltering?: boolean;\n enableGrouping?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enablePrinting?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: TableFilterComparator[];\n headerClassName?: string;\n menu?: TableColumnMenu;\n minWidth?: number;\n sort?: TableColumnSortDirection;\n sortFn?: TableColumnSortFn<TType>;\n tooltip?: string;\n };\n}>;\n\nexport type TableGroupProps = {\n children: (JSX.Element | boolean | null | undefined)[];\n header: string;\n id: string;\n};\n\nexport type TableTexts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n editFilter: string;\n filter: string;\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n sorting: string;\n sortingOrder: {\n ascending: string;\n descending: string;\n unsorted: string;\n };\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n cancel: string;\n clear: string;\n apply: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n hiddenColumn: string;\n hiddenGroupedColumn: string;\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n settingsDialog: {\n title: string;\n size: string;\n sizeA5: string;\n sizeA4: string;\n sizeA3: string;\n sizeLetter: string;\n sizeLegal: string;\n orientation: string;\n orientationLandscape: string;\n orientationPortrait: string;\n rows: string;\n rowsAll: string;\n rowsSelected: string;\n layout: string;\n layoutSplitGroups: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["TableFilterComparator"],"mappings":"AAwBA;IACYA;AAAZ,WAAYA,qBAAqB;EAC7BA,yEAAQ;EACRA,qFAAc;EACdA,2EAAS;EACTA,iFAAY;EACZA,mFAAa;EACbA,6EAAU;EACVA,2EAAS;EACTA,uEAAO;EACPA,6EAAU;EACVA,+FAAmB;EACnBA,sGAAsB;EACtBA,0EAAQ;EACRA,0EAAQ;EACRA,4EAAS;EACTA,wEAAO;EACPA,0EAAQ;AACZ,CAAC,EAjBWA,qBAAqB,KAArBA,qBAAqB;;;;"}
@@ -1,18 +1,7 @@
1
- import React__default from 'react';
2
-
3
1
  const DEFAULT_ROW_ACTIONS_LENGTH = 4;
4
2
  function useTableRowActions(isEnabled = false, rowActions, rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH) {
5
- const [handlers, setHandlers] = React__default.useState({});
6
- const registerHandler = (key, handler) => {
7
- return setHandlers(h => ({
8
- ...h,
9
- [key]: handler
10
- }));
11
- };
12
3
  return {
13
- handlers,
14
4
  isEnabled,
15
- registerHandler,
16
5
  rowActions: isEnabled ? rowActions : undefined,
17
6
  rowActionsLength: rowActions ? Math.min(rowActions.length, rowActionsLength) : 0
18
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTableRowActions.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableRowActions.ts"],"sourcesContent":["import React from 'react';\nimport { TableRowActionRenderer } from '../../types';\n\nconst DEFAULT_ROW_ACTIONS_LENGTH = 4;\n\nexport function useTableRowActions<TType = unknown>(\n isEnabled = false,\n rowActions?: TableRowActionRenderer<TType>[],\n rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH\n) {\n const [handlers, setHandlers] = React.useState({});\n\n const registerHandler = (key: string, handler: Function) => {\n return setHandlers(h => ({\n ...h,\n [key]: handler,\n }));\n };\n\n return {\n handlers,\n isEnabled,\n registerHandler,\n rowActions: isEnabled ? rowActions : undefined,\n rowActionsLength: rowActions ? Math.min(rowActions.length, rowActionsLength) : 0,\n };\n}\n"],"names":["DEFAULT_ROW_ACTIONS_LENGTH","useTableRowActions","isEnabled","rowActions","rowActionsLength","handlers","setHandlers","React","useState","registerHandler","key","handler","h","undefined","Math","min","length"],"mappings":";;AAGA,MAAMA,0BAA0B,GAAG,CAAC;SAEpBC,kBAAkBA,CAC9BC,SAAS,GAAG,KAAK,EACjBC,UAA4C,EAC5CC,gBAAgB,GAAGJ,0BAA0B;EAE7C,MAAM,CAACK,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,EAAE,CAAC;EAElD,MAAMC,eAAe,GAAGA,CAACC,GAAW,EAAEC,OAAiB;IACnD,OAAOL,WAAW,CAACM,CAAC,KAAK;MACrB,GAAGA,CAAC;MACJ,CAACF,GAAG,GAAGC;KACV,CAAC,CAAC;GACN;EAED,OAAO;IACHN,QAAQ;IACRH,SAAS;IACTO,eAAe;IACfN,UAAU,EAAED,SAAS,GAAGC,UAAU,GAAGU,SAAS;IAC9CT,gBAAgB,EAAED,UAAU,GAAGW,IAAI,CAACC,GAAG,CAACZ,UAAU,CAACa,MAAM,EAAEZ,gBAAgB,CAAC,GAAG;GAClF;AACL;;;;"}
1
+ {"version":3,"file":"useTableRowActions.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableRowActions.ts"],"sourcesContent":["import { TableRowActionRenderer } from '../../types';\n\nconst DEFAULT_ROW_ACTIONS_LENGTH = 4;\n\nexport function useTableRowActions<TType = unknown>(\n isEnabled = false,\n rowActions?: TableRowActionRenderer<TType>[],\n rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH\n) {\n return {\n isEnabled,\n rowActions: isEnabled ? rowActions : undefined,\n rowActionsLength: rowActions ? Math.min(rowActions.length, rowActionsLength) : 0,\n };\n}\n"],"names":["DEFAULT_ROW_ACTIONS_LENGTH","useTableRowActions","isEnabled","rowActions","rowActionsLength","undefined","Math","min","length"],"mappings":"AAEA,MAAMA,0BAA0B,GAAG,CAAC;SAEpBC,kBAAkBA,CAC9BC,SAAS,GAAG,KAAK,EACjBC,UAA4C,EAC5CC,gBAAgB,GAAGJ,0BAA0B;EAE7C,OAAO;IACHE,SAAS;IACTC,UAAU,EAAED,SAAS,GAAGC,UAAU,GAAGE,SAAS;IAC9CD,gBAAgB,EAAED,UAAU,GAAGG,IAAI,CAACC,GAAG,CAACJ,UAAU,CAACK,MAAM,EAAEJ,gBAAgB,CAAC,GAAG;GAClF;AACL;;;;"}
@@ -105,6 +105,12 @@ function columnFilterFn(value, filter) {
105
105
  return Array.isArray(filter.value) && Array.isArray(value) ? filter.value.every(item => value.includes(item) === false) : false;
106
106
  case TableFilterComparator.HasAllOf:
107
107
  return Array.isArray(filter.value) && Array.isArray(value) ? filter.value.filter(v => value.includes(v)).length === filter.value.length : false;
108
+ case TableFilterComparator.IsOneOf:
109
+ if (!Array.isArray(filter.value)) return false;
110
+ return filter.value.some(v => isWeakEqual(value, v));
111
+ case TableFilterComparator.IsNoneOf:
112
+ if (!Array.isArray(filter.value)) return false;
113
+ return filter.value.every(v => !isWeakEqual(value, v));
108
114
  }
109
115
  return false;
110
116
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"filtering.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/filtering.ts"],"sourcesContent":["import { isDate, isAfter as isAfterDate, isBefore as isBeforeDate, isEqual as isEqualDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../../utils/date';\nimport { TableFilterValue, TableFilterComparator } from '../../types';\n\nexport const toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nexport const isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nexport const isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\n// the filter type is only settable on the column definition, which would re-render all columns.\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport function columnFilterFn(value: any, filter: TableFilterValue) {\n try {\n if (filter.comparator === TableFilterComparator.IsEmpty || filter.comparator === TableFilterComparator.IsNotEmpty) {\n const isEmpty = value === undefined || value === null || value === '';\n return filter.comparator === TableFilterComparator.IsEmpty ? isEmpty : !isEmpty;\n }\n\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case TableFilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case TableFilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case TableFilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case TableFilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case TableFilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case TableFilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case TableFilterComparator.IsLessThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isBeforeDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber <= filter.value;\n }\n }\n\n case TableFilterComparator.IsGreaterThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isAfterDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber >= filter.value;\n }\n }\n\n case TableFilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case TableFilterComparator.HasAnyOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.some(item => value.includes(item))\n : false;\n\n case TableFilterComparator.HasNoneOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.every(item => value.includes(item) === false)\n : false;\n\n case TableFilterComparator.HasAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n}\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","columnFilterFn","filter","comparator","TableFilterComparator","IsEmpty","IsNotEmpty","isEmpty","undefined","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsLessThanOrEqualTo","isEqualDate","IsGreaterThanOrEqualTo","IsBetween","fromValue","toValue","HasAnyOf","Array","isArray","some","item","HasNoneOf","every","HasAllOf","v","length","e","console","error"],"mappings":"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"}
1
+ {"version":3,"file":"filtering.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/filtering.ts"],"sourcesContent":["import { isAfter as isAfterDate, isBefore as isBeforeDate, isDate, isEqual as isEqualDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../../utils/date';\nimport { TableFilterComparator, TableFilterValue } from '../../types';\n\nexport const toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nexport const isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nexport const isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\n// the filter type is only settable on the column definition, which would re-render all columns.\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport function columnFilterFn(value: any, filter: TableFilterValue) {\n try {\n if (filter.comparator === TableFilterComparator.IsEmpty || filter.comparator === TableFilterComparator.IsNotEmpty) {\n const isEmpty = value === undefined || value === null || value === '';\n return filter.comparator === TableFilterComparator.IsEmpty ? isEmpty : !isEmpty;\n }\n\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case TableFilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case TableFilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case TableFilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case TableFilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case TableFilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case TableFilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case TableFilterComparator.IsLessThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isBeforeDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber <= filter.value;\n }\n }\n\n case TableFilterComparator.IsGreaterThanOrEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && (isAfterDate(value, filter.value) || isEqualDate(value, filter.value));\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber >= filter.value;\n }\n }\n\n case TableFilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case TableFilterComparator.HasAnyOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.some(item => value.includes(item))\n : false;\n\n case TableFilterComparator.HasNoneOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.every(item => value.includes(item) === false)\n : false;\n\n case TableFilterComparator.HasAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n\n case TableFilterComparator.IsOneOf:\n if (!Array.isArray(filter.value)) return false;\n\n return filter.value.some(v => isWeakEqual(value, v));\n\n case TableFilterComparator.IsNoneOf:\n if (!Array.isArray(filter.value)) return false;\n\n return filter.value.every(v => !isWeakEqual(value, v));\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n}\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","columnFilterFn","filter","comparator","TableFilterComparator","IsEmpty","IsNotEmpty","isEmpty","undefined","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsLessThanOrEqualTo","isEqualDate","IsGreaterThanOrEqualTo","IsBetween","fromValue","toValue","HasAnyOf","Array","isArray","some","item","HasNoneOf","every","HasAllOf","v","length","IsOneOf","IsNoneOf","e","console","error"],"mappings":"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"}
@@ -74,8 +74,7 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
74
74
  // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure
75
75
  // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children
76
76
  accessorFn: row => get(row, accessorKey),
77
- // The header can be either a string or a JSX.Element, but react-table expects it to be a string or a renderer function, so `() => header` ensures compatibility
78
- header: () => header,
77
+ header: header,
79
78
  // features
80
79
  enableColumnFilter,
81
80
  enableGlobalFilter,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn } from './filtering';\nimport { globalFilterFn } from './search';\nimport { ignoreInternalColumns } from './settings';\nimport { getDataTypeProperties } from './dataTypes';\nimport { Localization } from '../../../../components/Provider/Localization';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId: keyof TType | undefined,\n localization: Localization\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id: untypedId,\n accessor: accessorKey = untypedId,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableEditing = !!child.props.control,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n const id = untypedId as string;\n const dataTypeProperties = getDataTypeProperties<TType>(child.props.dataType);\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n if (child.props.sort !== undefined || isGrouped) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure\n // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children\n accessorFn: row => get(row, accessorKey),\n // The header can be either a string or a JSX.Element, but react-table expects it to be a string or a renderer function, so `() => header` ensures compatibility\n header: () => header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n align: meta.align ?? dataTypeProperties.align,\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n enableEditing,\n header,\n renderer,\n },\n };\n\n // renderers - use defined renderers first, then fall back to data type renderers (if there is one)\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n } else if (dataTypeProperties.getDisplayValue) {\n const dataTypeRenderer = (value: any) => {\n const displayValue = dataTypeProperties.getDisplayValue?.(value, { localization });\n\n if (Array.isArray(displayValue)) {\n return displayValue[0] ?? value;\n }\n\n return displayValue ?? value;\n };\n column.cell = info => dataTypeRenderer(info.getValue());\n (column.meta as any).renderer = dataTypeRenderer;\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(info.table.getRowModel().rows.flatMap(row => (row.original !== undefined ? row.original : [])));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps<TType>,\n internalColumns: useTableManagerInternalColumns<TType> | undefined,\n localization: Localization\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowSelection && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(\n options: TableFeatureProps<TType>,\n props: TableProps<TType>,\n localization: Localization\n) {\n // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,\n // which receives the React Table Row object and passes row.original to a callback.\n const reactTableEnableRowSelection =\n typeof options.enableRowSelection === 'function'\n ? (row: ReactTableRow<TType>) => (options.enableRowSelection as (row: TType) => boolean)(row.original)\n : options.enableRowSelection;\n\n let getRowId;\n\n if (props.rowIdentityAccessor) {\n getRowId = (originalRow: TType | undefined, index: number) => {\n if (originalRow) {\n return String(originalRow[props.rowIdentityAccessor as string]);\n }\n\n return String(index);\n };\n }\n\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowPinning: true, // users can't customise row pinning, so it can just be always enabled\n enableRowSelection: reactTableEnableRowSelection ?? false,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n getRowId,\n groupedColumnMode: false,\n keepPinnedRows: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = (row: ReactTableRow<TType>, columnId: string, searchQuery: any) =>\n globalFilterFn(row, columnId, searchQuery, localization);\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) =>\n column.columnDef.meta?.enableSearch !== false && column.getIsVisible();\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n if (props._experimentalDataLoader2) {\n tableOptions.manualFiltering = true;\n } else {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n const columnOrder = ensureOrdering<TType>(\n columns,\n persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder,\n columnPinning.left\n );\n\n // ensure internal columns are pinned, and are pinned in the correct order\n if (columnPinning?.left?.length) {\n columnPinning.left = freezeUptoExternalColumn(\n columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]),\n columnOrder\n );\n } else {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","localization","columnHelper","createColumnHelper","React","isValidElement","props","children","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","_meta$align","untypedId","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","enableEditing","control","enableFiltering","enableColumnFilter","enableHiding","enableOrdering","enablePrinting","enableResizing","enableSearch","enableGlobalFilter","enableSorting","enableTruncate","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","dataTypeProperties","getDataTypeProperties","dataType","isGrouped","undefined","desc","column","accessorFn","row","get","align","cell","info","getValue","original","getDisplayValue","dataTypeRenderer","value","displayValue","_dataTypeProperties$g","call","Array","isArray","_displayValue$","table","getRowModel","rows","flatMap","filterFn","aggregatedCell","sortingFn","getSortingFn","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","rowSelection","enableRowDrag","onRowDrag","rowDrag","enableRowActions","rowActions","length","configureReactTableOptions","reactTableEnableRowSelection","getRowId","rowIdentityAccessor","originalRow","index","String","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableRowPinning","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","keepPinnedRows","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","searchQuery","getColumnCanGlobalFilter","_column$columnDef$met","columnDef","getIsVisible","onChangeSearch","_experimentalDataLoader2","manualFiltering","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnPinning","_ref","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnOrder","ensureOrdering","_persistedSettings$co2","_props$defaultSetting2","left","_columnPinning$left","freezeUptoExternalColumn","indexOf","defaultColumnFreezingIndex","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn } from './filtering';\nimport { globalFilterFn } from './search';\nimport { ignoreInternalColumns } from './settings';\nimport { getDataTypeProperties } from './dataTypes';\nimport { Localization } from '../../../../components/Provider/Localization';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId: keyof TType | undefined,\n localization: Localization\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id: untypedId,\n accessor: accessorKey = untypedId,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableEditing = !!child.props.control,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n const id = untypedId as string;\n const dataTypeProperties = getDataTypeProperties<TType>(child.props.dataType);\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n if (child.props.sort !== undefined || isGrouped) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure\n // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children\n accessorFn: row => get(row, accessorKey),\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n align: meta.align ?? dataTypeProperties.align,\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n enableEditing,\n header,\n renderer,\n },\n };\n\n // renderers - use defined renderers first, then fall back to data type renderers (if there is one)\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n } else if (dataTypeProperties.getDisplayValue) {\n const dataTypeRenderer = (value: any) => {\n const displayValue = dataTypeProperties.getDisplayValue?.(value, { localization });\n\n if (Array.isArray(displayValue)) {\n return displayValue[0] ?? value;\n }\n\n return displayValue ?? value;\n };\n column.cell = info => dataTypeRenderer(info.getValue());\n (column.meta as any).renderer = dataTypeRenderer;\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(info.table.getRowModel().rows.flatMap(row => (row.original !== undefined ? row.original : [])));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps<TType>,\n internalColumns: useTableManagerInternalColumns<TType> | undefined,\n localization: Localization\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowSelection && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(\n options: TableFeatureProps<TType>,\n props: TableProps<TType>,\n localization: Localization\n) {\n // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,\n // which receives the React Table Row object and passes row.original to a callback.\n const reactTableEnableRowSelection =\n typeof options.enableRowSelection === 'function'\n ? (row: ReactTableRow<TType>) => (options.enableRowSelection as (row: TType) => boolean)(row.original)\n : options.enableRowSelection;\n\n let getRowId;\n\n if (props.rowIdentityAccessor) {\n getRowId = (originalRow: TType | undefined, index: number) => {\n if (originalRow) {\n return String(originalRow[props.rowIdentityAccessor as string]);\n }\n\n return String(index);\n };\n }\n\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowPinning: true, // users can't customise row pinning, so it can just be always enabled\n enableRowSelection: reactTableEnableRowSelection ?? false,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n getRowId,\n groupedColumnMode: false,\n keepPinnedRows: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = (row: ReactTableRow<TType>, columnId: string, searchQuery: any) =>\n globalFilterFn(row, columnId, searchQuery, localization);\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) =>\n column.columnDef.meta?.enableSearch !== false && column.getIsVisible();\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n if (props._experimentalDataLoader2) {\n tableOptions.manualFiltering = true;\n } else {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n const columnOrder = ensureOrdering<TType>(\n columns,\n persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder,\n columnPinning.left\n );\n\n // ensure internal columns are pinned, and are pinned in the correct order\n if (columnPinning?.left?.length) {\n columnPinning.left = freezeUptoExternalColumn(\n columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]),\n columnOrder\n );\n } else {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","localization","columnHelper","createColumnHelper","React","isValidElement","props","children","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","_meta$align","untypedId","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","enableEditing","control","enableFiltering","enableColumnFilter","enableHiding","enableOrdering","enablePrinting","enableResizing","enableSearch","enableGlobalFilter","enableSorting","enableTruncate","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","dataTypeProperties","getDataTypeProperties","dataType","isGrouped","undefined","desc","column","accessorFn","row","get","align","cell","info","getValue","original","getDisplayValue","dataTypeRenderer","value","displayValue","_dataTypeProperties$g","call","Array","isArray","_displayValue$","table","getRowModel","rows","flatMap","filterFn","aggregatedCell","sortingFn","getSortingFn","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","rowSelection","enableRowDrag","onRowDrag","rowDrag","enableRowActions","rowActions","length","configureReactTableOptions","reactTableEnableRowSelection","getRowId","rowIdentityAccessor","originalRow","index","String","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableRowPinning","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","keepPinnedRows","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","searchQuery","getColumnCanGlobalFilter","_column$columnDef$met","columnDef","getIsVisible","onChangeSearch","_experimentalDataLoader2","manualFiltering","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnPinning","_ref","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnOrder","ensureOrdering","_persistedSettings$co2","_props$defaultSetting2","left","_columnPinning$left","freezeUptoExternalColumn","indexOf","defaultColumnFreezingIndex","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
@@ -24,7 +24,9 @@ export declare enum TableFilterComparator {
24
24
  IsGreaterThanOrEqualTo = 10,
25
25
  HasAnyOf = 11,
26
26
  HasAllOf = 12,
27
- HasNoneOf = 13
27
+ HasNoneOf = 13,
28
+ IsOneOf = 14,
29
+ IsNoneOf = 15
28
30
  }
29
31
  export declare type TableFilterValue = {
30
32
  comparator: TableFilterComparator;
@@ -54,13 +56,13 @@ export declare type TableColumnRendererControlProps = {
54
56
  setValue: (value: any) => void;
55
57
  value: any;
56
58
  };
57
- export declare type TableColumnRendererHeader = string | JSX.Element;
59
+ export declare type TableColumnRendererHeader = string;
58
60
  export declare type TableColumnRendererFooter<TType> = (rows: TType[]) => JSX.Element | string | number | null;
59
61
  export declare type TableColumnSort = ReactTableColumnSort;
60
62
  export declare type TableColumnSortDirection = 'asc' | 'desc';
61
63
  export declare type TableColumnSortFn<TType = unknown> = ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1) | ReactTableBuiltInSortingFn | 'auto';
62
64
  export declare type TableColumnWidth = number | 'grow';
63
- export declare type TableRowActionRenderer<TType = unknown> = (row: TType, internalRowId: string, cleanup: (rowId: string) => void) => JSX.Element | null;
65
+ export declare type TableRowActionRenderer<TType = unknown> = (row: TType, internalRowId: string) => JSX.Element | null;
64
66
  export declare type TableRowActionGroupRenderer<TType = unknown> = (rows: TType[]) => JSX.Element | null;
65
67
  export declare type TableRowClickHandler<TType = unknown> = (row: TType) => void;
66
68
  export declare type TableRowDragHandler<TType = unknown> = (rows: TType[], showPlaceholder: (string: any) => void, setDataTransfer: (data: string) => void) => void;
@@ -295,6 +297,8 @@ export declare type TableTexts = {
295
297
  isGreaterThan: string;
296
298
  isLessThan: string;
297
299
  isBetween: string;
300
+ isOneOf: string;
301
+ isNoneOf: string;
298
302
  isEmpty: string;
299
303
  isNotEmpty: string;
300
304
  isBefore: string;
@@ -1,8 +1,6 @@
1
1
  import { TableRowActionRenderer } from '../../types';
2
2
  export declare function useTableRowActions<TType = unknown>(isEnabled?: boolean, rowActions?: TableRowActionRenderer<TType>[], rowActionsLength?: number): {
3
- handlers: {};
4
3
  isEnabled: boolean;
5
- registerHandler: (key: string, handler: Function) => void;
6
4
  rowActions: TableRowActionRenderer<TType>[] | undefined;
7
5
  rowActionsLength: number;
8
6
  };