@economic/taco 1.41.0 → 2.0.0-alpha.5
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Icon/components/HeightTall.d.ts +3 -0
- package/dist/components/Icon/components/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Menu/Menu.d.ts +2 -0
- package/dist/components/Menu/components/Item.d.ts +6 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/SubMenu.d.ts +8 -0
- package/dist/components/Navigation2/components/Link.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts +3 -0
- package/dist/components/Provider/Localization.d.ts +148 -0
- package/dist/components/SearchInput/SearchInput.d.ts +2 -0
- package/dist/components/SearchInput2/SearchInput2.d.ts +23 -0
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Search.d.ts +1 -1
- package/dist/components/Table2/hooks/useTable.d.ts +1 -1
- package/dist/components/Table3/Table3.d.ts +12 -0
- package/dist/components/Table3/components/columns/cell/Cell.d.ts +6 -0
- package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +22 -0
- package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +7 -0
- package/dist/components/Table3/components/columns/cell/Indicator.d.ts +17 -0
- package/dist/components/Table3/components/columns/footer/Footer.d.ts +14 -0
- package/dist/components/Table3/components/columns/footer/Summary.d.ts +7 -0
- package/dist/components/Table3/components/columns/header/Goto.d.ts +6 -0
- package/dist/components/Table3/components/columns/header/Header.d.ts +27 -0
- package/dist/components/Table3/components/columns/header/Menu.d.ts +16 -0
- package/dist/components/Table3/components/columns/header/Resizer.d.ts +7 -0
- package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +12 -0
- package/dist/components/Table3/components/columns/internal/Actions.d.ts +4 -0
- package/dist/components/Table3/components/columns/internal/Drag.d.ts +4 -0
- package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +8 -0
- package/dist/components/Table3/components/columns/internal/Expansion.d.ts +4 -0
- package/dist/components/Table3/components/columns/internal/Selection.d.ts +4 -0
- package/dist/components/Table3/components/columns/styles.d.ts +4 -0
- package/dist/components/Table3/components/rows/ExpandedRow.d.ts +8 -0
- package/dist/components/Table3/components/rows/Row.d.ts +21 -0
- package/dist/components/Table3/components/rows/RowContext.d.ts +9 -0
- package/dist/components/Table3/components/rows/SkeletonRow.d.ts +10 -0
- package/dist/components/Table3/components/rows/styles.d.ts +6 -0
- package/dist/components/Table3/components/toolbar/ColumnSettings.d.ts +6 -0
- package/dist/components/Table3/components/toolbar/EditButton.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Comparator.d.ts +11 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +13 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +10 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +11 -0
- package/dist/components/Table3/components/toolbar/FontSize.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +1 -0
- package/dist/components/Table3/components/toolbar/RowHeight.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Search.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/Toolbar.d.ts +12 -0
- package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +12 -0
- package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +9 -0
- package/dist/components/Table3/hooks/features/useEditing.d.ts +31 -0
- package/dist/components/Table3/hooks/features/useFontSize.d.ts +7 -0
- package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +6 -0
- package/dist/components/Table3/hooks/features/usePrinting.d.ts +5 -0
- package/dist/components/Table3/hooks/features/useRowClick.d.ts +7 -0
- package/dist/components/Table3/hooks/features/useRowDrag.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useRowDrop.d.ts +5 -0
- package/dist/components/Table3/hooks/features/useRowGoto.d.ts +5 -0
- package/dist/components/Table3/hooks/features/useRowHeight.d.ts +7 -0
- package/dist/components/Table3/hooks/features/useRowSelection.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useSearch.d.ts +16 -0
- package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +2 -0
- package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +2 -0
- package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +9 -0
- package/dist/components/Table3/hooks/useCssGrid.d.ts +5 -0
- package/dist/components/Table3/hooks/useCssVars.d.ts +6 -0
- package/dist/components/Table3/hooks/useTable.d.ts +63 -0
- package/dist/components/Table3/hooks/useTableData.d.ts +23 -0
- package/dist/components/Table3/hooks/useTablePreset.d.ts +2 -0
- package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +4 -0
- package/dist/components/Table3/strategies/index.d.ts +4 -0
- package/dist/components/Table3/strategies/virtualised.d.ts +4 -0
- package/dist/components/Table3/types.d.ts +310 -0
- package/dist/components/Table3/util/columns.d.ts +7 -0
- package/dist/components/Table3/util/editing.d.ts +4 -0
- package/dist/components/Table3/util/filtering.d.ts +3 -0
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/index.css +130 -2
- package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +2 -2
- package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +2 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +4 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js → HeightExtraTall.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js.map → HeightExtraTall.js.map} +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/{DensityNormal.js → HeightMedium.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/{DensityCompact.js → HeightShort.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/{DensityComfortable.js → HeightTall.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js +10 -8
- package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -0
- package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Item.js +20 -2
- package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +22 -0
- package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Popover/Popover.js +11 -3
- package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +145 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +196 -0
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js +3 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +13 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +145 -0
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +131 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +286 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js +74 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +50 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +30 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +134 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +156 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +42 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +38 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +108 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +86 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +124 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +103 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +121 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +17 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +255 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +13 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +43 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +105 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +148 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +107 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +28 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +60 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +89 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +25 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +99 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +224 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +88 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +26 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +137 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +85 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +87 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +52 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +197 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js +13 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +25 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +13 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +29 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +14 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +24 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +51 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js +16 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +26 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js +49 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js +17 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +116 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +56 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +61 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +154 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js +128 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +98 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +8 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +113 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/types.js +18 -0
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js +39 -0
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js +41 -0
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js +102 -0
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +10 -5
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +16 -0
- package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -0
- package/dist/esm/packages/taco/src/index.js +5 -1
- package/dist/esm/packages/taco/src/index.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js +6 -17
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +6 -6
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/input.js +14 -1
- package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
- package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
- package/dist/hooks/useLazyEffect.d.ts +2 -0
- package/dist/index.css +130 -2
- package/dist/index.d.ts +3 -0
- package/dist/taco.cjs.development.js +5171 -240
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/input.d.ts +1 -0
- package/package.json +2 -2
- package/types.json +2322 -25
- package/dist/esm/packages/taco/src/components/Icon/components/DensityComfortable.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DensityCompact.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DensityNormal.js.map +0 -1
- /package/dist/components/Icon/components/{DensityComfortable.d.ts → FontSize.d.ts} +0 -0
- /package/dist/components/Icon/components/{DensityCompact.d.ts → HeightExtraTall.d.ts} +0 -0
- /package/dist/components/Icon/components/{DensityNormal.d.ts → HeightMedium.d.ts} +0 -0
- /package/dist/components/Icon/components/{DensitySpacious.d.ts → HeightShort.d.ts} +0 -0
@@ -0,0 +1,89 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { Input } from '../../../../../../Input/Input.js';
|
3
|
+
import { Datepicker } from '../../../../../../Datepicker/Datepicker.js';
|
4
|
+
import { Switch } from '../../../../../../Switch/Switch.js';
|
5
|
+
import { Table3FilterComparator } from '../../../../../types.js';
|
6
|
+
|
7
|
+
function FilterValue(props) {
|
8
|
+
const {
|
9
|
+
column,
|
10
|
+
comparator,
|
11
|
+
onChange: handleChange,
|
12
|
+
value
|
13
|
+
} = props;
|
14
|
+
if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {
|
15
|
+
return null;
|
16
|
+
}
|
17
|
+
if (comparator === Table3FilterComparator.IsBetween) {
|
18
|
+
var _column$columnDef$met;
|
19
|
+
const fromValue = Array.isArray(value) ? value[0] : undefined;
|
20
|
+
const toValue = Array.isArray(value) ? value[1] : undefined;
|
21
|
+
if (((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.dataType) === 'datetime') {
|
22
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
23
|
+
className: "flex flex-grow items-center gap-2"
|
24
|
+
}, /*#__PURE__*/React__default.createElement(Control, {
|
25
|
+
column: column,
|
26
|
+
onChange: value => handleChange([value, toValue]),
|
27
|
+
value: fromValue
|
28
|
+
}), /*#__PURE__*/React__default.createElement(Control, {
|
29
|
+
column: column,
|
30
|
+
onChange: value => handleChange([fromValue, value]),
|
31
|
+
value: toValue
|
32
|
+
}));
|
33
|
+
}
|
34
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
35
|
+
className: "flex flex-grow items-center gap-2"
|
36
|
+
}, /*#__PURE__*/React__default.createElement(Control, {
|
37
|
+
column: column,
|
38
|
+
onChange: value => handleChange([isNaN(value) ? undefined : value, toValue]),
|
39
|
+
placeholder: "from",
|
40
|
+
value: fromValue !== null && fromValue !== void 0 ? fromValue : ''
|
41
|
+
}), /*#__PURE__*/React__default.createElement(Control, {
|
42
|
+
column: column,
|
43
|
+
onChange: value => handleChange([fromValue, isNaN(value) ? undefined : value]),
|
44
|
+
placeholder: "to",
|
45
|
+
value: toValue !== null && toValue !== void 0 ? toValue : ''
|
46
|
+
}));
|
47
|
+
}
|
48
|
+
return /*#__PURE__*/React__default.createElement(Control, {
|
49
|
+
column: column,
|
50
|
+
onChange: handleChange,
|
51
|
+
value: value
|
52
|
+
});
|
53
|
+
}
|
54
|
+
function Control(props) {
|
55
|
+
var _column$columnDef$met2, _column$columnDef$met3;
|
56
|
+
const {
|
57
|
+
column,
|
58
|
+
onChange,
|
59
|
+
value,
|
60
|
+
...attributes
|
61
|
+
} = props;
|
62
|
+
const controlRenderer = (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.control;
|
63
|
+
const dataType = (_column$columnDef$met3 = column.columnDef.meta) === null || _column$columnDef$met3 === void 0 ? void 0 : _column$columnDef$met3.dataType;
|
64
|
+
if (typeof controlRenderer === 'function') {
|
65
|
+
return controlRenderer({
|
66
|
+
...attributes,
|
67
|
+
setValue: value => onChange(value),
|
68
|
+
value
|
69
|
+
});
|
70
|
+
} else if (controlRenderer === 'datepicker' || dataType === 'datetime') {
|
71
|
+
return /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, attributes, {
|
72
|
+
onChange: event => onChange(event.detail),
|
73
|
+
value: value
|
74
|
+
}));
|
75
|
+
} else if (controlRenderer === 'switch' || dataType === 'boolean') {
|
76
|
+
return /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
|
77
|
+
checked: Boolean(value),
|
78
|
+
onChange: onChange
|
79
|
+
}));
|
80
|
+
}
|
81
|
+
return /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
|
82
|
+
className: "flex-grow",
|
83
|
+
onChange: event => onChange(event.target.value),
|
84
|
+
value: String(value !== null && value !== void 0 ? value : '')
|
85
|
+
}));
|
86
|
+
}
|
87
|
+
|
88
|
+
export { FilterValue };
|
89
|
+
//# sourceMappingURL=FilterValue.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"FilterValue.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.tsx"],"sourcesContent":["import React 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';\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\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.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\n return <Control column={column} onChange={handleChange} value={value} />;\n}\n\nfunction Control(props) {\n const { column, onChange, value, ...attributes } = props;\n\n const controlRenderer = column.columnDef.meta?.control;\n const dataType = column.columnDef.meta?.dataType;\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' || dataType === 'boolean') {\n return <Switch {...attributes} checked={Boolean(value)} onChange={onChange} />;\n }\n\n return (\n <Input\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","Table3FilterComparator","IsEmpty","IsNotEmpty","IsBetween","fromValue","Array","isArray","undefined","toValue","columnDef","meta","dataType","React","className","Control","isNaN","placeholder","attributes","controlRenderer","control","setValue","Datepicker","event","detail","Switch","checked","Boolean","Input","target","String"],"mappings":";;;;;;SAcgBA,WAAW,CAAkBC,KAA8B;EACvE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC,QAAQ,EAAEC,YAAY;IAAEC;GAAO,GAAGL,KAAK;EAEnE,IAAIE,UAAU,KAAKI,sBAAsB,CAACC,OAAO,IAAIL,UAAU,KAAKI,sBAAsB,CAACE,UAAU,EAAE;IACnG,OAAO,IAAI;;EAGf,IAAIN,UAAU,KAAKI,sBAAsB,CAACG,SAAS,EAAE;IAAA;IACjD,MAAMC,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGQ,SAAS;IAC7D,MAAMC,OAAO,GAAGH,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGQ,SAAS;IAE3D,IAAI,0BAAAZ,MAAM,CAACc,SAAS,CAACC,IAAI,0DAArB,sBAAuBC,QAAQ,MAAK,UAAU,EAAE;MAChD,oBACIC;QAAKC,SAAS,EAAC;sBACXD,6BAACE,OAAO;QAACnB,MAAM,EAAEA,MAAM;QAAEE,QAAQ,EAAEE,KAAK,IAAID,YAAY,CAAC,CAACC,KAAK,EAAES,OAAO,CAAC,CAAC;QAAET,KAAK,EAAEK;QAAa,eAChGQ,6BAACE,OAAO;QAACnB,MAAM,EAAEA,MAAM;QAAEE,QAAQ,EAAEE,KAAK,IAAID,YAAY,CAAC,CAACM,SAAS,EAAEL,KAAK,CAAC,CAAC;QAAEA,KAAK,EAAES;QAAW,CAC9F;;IAId,oBACII;MAAKC,SAAS,EAAC;oBACXD,6BAACE,OAAO;MACJnB,MAAM,EAAEA,MAAM;MACdE,QAAQ,EAAEE,KAAK,IAAID,YAAY,CAAC,CAACiB,KAAK,CAAChB,KAAK,CAAC,GAAGQ,SAAS,GAAGR,KAAK,EAAES,OAAO,CAAC,CAAC;MAC5EQ,WAAW,EAAC,MAAM;MAClBjB,KAAK,EAAEK,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI;MACtB,eACFQ,6BAACE,OAAO;MACJnB,MAAM,EAAEA,MAAM;MACdE,QAAQ,EAAEE,KAAK,IAAID,YAAY,CAAC,CAACM,SAAS,EAAEW,KAAK,CAAChB,KAAK,CAAC,GAAGQ,SAAS,GAAGR,KAAK,CAAC,CAAC;MAC9EiB,WAAW,EAAC,IAAI;MAChBjB,KAAK,EAAES,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI;MACpB,CACA;;EAId,oBAAOI,6BAACE,OAAO;IAACnB,MAAM,EAAEA,MAAM;IAAEE,QAAQ,EAAEC,YAAY;IAAEC,KAAK,EAAEA;IAAS;AAC5E;AAEA,SAASe,OAAO,CAACpB,KAAK;;EAClB,MAAM;IAAEC,MAAM;IAAEE,QAAQ;IAAEE,KAAK;IAAE,GAAGkB;GAAY,GAAGvB,KAAK;EAExD,MAAMwB,eAAe,6BAAGvB,MAAM,CAACc,SAAS,CAACC,IAAI,2DAArB,uBAAuBS,OAAO;EACtD,MAAMR,QAAQ,6BAAGhB,MAAM,CAACc,SAAS,CAACC,IAAI,2DAArB,uBAAuBC,QAAQ;EAEhD,IAAI,OAAOO,eAAe,KAAK,UAAU,EAAE;IACvC,OAAOA,eAAe,CAAC;MACnB,GAAGD,UAAU;MACbG,QAAQ,EAAErB,KAAK,IAAIF,QAAQ,CAACE,KAAK,CAAC;MAClCA;KACH,CAAC;GACL,MAAM,IAAImB,eAAe,KAAK,YAAY,IAAIP,QAAQ,KAAK,UAAU,EAAE;IACpE,oBAAOC,6BAACS,UAAU,oBAAKJ,UAAU;MAAEpB,QAAQ,EAAEyB,KAAK,IAAIzB,QAAQ,CAAEyB,KAAa,CAACC,MAAM,CAAC;MAAExB,KAAK,EAAEA;OAAiB;GAClH,MAAM,IAAImB,eAAe,KAAK,QAAQ,IAAIP,QAAQ,KAAK,SAAS,EAAE;IAC/D,oBAAOC,6BAACY,MAAM,oBAAKP,UAAU;MAAEQ,OAAO,EAAEC,OAAO,CAAC3B,KAAK,CAAC;MAAEF,QAAQ,EAAEA;OAAY;;EAGlF,oBACIe,6BAACe,KAAK,oBACEV,UAAU;IACdJ,SAAS,EAAC,WAAW;IACrBhB,QAAQ,EAAEyB,KAAK,IAAIzB,QAAQ,CAACyB,KAAK,CAACM,MAAM,CAAC7B,KAAK,CAAC;IAC/CA,KAAK,EAAE8B,MAAM,CAAC9B,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;KAC3B;AAEV;;;;"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { IconButton } from '../../../../../../IconButton/IconButton.js';
|
3
|
+
import { useLocalization } from '../../../../../../Provider/Localization.js';
|
4
|
+
import { Input } from '../../../../../../Input/Input.js';
|
5
|
+
import { FilterColumn } from './FilterColumn.js';
|
6
|
+
import { FilterComparator } from './FilterComparator.js';
|
7
|
+
import { guessComparatorsBasedOnControl } from './Filter.js';
|
8
|
+
|
9
|
+
function Placeholder(props) {
|
10
|
+
const {
|
11
|
+
allColumns,
|
12
|
+
filters,
|
13
|
+
onCreate: handleCreate,
|
14
|
+
onRemove: handleRemove,
|
15
|
+
position
|
16
|
+
} = props;
|
17
|
+
const {
|
18
|
+
texts
|
19
|
+
} = useLocalization();
|
20
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
21
|
+
className: "flex gap-2"
|
22
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
23
|
+
className: "flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right"
|
24
|
+
}, position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where), /*#__PURE__*/React__default.createElement(FilterColumn, {
|
25
|
+
allColumns: allColumns,
|
26
|
+
filters: filters,
|
27
|
+
onChange: handleCreate,
|
28
|
+
value: null
|
29
|
+
}), /*#__PURE__*/React__default.createElement(FilterComparator, {
|
30
|
+
disabled: true,
|
31
|
+
validComparators: guessComparatorsBasedOnControl()
|
32
|
+
}), /*#__PURE__*/React__default.createElement(Input, {
|
33
|
+
"aria-label": texts.table3.filters.emptyFilter.value,
|
34
|
+
className: "flex-grow",
|
35
|
+
disabled: true,
|
36
|
+
value: texts.table3.filters.emptyFilter.value
|
37
|
+
}), handleRemove ? /*#__PURE__*/React__default.createElement(IconButton, {
|
38
|
+
appearance: "discrete",
|
39
|
+
icon: "close",
|
40
|
+
onClick: handleRemove
|
41
|
+
}) : null);
|
42
|
+
}
|
43
|
+
|
44
|
+
export { Placeholder };
|
45
|
+
//# sourceMappingURL=Placeholder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Placeholder.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn, ColumnFiltersState } from '@tanstack/react-table';\nimport { Select2Value } from '../../../../../../Select2/Select2';\nimport { useLocalization } from '../../../../../../Provider/Localization';\nimport { Input } from '../../../../../../Input/Input';\nimport { IconButton } from '../../../../../../IconButton/IconButton';\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { guessComparatorsBasedOnControl } from './Filter';\n\nexport type PlaceholderFilterProps<TType = unknown> = {\n allColumns: RTColumn<TType, unknown>[];\n filters: ColumnFiltersState;\n position: number;\n onCreate?: (value: Select2Value) => void;\n onRemove?: () => void;\n};\n\nexport function Placeholder<TType = unknown>(props: PlaceholderFilterProps<TType>) {\n const { allColumns, filters, onCreate: handleCreate, onRemove: handleRemove, position } = props;\n const { texts } = useLocalization();\n\n return (\n <div className=\"flex gap-2\">\n <div className=\"flex 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={handleCreate} value={null} />\n <FilterComparator disabled validComparators={guessComparatorsBasedOnControl()} />\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 {handleRemove ? <IconButton appearance=\"discrete\" icon=\"close\" onClick={handleRemove} /> : null}\n </div>\n );\n}\n"],"names":["Placeholder","props","allColumns","filters","onCreate","handleCreate","onRemove","handleRemove","position","texts","useLocalization","React","className","table3","conditions","and","where","FilterColumn","onChange","value","FilterComparator","disabled","validComparators","guessComparatorsBasedOnControl","Input","emptyFilter","IconButton","appearance","icon","onClick"],"mappings":";;;;;;;;SAkBgBA,WAAW,CAAkBC,KAAoC;EAC7E,MAAM;IAAEC,UAAU;IAAEC,OAAO;IAAEC,QAAQ,EAAEC,YAAY;IAAEC,QAAQ,EAAEC,YAAY;IAAEC;GAAU,GAAGP,KAAK;EAC/F,MAAM;IAAEQ;GAAO,GAAGC,eAAe,EAAE;EAEnC,oBACIC;IAAKC,SAAS,EAAC;kBACXD;IAAKC,SAAS,EAAC;KACVJ,QAAQ,GAAG,CAAC,GAAGC,KAAK,CAACI,MAAM,CAACV,OAAO,CAACW,UAAU,CAACC,GAAG,GAAGN,KAAK,CAACI,MAAM,CAACV,OAAO,CAACW,UAAU,CAACE,KAAK,CACzF,eACNL,6BAACM,YAAY;IAACf,UAAU,EAAEA,UAAU;IAAEC,OAAO,EAAEA,OAAO;IAAEe,QAAQ,EAAEb,YAAY;IAAEc,KAAK,EAAE;IAAQ,eAC/FR,6BAACS,gBAAgB;IAACC,QAAQ;IAACC,gBAAgB,EAAEC,8BAA8B;IAAM,eACjFZ,6BAACa,KAAK;kBACUf,KAAK,CAACI,MAAM,CAACV,OAAO,CAACsB,WAAW,CAACN,KAAK;IAClDP,SAAS,EAAC,WAAW;IACrBS,QAAQ;IACRF,KAAK,EAAEV,KAAK,CAACI,MAAM,CAACV,OAAO,CAACsB,WAAW,CAACN;IAC1C,EACDZ,YAAY,gBAAGI,6BAACe,UAAU;IAACC,UAAU,EAAC,UAAU;IAACC,IAAI,EAAC,OAAO;IAACC,OAAO,EAAEtB;IAAgB,GAAG,IAAI,CAC7F;AAEd;;;;"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useLocalization } from '../../../Provider/Localization.js';
|
3
|
+
import { Menu } from '../../../Menu/Menu.js';
|
4
|
+
|
5
|
+
function FontSize(props) {
|
6
|
+
const {
|
7
|
+
texts
|
8
|
+
} = useLocalization();
|
9
|
+
const meta = props.table.options.meta;
|
10
|
+
const handleChange = value => meta.fontSize.setSize(value);
|
11
|
+
return /*#__PURE__*/React__default.createElement(Menu.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu.RadioGroup, {
|
12
|
+
onChange: handleChange,
|
13
|
+
value: meta.fontSize.size
|
14
|
+
}, /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
15
|
+
value: "small"
|
16
|
+
}, texts.table3.fontSize.sizes.small), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
17
|
+
value: "medium"
|
18
|
+
}, texts.table3.fontSize.sizes.medium), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
19
|
+
disabled: meta.rowHeight.height === 'short',
|
20
|
+
value: "large"
|
21
|
+
}, texts.table3.fontSize.sizes.large)));
|
22
|
+
}
|
23
|
+
|
24
|
+
export { FontSize };
|
25
|
+
//# sourceMappingURL=FontSize.js.map
|
@@ -0,0 +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 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=\"small\">{texts.table3.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table3.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={meta.rowHeight.height === 'short'} value=\"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","table3","sizes","small","medium","disabled","rowHeight","height","large"],"mappings":";;;;SAWgBA,QAAQ,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,EAAC;KAASN,KAAK,CAACgB,MAAM,CAACT,QAAQ,CAACU,KAAK,CAACC,KAAK,CAAwB,eAC9FT,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAC;KAAUN,KAAK,CAACgB,MAAM,CAACT,QAAQ,CAACU,KAAK,CAACE,MAAM,CAAwB,eAChGV,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACK,QAAQ,EAAElB,IAAI,CAACmB,SAAS,CAACC,MAAM,KAAK,OAAO;IAAEhB,KAAK,EAAC;KACpEN,KAAK,CAACgB,MAAM,CAACT,QAAQ,CAACU,KAAK,CAACM,KAAK,CACf,CACT,CACP;AAEvB;;;;"}
|
package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useGlobalKeyDown } from '../../../../../hooks/useGlobalKeyDown.js';
|
3
|
+
import { IconButton } from '../../../../IconButton/IconButton.js';
|
4
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
5
|
+
import { useToast } from '../../../../Toast/Toaster.js';
|
6
|
+
import { _catch } from '../../../../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
7
|
+
import { PrintIFrame } from './PrintIFrame.js';
|
8
|
+
|
9
|
+
function PrintButton(props) {
|
10
|
+
const {
|
11
|
+
table,
|
12
|
+
tableProps
|
13
|
+
} = props;
|
14
|
+
const {
|
15
|
+
texts
|
16
|
+
} = useLocalization();
|
17
|
+
const toast = useToast();
|
18
|
+
const [isPrinting, setIsPrinting] = React__default.useState(false);
|
19
|
+
const loadingToastRef = React__default.useRef(null);
|
20
|
+
const buttonRef = React__default.useRef(null);
|
21
|
+
const tableMeta = table.options.meta;
|
22
|
+
const state = table.getState();
|
23
|
+
const settings = React__default.useMemo(() => ({
|
24
|
+
columnFilters: state.columnFilters,
|
25
|
+
columnOrder: state.columnOrder,
|
26
|
+
columnPinning: state.columnPinning,
|
27
|
+
columnSizing: state.columnSizing,
|
28
|
+
columnVisibility: state.columnVisibility,
|
29
|
+
sorting: state.sorting,
|
30
|
+
rowHeight: tableMeta.rowHeight.height,
|
31
|
+
columnFreezingIndex: tableMeta.columnFreezing.frozenColumnIndex
|
32
|
+
}), [state.columnFilters, state.columnOrder, state.columnPinning, state.columnSizing, state.columnVisibility, state.sorting, tableMeta.rowHeight.height, tableMeta.columnFreezing.frozenColumnIndex]);
|
33
|
+
const iframeTableProps = {
|
34
|
+
...tableProps,
|
35
|
+
data: tableProps.data,
|
36
|
+
defaultSettings: settings
|
37
|
+
};
|
38
|
+
useGlobalKeyDown({
|
39
|
+
key: 'p',
|
40
|
+
meta: true,
|
41
|
+
shift: false
|
42
|
+
}, event => {
|
43
|
+
var _buttonRef$current;
|
44
|
+
event.preventDefault();
|
45
|
+
// Starts custom printing
|
46
|
+
(_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.click();
|
47
|
+
});
|
48
|
+
const handleAfterPrint = () => {
|
49
|
+
var _loadingToastRef$curr;
|
50
|
+
setIsPrinting(false);
|
51
|
+
(_loadingToastRef$curr = loadingToastRef.current) === null || _loadingToastRef$curr === void 0 ? void 0 : _loadingToastRef$curr.close();
|
52
|
+
};
|
53
|
+
const handleBeforePrint = () => {
|
54
|
+
var _loadingToastRef$curr2;
|
55
|
+
(_loadingToastRef$curr2 = loadingToastRef.current) === null || _loadingToastRef$curr2 === void 0 ? void 0 : _loadingToastRef$curr2.close();
|
56
|
+
};
|
57
|
+
const handlePrint = function () {
|
58
|
+
try {
|
59
|
+
loadingToastRef.current = toast.loading(texts.table3.print.loading);
|
60
|
+
// if loadAll is not defined, just print with what we've got
|
61
|
+
// don't compare length to data.length because the api might be choosing not to return all for performance
|
62
|
+
return Promise.resolve(function () {
|
63
|
+
if (!tableMeta.printing.loadAll) {
|
64
|
+
setIsPrinting(true);
|
65
|
+
} else {
|
66
|
+
const _temp = _catch(function () {
|
67
|
+
return Promise.resolve(tableMeta.printing.loadAll(table.getState().sorting, table.getState().columnFilters, tableMeta.search.query)).then(function () {
|
68
|
+
// only set printing (mount the iframe) when the data has loaded, it prevents repaint performance slow downs
|
69
|
+
setIsPrinting(true);
|
70
|
+
});
|
71
|
+
}, function (error) {
|
72
|
+
var _loadingToastRef$curr3;
|
73
|
+
const errorMessage = `${texts.table3.print.error}: ${error}`;
|
74
|
+
console.error(errorMessage);
|
75
|
+
(_loadingToastRef$curr3 = loadingToastRef.current) === null || _loadingToastRef$curr3 === void 0 ? void 0 : _loadingToastRef$curr3.error(errorMessage);
|
76
|
+
});
|
77
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
78
|
+
}
|
79
|
+
}());
|
80
|
+
} catch (e) {
|
81
|
+
return Promise.reject(e);
|
82
|
+
}
|
83
|
+
};
|
84
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IconButton, {
|
85
|
+
disabled: isPrinting,
|
86
|
+
icon: "print",
|
87
|
+
onClick: handlePrint,
|
88
|
+
"aria-label": texts.table3.print.tooltip,
|
89
|
+
tooltip: texts.table3.print.tooltip,
|
90
|
+
ref: buttonRef
|
91
|
+
}), isPrinting && iframeTableProps.data !== null && /*#__PURE__*/React__default.createElement(PrintIFrame, {
|
92
|
+
onAfterPrint: handleAfterPrint,
|
93
|
+
onBeforePrint: handleBeforePrint,
|
94
|
+
tableProps: iframeTableProps
|
95
|
+
}));
|
96
|
+
}
|
97
|
+
|
98
|
+
export { PrintButton };
|
99
|
+
//# sourceMappingURL=PrintButton.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PrintButton.js","sources":["../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/PrintButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { ToastReference, useToast } from '../../../../Toast/Toaster';\nimport { PrintIFrame } from './PrintIFrame';\nimport { Table3Props } from '../../../types';\nimport { useGlobalKeyDown } from '../../../../../hooks/useGlobalKeyDown';\n\nexport type PrintButtonProps<TType = unknown> = React.HTMLAttributes<HTMLButtonElement> & {\n table: RTable<TType>;\n tableProps: Table3Props<TType>;\n};\n\nexport function PrintButton<TType = unknown>(props: PrintButtonProps<TType>) {\n const { table, tableProps } = props;\n const { texts } = useLocalization();\n const toast = useToast();\n\n const [isPrinting, setIsPrinting] = React.useState(false);\n const loadingToastRef = React.useRef<ToastReference | null>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n const settings = React.useMemo(\n () => ({\n columnFilters: state.columnFilters,\n columnOrder: state.columnOrder,\n columnPinning: state.columnPinning,\n columnSizing: state.columnSizing,\n columnVisibility: state.columnVisibility,\n sorting: state.sorting,\n rowHeight: tableMeta.rowHeight.height,\n columnFreezingIndex: tableMeta.columnFreezing.frozenColumnIndex,\n }),\n [\n state.columnFilters,\n state.columnOrder,\n state.columnPinning,\n state.columnSizing,\n state.columnVisibility,\n state.sorting,\n tableMeta.rowHeight.height,\n tableMeta.columnFreezing.frozenColumnIndex,\n ]\n );\n const iframeTableProps = { ...tableProps, data: tableProps.data, defaultSettings: settings };\n\n useGlobalKeyDown({ key: 'p', meta: true, shift: false }, (event: KeyboardEvent) => {\n event.preventDefault();\n // Starts custom printing\n buttonRef.current?.click();\n });\n\n const handleAfterPrint = () => {\n setIsPrinting(false);\n loadingToastRef.current?.close();\n };\n\n const handleBeforePrint = () => {\n loadingToastRef.current?.close();\n };\n\n const handlePrint = async () => {\n loadingToastRef.current = toast.loading(texts.table3.print.loading as any);\n\n // if loadAll is not defined, just print with what we've got\n // don't compare length to data.length because the api might be choosing not to return all for performance\n if (!tableMeta.printing.loadAll) {\n setIsPrinting(true);\n return;\n } else {\n try {\n await tableMeta.printing.loadAll(\n table.getState().sorting,\n table.getState().columnFilters,\n tableMeta.search.query\n );\n\n // only set printing (mount the iframe) when the data has loaded, it prevents repaint performance slow downs\n setIsPrinting(true);\n } catch (error) {\n const errorMessage = `${texts.table3.print.error}: ${error}`;\n\n console.error(errorMessage);\n loadingToastRef.current?.error(errorMessage);\n }\n }\n };\n\n return (\n <>\n <IconButton\n disabled={isPrinting}\n icon=\"print\"\n onClick={handlePrint}\n aria-label={texts.table3.print.tooltip}\n tooltip={texts.table3.print.tooltip}\n ref={buttonRef}\n />\n {isPrinting && iframeTableProps.data !== null && (\n <PrintIFrame\n onAfterPrint={handleAfterPrint}\n onBeforePrint={handleBeforePrint}\n tableProps={iframeTableProps as Table3Props<TType>}\n />\n )}\n </>\n );\n}\n"],"names":["PrintButton","props","table","tableProps","texts","useLocalization","toast","useToast","isPrinting","setIsPrinting","React","useState","loadingToastRef","useRef","buttonRef","tableMeta","options","meta","state","getState","settings","useMemo","columnFilters","columnOrder","columnPinning","columnSizing","columnVisibility","sorting","rowHeight","height","columnFreezingIndex","columnFreezing","frozenColumnIndex","iframeTableProps","data","defaultSettings","useGlobalKeyDown","key","shift","event","preventDefault","current","click","handleAfterPrint","close","handleBeforePrint","handlePrint","loading","table3","print","printing","loadAll","search","query","error","errorMessage","console","IconButton","disabled","icon","onClick","tooltip","ref","PrintIFrame","onAfterPrint","onBeforePrint"],"mappings":"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"}
|
package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js
ADDED
@@ -0,0 +1,224 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import '../../../../Icon/components/index.js';
|
3
|
+
import '../../../../Icon/Icon.js';
|
4
|
+
import '../../../../BadgeIcon/BadgeIcon.js';
|
5
|
+
import '../../../../Alert/Alert.js';
|
6
|
+
import '../../../../../utils/mergeRefs.js';
|
7
|
+
import '../../../../Backdrop/Backdrop.js';
|
8
|
+
import '../../../../AlertDialog/AlertDialog.js';
|
9
|
+
import '../../../../Accordion/Accordion.js';
|
10
|
+
import '../../../../VisuallyHidden/VisuallyHidden.js';
|
11
|
+
import '../../../../Badge/Badge.js';
|
12
|
+
import '../../../../../hooks/useMergedRef.js';
|
13
|
+
import '../../../../../utils/keyboard.js';
|
14
|
+
import '../../../../Tooltip/Tooltip.js';
|
15
|
+
import '../../../../IconButton/IconButton.js';
|
16
|
+
import '../../../../Provider/Localization.js';
|
17
|
+
import '../../../../Banner/Banner.js';
|
18
|
+
import '../../../../Button/Button.js';
|
19
|
+
import '../../../../Calendar/Calendar.js';
|
20
|
+
import '../../../../Card/Card.js';
|
21
|
+
import '../../../../Checkbox/Checkbox.js';
|
22
|
+
import '../../../../../hooks/useBoundingClientRectListener.js';
|
23
|
+
import '../../../../Input/Input.js';
|
24
|
+
import '../../../../../utils/hooks/useListKeyboardNavigation.js';
|
25
|
+
import '../../../../../utils/hooks/useListScrollTo.js';
|
26
|
+
import '../../../../Spinner/Spinner.js';
|
27
|
+
import '../../../../Combobox/Combobox.js';
|
28
|
+
import '../../../../../utils/date.js';
|
29
|
+
import '../../../../Popover/Popover.js';
|
30
|
+
import '../../../../Datepicker/Datepicker.js';
|
31
|
+
import '../../../../Dialog/Dialog.js';
|
32
|
+
import '../../../../Group/Group.js';
|
33
|
+
import '../../../../Drawer/Drawer.js';
|
34
|
+
import '../../../../Field/Field.js';
|
35
|
+
import '../../../../Form/Form.js';
|
36
|
+
import '../../../../Hanger/Hanger.js';
|
37
|
+
import '../../../../HoverCard/HoverCard.js';
|
38
|
+
import '../../../../Listbox/Listbox.js';
|
39
|
+
import '../../../../Shortcut/Shortcut.js';
|
40
|
+
import '../../../../RadioGroup/RadioGroup.js';
|
41
|
+
import '../../../../Menu/Menu.js';
|
42
|
+
import '../../../../Treeview/Treeview.js';
|
43
|
+
import '../../../../../utils/hooks/useDropTarget.js';
|
44
|
+
import '../../../../Navigation/Navigation.js';
|
45
|
+
import '../../../../../hooks/useIntersectionObserver.js';
|
46
|
+
import '../../../../OverflowGroup/OverflowGroup.js';
|
47
|
+
import '../../../../Select/Select.js';
|
48
|
+
import '../../../../Pagination/usePagination.js';
|
49
|
+
import '../../../../Pagination/Pagination.js';
|
50
|
+
import '../../../../Progress/Progress.js';
|
51
|
+
import '../../../../Toast/Toaster.js';
|
52
|
+
import '../../../../Provider/Provider.js';
|
53
|
+
import '../../../../SearchInput/SearchInput.js';
|
54
|
+
import '../../../../SearchInput2/SearchInput2.js';
|
55
|
+
import '../../../../../primitives/Collection/Collection.js';
|
56
|
+
import '../../../../Tag/Tag.js';
|
57
|
+
import '../../../../Select2/Select2.js';
|
58
|
+
import '../../../../Switch/Switch.js';
|
59
|
+
import '../../../../Table/components/Table.js';
|
60
|
+
import '../../../../Table/components/PaginatedTable.js';
|
61
|
+
import '../../../../Table/components/WindowedTable.js';
|
62
|
+
import '../../../../Table/util/rowIndexPath.js';
|
63
|
+
import '../../../../Table/hooks/useRowCreation.js';
|
64
|
+
import ReactDOM from 'react-dom';
|
65
|
+
import '../../../../../hooks/useBoundaryOverflowDetection.js';
|
66
|
+
import '../../../../Table2/Table2.js';
|
67
|
+
import '../../../../../hooks/useLazyEffect.js';
|
68
|
+
import { useParentStylesheets } from './hooks/useParentStylesheets.js';
|
69
|
+
import '../../../hooks/useTableData.js';
|
70
|
+
import { Table3 } from '../../../Table3.js';
|
71
|
+
import '../../../../Tabs/Tabs.js';
|
72
|
+
import '../../../../Textarea/Textarea.js';
|
73
|
+
import '../../../../Tour/Tour.js';
|
74
|
+
import '../../../../../hooks/useMatchMedia.js';
|
75
|
+
import '../../../../Header/Header.js';
|
76
|
+
import '../../../../../hooks/useIsLargeScreen.js';
|
77
|
+
import '../../../../Layout/Layout.js';
|
78
|
+
import '../../../../Navigation2/components/Link.js';
|
79
|
+
import '../../../../Navigation2/Navigation2.js';
|
80
|
+
import '../../../../../utils/hooks/useOnClickOutside.js';
|
81
|
+
|
82
|
+
function PrintIFrame({
|
83
|
+
onAfterPrint,
|
84
|
+
onBeforePrint,
|
85
|
+
tableProps
|
86
|
+
}) {
|
87
|
+
const [contentRef, setContentRef] = React__default.useState(null);
|
88
|
+
const [mountNode, setMountNode] = React__default.useState(null);
|
89
|
+
const iframeWindow = contentRef === null || contentRef === void 0 ? void 0 : contentRef.contentWindow;
|
90
|
+
const stylesReady = useParentStylesheets(iframeWindow);
|
91
|
+
// Adds print events to the iframe window.
|
92
|
+
React__default.useEffect(() => {
|
93
|
+
if (iframeWindow === null || iframeWindow === undefined) {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
// Add print events to the window
|
97
|
+
if (onAfterPrint) {
|
98
|
+
iframeWindow.addEventListener('afterprint', onAfterPrint);
|
99
|
+
}
|
100
|
+
if (onBeforePrint) {
|
101
|
+
iframeWindow.addEventListener('beforeprint', onBeforePrint);
|
102
|
+
}
|
103
|
+
return () => {
|
104
|
+
// Remove print events from the window
|
105
|
+
if (onAfterPrint) {
|
106
|
+
iframeWindow.removeEventListener('afterprint', onAfterPrint);
|
107
|
+
}
|
108
|
+
if (onBeforePrint) {
|
109
|
+
iframeWindow.removeEventListener('beforeprint', onBeforePrint);
|
110
|
+
}
|
111
|
+
};
|
112
|
+
}, [iframeWindow]);
|
113
|
+
// Calls print method when table has loaded in the iframe.
|
114
|
+
React__default.useEffect(() => {
|
115
|
+
let intervalId;
|
116
|
+
let timeoutId;
|
117
|
+
// Invoke the print functionality on the window once the table has finished rendering and all print styles are
|
118
|
+
// added.
|
119
|
+
if (mountNode && stylesReady) {
|
120
|
+
intervalId = setInterval(function () {
|
121
|
+
try {
|
122
|
+
const tableWrapper = mountNode;
|
123
|
+
const hasTableRendered = !!tableWrapper.querySelector('[role="table"]');
|
124
|
+
if (hasTableRendered && intervalId) {
|
125
|
+
var _contentRef$contentWi;
|
126
|
+
clearInterval(intervalId);
|
127
|
+
// Calling the onBeforePrint method here as a fallback because certain browsers, like Safari,
|
128
|
+
// do not call the beforeprint event.
|
129
|
+
// Bug - Even though onBeforePrint is called before printing, the execution doesn't finish before
|
130
|
+
// the print dialog shows up, which results into having a visible loading toast.
|
131
|
+
onBeforePrint === null || onBeforePrint === void 0 ? void 0 : onBeforePrint();
|
132
|
+
contentRef === null || contentRef === void 0 ? void 0 : (_contentRef$contentWi = contentRef.contentWindow) === null || _contentRef$contentWi === void 0 ? void 0 : _contentRef$contentWi.print();
|
133
|
+
// Calling the onAfterPrint method here as a fallback to do the cleanup, as certain browsers,
|
134
|
+
// like Safari, do not trigger the beforeprint or afterprint events when a confirmation dialog
|
135
|
+
// asking if the user wants to print the document, is cancelled.
|
136
|
+
// Added a setTimeout to prevent calling onAfterPrint immediately after the print function
|
137
|
+
// to ensure that the print dialog doesn't close abruptly. Although this behavior is uncommon,
|
138
|
+
// there are cases where the print function may not run synchronously, causing onAfterPrint to be
|
139
|
+
// invoked right after it.
|
140
|
+
timeoutId = setTimeout(() => {
|
141
|
+
onAfterPrint === null || onAfterPrint === void 0 ? void 0 : onAfterPrint();
|
142
|
+
}, 0);
|
143
|
+
}
|
144
|
+
return Promise.resolve();
|
145
|
+
} catch (e) {
|
146
|
+
return Promise.reject(e);
|
147
|
+
}
|
148
|
+
}, 1000);
|
149
|
+
}
|
150
|
+
return () => {
|
151
|
+
clearInterval(intervalId);
|
152
|
+
clearTimeout(timeoutId);
|
153
|
+
};
|
154
|
+
}, [mountNode, stylesReady]);
|
155
|
+
React__default.useEffect(() => {
|
156
|
+
var _iframeWindow$parent$, _iframeWindow$parent$2;
|
157
|
+
if (!iframeWindow || !stylesReady) {
|
158
|
+
return;
|
159
|
+
}
|
160
|
+
const iframeDocument = iframeWindow.document;
|
161
|
+
// Only the content inside the main element will get printed along with the table.
|
162
|
+
const parentDocumentContent = ((_iframeWindow$parent$ = iframeWindow.parent.document.querySelector('main')) === null || _iframeWindow$parent$ === void 0 ? void 0 : _iframeWindow$parent$.innerHTML) || ((_iframeWindow$parent$2 = iframeWindow.parent.document.body) === null || _iframeWindow$parent$2 === void 0 ? void 0 : _iframeWindow$parent$2.innerHTML) || '';
|
163
|
+
iframeDocument.body.innerHTML = parentDocumentContent;
|
164
|
+
const tableElement = iframeDocument.querySelector('[role="table"]');
|
165
|
+
const tableColumnFreezingStyles = iframeDocument.querySelector('[data-taco="table3-column-freezing-styles"]');
|
166
|
+
const tableWrapper = iframeDocument.createElement('div');
|
167
|
+
tableWrapper.setAttribute('data-role', 'table-wrapper');
|
168
|
+
// Adding h-fit class makes sure that table is rendered with the whole content.
|
169
|
+
tableWrapper.classList.add('h-fit');
|
170
|
+
// Safari print preview assigns no width to the table when w-screen class is used.
|
171
|
+
// By assigning table a big static width and hiding the horizontal scrollbar, the table on chrome
|
172
|
+
// and safari will always take full page width.
|
173
|
+
tableWrapper.classList.add('w-[10000px]');
|
174
|
+
if (tableElement) {
|
175
|
+
var _tableElement$parentN;
|
176
|
+
(_tableElement$parentN = tableElement.parentNode) === null || _tableElement$parentN === void 0 ? void 0 : _tableElement$parentN.insertBefore(tableWrapper, tableElement);
|
177
|
+
tableElement.remove();
|
178
|
+
} else {
|
179
|
+
iframeDocument.body.append(tableWrapper);
|
180
|
+
}
|
181
|
+
// Remove the already existing column freezing styles.
|
182
|
+
if (tableColumnFreezingStyles) {
|
183
|
+
tableColumnFreezingStyles.remove();
|
184
|
+
}
|
185
|
+
let currentNode = tableWrapper.parentNode;
|
186
|
+
while (currentNode !== null && currentNode !== iframeDocument.body) {
|
187
|
+
var _currentNode;
|
188
|
+
// Add the 'h-fit' class to the 'table-wrapper' element's parent chain.
|
189
|
+
// This ensures that the table is not cropped and fits within its container.
|
190
|
+
(_currentNode = currentNode) === null || _currentNode === void 0 ? void 0 : _currentNode.classList.add('!h-fit');
|
191
|
+
currentNode = currentNode.parentNode;
|
192
|
+
}
|
193
|
+
setMountNode(tableWrapper);
|
194
|
+
}, [iframeWindow, stylesReady]);
|
195
|
+
const printTableProps = {
|
196
|
+
...tableProps,
|
197
|
+
actionsForRow: undefined,
|
198
|
+
// Not the best way to remove the active/current row styles, but a temporary solution for now
|
199
|
+
defaultCurrentRowIndex: -1,
|
200
|
+
defaultSettings: {
|
201
|
+
...(tableProps === null || tableProps === void 0 ? void 0 : tableProps.defaultSettings),
|
202
|
+
rowHeight: 'short'
|
203
|
+
},
|
204
|
+
enableColumnFreezing: false,
|
205
|
+
enableRowHeight: true,
|
206
|
+
enableRowSelection: false,
|
207
|
+
enableEditing: false,
|
208
|
+
enablePrinting: false,
|
209
|
+
enableRowDrag: false,
|
210
|
+
enableRowDrop: false,
|
211
|
+
enableRowSelectionSingle: false,
|
212
|
+
preset: undefined
|
213
|
+
};
|
214
|
+
// -top-60 -left-60 styles make sure that iframe is added outside of the viewport
|
215
|
+
return /*#__PURE__*/React__default.createElement("iframe", {
|
216
|
+
ref: setContentRef,
|
217
|
+
className: "fixed -left-60 -top-60 !h-0 !w-0",
|
218
|
+
frameBorder: "0",
|
219
|
+
scrolling: "no"
|
220
|
+
}, mountNode && stylesReady ? /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement(Table3, Object.assign({}, printTableProps)), mountNode) : null);
|
221
|
+
}
|
222
|
+
|
223
|
+
export { PrintIFrame };
|
224
|
+
//# sourceMappingURL=PrintIFrame.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PrintIFrame.js","sources":["../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/PrintIFrame.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Table3 } from '../../../../..';\nimport { Table3Props } from '../../../types';\nimport { useParentStylesheets } from './hooks/useParentStylesheets';\n\nexport type PrintIFrameProps<TType = unknown> = {\n onAfterPrint?: () => void;\n onBeforePrint?: () => void;\n tableProps: Table3Props<TType>;\n};\n\nexport function PrintIFrame<TType = unknown>({ onAfterPrint, onBeforePrint, tableProps }: PrintIFrameProps<TType>) {\n const [contentRef, setContentRef] = React.useState<HTMLIFrameElement | null>(null);\n const [mountNode, setMountNode] = React.useState<HTMLElement | null>(null);\n\n const iframeWindow = contentRef?.contentWindow;\n\n const stylesReady = useParentStylesheets(iframeWindow);\n\n // Adds print events to the iframe window.\n React.useEffect(() => {\n if (iframeWindow === null || iframeWindow === undefined) {\n return;\n }\n\n // Add print events to the window\n if (onAfterPrint) {\n iframeWindow.addEventListener('afterprint', onAfterPrint);\n }\n\n if (onBeforePrint) {\n iframeWindow.addEventListener('beforeprint', onBeforePrint);\n }\n\n return () => {\n // Remove print events from the window\n if (onAfterPrint) {\n iframeWindow.removeEventListener('afterprint', onAfterPrint);\n }\n\n if (onBeforePrint) {\n iframeWindow.removeEventListener('beforeprint', onBeforePrint);\n }\n };\n }, [iframeWindow]);\n\n // Calls print method when table has loaded in the iframe.\n React.useEffect(() => {\n let intervalId: NodeJS.Timer;\n let timeoutId: NodeJS.Timer;\n\n // Invoke the print functionality on the window once the table has finished rendering and all print styles are\n // added.\n if (mountNode && stylesReady) {\n intervalId = setInterval(async () => {\n const tableWrapper = mountNode;\n const hasTableRendered = !!tableWrapper.querySelector('[role=\"table\"]');\n\n if (hasTableRendered && intervalId) {\n clearInterval(intervalId);\n\n // Calling the onBeforePrint method here as a fallback because certain browsers, like Safari,\n // do not call the beforeprint event.\n // Bug - Even though onBeforePrint is called before printing, the execution doesn't finish before\n // the print dialog shows up, which results into having a visible loading toast.\n onBeforePrint?.();\n\n contentRef?.contentWindow?.print();\n\n // Calling the onAfterPrint method here as a fallback to do the cleanup, as certain browsers,\n // like Safari, do not trigger the beforeprint or afterprint events when a confirmation dialog\n // asking if the user wants to print the document, is cancelled.\n\n // Added a setTimeout to prevent calling onAfterPrint immediately after the print function\n // to ensure that the print dialog doesn't close abruptly. Although this behavior is uncommon,\n // there are cases where the print function may not run synchronously, causing onAfterPrint to be\n // invoked right after it.\n timeoutId = setTimeout(() => {\n onAfterPrint?.();\n }, 0);\n }\n }, 1000);\n }\n\n return () => {\n clearInterval(intervalId);\n clearTimeout(timeoutId);\n };\n }, [mountNode, stylesReady]);\n\n React.useEffect(() => {\n if (!iframeWindow || !stylesReady) {\n return;\n }\n\n const iframeDocument = iframeWindow.document;\n // Only the content inside the main element will get printed along with the table.\n const parentDocumentContent =\n iframeWindow.parent.document.querySelector('main')?.innerHTML || iframeWindow.parent.document.body?.innerHTML || '';\n\n iframeDocument.body.innerHTML = parentDocumentContent;\n\n const tableElement = iframeDocument.querySelector('[role=\"table\"]');\n const tableColumnFreezingStyles = iframeDocument.querySelector('[data-taco=\"table3-column-freezing-styles\"]');\n const tableWrapper = iframeDocument.createElement('div');\n\n tableWrapper.setAttribute('data-role', 'table-wrapper');\n // Adding h-fit class makes sure that table is rendered with the whole content.\n tableWrapper.classList.add('h-fit');\n // Safari print preview assigns no width to the table when w-screen class is used.\n // By assigning table a big static width and hiding the horizontal scrollbar, the table on chrome\n // and safari will always take full page width.\n tableWrapper.classList.add('w-[10000px]');\n\n if (tableElement) {\n tableElement.parentNode?.insertBefore(tableWrapper, tableElement);\n tableElement.remove();\n } else {\n iframeDocument.body.append(tableWrapper);\n }\n\n // Remove the already existing column freezing styles.\n if (tableColumnFreezingStyles) {\n tableColumnFreezingStyles.remove();\n }\n\n let currentNode = tableWrapper.parentNode as HTMLElement | null;\n\n while (currentNode !== null && currentNode !== iframeDocument.body) {\n // Add the 'h-fit' class to the 'table-wrapper' element's parent chain.\n // This ensures that the table is not cropped and fits within its container.\n currentNode?.classList.add('!h-fit');\n currentNode = currentNode.parentNode as HTMLElement | null;\n }\n\n setMountNode(tableWrapper);\n }, [iframeWindow, stylesReady]);\n\n const printTableProps: Table3Props<TType> = {\n ...tableProps,\n actionsForRow: undefined,\n // Not the best way to remove the active/current row styles, but a temporary solution for now\n defaultCurrentRowIndex: -1,\n defaultSettings: {\n ...tableProps?.defaultSettings,\n rowHeight: 'short',\n },\n enableColumnFreezing: false,\n enableRowHeight: true,\n enableRowSelection: false,\n enableEditing: false,\n enablePrinting: false,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowSelectionSingle: false,\n preset: undefined,\n };\n\n // -top-60 -left-60 styles make sure that iframe is added outside of the viewport\n return (\n <iframe ref={setContentRef} className=\"fixed -left-60 -top-60 !h-0 !w-0\" frameBorder=\"0\" scrolling=\"no\">\n {mountNode && stylesReady ? ReactDOM.createPortal(<Table3 {...printTableProps} />, mountNode) : null}\n </iframe>\n );\n}\n"],"names":["PrintIFrame","onAfterPrint","onBeforePrint","tableProps","contentRef","setContentRef","React","useState","mountNode","setMountNode","iframeWindow","contentWindow","stylesReady","useParentStylesheets","useEffect","undefined","addEventListener","removeEventListener","intervalId","timeoutId","setInterval","tableWrapper","hasTableRendered","querySelector","clearInterval","print","setTimeout","clearTimeout","iframeDocument","document","parentDocumentContent","parent","innerHTML","body","tableElement","tableColumnFreezingStyles","createElement","setAttribute","classList","add","parentNode","insertBefore","remove","append","currentNode","printTableProps","actionsForRow","defaultCurrentRowIndex","defaultSettings","rowHeight","enableColumnFreezing","enableRowHeight","enableRowSelection","enableEditing","enablePrinting","enableRowDrag","enableRowDrop","enableRowSelectionSingle","preset","ref","className","frameBorder","scrolling","ReactDOM","createPortal","Table3"],"mappings":"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"}
|