@economic/taco 2.17.2 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. package/dist/components/Select2/Select2.d.ts +2 -0
  2. package/dist/components/Select2/components/Context.d.ts +2 -0
  3. package/dist/components/Select2/components/Group.d.ts +2 -0
  4. package/dist/components/Select2/components/Option.d.ts +3 -0
  5. package/dist/components/Select2/components/Search.d.ts +5 -1
  6. package/dist/components/Table3/Table3.d.ts +1 -1
  7. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +1 -1
  8. package/dist/components/Table3/components/toolbar/FontSize.d.ts +0 -4
  9. package/dist/components/Table3/hooks/useCssGrid.d.ts +2 -2
  10. package/dist/components/Table3/hooks/useCssVars.d.ts +3 -2
  11. package/dist/components/Table3/types.d.ts +5 -5
  12. package/dist/esm/index.css +12 -12
  13. package/dist/esm/packages/taco/src/components/Select2/Select2.js +23 -7
  14. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/Select2/components/Context.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Select2/components/Group.js +4 -1
  17. package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +8 -2
  19. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Select2/components/Search.js +2 -1
  21. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +1 -1
  23. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  24. package/dist/esm/packages/taco/src/components/Table3/Table3.js +4 -5
  25. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js +1 -1
  27. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +1 -0
  29. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js +1 -1
  31. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +3 -3
  33. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +11 -1
  35. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +0 -2
  37. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +5 -9
  39. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +1 -1
  41. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +3 -3
  42. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -1
  43. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +5 -2
  44. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
  45. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +1 -1
  46. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +1 -1
  47. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -1
  49. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +10 -10
  50. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
  51. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  52. package/dist/esm/packages/taco/src/index.js +1 -1
  53. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js +4 -0
  54. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  55. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableFontSize.js.map +1 -1
  56. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js +7 -7
  57. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js.map +1 -1
  58. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/columns.js +4 -4
  59. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/columns.js.map +1 -1
  60. package/dist/esm/packages/taco/src/types.js +7 -1
  61. package/dist/esm/packages/taco/src/types.js.map +1 -1
  62. package/dist/esm/packages/taco/src/utils/dom.js +13 -1
  63. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  64. package/dist/index.css +12 -12
  65. package/dist/primitives/Table/types.d.ts +0 -6
  66. package/dist/primitives/Table/useTable/features/useTableFontSize.d.ts +2 -2
  67. package/dist/primitives/Table/useTable/util/columns.d.ts +2 -2
  68. package/dist/taco.cjs.development.js +123 -79
  69. package/dist/taco.cjs.development.js.map +1 -1
  70. package/dist/taco.cjs.production.min.js +1 -1
  71. package/dist/taco.cjs.production.min.js.map +1 -1
  72. package/dist/types.d.ts +6 -0
  73. package/dist/utils/dom.d.ts +1 -0
  74. package/package.json +2 -2
  75. package/types.json +10644 -10278
  76. package/dist/esm/packages/taco/src/primitives/Table/types.js +0 -10
  77. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/Actions.tsx"],"sourcesContent":["import React from 'react';\nimport { CellContext, DisplayColumnDef, TableMeta } from '@tanstack/react-table';\nimport cn from 'classnames';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Table3FontSize, Table3RowActionRenderer } from '../../../types';\nimport { RowContext } from '../../rows/RowContext';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Menu } from '../../../../Menu/Menu';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\nimport { Footer } from '../footer/Footer';\nimport { FONT_SIZE } from '../../toolbar/FontSize';\nimport { getIndicatorCellClassName, isIndicatorVisible } from '../cell/Indicator';\n\nexport const COLUMN_ID = '__actions';\n\ntype MemoedCellProps<TType = unknown> = CellContext<TType, unknown> & {\n actions?: Table3RowActionRenderer<TType>[];\n actionsLength: number;\n className?: string;\n fontSize: Table3FontSize;\n isActiveRow: boolean;\n isEditing: boolean;\n isResizingColumn: boolean;\n isHoverStatePaused: boolean;\n};\n\nconst MemoedCell = React.memo(function MemoedCell<TType = unknown>(props: MemoedCellProps<TType>) {\n const { actions, actionsLength, fontSize, isActiveRow, isEditing, isResizingColumn, isHoverStatePaused, row } = props;\n const { isHovered } = React.useContext(RowContext);\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLSpanElement | null>(null);\n /*\n const size = table.getState().columnSizing[COLUMN_ID];\n\n // the actions column needs to set its size based on its content, not the actual column\n // so we do this here instead of in the header\n React.useLayoutEffect(() => {\n if (ref.current && !size) {\n const width = ref.current.getBoundingClientRect().width;\n\n table.setColumnSizing(sizes => ({\n ...sizes,\n [COLUMN_ID]: width,\n }));\n }\n }, [ref.current]);\n */\n\n let content;\n\n // We don't want to show actions in edit mode, since we have editing actions,\n // which is shown in edit mode instead.\n if (actions?.length && !isEditing && (isActiveRow || (isHovered && !isHoverStatePaused && !isResizingColumn))) {\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action) as JSX.Element[];\n\n const actionsOnRow =\n visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\n\n const className = cn(\n '-mb-2 flex justify-end pl-2 text-right',\n {\n // Adjust negative margin on row actions cell to ensure that the cell aligns vertically.\n '-mt-2': fontSize === FONT_SIZE.small,\n '-mt-1.5': fontSize !== FONT_SIZE.small,\n },\n props.className\n );\n\n content = (\n <span className={className} ref={ref}>\n {actionsOnRow.map((button, index) => {\n const tooltip = String(button.props.tooltip ?? button.props['aria-label'] ?? '');\n\n return React.cloneElement(button, {\n appearance: 'transparent',\n key: index,\n tabIndex: isActiveRow ? 0 : -1,\n tooltip: button.props.shortcut ? (\n <>\n {tooltip}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n tooltip\n ),\n });\n })}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"transparent\"\n aria-label={texts.table3.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={isActiveRow ? 0 : -1}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {actionsInMenu.map((action, i) => (\n <Menu.Item key={i} {...action.props} shortcut={action.props.shortcut}>\n {action.props['aria-label']}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n />\n ) : null}\n </span>\n );\n }\n\n return <DisplayCell {...props}>{content}</DisplayCell>;\n}) as <TType = unknown>(props: MemoedCellProps<TType>) => JSX.Element;\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown>;\n\nfunction Cell<TType = unknown>(context: CellProps<TType>) {\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = context.table.options.meta as TableMeta<TType>;\n const allVisibleColumns = context.table.getVisibleLeafColumns();\n const lastColumnIndex = allVisibleColumns.length > 0 ? allVisibleColumns.length - 1 : 0;\n const className = isIndicatorVisible(rowIndex, tableMeta.rowActive.rowActiveIndex, tableMeta.editing.rowMoveReason)\n ? getIndicatorCellClassName(context.index, lastColumnIndex)\n : undefined;\n\n return (\n <MemoedCell<TType>\n {...context}\n actions={tableMeta.rowActions.actionsForRow}\n actionsLength={tableMeta.rowActions.actionsForRowLength}\n className={className}\n fontSize={tableMeta.fontSize.size}\n isActiveRow={tableMeta.rowActive.rowActiveIndex === rowIndex}\n isEditing={tableMeta.editing.isEditing}\n isResizingColumn={!!context.table.getState().columnSizingInfo.isResizingColumn}\n isHoverStatePaused={!!tableMeta.rowActive.isHoverStatePaused}\n />\n );\n}\n\nexport function createRowActionsColumn<TType = unknown>(): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: ColumnHeader,\n cell: Cell,\n footer: Footer,\n meta: {\n align: 'right',\n className: cn(\n '!pt-[var(--table3-cell-padding-y)] print:opacity-0 [[role=\"table\"][data-editing=\"false\"]_&]:group-[[data-current=\"true\"]]/row:sticky [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"false\"]_&]:group-hover/row:sticky right-0 !pl-1 !pr-1',\n 'shadow-[-6px_0px_6px_var(--table3-row-actions-shadow)]',\n 'group-[[data-current=\"true\"][data-selected=\"false\"]]/row:text-grey-200',\n 'group-[[data-selected=\"true\"]]/row:text-blue-100',\n 'group-[[data-selected=\"false\"]:hover]/row:text-grey-100'\n ),\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID","MemoedCell","React","memo","props","actions","actionsLength","fontSize","isActiveRow","isEditing","isResizingColumn","isHoverStatePaused","row","isHovered","useContext","RowContext","texts","useLocalization","ref","useRef","content","length","visibleActions","map","action","original","filter","actionsOnRow","slice","actionsInMenu","className","cn","FONT_SIZE","small","button","index","tooltip","String","_ref","_button$props$tooltip","cloneElement","appearance","key","tabIndex","shortcut","Shortcut","keys","IconButton","table3","columns","icon","menu","menuProps","Menu","Content","i","Item","DisplayCell","Cell","context","rowIndex","tableMeta","table","options","meta","allVisibleColumns","getVisibleLeafColumns","lastColumnIndex","isIndicatorVisible","rowActive","rowActiveIndex","editing","rowMoveReason","getIndicatorCellClassName","undefined","rowActions","actionsForRow","actionsForRowLength","size","getState","columnSizingInfo","createRowActionsColumn","id","header","ColumnHeader","cell","footer","Footer","align","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing"],"mappings":"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"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/Actions.tsx"],"sourcesContent":["import React from 'react';\nimport { CellContext, DisplayColumnDef, TableMeta } from '@tanstack/react-table';\nimport cn from 'classnames';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Table3RowActionRenderer } from '../../../types';\nimport { FontSize, FontSizes } from '../../../../../types';\nimport { RowContext } from '../../rows/RowContext';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Menu } from '../../../../Menu/Menu';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\nimport { Footer } from '../footer/Footer';\nimport { getIndicatorCellClassName, isIndicatorVisible } from '../cell/Indicator';\n\nexport const COLUMN_ID = '__actions';\n\ntype MemoedCellProps<TType = unknown> = CellContext<TType, unknown> & {\n actions?: Table3RowActionRenderer<TType>[];\n actionsLength: number;\n className?: string;\n fontSize: FontSize;\n isActiveRow: boolean;\n isEditing: boolean;\n isResizingColumn: boolean;\n isHoverStatePaused: boolean;\n};\n\nconst MemoedCell = React.memo(function MemoedCell<TType = unknown>(props: MemoedCellProps<TType>) {\n const { actions, actionsLength, fontSize, isActiveRow, isEditing, isResizingColumn, isHoverStatePaused, row } = props;\n const { isHovered } = React.useContext(RowContext);\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLSpanElement | null>(null);\n /*\n const size = table.getState().columnSizing[COLUMN_ID];\n\n // the actions column needs to set its size based on its content, not the actual column\n // so we do this here instead of in the header\n React.useLayoutEffect(() => {\n if (ref.current && !size) {\n const width = ref.current.getBoundingClientRect().width;\n\n table.setColumnSizing(sizes => ({\n ...sizes,\n [COLUMN_ID]: width,\n }));\n }\n }, [ref.current]);\n */\n\n let content;\n\n // We don't want to show actions in edit mode, since we have editing actions,\n // which is shown in edit mode instead.\n if (actions?.length && !isEditing && (isActiveRow || (isHovered && !isHoverStatePaused && !isResizingColumn))) {\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action) as JSX.Element[];\n\n const actionsOnRow =\n visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\n\n const className = cn(\n '-mb-2 flex justify-end pl-2 text-right',\n {\n // Adjust negative margin on row actions cell to ensure that the cell aligns vertically.\n '-mt-2': fontSize === FontSizes.small,\n '-mt-1.5': fontSize !== FontSizes.small,\n },\n props.className\n );\n\n content = (\n <span className={className} ref={ref}>\n {actionsOnRow.map((button, index) => {\n const tooltip = String(button.props.tooltip ?? button.props['aria-label'] ?? '');\n\n return React.cloneElement(button, {\n appearance: 'transparent',\n key: index,\n tabIndex: isActiveRow ? 0 : -1,\n tooltip: button.props.shortcut ? (\n <>\n {tooltip}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n tooltip\n ),\n });\n })}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"transparent\"\n aria-label={texts.table3.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={isActiveRow ? 0 : -1}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {actionsInMenu.map((action, i) => (\n <Menu.Item key={i} {...action.props} shortcut={action.props.shortcut}>\n {action.props['aria-label']}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n />\n ) : null}\n </span>\n );\n }\n\n return <DisplayCell {...props}>{content}</DisplayCell>;\n}) as <TType = unknown>(props: MemoedCellProps<TType>) => JSX.Element;\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown>;\n\nfunction Cell<TType = unknown>(context: CellProps<TType>) {\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = context.table.options.meta as TableMeta<TType>;\n const allVisibleColumns = context.table.getVisibleLeafColumns();\n const lastColumnIndex = allVisibleColumns.length > 0 ? allVisibleColumns.length - 1 : 0;\n const className = isIndicatorVisible(rowIndex, tableMeta.rowActive.rowActiveIndex, tableMeta.editing.rowMoveReason)\n ? getIndicatorCellClassName(context.index, lastColumnIndex)\n : undefined;\n\n return (\n <MemoedCell<TType>\n {...context}\n actions={tableMeta.rowActions.actionsForRow}\n actionsLength={tableMeta.rowActions.actionsForRowLength}\n className={className}\n fontSize={tableMeta.fontSize.size}\n isActiveRow={tableMeta.rowActive.rowActiveIndex === rowIndex}\n isEditing={tableMeta.editing.isEditing}\n isResizingColumn={!!context.table.getState().columnSizingInfo.isResizingColumn}\n isHoverStatePaused={!!tableMeta.rowActive.isHoverStatePaused}\n />\n );\n}\n\nexport function createRowActionsColumn<TType = unknown>(): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: ColumnHeader,\n cell: Cell,\n footer: Footer,\n meta: {\n align: 'right',\n className: cn(\n '!pt-[var(--table3-cell-padding-y)] print:opacity-0 [[role=\"table\"][data-editing=\"false\"]_&]:group-[[data-current=\"true\"]]/row:sticky [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"false\"]_&]:group-hover/row:sticky right-0 !pl-1 !pr-1',\n 'shadow-[-6px_0px_6px_var(--table3-row-actions-shadow)]',\n 'group-[[data-current=\"true\"][data-selected=\"false\"]]/row:text-grey-200',\n 'group-[[data-selected=\"true\"]]/row:text-blue-100',\n 'group-[[data-selected=\"false\"]:hover]/row:text-grey-100'\n ),\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID","MemoedCell","React","memo","props","actions","actionsLength","fontSize","isActiveRow","isEditing","isResizingColumn","isHoverStatePaused","row","isHovered","useContext","RowContext","texts","useLocalization","ref","useRef","content","length","visibleActions","map","action","original","filter","actionsOnRow","slice","actionsInMenu","className","cn","FontSizes","small","button","index","tooltip","String","_ref","_button$props$tooltip","cloneElement","appearance","key","tabIndex","shortcut","Shortcut","keys","IconButton","table3","columns","icon","menu","menuProps","Menu","Content","i","Item","DisplayCell","Cell","context","rowIndex","tableMeta","table","options","meta","allVisibleColumns","getVisibleLeafColumns","lastColumnIndex","isIndicatorVisible","rowActive","rowActiveIndex","editing","rowMoveReason","getIndicatorCellClassName","undefined","rowActions","actionsForRow","actionsForRowLength","size","getState","columnSizingInfo","createRowActionsColumn","id","header","ColumnHeader","cell","footer","Footer","align","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing"],"mappings":"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"}
@@ -27,9 +27,19 @@ function Filter(props) {
27
27
  }
28
28
  } = filter;
29
29
  const handleChangeColumn = columnId => {
30
+ var _columnPrev$columnDef, _columnNext$columnDef;
31
+ const columnPrev = allColumns.find(column => column.id === id);
32
+ const columnNext = allColumns.find(column => column.id === columnId);
33
+ // UX requirement: if old column data type is the same as next column data type,
34
+ // then we applying the same filter value for the next column,
35
+ // but when data types are different, we're reseting comparator ans value for the next column
36
+ const value = (columnPrev === null || columnPrev === void 0 ? void 0 : (_columnPrev$columnDef = columnPrev.columnDef.meta) === null || _columnPrev$columnDef === void 0 ? void 0 : _columnPrev$columnDef.dataType) === (columnNext === null || columnNext === void 0 ? void 0 : (_columnNext$columnDef = columnNext.columnDef.meta) === null || _columnNext$columnDef === void 0 ? void 0 : _columnNext$columnDef.dataType) ? filter.value : {
37
+ comparator: null,
38
+ value: null
39
+ };
30
40
  handleChange(id, {
31
41
  id: columnId,
32
- value: filter.value
42
+ value
33
43
  });
34
44
  };
35
45
  const handleChangeComparator = comparator => {
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/Filter.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn } from '@tanstack/react-table';\nimport { IconButton } from '../../../../../../IconButton/IconButton';\nimport { Table3Filter, Table3FilterComparator } from '../../../../../types';\nimport { useLocalization } from '../../../../../../Provider/Localization';\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { FilterValue } from './FilterValue';\n\nexport type FilterProps<TType = unknown> = {\n allColumns: RTColumn<TType, unknown>[];\n filter: Table3Filter;\n filters: Table3Filter[];\n position: number;\n onChange: (id: string | null, value: Table3Filter) => void;\n onRemove: (columnId: string | null) => void;\n};\n\nexport function Filter<TType = unknown>(props: FilterProps<TType>) {\n const { allColumns, filter, filters, onChange: handleChange, onRemove, position } = props;\n const { texts } = useLocalization();\n const column = allColumns.find(c => c.id === filter.id) as RTColumn<TType, unknown>;\n\n const {\n id,\n value: { comparator, value },\n } = filter;\n\n const handleChangeColumn = (columnId: string | null) => {\n handleChange(id, { id: columnId, value: filter.value });\n };\n\n const handleChangeComparator = (comparator: Table3FilterComparator) => {\n let nextValue = filter.value.value;\n\n if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {\n nextValue = undefined;\n }\n handleChange(id, { id, value: { comparator, value: nextValue } });\n };\n\n const handleChangeValue = (value: any) => {\n handleChange(id, { id, value: { ...filter.value, value } });\n };\n\n const handleRemove = () => onRemove(id);\n\n return (\n <div className=\"flex items-start gap-2\">\n <div className=\"flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right\">\n {position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where}\n </div>\n <FilterColumn allColumns={allColumns} filters={filters} onChange={handleChangeColumn as any} value={id} />\n <FilterComparator column={column} onChange={handleChangeComparator as any} value={comparator} />\n <FilterValue column={column} comparator={comparator} onChange={handleChangeValue} value={value} />\n <IconButton appearance=\"discrete\" className=\"ml-auto\" icon=\"close\" onClick={handleRemove} />\n </div>\n );\n}\n"],"names":["Filter","props","allColumns","filter","filters","onChange","handleChange","onRemove","position","texts","useLocalization","column","find","c","id","value","comparator","handleChangeColumn","columnId","handleChangeComparator","nextValue","Table3FilterComparator","IsEmpty","IsNotEmpty","undefined","handleChangeValue","handleRemove","React","className","table3","conditions","and","where","FilterColumn","FilterComparator","FilterValue","IconButton","appearance","icon","onClick"],"mappings":";;;;;;;;SAkBgBA,MAAMA,CAAkBC,KAAyB;EAC7D,MAAM;IAAEC,UAAU;IAAEC,MAAM;IAAEC,OAAO;IAAEC,QAAQ,EAAEC,YAAY;IAAEC,QAAQ;IAAEC;GAAU,GAAGP,KAAK;EACzF,MAAM;IAAEQ;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,MAAM,GAAGT,UAAU,CAACU,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKX,MAAM,CAACW,EAAE,CAA6B;EAEnF,MAAM;IACFA,EAAE;IACFC,KAAK,EAAE;MAAEC,UAAU;MAAED;;GACxB,GAAGZ,MAAM;EAEV,MAAMc,kBAAkB,GAAIC,QAAuB;IAC/CZ,YAAY,CAACQ,EAAE,EAAE;MAAEA,EAAE,EAAEI,QAAQ;MAAEH,KAAK,EAAEZ,MAAM,CAACY;KAAO,CAAC;GAC1D;EAED,MAAMI,sBAAsB,GAAIH,UAAkC;IAC9D,IAAII,SAAS,GAAGjB,MAAM,CAACY,KAAK,CAACA,KAAK;IAElC,IAAIC,UAAU,KAAKK,sBAAsB,CAACC,OAAO,IAAIN,UAAU,KAAKK,sBAAsB,CAACE,UAAU,EAAE;MACnGH,SAAS,GAAGI,SAAS;;IAEzBlB,YAAY,CAACQ,EAAE,EAAE;MAAEA,EAAE;MAAEC,KAAK,EAAE;QAAEC,UAAU;QAAED,KAAK,EAAEK;;KAAa,CAAC;GACpE;EAED,MAAMK,iBAAiB,GAAIV,KAAU;IACjCT,YAAY,CAACQ,EAAE,EAAE;MAAEA,EAAE;MAAEC,KAAK,EAAE;QAAE,GAAGZ,MAAM,CAACY,KAAK;QAAEA;;KAAS,CAAC;GAC9D;EAED,MAAMW,YAAY,GAAGA,MAAMnB,QAAQ,CAACO,EAAE,CAAC;EAEvC,oBACIa;IAAKC,SAAS,EAAC;kBACXD;IAAKC,SAAS,EAAC;KACVpB,QAAQ,GAAG,CAAC,GAAGC,KAAK,CAACoB,MAAM,CAACzB,OAAO,CAAC0B,UAAU,CAACC,GAAG,GAAGtB,KAAK,CAACoB,MAAM,CAACzB,OAAO,CAAC0B,UAAU,CAACE,KAAK,CACzF,eACNL,6BAACM,YAAY;IAAC/B,UAAU,EAAEA,UAAU;IAAEE,OAAO,EAAEA,OAAO;IAAEC,QAAQ,EAAEY,kBAAyB;IAAEF,KAAK,EAAED;IAAM,eAC1Ga,6BAACO,gBAAgB;IAACvB,MAAM,EAAEA,MAAM;IAAEN,QAAQ,EAAEc,sBAA6B;IAAEJ,KAAK,EAAEC;IAAc,eAChGW,6BAACQ,WAAW;IAACxB,MAAM,EAAEA,MAAM;IAAEK,UAAU,EAAEA,UAAU;IAAEX,QAAQ,EAAEoB,iBAAiB;IAAEV,KAAK,EAAEA;IAAS,eAClGY,6BAACS,UAAU;IAACC,UAAU,EAAC,UAAU;IAACT,SAAS,EAAC,SAAS;IAACU,IAAI,EAAC,OAAO;IAACC,OAAO,EAAEb;IAAgB,CAC1F;AAEd;;;;"}
1
+ {"version":3,"file":"Filter.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/Filter.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn } from '@tanstack/react-table';\nimport { IconButton } from '../../../../../../IconButton/IconButton';\nimport { Table3Filter, Table3FilterComparator } from '../../../../../types';\nimport { useLocalization } from '../../../../../../Provider/Localization';\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { FilterValue } from './FilterValue';\n\nexport type FilterProps<TType = unknown> = {\n allColumns: RTColumn<TType, unknown>[];\n filter: Table3Filter;\n filters: Table3Filter[];\n position: number;\n onChange: (id: string | null, value: Table3Filter) => void;\n onRemove: (columnId: string | null) => void;\n};\n\nexport function Filter<TType = unknown>(props: FilterProps<TType>) {\n const { allColumns, filter, filters, onChange: handleChange, onRemove, position } = props;\n const { texts } = useLocalization();\n const column = allColumns.find(c => c.id === filter.id) as RTColumn<TType, unknown>;\n\n const {\n id,\n value: { comparator, value },\n } = filter;\n\n const handleChangeColumn = (columnId: string | null) => {\n const columnPrev = allColumns.find(column => column.id === id);\n const columnNext = allColumns.find(column => column.id === columnId);\n // UX requirement: if old column data type is the same as next column data type,\n // then we applying the same filter value for the next column,\n // but when data types are different, we're reseting comparator ans value for the next column\n const value =\n columnPrev?.columnDef.meta?.dataType === columnNext?.columnDef.meta?.dataType\n ? filter.value\n : { comparator: null, value: null };\n\n handleChange(id, { id: columnId, value });\n };\n\n const handleChangeComparator = (comparator: Table3FilterComparator) => {\n let nextValue = filter.value.value;\n\n if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {\n nextValue = undefined;\n }\n handleChange(id, { id, value: { comparator, value: nextValue } });\n };\n\n const handleChangeValue = (value: any) => {\n handleChange(id, { id, value: { ...filter.value, value } });\n };\n\n const handleRemove = () => onRemove(id);\n\n return (\n <div className=\"flex items-start gap-2\">\n <div className=\"flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right\">\n {position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where}\n </div>\n <FilterColumn allColumns={allColumns} filters={filters} onChange={handleChangeColumn as any} value={id} />\n <FilterComparator column={column} onChange={handleChangeComparator as any} value={comparator} />\n <FilterValue column={column} comparator={comparator} onChange={handleChangeValue} value={value} />\n <IconButton appearance=\"discrete\" className=\"ml-auto\" icon=\"close\" onClick={handleRemove} />\n </div>\n );\n}\n"],"names":["Filter","props","allColumns","filter","filters","onChange","handleChange","onRemove","position","texts","useLocalization","column","find","c","id","value","comparator","handleChangeColumn","columnId","columnPrev","columnNext","_columnPrev$columnDef","columnDef","meta","dataType","_columnNext$columnDef","handleChangeComparator","nextValue","Table3FilterComparator","IsEmpty","IsNotEmpty","undefined","handleChangeValue","handleRemove","React","className","table3","conditions","and","where","FilterColumn","FilterComparator","FilterValue","IconButton","appearance","icon","onClick"],"mappings":"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"}
@@ -60,7 +60,6 @@ function FilterValue(props) {
60
60
  }));
61
61
  }
62
62
  return /*#__PURE__*/React__default.createElement(Control, {
63
- comparator: comparator,
64
63
  column: column,
65
64
  onChange: handleChange,
66
65
  value: value
@@ -70,7 +69,6 @@ function Control(props) {
70
69
  var _column$columnDef$met2, _column$columnDef$met3;
71
70
  const {
72
71
  column,
73
- comparator,
74
72
  onChange,
75
73
  value,
76
74
  ...attributes
@@ -1 +1 @@
1
- {"version":3,"file":"FilterValue.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Column as RTColumn } from '@tanstack/react-table';\nimport { Input } from '../../../../../../Input/Input';\nimport { Table3FilterComparator } from '../../../../../types';\nimport { Datepicker } from '../../../../../../Datepicker/Datepicker';\nimport { Switch } from '../../../../../../Switch/Switch';\nimport { getInputAppearanceClassnames } from '../../../../columns/styles';\nimport cn from 'classnames';\nimport { useLocalization } from '../../../../../../Provider/Localization';\n\nexport type FilterValueProps<TType = unknown> = {\n column?: RTColumn<TType, unknown>;\n comparator: Table3FilterComparator;\n onChange: (value: any) => void;\n value: any;\n};\n\nexport function FilterValue<TType = unknown>(props: FilterValueProps<TType>) {\n const { column, comparator, onChange: handleChange, value } = props;\n const { texts } = useLocalization();\n if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {\n return null;\n }\n\n if (comparator === Table3FilterComparator.IsBetween) {\n const fromValue = Array.isArray(value) ? value[0] : undefined;\n const toValue = Array.isArray(value) ? value[1] : undefined;\n\n if (column === undefined) {\n return (\n <Input\n aria-label={texts.table3.filters.emptyFilter.value}\n className=\"flex-grow\"\n disabled\n value={texts.table3.filters.emptyFilter.value}\n />\n );\n }\n\n if (column.columnDef.meta?.dataType === 'datetime') {\n return (\n <div className=\"flex flex-grow items-center gap-2\">\n <Control column={column} onChange={value => handleChange([value, toValue])} value={fromValue} />\n <Control column={column} onChange={value => handleChange([fromValue, value])} value={toValue} />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-grow items-center gap-2\">\n <Control\n column={column}\n onChange={value => handleChange([isNaN(value) ? undefined : value, toValue])}\n placeholder=\"from\"\n value={fromValue ?? ''}\n />\n <Control\n column={column}\n onChange={value => handleChange([fromValue, isNaN(value) ? undefined : value])}\n placeholder=\"to\"\n value={toValue ?? ''}\n />\n </div>\n );\n }\n return <Control comparator={comparator} column={column} onChange={handleChange} value={value} />;\n}\n\nfunction Control(props) {\n const { column, comparator, onChange, value, ...attributes } = props;\n const controlRenderer = column?.columnDef.meta?.control;\n const dataType = column?.columnDef.meta?.dataType;\n\n useEffect(() => {\n if (controlRenderer === 'switch') {\n onChange(false);\n }\n }, []);\n\n if (typeof controlRenderer === 'function') {\n return controlRenderer({\n ...attributes,\n setValue: value => onChange(value),\n value,\n });\n } else if (controlRenderer === 'datepicker' || dataType === 'datetime') {\n return <Datepicker {...attributes} onChange={event => onChange((event as any).detail)} value={value as Date} />;\n } else if (controlRenderer === 'switch') {\n return <Switch {...attributes} className=\"m-1.5\" checked={Boolean(value)} onChange={onChange} />;\n } else if ((controlRenderer === 'input' || controlRenderer === undefined) && dataType === 'number') {\n return (\n <Input\n {...attributes}\n className={cn(getInputAppearanceClassnames(), 'flex-grow')}\n type=\"number\"\n onChange={event => onChange(event.target.valueAsNumber)}\n value={String(value ?? '')}\n />\n );\n }\n\n return (\n <Input\n disabled={!column}\n {...attributes}\n className=\"flex-grow\"\n onChange={event => onChange(event.target.value)}\n value={String(value ?? '')}\n />\n );\n}\n"],"names":["FilterValue","props","column","comparator","onChange","handleChange","value","texts","useLocalization","Table3FilterComparator","IsEmpty","IsNotEmpty","IsBetween","_column$columnDef$met","fromValue","Array","isArray","undefined","toValue","React","Input","table3","filters","emptyFilter","className","disabled","columnDef","meta","dataType","Control","isNaN","placeholder","attributes","controlRenderer","_column$columnDef$met2","control","_column$columnDef$met3","useEffect","setValue","Datepicker","event","detail","Switch","checked","Boolean","cn","getInputAppearanceClassnames","type","target","valueAsNumber","String"],"mappings":"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"}
1
+ {"version":3,"file":"FilterValue.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Column as RTColumn } from '@tanstack/react-table';\nimport { Input } from '../../../../../../Input/Input';\nimport { Table3FilterComparator } from '../../../../../types';\nimport { Datepicker } from '../../../../../../Datepicker/Datepicker';\nimport { Switch } from '../../../../../../Switch/Switch';\nimport { getInputAppearanceClassnames } from '../../../../columns/styles';\nimport cn from 'classnames';\nimport { useLocalization } from '../../../../../../Provider/Localization';\n\nexport type FilterValueProps<TType = unknown> = {\n column?: RTColumn<TType, unknown>;\n comparator: Table3FilterComparator | null;\n onChange: (value: any) => void;\n value: any;\n};\n\nexport function FilterValue<TType = unknown>(props: FilterValueProps<TType>) {\n const { column, comparator, onChange: handleChange, value } = props;\n const { texts } = useLocalization();\n if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {\n return null;\n }\n\n if (comparator === Table3FilterComparator.IsBetween) {\n const fromValue = Array.isArray(value) ? value[0] : undefined;\n const toValue = Array.isArray(value) ? value[1] : undefined;\n\n if (column === undefined) {\n return (\n <Input\n aria-label={texts.table3.filters.emptyFilter.value}\n className=\"flex-grow\"\n disabled\n value={texts.table3.filters.emptyFilter.value}\n />\n );\n }\n\n if (column.columnDef.meta?.dataType === 'datetime') {\n return (\n <div className=\"flex flex-grow items-center gap-2\">\n <Control column={column} onChange={value => handleChange([value, toValue])} value={fromValue} />\n <Control column={column} onChange={value => handleChange([fromValue, value])} value={toValue} />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-grow items-center gap-2\">\n <Control\n column={column}\n onChange={value => handleChange([isNaN(value) ? undefined : value, toValue])}\n placeholder=\"from\"\n value={fromValue ?? ''}\n />\n <Control\n column={column}\n onChange={value => handleChange([fromValue, isNaN(value) ? undefined : value])}\n placeholder=\"to\"\n value={toValue ?? ''}\n />\n </div>\n );\n }\n return <Control column={column} onChange={handleChange} value={value} />;\n}\n\nfunction Control(props) {\n const { column, onChange, value, ...attributes } = props;\n const controlRenderer = column?.columnDef.meta?.control;\n const dataType = column?.columnDef.meta?.dataType;\n\n useEffect(() => {\n if (controlRenderer === 'switch') {\n onChange(false);\n }\n }, []);\n\n if (typeof controlRenderer === 'function') {\n return controlRenderer({\n ...attributes,\n setValue: value => onChange(value),\n value,\n });\n } else if (controlRenderer === 'datepicker' || dataType === 'datetime') {\n return <Datepicker {...attributes} onChange={event => onChange((event as any).detail)} value={value as Date} />;\n } else if (controlRenderer === 'switch') {\n return <Switch {...attributes} className=\"m-1.5\" checked={Boolean(value)} onChange={onChange} />;\n } else if ((controlRenderer === 'input' || controlRenderer === undefined) && dataType === 'number') {\n return (\n <Input\n {...attributes}\n className={cn(getInputAppearanceClassnames(), 'flex-grow')}\n type=\"number\"\n onChange={event => onChange(event.target.valueAsNumber)}\n value={String(value ?? '')}\n />\n );\n }\n\n return (\n <Input\n disabled={!column}\n {...attributes}\n className=\"flex-grow\"\n onChange={event => onChange(event.target.value)}\n value={String(value ?? '')}\n />\n );\n}\n"],"names":["FilterValue","props","column","comparator","onChange","handleChange","value","texts","useLocalization","Table3FilterComparator","IsEmpty","IsNotEmpty","IsBetween","_column$columnDef$met","fromValue","Array","isArray","undefined","toValue","React","Input","table3","filters","emptyFilter","className","disabled","columnDef","meta","dataType","Control","isNaN","placeholder","attributes","controlRenderer","_column$columnDef$met2","control","_column$columnDef$met3","useEffect","setValue","Datepicker","event","detail","Switch","checked","Boolean","cn","getInputAppearanceClassnames","type","target","valueAsNumber","String"],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  import React__default from 'react';
2
2
  import { useLocalization } from '../../../Provider/Localization.js';
3
3
  import { Menu } from '../../../Menu/Menu.js';
4
+ import { FontSizes } from '../../../../types.js';
4
5
 
5
- const FONT_SIZE = {
6
- small: 'small',
7
- medium: 'medium',
8
- large: 'large'
9
- };
10
6
  function FontSize(props) {
11
7
  const {
12
8
  texts
@@ -17,14 +13,14 @@ function FontSize(props) {
17
13
  onChange: handleChange,
18
14
  value: meta.fontSize.size
19
15
  }, /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
20
- value: FONT_SIZE.small
16
+ value: FontSizes.small
21
17
  }, texts.table3.fontSize.sizes.small), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
22
- value: FONT_SIZE.medium
18
+ value: FontSizes.medium
23
19
  }, texts.table3.fontSize.sizes.medium), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
24
20
  disabled: meta.rowHeight.height === 'short',
25
- value: FONT_SIZE.large
21
+ value: FontSizes.large
26
22
  }, texts.table3.fontSize.sizes.large)));
27
23
  }
28
24
 
29
- export { FONT_SIZE, FontSize };
25
+ export { FontSize };
30
26
  //# sourceMappingURL=FontSize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FontSize.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/FontSize.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Menu } from '../../../Menu/Menu';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Table3FontSize } from '../../types';\nimport { RadioGroupItemValue } from '../../../..';\n\ntype FontSizeButtonProps<TType = unknown> = {\n table: RTable<TType>;\n};\n\nexport const FONT_SIZE: { [FontSize in Table3FontSize]: FontSize } = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n};\n\nexport function FontSize<TType = unknown>(props: FontSizeButtonProps<TType>) {\n const { texts } = useLocalization();\n const meta = props.table.options.meta as TableMeta<unknown>;\n const handleChange = (value: RadioGroupItemValue) => meta.fontSize.setSize(value as Table3FontSize);\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={handleChange} value={meta.fontSize.size}>\n <Menu.RadioGroup.Item value={FONT_SIZE.small}>{texts.table3.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FONT_SIZE.medium}>{texts.table3.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={meta.rowHeight.height === 'short'} value={FONT_SIZE.large}>\n {texts.table3.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["FONT_SIZE","small","medium","large","FontSize","props","texts","useLocalization","meta","table","options","handleChange","value","fontSize","setSize","React","Menu","SubMenu","RadioGroup","onChange","size","Item","table3","sizes","disabled","rowHeight","height"],"mappings":";;;;MAWaA,SAAS,GAA+C;EACjEC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE;;SAGKC,QAAQA,CAAkBC,KAAiC;EACvE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,IAAI,GAAGH,KAAK,CAACI,KAAK,CAACC,OAAO,CAACF,IAA0B;EAC3D,MAAMG,YAAY,GAAIC,KAA0B,IAAKJ,IAAI,CAACK,QAAQ,CAACC,OAAO,CAACF,KAAuB,CAAC;EAEnG,oBACIG,6BAACC,IAAI,CAACC,OAAO,qBACTF,6BAACC,IAAI,CAACE,UAAU;IAACC,QAAQ,EAAER,YAAY;IAAEC,KAAK,EAAEJ,IAAI,CAACK,QAAQ,CAACO;kBAC1DL,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAEZ,SAAS,CAACC;KAAQK,KAAK,CAACgB,MAAM,CAACT,QAAQ,CAACU,KAAK,CAACtB,KAAK,CAAwB,eACxGc,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAEZ,SAAS,CAACE;KAASI,KAAK,CAACgB,MAAM,CAACT,QAAQ,CAACU,KAAK,CAACrB,MAAM,CAAwB,eAC1Ga,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACG,QAAQ,EAAEhB,IAAI,CAACiB,SAAS,CAACC,MAAM,KAAK,OAAO;IAAEd,KAAK,EAAEZ,SAAS,CAACG;KAC/EG,KAAK,CAACgB,MAAM,CAACT,QAAQ,CAACU,KAAK,CAACpB,KAAK,CACf,CACT,CACP;AAEvB;;;;"}
1
+ {"version":3,"file":"FontSize.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/FontSize.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Menu } from '../../../Menu/Menu';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { FontSizes } from '../../../../types';\nimport { RadioGroupItemValue } from '../../../..';\n\ntype FontSizeButtonProps<TType = unknown> = {\n table: RTable<TType>;\n};\n\nexport function FontSize<TType = unknown>(props: FontSizeButtonProps<TType>) {\n const { texts } = useLocalization();\n const meta = props.table.options.meta as TableMeta<unknown>;\n const handleChange = (value: RadioGroupItemValue) => meta.fontSize.setSize(value as FontSizes);\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={handleChange} value={meta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table3.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table3.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={meta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table3.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["FontSize","props","texts","useLocalization","meta","table","options","handleChange","value","fontSize","setSize","React","Menu","SubMenu","RadioGroup","onChange","size","Item","FontSizes","small","table3","sizes","medium","disabled","rowHeight","height","large"],"mappings":";;;;;SAWgBA,QAAQA,CAAkBC,KAAiC;EACvE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,IAAI,GAAGH,KAAK,CAACI,KAAK,CAACC,OAAO,CAACF,IAA0B;EAC3D,MAAMG,YAAY,GAAIC,KAA0B,IAAKJ,IAAI,CAACK,QAAQ,CAACC,OAAO,CAACF,KAAkB,CAAC;EAE9F,oBACIG,6BAACC,IAAI,CAACC,OAAO,qBACTF,6BAACC,IAAI,CAACE,UAAU;IAACC,QAAQ,EAAER,YAAY;IAAEC,KAAK,EAAEJ,IAAI,CAACK,QAAQ,CAACO;kBAC1DL,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAEU,SAAS,CAACC;KAAQjB,KAAK,CAACkB,MAAM,CAACX,QAAQ,CAACY,KAAK,CAACF,KAAK,CAAwB,eACxGR,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAEU,SAAS,CAACI;KAASpB,KAAK,CAACkB,MAAM,CAACX,QAAQ,CAACY,KAAK,CAACC,MAAM,CAAwB,eAC1GX,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACM,QAAQ,EAAEnB,IAAI,CAACoB,SAAS,CAACC,MAAM,KAAK,OAAO;IAAEjB,KAAK,EAAEU,SAAS,CAACQ;KAC/ExB,KAAK,CAACkB,MAAM,CAACX,QAAQ,CAACY,KAAK,CAACK,KAAK,CACf,CACT,CACP;AAEvB;;;;"}
@@ -55,6 +55,7 @@ import '../../../../SearchInput/SearchInput.js';
55
55
  import '../../../../SearchInput2/SearchInput2.js';
56
56
  import '../../../../../primitives/Collection/Collection.js';
57
57
  import '../../../../Tag/Tag.js';
58
+ import '../../../../../types.js';
58
59
  import '../../../../Select2/Select2.js';
59
60
  import '../../../../Switch/Switch.js';
60
61
  import '../../../../Table/components/Table.js';
@@ -68,7 +69,6 @@ import '../../../../Textarea/Textarea.js';
68
69
  import '../../../../../hooks/useMatchMedia.js';
69
70
  import '../../../../../hooks/useIsLargeScreen.js';
70
71
  import { useParentStylesheets } from './hooks/useParentStylesheets.js';
71
- import '../../../../../types.js';
72
72
  import '../../../hooks/useTableDataLoader.js';
73
73
  import { Table3 } from '../../../Table3.js';
74
74
  import '../../../../Tabs/Tabs.js';
@@ -1,7 +1,7 @@
1
1
  import React__default from 'react';
2
2
  import { useLocalization } from '../../../Provider/Localization.js';
3
3
  import { Menu } from '../../../Menu/Menu.js';
4
- import { FONT_SIZE } from './FontSize.js';
4
+ import { FontSizes } from '../../../../types.js';
5
5
 
6
6
  function RowHeight(props) {
7
7
  const {
@@ -11,8 +11,8 @@ function RowHeight(props) {
11
11
  const handleChange = value => {
12
12
  const height = value;
13
13
  meta.rowHeight.setHeight(height);
14
- if (height === 'short' && meta.fontSize.size === FONT_SIZE.large) {
15
- meta.fontSize.setSize(FONT_SIZE.medium);
14
+ if (height === 'short' && meta.fontSize.size === FontSizes.large) {
15
+ meta.fontSize.setSize(FontSizes.medium);
16
16
  }
17
17
  };
18
18
  return /*#__PURE__*/React__default.createElement(Menu.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu.RadioGroup, {
@@ -1 +1 @@
1
- {"version":3,"file":"RowHeight.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/RowHeight.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Menu } from '../../../Menu/Menu';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Table3RowHeight } from '../../types';\nimport { RadioGroupItemValue } from '../../../..';\nimport { FONT_SIZE } from './FontSize';\n\ntype RowHeightButtonProps<TType = unknown> = {\n table: RTable<TType>;\n};\n\nexport function RowHeight<TType = unknown>(props: RowHeightButtonProps<TType>) {\n const { texts } = useLocalization();\n const meta = props.table.options.meta as TableMeta<unknown>;\n const handleChange = (value: RadioGroupItemValue) => {\n const height = value as Table3RowHeight;\n\n meta.rowHeight.setHeight(height);\n\n if (height === 'short' && meta.fontSize.size === FONT_SIZE.large) {\n meta.fontSize.setSize(FONT_SIZE.medium);\n }\n };\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={handleChange} value={meta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table3.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table3.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table3.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table3.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["RowHeight","props","texts","useLocalization","meta","table","options","handleChange","value","height","rowHeight","setHeight","fontSize","size","FONT_SIZE","large","setSize","medium","React","Menu","SubMenu","RadioGroup","onChange","Item","table3","sizes","short","tall","extraTall"],"mappings":";;;;;SAYgBA,SAASA,CAAkBC,KAAkC;EACzE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,IAAI,GAAGH,KAAK,CAACI,KAAK,CAACC,OAAO,CAACF,IAA0B;EAC3D,MAAMG,YAAY,GAAIC,KAA0B;IAC5C,MAAMC,MAAM,GAAGD,KAAwB;IAEvCJ,IAAI,CAACM,SAAS,CAACC,SAAS,CAACF,MAAM,CAAC;IAEhC,IAAIA,MAAM,KAAK,OAAO,IAAIL,IAAI,CAACQ,QAAQ,CAACC,IAAI,KAAKC,SAAS,CAACC,KAAK,EAAE;MAC9DX,IAAI,CAACQ,QAAQ,CAACI,OAAO,CAACF,SAAS,CAACG,MAAM,CAAC;;GAE9C;EAED,oBACIC,6BAACC,IAAI,CAACC,OAAO,qBACTF,6BAACC,IAAI,CAACE,UAAU;IAACC,QAAQ,EAAEf,YAAY;IAAEC,KAAK,EAAEJ,IAAI,CAACM,SAAS,CAACD;kBAC3DS,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAASN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACC,KAAK,CAAwB,eAC/FR,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAAUN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACR,MAAM,CAAwB,eACjGC,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAAQN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACE,IAAI,CAAwB,eAC7FT,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAAcN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACG,SAAS,CAAwB,CAC1F,CACP;AAEvB;;;;"}
1
+ {"version":3,"file":"RowHeight.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/RowHeight.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Menu } from '../../../Menu/Menu';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Table3RowHeight } from '../../types';\nimport { RadioGroupItemValue } from '../../../..';\nimport { FontSizes } from '../../../../types';\n\ntype RowHeightButtonProps<TType = unknown> = {\n table: RTable<TType>;\n};\n\nexport function RowHeight<TType = unknown>(props: RowHeightButtonProps<TType>) {\n const { texts } = useLocalization();\n const meta = props.table.options.meta as TableMeta<unknown>;\n const handleChange = (value: RadioGroupItemValue) => {\n const height = value as Table3RowHeight;\n\n meta.rowHeight.setHeight(height);\n\n if (height === 'short' && meta.fontSize.size === FontSizes.large) {\n meta.fontSize.setSize(FontSizes.medium);\n }\n };\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={handleChange} value={meta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table3.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table3.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table3.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table3.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["RowHeight","props","texts","useLocalization","meta","table","options","handleChange","value","height","rowHeight","setHeight","fontSize","size","FontSizes","large","setSize","medium","React","Menu","SubMenu","RadioGroup","onChange","Item","table3","sizes","short","tall","extraTall"],"mappings":";;;;;SAYgBA,SAASA,CAAkBC,KAAkC;EACzE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,IAAI,GAAGH,KAAK,CAACI,KAAK,CAACC,OAAO,CAACF,IAA0B;EAC3D,MAAMG,YAAY,GAAIC,KAA0B;IAC5C,MAAMC,MAAM,GAAGD,KAAwB;IAEvCJ,IAAI,CAACM,SAAS,CAACC,SAAS,CAACF,MAAM,CAAC;IAEhC,IAAIA,MAAM,KAAK,OAAO,IAAIL,IAAI,CAACQ,QAAQ,CAACC,IAAI,KAAKC,SAAS,CAACC,KAAK,EAAE;MAC9DX,IAAI,CAACQ,QAAQ,CAACI,OAAO,CAACF,SAAS,CAACG,MAAM,CAAC;;GAE9C;EAED,oBACIC,6BAACC,IAAI,CAACC,OAAO,qBACTF,6BAACC,IAAI,CAACE,UAAU;IAACC,QAAQ,EAAEf,YAAY;IAAEC,KAAK,EAAEJ,IAAI,CAACM,SAAS,CAACD;kBAC3DS,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAASN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACC,KAAK,CAAwB,eAC/FR,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAAUN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACR,MAAM,CAAwB,eACjGC,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAAQN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACE,IAAI,CAAwB,eAC7FT,6BAACC,IAAI,CAACE,UAAU,CAACE,IAAI;IAACf,KAAK,EAAC;KAAcN,KAAK,CAACsB,MAAM,CAACd,SAAS,CAACe,KAAK,CAACG,SAAS,CAAwB,CAC1F,CACP;AAEvB;;;;"}
@@ -81,11 +81,14 @@ function Search(props) {
81
81
  setQuery(String(query !== null && query !== void 0 ? query : ''));
82
82
  };
83
83
  const handleClear = () => {
84
- const [rowIndex = null, cellIndex = null] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex || 0];
84
+ var _tableMeta$search$cur, _tableMeta$search$hig;
85
+ const highlightedColumnIndex = (_tableMeta$search$cur = tableMeta.search.currentHighlightColumnIndex) !== null && _tableMeta$search$cur !== void 0 ? _tableMeta$search$cur : 0;
86
+ const highlightedCell = (_tableMeta$search$hig = tableMeta.search.highlightedColumnIndexes[highlightedColumnIndex]) !== null && _tableMeta$search$hig !== void 0 ? _tableMeta$search$hig : [];
87
+ const [rowIndex = null, columnIndex = null] = highlightedCell;
85
88
  const rows = table.getRowModel().rows;
86
89
  tableMeta.search.setQuery('');
87
90
  // Need to save row id and cell index, to be able to find the row in the table with updated indexes, after global filter will be reset.
88
- lastCellIndex.value = String(cellIndex);
91
+ lastCellIndex.value = String(columnIndex);
89
92
  if (rowIndex !== null) {
90
93
  var _rows$rowIndex;
91
94
  const rowId = ((_rows$rowIndex = rows[rowIndex]) === null || _rows$rowIndex === void 0 ? void 0 : _rows$rowIndex.id) || null;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Search.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Switch } from '../../../Switch/Switch';\nimport { globalFilterFn } from '../../util/filtering';\nimport { SearchInput2 } from '../../../SearchInput2/SearchInput2';\nimport { useDebouncedEffect } from '../../../../hooks/useDebouncedEffect';\nimport { getCellValueAsString } from '../../util/columns';\nimport { lastCellIndex } from '../rows/Row';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: RTable<TType>;\n};\n\nenum LoadingState {\n Incomplete,\n Loading,\n Completed,\n}\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const [query, setQuery] = React.useState(tableMeta.search.query);\n const [loading, setLoading] = React.useState<LoadingState>(LoadingState.Incomplete);\n const [rowIdToNavigate, setRowIdToNavigate] = React.useState<string | null>(null);\n\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n\n // update the indexes if the row length changes (e.g. when filtering)\n React.useEffect(() => {\n const firstRowIndex = resetHighlightedColumnIndexes(tableMeta.search.isHighlightingEnabled, ref.current?.value, table);\n\n if (firstRowIndex) {\n scrollTo(firstRowIndex);\n }\n }, [\n tableMeta.search.query,\n tableMeta.search.excludeUnmatchedResults,\n table.getRowModel().rows.length,\n JSON.stringify(table.getState().sorting),\n JSON.stringify(table.getState().columnVisibility),\n loading,\n ]);\n\n // Reseting internal search state if search.query is changed from the outside.\n React.useEffect(() => {\n if (tableMeta.search.query !== query) {\n setQuery(tableMeta.search.query);\n }\n }, [tableMeta.search.query]);\n\n // update the table search and filtering on a debounce\n useDebouncedEffect(() => {\n tableMeta.search.setQuery(query);\n\n if (tableMeta.search.excludeUnmatchedResults) {\n if (query?.length) {\n table.setGlobalFilter(query);\n } else {\n table.resetGlobalFilter();\n }\n }\n }, [query]);\n\n const handleFocus = async () => {\n // While Search input is focused, we'll switch into searching mode\n tableMeta.search.setIsSearching(true);\n // load all data if that is possible\n if (tableMeta.server.loadAll && loading === LoadingState.Incomplete) {\n setLoading(LoadingState.Loading);\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAll(table.getState().sorting, table.getState().columnFilters, undefined);\n setLoading(LoadingState.Completed);\n }\n };\n\n const handleBlur = () => {\n // As soon as search input loose a focus, we'll turn of searching mode.\n tableMeta.search.setIsSearching(false);\n };\n\n const handleChange = (query: any) => {\n setQuery(String(query ?? ''));\n };\n\n const handleClear = () => {\n const [rowIndex = null, cellIndex = null] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex || 0];\n const rows = table.getRowModel().rows;\n\n tableMeta.search.setQuery('');\n\n // Need to save row id and cell index, to be able to find the row in the table with updated indexes, after global filter will be reset.\n lastCellIndex.value = String(cellIndex);\n\n if (rowIndex !== null) {\n const rowId = rows[rowIndex]?.id || null;\n setRowIdToNavigate(rowId);\n }\n };\n\n const handleKeyDown = event => {\n if (event.key === 'Escape') {\n handleClear();\n event.preventDefault();\n }\n };\n\n const { globalFilter } = table.getState();\n\n React.useEffect(() => {\n // need to wait when table global filter will be reset and rows will be re-rendered\n if (rowIdToNavigate !== null && !globalFilter) {\n const rows = table.getRowModel().rows;\n const rowIndex = rows.findIndex(row => row.id === rowIdToNavigate);\n tableMeta.search.setIsSearching(false);\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n scrollTo(rowIndex);\n setRowIdToNavigate(null);\n }\n }, [rowIdToNavigate, globalFilter]);\n\n const handleToggleExcludeUnmatchedResults = (enabled: boolean) => {\n tableMeta.search.toggleExcludeUnmatchedResults(enabled);\n\n if (enabled) {\n if (ref.current?.value) {\n table.setGlobalFilter(ref.current?.value);\n } else {\n table.resetGlobalFilter();\n }\n } else {\n table.resetGlobalFilter();\n }\n\n requestAnimationFrame(() => ref.current?.focus());\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const settings = (\n <Switch\n label={texts.table3.search.excludeUnmatchedResults}\n checked={tableMeta.search.excludeUnmatchedResults}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex !== undefined\n ? tableMeta.search.currentHighlightColumnIndex + 1\n : null\n }\n findTotal={tableMeta.search.highlightedColumnIndexes ? tableMeta.search.highlightedColumnIndexes.length : null}\n loading={loading === LoadingState.Loading}\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n placeholder={texts.table3.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n value={query}\n />\n </>\n );\n}\n\nfunction resetHighlightedColumnIndexes<TType = unknown>(enabled: boolean, value: string | undefined, table: RTable<TType>) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (enabled && value) {\n const rowIndexes: number[] = [];\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n if (column.getIsVisible() && column.columnDef.meta?.enableSearch) {\n const cellValue = getCellValueAsString(row.original?.[column.id], column.columnDef.meta?.dataType);\n\n if (cellValue !== undefined && globalFilterFn(cellValue, value)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n\n if (indexes.length) {\n rowIndexes.push(rowIndex);\n }\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["LoadingState","Search","props","scrollToIndex","table","texts","useLocalization","ref","React","useRef","tableMeta","options","meta","query","setQuery","useState","search","loading","setLoading","Incomplete","rowIdToNavigate","setRowIdToNavigate","scrollTo","rowIndex","align","useEffect","firstRowIndex","resetHighlightedColumnIndexes","isHighlightingEnabled","_ref$current","current","value","excludeUnmatchedResults","getRowModel","rows","length","JSON","stringify","getState","sorting","columnVisibility","useDebouncedEffect","setGlobalFilter","resetGlobalFilter","handleFocus","setIsSearching","_temp","server","loadAll","Loading","Promise","resolve","columnFilters","undefined","then","Completed","e","reject","handleBlur","handleChange","String","handleClear","cellIndex","highlightedColumnIndexes","currentHighlightColumnIndex","lastCellIndex","_rows$rowIndex","rowId","id","handleKeyDown","event","key","preventDefault","globalFilter","findIndex","row","rowActive","setRowActiveIndex","handleToggleExcludeUnmatchedResults","enabled","toggleExcludeUnmatchedResults","_ref$current2","_ref$current3","requestAnimationFrame","_ref$current4","focus","handleNextResult","nextIndex","setCurrentHighlightColumnIndex","handlePreviousResult","settings","Switch","label","table3","checked","onChange","SearchInput2","findCurrent","findTotal","onClickFindPrevious","onClickFindNext","onFocus","onBlur","onKeyDown","onClear","placeholder","settingsContent","shortcut","shift","indexes","columns","getVisibleLeafColumns","forEach","column","columnIndex","_column$columnDef$met","getIsVisible","columnDef","enableSearch","_row$original","_column$columnDef$met2","cellValue","getCellValueAsString","original","dataType","globalFilterFn","push","setHighlightedColumnIndexes"],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Search.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Switch } from '../../../Switch/Switch';\nimport { globalFilterFn } from '../../util/filtering';\nimport { SearchInput2 } from '../../../SearchInput2/SearchInput2';\nimport { useDebouncedEffect } from '../../../../hooks/useDebouncedEffect';\nimport { getCellValueAsString } from '../../util/columns';\nimport { lastCellIndex } from '../rows/Row';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: RTable<TType>;\n};\n\nenum LoadingState {\n Incomplete,\n Loading,\n Completed,\n}\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const [query, setQuery] = React.useState(tableMeta.search.query);\n const [loading, setLoading] = React.useState<LoadingState>(LoadingState.Incomplete);\n const [rowIdToNavigate, setRowIdToNavigate] = React.useState<string | null>(null);\n\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n\n // update the indexes if the row length changes (e.g. when filtering)\n React.useEffect(() => {\n const firstRowIndex = resetHighlightedColumnIndexes(tableMeta.search.isHighlightingEnabled, ref.current?.value, table);\n\n if (firstRowIndex) {\n scrollTo(firstRowIndex);\n }\n }, [\n tableMeta.search.query,\n tableMeta.search.excludeUnmatchedResults,\n table.getRowModel().rows.length,\n JSON.stringify(table.getState().sorting),\n JSON.stringify(table.getState().columnVisibility),\n loading,\n ]);\n\n // Reseting internal search state if search.query is changed from the outside.\n React.useEffect(() => {\n if (tableMeta.search.query !== query) {\n setQuery(tableMeta.search.query);\n }\n }, [tableMeta.search.query]);\n\n // update the table search and filtering on a debounce\n useDebouncedEffect(() => {\n tableMeta.search.setQuery(query);\n\n if (tableMeta.search.excludeUnmatchedResults) {\n if (query?.length) {\n table.setGlobalFilter(query);\n } else {\n table.resetGlobalFilter();\n }\n }\n }, [query]);\n\n const handleFocus = async () => {\n // While Search input is focused, we'll switch into searching mode\n tableMeta.search.setIsSearching(true);\n // load all data if that is possible\n if (tableMeta.server.loadAll && loading === LoadingState.Incomplete) {\n setLoading(LoadingState.Loading);\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAll(table.getState().sorting, table.getState().columnFilters, undefined);\n setLoading(LoadingState.Completed);\n }\n };\n\n const handleBlur = () => {\n // As soon as search input loose a focus, we'll turn of searching mode.\n tableMeta.search.setIsSearching(false);\n };\n\n const handleChange = (query: any) => {\n setQuery(String(query ?? ''));\n };\n\n const handleClear = () => {\n const highlightedColumnIndex = tableMeta.search.currentHighlightColumnIndex ?? 0;\n const highlightedCell = tableMeta.search.highlightedColumnIndexes[highlightedColumnIndex] ?? [];\n const [rowIndex = null, columnIndex = null] = highlightedCell;\n const rows = table.getRowModel().rows;\n\n tableMeta.search.setQuery('');\n\n // Need to save row id and cell index, to be able to find the row in the table with updated indexes, after global filter will be reset.\n lastCellIndex.value = String(columnIndex);\n\n if (rowIndex !== null) {\n const rowId = rows[rowIndex]?.id || null;\n setRowIdToNavigate(rowId);\n }\n };\n\n const handleKeyDown = event => {\n if (event.key === 'Escape') {\n handleClear();\n event.preventDefault();\n }\n };\n\n const { globalFilter } = table.getState();\n\n React.useEffect(() => {\n // need to wait when table global filter will be reset and rows will be re-rendered\n if (rowIdToNavigate !== null && !globalFilter) {\n const rows = table.getRowModel().rows;\n const rowIndex = rows.findIndex(row => row.id === rowIdToNavigate);\n tableMeta.search.setIsSearching(false);\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n scrollTo(rowIndex);\n setRowIdToNavigate(null);\n }\n }, [rowIdToNavigate, globalFilter]);\n\n const handleToggleExcludeUnmatchedResults = (enabled: boolean) => {\n tableMeta.search.toggleExcludeUnmatchedResults(enabled);\n\n if (enabled) {\n if (ref.current?.value) {\n table.setGlobalFilter(ref.current?.value);\n } else {\n table.resetGlobalFilter();\n }\n } else {\n table.resetGlobalFilter();\n }\n\n requestAnimationFrame(() => ref.current?.focus());\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const settings = (\n <Switch\n label={texts.table3.search.excludeUnmatchedResults}\n checked={tableMeta.search.excludeUnmatchedResults}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex !== undefined\n ? tableMeta.search.currentHighlightColumnIndex + 1\n : null\n }\n findTotal={tableMeta.search.highlightedColumnIndexes ? tableMeta.search.highlightedColumnIndexes.length : null}\n loading={loading === LoadingState.Loading}\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n placeholder={texts.table3.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n value={query}\n />\n </>\n );\n}\n\nfunction resetHighlightedColumnIndexes<TType = unknown>(enabled: boolean, value: string | undefined, table: RTable<TType>) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (enabled && value) {\n const rowIndexes: number[] = [];\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n if (column.getIsVisible() && column.columnDef.meta?.enableSearch) {\n const cellValue = getCellValueAsString(row.original?.[column.id], column.columnDef.meta?.dataType);\n\n if (cellValue !== undefined && globalFilterFn(cellValue, value)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n\n if (indexes.length) {\n rowIndexes.push(rowIndex);\n }\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["LoadingState","Search","props","scrollToIndex","table","texts","useLocalization","ref","React","useRef","tableMeta","options","meta","query","setQuery","useState","search","loading","setLoading","Incomplete","rowIdToNavigate","setRowIdToNavigate","scrollTo","rowIndex","align","useEffect","firstRowIndex","resetHighlightedColumnIndexes","isHighlightingEnabled","_ref$current","current","value","excludeUnmatchedResults","getRowModel","rows","length","JSON","stringify","getState","sorting","columnVisibility","useDebouncedEffect","setGlobalFilter","resetGlobalFilter","handleFocus","setIsSearching","_temp","server","loadAll","Loading","Promise","resolve","columnFilters","undefined","then","Completed","e","reject","handleBlur","handleChange","String","handleClear","highlightedColumnIndex","_tableMeta$search$cur","currentHighlightColumnIndex","highlightedCell","_tableMeta$search$hig","highlightedColumnIndexes","columnIndex","lastCellIndex","_rows$rowIndex","rowId","id","handleKeyDown","event","key","preventDefault","globalFilter","findIndex","row","rowActive","setRowActiveIndex","handleToggleExcludeUnmatchedResults","enabled","toggleExcludeUnmatchedResults","_ref$current2","_ref$current3","requestAnimationFrame","_ref$current4","focus","handleNextResult","nextIndex","setCurrentHighlightColumnIndex","handlePreviousResult","settings","Switch","label","table3","checked","onChange","SearchInput2","findCurrent","findTotal","onClickFindPrevious","onClickFindNext","onFocus","onBlur","onKeyDown","onClear","placeholder","settingsContent","shortcut","shift","indexes","columns","getVisibleLeafColumns","forEach","column","_column$columnDef$met","getIsVisible","columnDef","enableSearch","_row$original","_column$columnDef$met2","cellValue","getCellValueAsString","original","dataType","globalFilterFn","push","setHighlightedColumnIndexes"],"mappings":";;;;;;;;;AAeA,IAAKA,YAIJ;AAJD,WAAKA,YAAY;EACbA,2DAAU;EACVA,qDAAO;EACPA,yDAAS;AACb,CAAC,EAJIA,YAAY,KAAZA,YAAY;SAMDC,MAAMA,CAAkBC,KAAyB;EAC7D,MAAM;IAAEC,aAAa;IAAEC;GAAO,GAAGF,KAAK;EACtC,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAmB,IAAI,CAAC;EAChD,MAAMC,SAAS,GAAGN,KAAK,CAACO,OAAO,CAACC,IAAwB;EACxD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGN,cAAK,CAACO,QAAQ,CAACL,SAAS,CAACM,MAAM,CAACH,KAAK,CAAC;EAChE,MAAM,CAACI,OAAO,EAAEC,UAAU,CAAC,GAAGV,cAAK,CAACO,QAAQ,CAAef,YAAY,CAACmB,UAAU,CAAC;EACnF,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGb,cAAK,CAACO,QAAQ,CAAgB,IAAI,CAAC;EAEjF,MAAMO,QAAQ,GAAIC,QAAgB,IAAKpB,aAAa,CAACoB,QAAQ,EAAE;IAAEC,KAAK,EAAE;GAAU,CAAC;;EAGnFhB,cAAK,CAACiB,SAAS,CAAC;;IACZ,MAAMC,aAAa,GAAGC,6BAA6B,CAACjB,SAAS,CAACM,MAAM,CAACY,qBAAqB,GAAAC,YAAA,GAAEtB,GAAG,CAACuB,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,KAAK,EAAE3B,KAAK,CAAC;IAEtH,IAAIsB,aAAa,EAAE;MACfJ,QAAQ,CAACI,aAAa,CAAC;;GAE9B,EAAE,CACChB,SAAS,CAACM,MAAM,CAACH,KAAK,EACtBH,SAAS,CAACM,MAAM,CAACgB,uBAAuB,EACxC5B,KAAK,CAAC6B,WAAW,EAAE,CAACC,IAAI,CAACC,MAAM,EAC/BC,IAAI,CAACC,SAAS,CAACjC,KAAK,CAACkC,QAAQ,EAAE,CAACC,OAAO,CAAC,EACxCH,IAAI,CAACC,SAAS,CAACjC,KAAK,CAACkC,QAAQ,EAAE,CAACE,gBAAgB,CAAC,EACjDvB,OAAO,CACV,CAAC;;EAGFT,cAAK,CAACiB,SAAS,CAAC;IACZ,IAAIf,SAAS,CAACM,MAAM,CAACH,KAAK,KAAKA,KAAK,EAAE;MAClCC,QAAQ,CAACJ,SAAS,CAACM,MAAM,CAACH,KAAK,CAAC;;GAEvC,EAAE,CAACH,SAAS,CAACM,MAAM,CAACH,KAAK,CAAC,CAAC;;EAG5B4B,kBAAkB,CAAC;IACf/B,SAAS,CAACM,MAAM,CAACF,QAAQ,CAACD,KAAK,CAAC;IAEhC,IAAIH,SAAS,CAACM,MAAM,CAACgB,uBAAuB,EAAE;MAC1C,IAAInB,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEsB,MAAM,EAAE;QACf/B,KAAK,CAACsC,eAAe,CAAC7B,KAAK,CAAC;OAC/B,MAAM;QACHT,KAAK,CAACuC,iBAAiB,EAAE;;;GAGpC,EAAE,CAAC9B,KAAK,CAAC,CAAC;EAEX,MAAM+B,WAAW;IAAA;;MAEblC,SAAS,CAACM,MAAM,CAAC6B,cAAc,CAAC,IAAI,CAAC;;MACrC,MAAAC,KAAA;QAAA,IACIpC,SAAS,CAACqC,MAAM,CAACC,OAAO,IAAI/B,OAAO,KAAKjB,YAAY,CAACmB,UAAU;UAC/DD,UAAU,CAAClB,YAAY,CAACiD,OAAO,CAAC;;UAChC,OAAAC,OAAA,CAAAC,OAAA,CACMzC,SAAS,CAACqC,MAAM,CAACC,OAAO,CAAC5C,KAAK,CAACkC,QAAQ,EAAE,CAACC,OAAO,EAAEnC,KAAK,CAACkC,QAAQ,EAAE,CAACc,aAAa,EAAEC,SAAS,CAAC,EAAAC,IAAA;YACnGpC,UAAU,CAAClB,YAAY,CAACuD,SAAS,CAAC;;;;MAAC,OAAAL,OAAA,CAAAC,OAAA,CAAAL,KAAA,IAAAA,KAAA,CAAAQ,IAAA,GAAAR,KAAA,CAAAQ,IAAA;KAE1C,QAAAE,CAAA;MAAA,OAAAN,OAAA,CAAAO,MAAA,CAAAD,CAAA;;;EAED,MAAME,UAAU,GAAGA;;IAEfhD,SAAS,CAACM,MAAM,CAAC6B,cAAc,CAAC,KAAK,CAAC;GACzC;EAED,MAAMc,YAAY,GAAI9C,KAAU;IAC5BC,QAAQ,CAAC8C,MAAM,CAAC/C,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC,CAAC;GAChC;EAED,MAAMgD,WAAW,GAAGA;;IAChB,MAAMC,sBAAsB,IAAAC,qBAAA,GAAGrD,SAAS,CAACM,MAAM,CAACgD,2BAA2B,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC;IAChF,MAAME,eAAe,IAAAC,qBAAA,GAAGxD,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAACL,sBAAsB,CAAC,cAAAI,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAC/F,MAAM,CAAC3C,QAAQ,GAAG,IAAI,EAAE6C,WAAW,GAAG,IAAI,CAAC,GAAGH,eAAe;IAC7D,MAAM/B,IAAI,GAAG9B,KAAK,CAAC6B,WAAW,EAAE,CAACC,IAAI;IAErCxB,SAAS,CAACM,MAAM,CAACF,QAAQ,CAAC,EAAE,CAAC;;IAG7BuD,aAAa,CAACtC,KAAK,GAAG6B,MAAM,CAACQ,WAAW,CAAC;IAEzC,IAAI7C,QAAQ,KAAK,IAAI,EAAE;MAAA,IAAA+C,cAAA;MACnB,MAAMC,KAAK,GAAG,EAAAD,cAAA,GAAApC,IAAI,CAACX,QAAQ,CAAC,cAAA+C,cAAA,uBAAdA,cAAA,CAAgBE,EAAE,KAAI,IAAI;MACxCnD,kBAAkB,CAACkD,KAAK,CAAC;;GAEhC;EAED,MAAME,aAAa,GAAGC,KAAK;IACvB,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,EAAE;MACxBd,WAAW,EAAE;MACba,KAAK,CAACE,cAAc,EAAE;;GAE7B;EAED,MAAM;IAAEC;GAAc,GAAGzE,KAAK,CAACkC,QAAQ,EAAE;EAEzC9B,cAAK,CAACiB,SAAS,CAAC;;IAEZ,IAAIL,eAAe,KAAK,IAAI,IAAI,CAACyD,YAAY,EAAE;MAC3C,MAAM3C,IAAI,GAAG9B,KAAK,CAAC6B,WAAW,EAAE,CAACC,IAAI;MACrC,MAAMX,QAAQ,GAAGW,IAAI,CAAC4C,SAAS,CAACC,GAAG,IAAIA,GAAG,CAACP,EAAE,KAAKpD,eAAe,CAAC;MAClEV,SAAS,CAACM,MAAM,CAAC6B,cAAc,CAAC,KAAK,CAAC;MACtCnC,SAAS,CAACsE,SAAS,CAACC,iBAAiB,CAAC1D,QAAQ,CAAC;MAC/CD,QAAQ,CAACC,QAAQ,CAAC;MAClBF,kBAAkB,CAAC,IAAI,CAAC;;GAE/B,EAAE,CAACD,eAAe,EAAEyD,YAAY,CAAC,CAAC;EAEnC,MAAMK,mCAAmC,GAAIC,OAAgB;IACzDzE,SAAS,CAACM,MAAM,CAACoE,6BAA6B,CAACD,OAAO,CAAC;IAEvD,IAAIA,OAAO,EAAE;MAAA,IAAAE,aAAA;MACT,KAAAA,aAAA,GAAI9E,GAAG,CAACuB,OAAO,cAAAuD,aAAA,eAAXA,aAAA,CAAatD,KAAK,EAAE;QAAA,IAAAuD,aAAA;QACpBlF,KAAK,CAACsC,eAAe,EAAA4C,aAAA,GAAC/E,GAAG,CAACuB,OAAO,cAAAwD,aAAA,uBAAXA,aAAA,CAAavD,KAAK,CAAC;OAC5C,MAAM;QACH3B,KAAK,CAACuC,iBAAiB,EAAE;;KAEhC,MAAM;MACHvC,KAAK,CAACuC,iBAAiB,EAAE;;IAG7B4C,qBAAqB,CAAC;MAAA,IAAAC,aAAA;MAAA,QAAAA,aAAA,GAAMjF,GAAG,CAACuB,OAAO,cAAA0D,aAAA,uBAAXA,aAAA,CAAaC,KAAK,EAAE;MAAC;GACpD;EAED,MAAMC,gBAAgB,GAAGA;IACrB,IAAI,CAAChF,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAAChC,MAAM,EAAE;MACnD;;IAGJ,MAAMwD,SAAS,GACXjF,SAAS,CAACM,MAAM,CAACgD,2BAA2B,KAAKX,SAAS,IAC1D3C,SAAS,CAACM,MAAM,CAACgD,2BAA2B,KAAKtD,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAAChC,MAAM,GAAG,CAAC,GAC/F,CAAC,GACDzB,SAAS,CAACM,MAAM,CAACgD,2BAA2B,GAAG,CAAC;IAE1DtD,SAAS,CAACM,MAAM,CAAC4E,8BAA8B,CAACD,SAAS,CAAC;;IAE1DrE,QAAQ,CAACZ,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAACwB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;GACpE;EAED,MAAME,oBAAoB,GAAGA;IACzB,IAAI,CAACnF,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAAChC,MAAM,EAAE;MACnD;;IAGJ,MAAMwD,SAAS,GACXjF,SAAS,CAACM,MAAM,CAACgD,2BAA2B,KAAKX,SAAS,GACpD,CAAC,GACD3C,SAAS,CAACM,MAAM,CAACgD,2BAA2B,KAAK,CAAC,GAClDtD,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAAChC,MAAM,GAAG,CAAC,GACpDzB,SAAS,CAACM,MAAM,CAACgD,2BAA2B,GAAG,CAAC;IAE1DtD,SAAS,CAACM,MAAM,CAAC4E,8BAA8B,CAACD,SAAS,CAAC;;IAE1DrE,QAAQ,CAACZ,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAACwB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;GACpE;EAED,MAAMG,QAAQ,gBACVtF,6BAACuF,MAAM;IACHC,KAAK,EAAE3F,KAAK,CAAC4F,MAAM,CAACjF,MAAM,CAACgB,uBAAuB;IAClDkE,OAAO,EAAExF,SAAS,CAACM,MAAM,CAACgB,uBAAuB;IACjDmE,QAAQ,EAAEjB;IAEjB;EAED,oBACI1E,yEACIA,6BAAC4F,YAAY;IACTC,WAAW,EACP3F,SAAS,CAACM,MAAM,CAACgD,2BAA2B,KAAKX,SAAS,GACpD3C,SAAS,CAACM,MAAM,CAACgD,2BAA2B,GAAG,CAAC,GAChD,IAAI;IAEdsC,SAAS,EAAE5F,SAAS,CAACM,MAAM,CAACmD,wBAAwB,GAAGzD,SAAS,CAACM,MAAM,CAACmD,wBAAwB,CAAChC,MAAM,GAAG,IAAI;IAC9GlB,OAAO,EAAEA,OAAO,KAAKjB,YAAY,CAACiD,OAAO;IACzCsD,mBAAmB,EAAEV,oBAAoB;IACzCW,eAAe,EAAEd,gBAAgB;IACjCS,QAAQ,EAAExC,YAAY;IACtB8C,OAAO,EAAE7D,WAAW;IACpB8D,MAAM,EAAEhD,UAAU;IAClBiD,SAAS,EAAElC,aAAa;IACxBmC,OAAO,EAAE/C,WAAW;IACpBgD,WAAW,EAAExG,KAAK,CAAC4F,MAAM,CAACjF,MAAM,CAAC6F,WAAW;IAC5CC,eAAe,EAAEhB,QAAQ;IACzBvF,GAAG,EAAEA,GAAG;IACRwG,QAAQ,EAAE;MAAEpC,GAAG,EAAE,GAAG;MAAE/D,IAAI,EAAE,IAAI;MAAEoG,KAAK,EAAE;KAAO;IAChDjF,KAAK,EAAElB;IACT,CACH;AAEX;AAEA,SAASc,6BAA6BA,CAAkBwD,OAAgB,EAAEpD,KAAyB,EAAE3B,KAAoB;EACrH,MAAMM,SAAS,GAAGN,KAAK,CAACO,OAAO,CAACC,IAAwB;EACxD,IAAIc,aAAiC;EAErC,IAAIyD,OAAO,IAAIpD,KAAK,EAAE;IAElB,MAAMkF,OAAO,GAAe,EAAE;IAC9B,MAAMC,OAAO,GAAG9G,KAAK,CAAC+G,qBAAqB,EAAE;IAE7C/G,KAAK,CAAC6B,WAAW,EAAE,CAACC,IAAI,CAACkF,OAAO,CAAC,CAACrC,GAAG,EAAExD,QAAQ;MAC3C2F,OAAO,CAACE,OAAO,CAAC,CAACC,MAAM,EAAEjD,WAAW;QAChC,IAAI;UAAA,IAAAkD,qBAAA;UACA,IAAID,MAAM,CAACE,YAAY,EAAE,KAAAD,qBAAA,GAAID,MAAM,CAACG,SAAS,CAAC5G,IAAI,cAAA0G,qBAAA,eAArBA,qBAAA,CAAuBG,YAAY,EAAE;YAAA,IAAAC,aAAA,EAAAC,sBAAA;YAC9D,MAAMC,SAAS,GAAGC,oBAAoB,EAAAH,aAAA,GAAC3C,GAAG,CAAC+C,QAAQ,cAAAJ,aAAA,uBAAZA,aAAA,CAAeL,MAAM,CAAC7C,EAAE,CAAC,GAAAmD,sBAAA,GAAEN,MAAM,CAACG,SAAS,CAAC5G,IAAI,cAAA+G,sBAAA,uBAArBA,sBAAA,CAAuBI,QAAQ,CAAC;YAElG,IAAIH,SAAS,KAAKvE,SAAS,IAAI2E,cAAc,CAACJ,SAAS,EAAE7F,KAAK,CAAC,EAAE;cAC7DkF,OAAO,CAACgB,IAAI,CAAC,CAAC1G,QAAQ,EAAE6C,WAAW,CAAC,CAAC;;;SAGhD,CAAC,OAAOZ,CAAC,EAAE;;;OAGf,CAAC;KAKL,CAAC;IAEF9C,SAAS,CAACM,MAAM,CAACkH,2BAA2B,CAACjB,OAAO,CAAC;IAErD,IAAIA,OAAO,CAAC9E,MAAM,EAAE;MAChBT,aAAa,GAAGuF,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7BvG,SAAS,CAACM,MAAM,CAAC4E,8BAA8B,CAAC,CAAC,CAAC;KACrD,MAAM;MACHlF,SAAS,CAACM,MAAM,CAAC4E,8BAA8B,CAACvC,SAAS,CAAC;;GAEjE,MAAM;IACH3C,SAAS,CAACM,MAAM,CAACkH,2BAA2B,CAAC,EAAE,CAAC;IAChDxH,SAAS,CAACM,MAAM,CAAC4E,8BAA8B,CAACvC,SAAS,CAAC;;EAG9D,IAAI3B,aAAa,KAAK2B,SAAS,EAAE;IAC7B3C,SAAS,CAACsE,SAAS,CAACC,iBAAiB,CAACvD,aAAa,CAAC;;EAGxD,OAAOA,aAAa;AACxB;;;;"}
@@ -2,9 +2,9 @@ import React__default from 'react';
2
2
  import { IconButton } from '../../../IconButton/IconButton.js';
3
3
  import { useLocalization } from '../../../Provider/Localization.js';
4
4
  import { Menu } from '../../../Menu/Menu.js';
5
- import { FontSize } from './FontSize.js';
6
5
  import { RowHeight } from './RowHeight.js';
7
6
  import { ColumnSettingsPopover } from './ColumnSettings.js';
7
+ import { FontSize } from './FontSize.js';
8
8
 
9
9
  function SettingsButton(props) {
10
10
  const {
@@ -21,7 +21,7 @@ function Toolbar(props) {
21
21
  }
22
22
  const tableMeta = table.options.meta;
23
23
  return /*#__PURE__*/React__default.createElement("div", {
24
- className: "mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2",
24
+ className: "mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2 empty:hidden",
25
25
  "data-taco": "table3-toolbar"
26
26
  }, left, /*#__PURE__*/React__default.createElement(Group, {
27
27
  className: "ml-auto flex-shrink-0 print:hidden"
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Search } from './Search';\nimport { Group } from '../../../Group/Group';\nimport { FiltersButton } from './Filter/filters/Filters';\nimport { EditButton } from './EditButton';\nimport { PrintButton } from './PrintButton/PrintButton';\nimport { Table3CustomSettingRenderer, Table3Props } from '../../types';\nimport { SettingsButton } from './Settings';\n\nexport type ToolbarProps<TType = unknown> = {\n customSettings?: Table3CustomSettingRenderer[];\n left?: JSX.Element;\n right?: JSX.Element;\n scrollToIndex: any;\n table: RTable<TType>;\n tableProps: Table3Props<TType>;\n total: number;\n};\nexport function Toolbar<TType = unknown>(props: ToolbarProps<TType>) {\n const { customSettings, left, right, scrollToIndex, table, tableProps, total } = props;\n\n if (!isToolbarVisible(props)) {\n return null;\n }\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return (\n <div className=\"mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2\" data-taco=\"table3-toolbar\">\n {left}\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {tableMeta.editing.isEnabled ? <EditButton table={table} /> : null}\n {table.options.enableColumnFilters ? <FiltersButton table={table} total={total} /> : null}\n {right}\n {tableMeta.printing.isEnabled ? <PrintButton table={table} tableProps={tableProps} /> : null}\n {isSettingsVisible(props) ? <SettingsButton table={table} customSettings={customSettings} /> : null}\n {tableMeta.search.isEnabled ? <Search scrollToIndex={scrollToIndex} table={table} /> : null}\n </Group>\n </div>\n );\n}\n\nfunction isSettingsVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return tableMeta.fontSize.isEnabled || tableMeta.rowHeight.isEnabled || tableMeta.columnOrdering.isEnabled;\n}\n\nfunction isToolbarVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { left, right, table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const enableSettingsButton = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const hasInternalToolbar =\n enableSettingsButton ||\n tableMeta.editing.isEnabled ||\n tableMeta.printing.isEnabled ||\n table.options.enableColumnFilters ||\n tableMeta.fontSize.isEnabled ||\n tableMeta.rowHeight.isEnabled ||\n tableMeta.search.isEnabled;\n\n return hasInternalToolbar || !!left || !!right;\n}\n"],"names":["Toolbar","props","customSettings","left","right","scrollToIndex","table","tableProps","total","isToolbarVisible","tableMeta","options","meta","React","className","Group","editing","isEnabled","EditButton","enableColumnFilters","FiltersButton","printing","PrintButton","isSettingsVisible","SettingsButton","search","Search","fontSize","rowHeight","columnOrdering","enableSettingsButton","enableHiding","hasInternalToolbar"],"mappings":";;;;;;;;SAmBgBA,OAAOA,CAAkBC,KAA0B;EAC/D,MAAM;IAAEC,cAAc;IAAEC,IAAI;IAAEC,KAAK;IAAEC,aAAa;IAAEC,KAAK;IAAEC,UAAU;IAAEC;GAAO,GAAGP,KAAK;EAEtF,IAAI,CAACQ,gBAAgB,CAACR,KAAK,CAAC,EAAE;IAC1B,OAAO,IAAI;;EAGf,MAAMS,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,oBACIC;IAAKC,SAAS,EAAC,mDAAmD;iBAAW;KACxEX,IAAI,eACLU,6BAACE,KAAK;IAACD,SAAS,EAAC;KACZJ,SAAS,CAACM,OAAO,CAACC,SAAS,gBAAGJ,6BAACK,UAAU;IAACZ,KAAK,EAAEA;IAAS,GAAG,IAAI,EACjEA,KAAK,CAACK,OAAO,CAACQ,mBAAmB,gBAAGN,6BAACO,aAAa;IAACd,KAAK,EAAEA,KAAK;IAAEE,KAAK,EAAEA;IAAS,GAAG,IAAI,EACxFJ,KAAK,EACLM,SAAS,CAACW,QAAQ,CAACJ,SAAS,gBAAGJ,6BAACS,WAAW;IAAChB,KAAK,EAAEA,KAAK;IAAEC,UAAU,EAAEA;IAAc,GAAG,IAAI,EAC3FgB,iBAAiB,CAACtB,KAAK,CAAC,gBAAGY,6BAACW,cAAc;IAAClB,KAAK,EAAEA,KAAK;IAAEJ,cAAc,EAAEA;IAAkB,GAAG,IAAI,EAClGQ,SAAS,CAACe,MAAM,CAACR,SAAS,gBAAGJ,6BAACa,MAAM;IAACrB,aAAa,EAAEA,aAAa;IAAEC,KAAK,EAAEA;IAAS,GAAG,IAAI,CACvF,CACN;AAEd;AAEA,SAASiB,iBAAiBA,CAAkBtB,KAA0B;EAClE,MAAM;IAAEK;GAAO,GAAGL,KAAK;EACvB,MAAMS,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,OAAOF,SAAS,CAACiB,QAAQ,CAACV,SAAS,IAAIP,SAAS,CAACkB,SAAS,CAACX,SAAS,IAAIP,SAAS,CAACmB,cAAc,CAACZ,SAAS;AAC9G;AAEA,SAASR,gBAAgBA,CAAkBR,KAA0B;EACjE,MAAM;IAAEE,IAAI;IAAEC,KAAK;IAAEE;GAAO,GAAGL,KAAK;EACpC,MAAMS,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,MAAMkB,oBAAoB,GAAGxB,KAAK,CAACK,OAAO,CAACoB,YAAY,IAAIrB,SAAS,CAACmB,cAAc,CAACZ,SAAS;EAC7F,MAAMe,kBAAkB,GACpBF,oBAAoB,IACpBpB,SAAS,CAACM,OAAO,CAACC,SAAS,IAC3BP,SAAS,CAACW,QAAQ,CAACJ,SAAS,IAC5BX,KAAK,CAACK,OAAO,CAACQ,mBAAmB,IACjCT,SAAS,CAACiB,QAAQ,CAACV,SAAS,IAC5BP,SAAS,CAACkB,SAAS,CAACX,SAAS,IAC7BP,SAAS,CAACe,MAAM,CAACR,SAAS;EAE9B,OAAOe,kBAAkB,IAAI,CAAC,CAAC7B,IAAI,IAAI,CAAC,CAACC,KAAK;AAClD;;;;"}
1
+ {"version":3,"file":"Toolbar.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Search } from './Search';\nimport { Group } from '../../../Group/Group';\nimport { FiltersButton } from './Filter/filters/Filters';\nimport { EditButton } from './EditButton';\nimport { PrintButton } from './PrintButton/PrintButton';\nimport { Table3CustomSettingRenderer, Table3Props } from '../../types';\nimport { SettingsButton } from './Settings';\n\nexport type ToolbarProps<TType = unknown> = {\n customSettings?: Table3CustomSettingRenderer[];\n left?: JSX.Element;\n right?: JSX.Element;\n scrollToIndex: any;\n table: RTable<TType>;\n tableProps: Table3Props<TType>;\n total: number;\n};\nexport function Toolbar<TType = unknown>(props: ToolbarProps<TType>) {\n const { customSettings, left, right, scrollToIndex, table, tableProps, total } = props;\n\n if (!isToolbarVisible(props)) {\n return null;\n }\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return (\n <div className=\"mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2 empty:hidden\" data-taco=\"table3-toolbar\">\n {left}\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {tableMeta.editing.isEnabled ? <EditButton table={table} /> : null}\n {table.options.enableColumnFilters ? <FiltersButton table={table} total={total} /> : null}\n {right}\n {tableMeta.printing.isEnabled ? <PrintButton table={table} tableProps={tableProps} /> : null}\n {isSettingsVisible(props) ? <SettingsButton table={table} customSettings={customSettings} /> : null}\n {tableMeta.search.isEnabled ? <Search scrollToIndex={scrollToIndex} table={table} /> : null}\n </Group>\n </div>\n );\n}\n\nfunction isSettingsVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return tableMeta.fontSize.isEnabled || tableMeta.rowHeight.isEnabled || tableMeta.columnOrdering.isEnabled;\n}\n\nfunction isToolbarVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { left, right, table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const enableSettingsButton = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const hasInternalToolbar =\n enableSettingsButton ||\n tableMeta.editing.isEnabled ||\n tableMeta.printing.isEnabled ||\n table.options.enableColumnFilters ||\n tableMeta.fontSize.isEnabled ||\n tableMeta.rowHeight.isEnabled ||\n tableMeta.search.isEnabled;\n\n return hasInternalToolbar || !!left || !!right;\n}\n"],"names":["Toolbar","props","customSettings","left","right","scrollToIndex","table","tableProps","total","isToolbarVisible","tableMeta","options","meta","React","className","Group","editing","isEnabled","EditButton","enableColumnFilters","FiltersButton","printing","PrintButton","isSettingsVisible","SettingsButton","search","Search","fontSize","rowHeight","columnOrdering","enableSettingsButton","enableHiding","hasInternalToolbar"],"mappings":";;;;;;;;SAmBgBA,OAAOA,CAAkBC,KAA0B;EAC/D,MAAM;IAAEC,cAAc;IAAEC,IAAI;IAAEC,KAAK;IAAEC,aAAa;IAAEC,KAAK;IAAEC,UAAU;IAAEC;GAAO,GAAGP,KAAK;EAEtF,IAAI,CAACQ,gBAAgB,CAACR,KAAK,CAAC,EAAE;IAC1B,OAAO,IAAI;;EAGf,MAAMS,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,oBACIC;IAAKC,SAAS,EAAC,gEAAgE;iBAAW;KACrFX,IAAI,eACLU,6BAACE,KAAK;IAACD,SAAS,EAAC;KACZJ,SAAS,CAACM,OAAO,CAACC,SAAS,gBAAGJ,6BAACK,UAAU;IAACZ,KAAK,EAAEA;IAAS,GAAG,IAAI,EACjEA,KAAK,CAACK,OAAO,CAACQ,mBAAmB,gBAAGN,6BAACO,aAAa;IAACd,KAAK,EAAEA,KAAK;IAAEE,KAAK,EAAEA;IAAS,GAAG,IAAI,EACxFJ,KAAK,EACLM,SAAS,CAACW,QAAQ,CAACJ,SAAS,gBAAGJ,6BAACS,WAAW;IAAChB,KAAK,EAAEA,KAAK;IAAEC,UAAU,EAAEA;IAAc,GAAG,IAAI,EAC3FgB,iBAAiB,CAACtB,KAAK,CAAC,gBAAGY,6BAACW,cAAc;IAAClB,KAAK,EAAEA,KAAK;IAAEJ,cAAc,EAAEA;IAAkB,GAAG,IAAI,EAClGQ,SAAS,CAACe,MAAM,CAACR,SAAS,gBAAGJ,6BAACa,MAAM;IAACrB,aAAa,EAAEA,aAAa;IAAEC,KAAK,EAAEA;IAAS,GAAG,IAAI,CACvF,CACN;AAEd;AAEA,SAASiB,iBAAiBA,CAAkBtB,KAA0B;EAClE,MAAM;IAAEK;GAAO,GAAGL,KAAK;EACvB,MAAMS,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,OAAOF,SAAS,CAACiB,QAAQ,CAACV,SAAS,IAAIP,SAAS,CAACkB,SAAS,CAACX,SAAS,IAAIP,SAAS,CAACmB,cAAc,CAACZ,SAAS;AAC9G;AAEA,SAASR,gBAAgBA,CAAkBR,KAA0B;EACjE,MAAM;IAAEE,IAAI;IAAEC,KAAK;IAAEE;GAAO,GAAGL,KAAK;EACpC,MAAMS,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,MAAMkB,oBAAoB,GAAGxB,KAAK,CAACK,OAAO,CAACoB,YAAY,IAAIrB,SAAS,CAACmB,cAAc,CAACZ,SAAS;EAC7F,MAAMe,kBAAkB,GACpBF,oBAAoB,IACpBpB,SAAS,CAACM,OAAO,CAACC,SAAS,IAC3BP,SAAS,CAACW,QAAQ,CAACJ,SAAS,IAC5BX,KAAK,CAACK,OAAO,CAACQ,mBAAmB,IACjCT,SAAS,CAACiB,QAAQ,CAACV,SAAS,IAC5BP,SAAS,CAACkB,SAAS,CAACX,SAAS,IAC7BP,SAAS,CAACe,MAAM,CAACR,SAAS;EAE9B,OAAOe,kBAAkB,IAAI,CAAC,CAAC7B,IAAI,IAAI,CAAC,CAACC,KAAK;AAClD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCssGrid.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\n\nimport { isInternalColumn } from '../util/columns';\nimport { getFontBasedMinColumnSize, PRINT_MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { COLUMN_ID as ACTIONS_COLUMN_ID } from '../components/columns/internal/Actions';\nimport { Table3FontSize } from '../types';\n\nexport const useCssGrid = <TType = unknown>(\n table: RTable<TType>,\n isPrintTable = false,\n actionsForRowLength = 0,\n fontSize: Table3FontSize\n) => {\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const rowsLength = table.getRowModel().rows.length;\n const expandedRowsLength = Object.keys(table.getState().expanded).length;\n const length = rowsLength + expandedRowsLength;\n const minColumnSize = getFontBasedMinColumnSize(fontSize);\n const gridTemplateColumns = React.useMemo(() => {\n return allVisibleColumns.reduce((accum, column, index) => {\n let size;\n const isLastColumn = index === allVisibleColumns.length - 1;\n // column has a getSize function, but it always returns a default value (150), and we want the\n // first render to use auto layout - so we get the size directly from table state where it is undefined\n const width = columnSizing[column.id] as number | '1fr';\n const isColumnInternal = isInternalColumn(column.id);\n\n if (isPrintTable) {\n const maxWidth = isColumnInternal ? `${column.getSize()}px` : '1fr';\n\n size = `minmax(${PRINT_MIN_COLUMN_SIZE}px, ${maxWidth})`;\n } else if (isColumnInternal) {\n if (column.id === ACTIONS_COLUMN_ID) {\n const minWidth = actionsForRowLength * 32 + 8 /* button margins l+r */ + 8; /* cell padding l+r */\n size = `minmax(${minWidth}px, auto)`;\n } else {\n // getSize method is used instead of columnSizing state because columnSizing state doesn't have\n // sizes of internal columns.\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n if (width === '1fr') {\n size = 'minmax(max-content, 1fr)';\n } else if (isLastColumn) {\n size = `minmax(${width}px, auto)`;\n } else if (width < minColumnSize) {\n // the react-table getResizeHandler function does not respect the minSize property on columns, it is possible\n // to go below the minSize - so we have to prevent it entirely on the grid layout\n size = `${minColumnSize}px`;\n } else {\n size = `${width}px`;\n }\n } else {\n size = 'minmax(max-content, auto)';\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n }, [allVisibleColumns, columnSizing, minColumnSize]);\n\n const gridTemplateRows = React.useMemo(() => {\n // 1fr makes sure that there is always a free space between the rows and footer when table height exceeds the\n // cumulative height of all rows\n return `min-content repeat(${length}, min-content) 1fr min-content`;\n }, [length]);\n\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n return { style };\n};\n"],"names":["useCssGrid","table","isPrintTable","actionsForRowLength","fontSize","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","rowsLength","getRowModel","rows","length","expandedRowsLength","Object","keys","expanded","minColumnSize","getFontBasedMinColumnSize","gridTemplateColumns","React","useMemo","reduce","accum","column","index","size","isLastColumn","width","id","isColumnInternal","isInternalColumn","maxWidth","getSize","PRINT_MIN_COLUMN_SIZE","ACTIONS_COLUMN_ID","minWidth","undefined","trim","gridTemplateRows","style"],"mappings":";;;;;MAQaA,UAAU,GAAGA,CACtBC,KAAoB,EACpBC,YAAY,GAAG,KAAK,EACpBC,mBAAmB,GAAG,CAAC,EACvBC,QAAwB;EAExB,MAAMC,iBAAiB,GAAGJ,KAAK,CAACK,qBAAqB,EAAE;EACvD,MAAMC,YAAY,GAAGN,KAAK,CAACO,QAAQ,EAAE,CAACD,YAAY;EAClD,MAAME,UAAU,GAAGR,KAAK,CAACS,WAAW,EAAE,CAACC,IAAI,CAACC,MAAM;EAClD,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAACd,KAAK,CAACO,QAAQ,EAAE,CAACQ,QAAQ,CAAC,CAACJ,MAAM;EACxE,MAAMA,MAAM,GAAGH,UAAU,GAAGI,kBAAkB;EAC9C,MAAMI,aAAa,GAAGC,yBAAyB,CAACd,QAAQ,CAAC;EACzD,MAAMe,mBAAmB,GAAGC,cAAK,CAACC,OAAO,CAAC;IACtC,OAAOhB,iBAAiB,CAACiB,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,EAAEC,KAAK;MACjD,IAAIC,IAAI;MACR,MAAMC,YAAY,GAAGF,KAAK,KAAKpB,iBAAiB,CAACO,MAAM,GAAG,CAAC;;;MAG3D,MAAMgB,KAAK,GAAGrB,YAAY,CAACiB,MAAM,CAACK,EAAE,CAAmB;MACvD,MAAMC,gBAAgB,GAAGC,gBAAgB,CAACP,MAAM,CAACK,EAAE,CAAC;MAEpD,IAAI3B,YAAY,EAAE;QACd,MAAM8B,QAAQ,GAAGF,gBAAgB,MAAMN,MAAM,CAACS,OAAO,MAAM,GAAG,KAAK;QAEnEP,IAAI,aAAaQ,4BAA4BF,WAAW;OAC3D,MAAM,IAAIF,gBAAgB,EAAE;QACzB,IAAIN,MAAM,CAACK,EAAE,KAAKM,SAAiB,EAAE;UACjC,MAAMC,QAAQ,GAAGjC,mBAAmB,GAAG,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC;UAC3EuB,IAAI,aAAaU,mBAAmB;SACvC,MAAM;;;UAGHV,IAAI,MAAMF,MAAM,CAACS,OAAO,MAAM;;OAErC,MAAM,IAAIL,KAAK,KAAKS,SAAS,EAAE;QAC5B,IAAIT,KAAK,KAAK,KAAK,EAAE;UACjBF,IAAI,GAAG,0BAA0B;SACpC,MAAM,IAAIC,YAAY,EAAE;UACrBD,IAAI,aAAaE,gBAAgB;SACpC,MAAM,IAAIA,KAAK,GAAGX,aAAa,EAAE;;;UAG9BS,IAAI,MAAMT,iBAAiB;SAC9B,MAAM;UACHS,IAAI,MAAME,SAAS;;OAE1B,MAAM;QACHF,IAAI,GAAG,2BAA2B;;MAGtC,UAAUH,SAASG,MAAM,CAACY,IAAI,EAAE;KACnC,EAAE,EAAE,CAAC;GACT,EAAE,CAACjC,iBAAiB,EAAEE,YAAY,EAAEU,aAAa,CAAC,CAAC;EAEpD,MAAMsB,gBAAgB,GAAGnB,cAAK,CAACC,OAAO,CAAC;;;IAGnC,6BAA6BT,sCAAsC;GACtE,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAM4B,KAAK,GAAwB;IAC/BrB,mBAAmB;IACnBoB;GACH;EAED,OAAO;IAAEC;GAAO;AACpB;;;;"}
1
+ {"version":3,"file":"useCssGrid.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\n\nimport { isInternalColumn } from '../util/columns';\nimport { getFontBasedMinColumnSize, PRINT_MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { COLUMN_ID as ACTIONS_COLUMN_ID } from '../components/columns/internal/Actions';\nimport { FontSize } from '../../../types';\n\nexport const useCssGrid = <TType = unknown>(\n table: RTable<TType>,\n isPrintTable = false,\n actionsForRowLength = 0,\n fontSize: FontSize\n) => {\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const rowsLength = table.getRowModel().rows.length;\n const expandedRowsLength = Object.keys(table.getState().expanded).length;\n const length = rowsLength + expandedRowsLength;\n const minColumnSize = getFontBasedMinColumnSize(fontSize);\n const gridTemplateColumns = React.useMemo(() => {\n return allVisibleColumns.reduce((accum, column, index) => {\n let size;\n const isLastColumn = index === allVisibleColumns.length - 1;\n // column has a getSize function, but it always returns a default value (150), and we want the\n // first render to use auto layout - so we get the size directly from table state where it is undefined\n const width = columnSizing[column.id] as number | '1fr';\n const isColumnInternal = isInternalColumn(column.id);\n\n if (isPrintTable) {\n const maxWidth = isColumnInternal ? `${column.getSize()}px` : '1fr';\n\n size = `minmax(${PRINT_MIN_COLUMN_SIZE}px, ${maxWidth})`;\n } else if (isColumnInternal) {\n if (column.id === ACTIONS_COLUMN_ID) {\n const minWidth = actionsForRowLength * 32 + 8 /* button margins l+r */ + 8; /* cell padding l+r */\n size = `minmax(${minWidth}px, auto)`;\n } else {\n // getSize method is used instead of columnSizing state because columnSizing state doesn't have\n // sizes of internal columns.\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n if (width === '1fr') {\n size = 'minmax(max-content, 1fr)';\n } else if (isLastColumn) {\n size = `minmax(${width}px, auto)`;\n } else if (width < minColumnSize) {\n // the react-table getResizeHandler function does not respect the minSize property on columns, it is possible\n // to go below the minSize - so we have to prevent it entirely on the grid layout\n size = `${minColumnSize}px`;\n } else {\n size = `${width}px`;\n }\n } else {\n size = 'minmax(max-content, auto)';\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n }, [allVisibleColumns, columnSizing, minColumnSize]);\n\n const gridTemplateRows = React.useMemo(() => {\n // 1fr makes sure that there is always a free space between the rows and footer when table height exceeds the\n // cumulative height of all rows\n return `min-content repeat(${length}, min-content) 1fr min-content`;\n }, [length]);\n\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n return { style };\n};\n"],"names":["useCssGrid","table","isPrintTable","actionsForRowLength","fontSize","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","rowsLength","getRowModel","rows","length","expandedRowsLength","Object","keys","expanded","minColumnSize","getFontBasedMinColumnSize","gridTemplateColumns","React","useMemo","reduce","accum","column","index","size","isLastColumn","width","id","isColumnInternal","isInternalColumn","maxWidth","getSize","PRINT_MIN_COLUMN_SIZE","ACTIONS_COLUMN_ID","minWidth","undefined","trim","gridTemplateRows","style"],"mappings":";;;;;MAQaA,UAAU,GAAGA,CACtBC,KAAoB,EACpBC,YAAY,GAAG,KAAK,EACpBC,mBAAmB,GAAG,CAAC,EACvBC,QAAkB;EAElB,MAAMC,iBAAiB,GAAGJ,KAAK,CAACK,qBAAqB,EAAE;EACvD,MAAMC,YAAY,GAAGN,KAAK,CAACO,QAAQ,EAAE,CAACD,YAAY;EAClD,MAAME,UAAU,GAAGR,KAAK,CAACS,WAAW,EAAE,CAACC,IAAI,CAACC,MAAM;EAClD,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAACd,KAAK,CAACO,QAAQ,EAAE,CAACQ,QAAQ,CAAC,CAACJ,MAAM;EACxE,MAAMA,MAAM,GAAGH,UAAU,GAAGI,kBAAkB;EAC9C,MAAMI,aAAa,GAAGC,yBAAyB,CAACd,QAAQ,CAAC;EACzD,MAAMe,mBAAmB,GAAGC,cAAK,CAACC,OAAO,CAAC;IACtC,OAAOhB,iBAAiB,CAACiB,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,EAAEC,KAAK;MACjD,IAAIC,IAAI;MACR,MAAMC,YAAY,GAAGF,KAAK,KAAKpB,iBAAiB,CAACO,MAAM,GAAG,CAAC;;;MAG3D,MAAMgB,KAAK,GAAGrB,YAAY,CAACiB,MAAM,CAACK,EAAE,CAAmB;MACvD,MAAMC,gBAAgB,GAAGC,gBAAgB,CAACP,MAAM,CAACK,EAAE,CAAC;MAEpD,IAAI3B,YAAY,EAAE;QACd,MAAM8B,QAAQ,GAAGF,gBAAgB,MAAMN,MAAM,CAACS,OAAO,MAAM,GAAG,KAAK;QAEnEP,IAAI,aAAaQ,4BAA4BF,WAAW;OAC3D,MAAM,IAAIF,gBAAgB,EAAE;QACzB,IAAIN,MAAM,CAACK,EAAE,KAAKM,SAAiB,EAAE;UACjC,MAAMC,QAAQ,GAAGjC,mBAAmB,GAAG,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC;UAC3EuB,IAAI,aAAaU,mBAAmB;SACvC,MAAM;;;UAGHV,IAAI,MAAMF,MAAM,CAACS,OAAO,MAAM;;OAErC,MAAM,IAAIL,KAAK,KAAKS,SAAS,EAAE;QAC5B,IAAIT,KAAK,KAAK,KAAK,EAAE;UACjBF,IAAI,GAAG,0BAA0B;SACpC,MAAM,IAAIC,YAAY,EAAE;UACrBD,IAAI,aAAaE,gBAAgB;SACpC,MAAM,IAAIA,KAAK,GAAGX,aAAa,EAAE;;;UAG9BS,IAAI,MAAMT,iBAAiB;SAC9B,MAAM;UACHS,IAAI,MAAME,SAAS;;OAE1B,MAAM;QACHF,IAAI,GAAG,2BAA2B;;MAGtC,UAAUH,SAASG,MAAM,CAACY,IAAI,EAAE;KACnC,EAAE,EAAE,CAAC;GACT,EAAE,CAACjC,iBAAiB,EAAEE,YAAY,EAAEU,aAAa,CAAC,CAAC;EAEpD,MAAMsB,gBAAgB,GAAGnB,cAAK,CAACC,OAAO,CAAC;;;IAGnC,6BAA6BT,sCAAsC;GACtE,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAM4B,KAAK,GAAwB;IAC/BrB,mBAAmB;IACnBoB;GACH;EAED,OAAO;IAAEC;GAAO;AACpB;;;;"}
@@ -1,4 +1,4 @@
1
- import { FONT_SIZE } from '../components/toolbar/FontSize.js';
1
+ import { FontSizes } from '../../../types.js';
2
2
 
3
3
  // we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)
4
4
  const getCellHeightPadding = (height, fontSize) => {
@@ -7,7 +7,7 @@ const getCellHeightPadding = (height, fontSize) => {
7
7
  case 'short':
8
8
  {
9
9
  switch (fontSize) {
10
- case FONT_SIZE.small:
10
+ case FontSizes.small:
11
11
  return '8px';
12
12
  default:
13
13
  return '6px';
@@ -17,9 +17,9 @@ const getCellHeightPadding = (height, fontSize) => {
17
17
  case 'tall':
18
18
  {
19
19
  switch (fontSize) {
20
- case FONT_SIZE.small:
20
+ case FontSizes.small:
21
21
  return '16px';
22
- case FONT_SIZE.large:
22
+ case FontSizes.large:
23
23
  return '12px';
24
24
  default:
25
25
  return '14px';
@@ -28,9 +28,9 @@ const getCellHeightPadding = (height, fontSize) => {
28
28
  case 'extra-tall':
29
29
  {
30
30
  switch (fontSize) {
31
- case FONT_SIZE.small:
31
+ case FontSizes.small:
32
32
  return '22px';
33
- case FONT_SIZE.large:
33
+ case FontSizes.large:
34
34
  return '18px';
35
35
  default:
36
36
  return '20px';
@@ -39,9 +39,9 @@ const getCellHeightPadding = (height, fontSize) => {
39
39
  default:
40
40
  {
41
41
  switch (fontSize) {
42
- case FONT_SIZE.small:
42
+ case FontSizes.small:
43
43
  return '12px';
44
- case FONT_SIZE.large:
44
+ case FontSizes.large:
45
45
  return '8px';
46
46
  default:
47
47
  return '10px';
@@ -51,9 +51,9 @@ const getCellHeightPadding = (height, fontSize) => {
51
51
  };
52
52
  const getCellWidthPadding = fontSize => {
53
53
  switch (fontSize) {
54
- case FONT_SIZE.small:
54
+ case FontSizes.small:
55
55
  return '8px';
56
- case FONT_SIZE.medium:
56
+ case FontSizes.medium:
57
57
  return '12px';
58
58
  default:
59
59
  return '16px';
@@ -1 +1 @@
1
- {"version":3,"file":"useCssVars.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssVars.ts"],"sourcesContent":["import { FONT_SIZE } from '../components/toolbar/FontSize';\nimport { Table3FontSize, Table3RowHeight } from '../types';\n\n// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)\nconst getCellHeightPadding = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n // TODO: can we get the rem values from tailwind\n switch (height) {\n case 'short': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '8px';\n\n default:\n return '6px'; // py-1.5\n }\n }\n\n case 'tall': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '16px';\n\n case FONT_SIZE.large:\n return '12px';\n\n default:\n return '14px';\n }\n }\n\n case 'extra-tall': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '22px';\n\n case FONT_SIZE.large:\n return '18px';\n\n default:\n return '20px';\n }\n }\n\n default: {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '12px';\n\n case FONT_SIZE.large:\n return '8px';\n\n default:\n return '10px';\n }\n }\n }\n};\n\nconst getCellWidthPadding = (fontSize: Table3FontSize) => {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '8px';\n\n case FONT_SIZE.medium:\n return '12px';\n\n default:\n return '16px'; // py-1.5\n }\n};\n\nexport const useCssVars = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n const style = {\n '--table3-cell-padding-x': getCellWidthPadding(fontSize),\n '--table3-cell-padding-y': getCellHeightPadding(height, fontSize),\n };\n\n return { style };\n};\n"],"names":["getCellHeightPadding","height","fontSize","FONT_SIZE","small","large","getCellWidthPadding","medium","useCssVars","style"],"mappings":";;AAGA;AACA,MAAMA,oBAAoB,GAAGA,CAACC,MAAuB,EAAEC,QAAwB;;EAE3E,QAAQD,MAAM;IACV,KAAK,OAAO;MAAE;QACV,QAAQC,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,KAAK;;;;IAIxB,KAAK,MAAM;MAAE;QACT,QAAQF,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB,KAAK,YAAY;MAAE;QACf,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB;MAAS;QACL,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,MAAM;;;;AAIjC,CAAC;AAED,MAAMC,mBAAmB,GAAIJ,QAAwB;EACjD,QAAQA,QAAQ;IACZ,KAAKC,SAAS,CAACC,KAAK;MAChB,OAAO,KAAK;IAEhB,KAAKD,SAAS,CAACI,MAAM;MACjB,OAAO,MAAM;IAEjB;MACI,OAAO,MAAM;;;AAEzB,CAAC;MAEYC,UAAU,GAAGA,CAACP,MAAuB,EAAEC,QAAwB;EACxE,MAAMO,KAAK,GAAG;IACV,yBAAyB,EAAEH,mBAAmB,CAACJ,QAAQ,CAAC;IACxD,yBAAyB,EAAEF,oBAAoB,CAACC,MAAM,EAAEC,QAAQ;GACnE;EAED,OAAO;IAAEO;GAAO;AACpB;;;;"}
1
+ {"version":3,"file":"useCssVars.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssVars.ts"],"sourcesContent":["import { Table3RowHeight } from '../types';\nimport { FontSize, FontSizes } from '../../../types';\n\n// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)\nconst getCellHeightPadding = (height: Table3RowHeight, fontSize: FontSize) => {\n // TODO: can we get the rem values from tailwind\n switch (height) {\n case 'short': {\n switch (fontSize) {\n case FontSizes.small:\n return '8px';\n\n default:\n return '6px'; // py-1.5\n }\n }\n\n case 'tall': {\n switch (fontSize) {\n case FontSizes.small:\n return '16px';\n\n case FontSizes.large:\n return '12px';\n\n default:\n return '14px';\n }\n }\n\n case 'extra-tall': {\n switch (fontSize) {\n case FontSizes.small:\n return '22px';\n\n case FontSizes.large:\n return '18px';\n\n default:\n return '20px';\n }\n }\n\n default: {\n switch (fontSize) {\n case FontSizes.small:\n return '12px';\n\n case FontSizes.large:\n return '8px';\n\n default:\n return '10px';\n }\n }\n }\n};\n\nconst getCellWidthPadding = (fontSize: FontSize) => {\n switch (fontSize) {\n case FontSizes.small:\n return '8px';\n\n case FontSizes.medium:\n return '12px';\n\n default:\n return '16px'; // py-1.5\n }\n};\n\nexport const useCssVars = (height: Table3RowHeight, fontSize: FontSize) => {\n const style = {\n '--table3-cell-padding-x': getCellWidthPadding(fontSize),\n '--table3-cell-padding-y': getCellHeightPadding(height, fontSize),\n };\n\n return { style };\n};\n"],"names":["getCellHeightPadding","height","fontSize","FontSizes","small","large","getCellWidthPadding","medium","useCssVars","style"],"mappings":";;AAGA;AACA,MAAMA,oBAAoB,GAAGA,CAACC,MAAuB,EAAEC,QAAkB;;EAErE,QAAQD,MAAM;IACV,KAAK,OAAO;MAAE;QACV,QAAQC,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,KAAK;;;;IAIxB,KAAK,MAAM;MAAE;QACT,QAAQF,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB,KAAK,YAAY;MAAE;QACf,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB;MAAS;QACL,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,MAAM;;;;AAIjC,CAAC;AAED,MAAMC,mBAAmB,GAAIJ,QAAkB;EAC3C,QAAQA,QAAQ;IACZ,KAAKC,SAAS,CAACC,KAAK;MAChB,OAAO,KAAK;IAEhB,KAAKD,SAAS,CAACI,MAAM;MACjB,OAAO,MAAM;IAEjB;MACI,OAAO,MAAM;;;AAEzB,CAAC;MAEYC,UAAU,GAAGA,CAACP,MAAuB,EAAEC,QAAkB;EAClE,MAAMO,KAAK,GAAG;IACV,yBAAyB,EAAEH,mBAAmB,CAACJ,QAAQ,CAAC;IACxD,yBAAyB,EAAEF,oBAAoB,CAACC,MAAM,EAAEC,QAAQ;GACnE;EAED,OAAO;IAAEO;GAAO;AACpB;;;;"}