@economic/taco 1.41.0 → 2.0.0-alpha.173
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 +55 -20
- 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/Table3/Table3.d.ts +11 -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/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/{Table2/components/ColumnSettingsButton.d.ts → Table3/components/toolbar/ColumnSettings.d.ts} +1 -1
- 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 +311 -0
- package/dist/components/Table3/util/columns.d.ts +7 -0
- package/dist/components/{Table2/components/column/utils.d.ts → Table3/util/editing.d.ts} +2 -1
- 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 +56 -21
- 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/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 +128 -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 +283 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.js +14 -13
- 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 +223 -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/{Table2/hooks/useTableShortcuts.js → Table3/hooks/listeners/useShortcutsListener.js} +9 -6
- 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/{Table2/components/column/utils.js → Table3/util/editing.js} +7 -5
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/{Table2/utilities/filterFn.js → Table3/util/filtering.js} +19 -17
- 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 +6 -3
- 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/dom.js +1 -2
- package/dist/esm/packages/taco/src/utils/dom.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 -1
- package/dist/taco.cjs.development.js +4628 -3358
- 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 +1866 -1412
- package/dist/components/Table2/Table2.d.ts +0 -130
- package/dist/components/Table2/components/BatchActionsMenu.d.ts +0 -10
- package/dist/components/Table2/components/EditModeButton.d.ts +0 -8
- package/dist/components/Table2/components/RowDensityButton.d.ts +0 -7
- package/dist/components/Table2/components/Search.d.ts +0 -3
- package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +0 -7
- package/dist/components/Table2/components/column/Base.d.ts +0 -14
- package/dist/components/Table2/components/column/Cell.d.ts +0 -15
- package/dist/components/Table2/components/column/Footer.d.ts +0 -9
- package/dist/components/Table2/components/column/Header.d.ts +0 -11
- package/dist/components/Table2/components/column/ValidationError.d.ts +0 -5
- package/dist/components/Table2/components/filters/FiltersButton.d.ts +0 -7
- package/dist/components/Table2/components/filters/components/Column.d.ts +0 -11
- package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +0 -10
- package/dist/components/Table2/components/filters/components/Comparator.d.ts +0 -11
- package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +0 -13
- package/dist/components/Table2/components/filters/components/InferredControl.d.ts +0 -10
- package/dist/components/Table2/components/row/Context.d.ts +0 -24
- package/dist/components/Table2/components/row/ExpandedRow.d.ts +0 -6
- package/dist/components/Table2/components/row/Row.d.ts +0 -2
- package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useFilterStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/useActiveCell.d.ts +0 -26
- package/dist/components/Table2/hooks/useActiveRow.d.ts +0 -10
- package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +0 -37
- package/dist/components/Table2/hooks/useEditMode.d.ts +0 -28
- package/dist/components/Table2/hooks/useGridTemplate.d.ts +0 -2
- package/dist/components/Table2/hooks/useTable.d.ts +0 -46
- package/dist/components/Table2/hooks/useTableShortcuts.d.ts +0 -2
- package/dist/components/Table2/hooks/useVirtualiser.d.ts +0 -23
- package/dist/components/Table2/types.d.ts +0 -148
- package/dist/components/Table2/utilities/cell.d.ts +0 -14
- package/dist/components/Table2/utilities/columns.d.ts +0 -16
- package/dist/components/Table2/utilities/filterFn.d.ts +0 -3
- 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/esm/packages/taco/src/components/Table2/Table2.js +0 -422
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +0 -83
- package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +0 -116
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +0 -81
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +0 -35
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js +0 -62
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +0 -32
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +0 -600
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +0 -32
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +0 -243
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +0 -30
- package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +0 -155
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +0 -31
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +0 -129
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +0 -68
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +0 -63
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +0 -99
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +0 -58
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +0 -36
- package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +0 -43
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +0 -19
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +0 -28
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js +0 -12
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +0 -18
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +0 -25
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +0 -33
- package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +0 -122
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +0 -112
- package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +0 -34
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +0 -222
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +0 -48
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/types.js +0 -18
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +0 -41
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +0 -387
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +0 -32
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +0 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +0 -20
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.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
- /package/dist/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.d.ts +0 -0
@@ -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":";;;;;;;;SAcgBA,WAAW,CAAkBC,KAA8B;EACvE,MAAM;IAAEC,KAAK;IAAEC;GAAY,GAAGF,KAAK;EACnC,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,KAAK,GAAGC,QAAQ,EAAE;EAExB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAMC,eAAe,GAAGF,cAAK,CAACG,MAAM,CAAwB,IAAI,CAAC;EACjE,MAAMC,SAAS,GAAGJ,cAAK,CAACG,MAAM,CAAoB,IAAI,CAAC;EAEvD,MAAME,SAAS,GAAGb,KAAK,CAACc,OAAO,CAACC,IAAwB;EACxD,MAAMC,KAAK,GAAGhB,KAAK,CAACiB,QAAQ,EAAE;EAE9B,MAAMC,QAAQ,GAAGV,cAAK,CAACW,OAAO,CAC1B,OAAO;IACHC,aAAa,EAAEJ,KAAK,CAACI,aAAa;IAClCC,WAAW,EAAEL,KAAK,CAACK,WAAW;IAC9BC,aAAa,EAAEN,KAAK,CAACM,aAAa;IAClCC,YAAY,EAAEP,KAAK,CAACO,YAAY;IAChCC,gBAAgB,EAAER,KAAK,CAACQ,gBAAgB;IACxCC,OAAO,EAAET,KAAK,CAACS,OAAO;IACtBC,SAAS,EAAEb,SAAS,CAACa,SAAS,CAACC,MAAM;IACrCC,mBAAmB,EAAEf,SAAS,CAACgB,cAAc,CAACC;GACjD,CAAC,EACF,CACId,KAAK,CAACI,aAAa,EACnBJ,KAAK,CAACK,WAAW,EACjBL,KAAK,CAACM,aAAa,EACnBN,KAAK,CAACO,YAAY,EAClBP,KAAK,CAACQ,gBAAgB,EACtBR,KAAK,CAACS,OAAO,EACbZ,SAAS,CAACa,SAAS,CAACC,MAAM,EAC1Bd,SAAS,CAACgB,cAAc,CAACC,iBAAiB,CAC7C,CACJ;EACD,MAAMC,gBAAgB,GAAG;IAAE,GAAG9B,UAAU;IAAE+B,IAAI,EAAE/B,UAAU,CAAC+B,IAAI;IAAEC,eAAe,EAAEf;GAAU;EAE5FgB,gBAAgB,CAAC;IAAEC,GAAG,EAAE,GAAG;IAAEpB,IAAI,EAAE,IAAI;IAAEqB,KAAK,EAAE;GAAO,EAAGC,KAAoB;;IAC1EA,KAAK,CAACC,cAAc,EAAE;;IAEtB,sBAAA1B,SAAS,CAAC2B,OAAO,uDAAjB,mBAAmBC,KAAK,EAAE;GAC7B,CAAC;EAEF,MAAMC,gBAAgB,GAAG;;IACrBlC,aAAa,CAAC,KAAK,CAAC;IACpB,yBAAAG,eAAe,CAAC6B,OAAO,0DAAvB,sBAAyBG,KAAK,EAAE;GACnC;EAED,MAAMC,iBAAiB,GAAG;;IACtB,0BAAAjC,eAAe,CAAC6B,OAAO,2DAAvB,uBAAyBG,KAAK,EAAE;GACnC;EAED,MAAME,WAAW;IAAA;MACblC,eAAe,CAAC6B,OAAO,GAAGnC,KAAK,CAACyC,OAAO,CAAC3C,KAAK,CAAC4C,MAAM,CAACC,KAAK,CAACF,OAAc,CAAC;;;MAG1E;QAAA,IACI,CAAChC,SAAS,CAACmC,QAAQ,CAACC,OAAO;UAC3B1C,aAAa,CAAC,IAAI,CAAC;;UAAC,iCAGhB;YAAA,uBACMM,SAAS,CAACmC,QAAQ,CAACC,OAAO,CAC5BjD,KAAK,CAACiB,QAAQ,EAAE,CAACQ,OAAO,EACxBzB,KAAK,CAACiB,QAAQ,EAAE,CAACG,aAAa,EAC9BP,SAAS,CAACqC,MAAM,CAACC,KAAK,CACzB;;cAGD5C,aAAa,CAAC,IAAI,CAAC;;WACtB,YAAQ6C,KAAK,EAAE;YAAA;YACZ,MAAMC,YAAY,MAAMnD,KAAK,CAAC4C,MAAM,CAACC,KAAK,CAACK,UAAUA,OAAO;YAE5DE,OAAO,CAACF,KAAK,CAACC,YAAY,CAAC;YAC3B,0BAAA3C,eAAe,CAAC6B,OAAO,2DAAvB,uBAAyBa,KAAK,CAACC,YAAY,CAAC;WAC/C;UAAA;;;KAER;MAAA;;;EAED,oBACI7C,yEACIA,6BAAC+C,UAAU;IACPC,QAAQ,EAAElD,UAAU;IACpBmD,IAAI,EAAC,OAAO;IACZC,OAAO,EAAEd,WAAW;kBACR1C,KAAK,CAAC4C,MAAM,CAACC,KAAK,CAACY,OAAO;IACtCA,OAAO,EAAEzD,KAAK,CAAC4C,MAAM,CAACC,KAAK,CAACY,OAAO;IACnCC,GAAG,EAAEhD;IACP,EACDN,UAAU,IAAIyB,gBAAgB,CAACC,IAAI,KAAK,IAAI,iBACzCxB,6BAACqD,WAAW;IACRC,YAAY,EAAErB,gBAAgB;IAC9BsB,aAAa,EAAEpB,iBAAiB;IAChC1C,UAAU,EAAE8B;IAEnB,CACF;AAEX;;;;"}
|
package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js
ADDED
@@ -0,0 +1,223 @@
|
|
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 '../../../../../hooks/useLazyEffect.js';
|
65
|
+
import ReactDOM from 'react-dom';
|
66
|
+
import { useParentStylesheets } from './hooks/useParentStylesheets.js';
|
67
|
+
import '../../../hooks/useTableData.js';
|
68
|
+
import { Table3 } from '../../../Table3.js';
|
69
|
+
import '../../../../Tabs/Tabs.js';
|
70
|
+
import '../../../../Textarea/Textarea.js';
|
71
|
+
import '../../../../Tour/Tour.js';
|
72
|
+
import '../../../../../hooks/useMatchMedia.js';
|
73
|
+
import '../../../../Header/Header.js';
|
74
|
+
import '../../../../../hooks/useIsLargeScreen.js';
|
75
|
+
import '../../../../Layout/Layout.js';
|
76
|
+
import '../../../../Navigation2/components/Link.js';
|
77
|
+
import '../../../../Navigation2/Navigation2.js';
|
78
|
+
import '../../../../../hooks/useBoundaryOverflowDetection.js';
|
79
|
+
import '../../../../../utils/hooks/useOnClickOutside.js';
|
80
|
+
|
81
|
+
function PrintIFrame({
|
82
|
+
onAfterPrint,
|
83
|
+
onBeforePrint,
|
84
|
+
tableProps
|
85
|
+
}) {
|
86
|
+
const [contentRef, setContentRef] = React__default.useState(null);
|
87
|
+
const [mountNode, setMountNode] = React__default.useState(null);
|
88
|
+
const iframeWindow = contentRef === null || contentRef === void 0 ? void 0 : contentRef.contentWindow;
|
89
|
+
const stylesReady = useParentStylesheets(iframeWindow);
|
90
|
+
// Adds print events to the iframe window.
|
91
|
+
React__default.useEffect(() => {
|
92
|
+
if (iframeWindow === null || iframeWindow === undefined) {
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
// Add print events to the window
|
96
|
+
if (onAfterPrint) {
|
97
|
+
iframeWindow.addEventListener('afterprint', onAfterPrint);
|
98
|
+
}
|
99
|
+
if (onBeforePrint) {
|
100
|
+
iframeWindow.addEventListener('beforeprint', onBeforePrint);
|
101
|
+
}
|
102
|
+
return () => {
|
103
|
+
// Remove print events from the window
|
104
|
+
if (onAfterPrint) {
|
105
|
+
iframeWindow.removeEventListener('afterprint', onAfterPrint);
|
106
|
+
}
|
107
|
+
if (onBeforePrint) {
|
108
|
+
iframeWindow.removeEventListener('beforeprint', onBeforePrint);
|
109
|
+
}
|
110
|
+
};
|
111
|
+
}, [iframeWindow]);
|
112
|
+
// Calls print method when table has loaded in the iframe.
|
113
|
+
React__default.useEffect(() => {
|
114
|
+
let intervalId;
|
115
|
+
let timeoutId;
|
116
|
+
// Invoke the print functionality on the window once the table has finished rendering and all print styles are
|
117
|
+
// added.
|
118
|
+
if (mountNode && stylesReady) {
|
119
|
+
intervalId = setInterval(function () {
|
120
|
+
try {
|
121
|
+
const tableWrapper = mountNode;
|
122
|
+
const hasTableRendered = !!tableWrapper.querySelector('[role="table"]');
|
123
|
+
if (hasTableRendered && intervalId) {
|
124
|
+
var _contentRef$contentWi;
|
125
|
+
clearInterval(intervalId);
|
126
|
+
// Calling the onBeforePrint method here as a fallback because certain browsers, like Safari,
|
127
|
+
// do not call the beforeprint event.
|
128
|
+
// Bug - Even though onBeforePrint is called before printing, the execution doesn't finish before
|
129
|
+
// the print dialog shows up, which results into having a visible loading toast.
|
130
|
+
onBeforePrint === null || onBeforePrint === void 0 ? void 0 : onBeforePrint();
|
131
|
+
contentRef === null || contentRef === void 0 ? void 0 : (_contentRef$contentWi = contentRef.contentWindow) === null || _contentRef$contentWi === void 0 ? void 0 : _contentRef$contentWi.print();
|
132
|
+
// Calling the onAfterPrint method here as a fallback to do the cleanup, as certain browsers,
|
133
|
+
// like Safari, do not trigger the beforeprint or afterprint events when a confirmation dialog
|
134
|
+
// asking if the user wants to print the document, is cancelled.
|
135
|
+
// Added a setTimeout to prevent calling onAfterPrint immediately after the print function
|
136
|
+
// to ensure that the print dialog doesn't close abruptly. Although this behavior is uncommon,
|
137
|
+
// there are cases where the print function may not run synchronously, causing onAfterPrint to be
|
138
|
+
// invoked right after it.
|
139
|
+
timeoutId = setTimeout(() => {
|
140
|
+
onAfterPrint === null || onAfterPrint === void 0 ? void 0 : onAfterPrint();
|
141
|
+
}, 0);
|
142
|
+
}
|
143
|
+
return Promise.resolve();
|
144
|
+
} catch (e) {
|
145
|
+
return Promise.reject(e);
|
146
|
+
}
|
147
|
+
}, 1000);
|
148
|
+
}
|
149
|
+
return () => {
|
150
|
+
clearInterval(intervalId);
|
151
|
+
clearTimeout(timeoutId);
|
152
|
+
};
|
153
|
+
}, [mountNode, stylesReady]);
|
154
|
+
React__default.useEffect(() => {
|
155
|
+
var _iframeWindow$parent$, _iframeWindow$parent$2;
|
156
|
+
if (!iframeWindow || !stylesReady) {
|
157
|
+
return;
|
158
|
+
}
|
159
|
+
const iframeDocument = iframeWindow.document;
|
160
|
+
// Only the content inside the main element will get printed along with the table.
|
161
|
+
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) || '';
|
162
|
+
iframeDocument.body.innerHTML = parentDocumentContent;
|
163
|
+
const tableElement = iframeDocument.querySelector('[role="table"]');
|
164
|
+
const tableColumnFreezingStyles = iframeDocument.querySelector('[data-taco="table3-column-freezing-styles"]');
|
165
|
+
const tableWrapper = iframeDocument.createElement('div');
|
166
|
+
tableWrapper.setAttribute('data-role', 'table-wrapper');
|
167
|
+
// Adding h-fit class makes sure that table is rendered with the whole content.
|
168
|
+
tableWrapper.classList.add('h-fit');
|
169
|
+
// Safari print preview assigns no width to the table when w-screen class is used.
|
170
|
+
// By assigning table a big static width and hiding the horizontal scrollbar, the table on chrome
|
171
|
+
// and safari will always take full page width.
|
172
|
+
tableWrapper.classList.add('w-[10000px]');
|
173
|
+
if (tableElement) {
|
174
|
+
var _tableElement$parentN;
|
175
|
+
(_tableElement$parentN = tableElement.parentNode) === null || _tableElement$parentN === void 0 ? void 0 : _tableElement$parentN.insertBefore(tableWrapper, tableElement);
|
176
|
+
tableElement.remove();
|
177
|
+
} else {
|
178
|
+
iframeDocument.body.append(tableWrapper);
|
179
|
+
}
|
180
|
+
// Remove the already existing column freezing styles.
|
181
|
+
if (tableColumnFreezingStyles) {
|
182
|
+
tableColumnFreezingStyles.remove();
|
183
|
+
}
|
184
|
+
let currentNode = tableWrapper.parentNode;
|
185
|
+
while (currentNode !== null && currentNode !== iframeDocument.body) {
|
186
|
+
var _currentNode;
|
187
|
+
// Add the 'h-fit' class to the 'table-wrapper' element's parent chain.
|
188
|
+
// This ensures that the table is not cropped and fits within its container.
|
189
|
+
(_currentNode = currentNode) === null || _currentNode === void 0 ? void 0 : _currentNode.classList.add('!h-fit');
|
190
|
+
currentNode = currentNode.parentNode;
|
191
|
+
}
|
192
|
+
setMountNode(tableWrapper);
|
193
|
+
}, [iframeWindow, stylesReady]);
|
194
|
+
const printTableProps = {
|
195
|
+
...tableProps,
|
196
|
+
actionsForRow: undefined,
|
197
|
+
// Not the best way to remove the active/current row styles, but a temporary solution for now
|
198
|
+
defaultCurrentRowIndex: -1,
|
199
|
+
defaultSettings: {
|
200
|
+
...(tableProps === null || tableProps === void 0 ? void 0 : tableProps.defaultSettings),
|
201
|
+
rowHeight: 'short'
|
202
|
+
},
|
203
|
+
enableColumnFreezing: false,
|
204
|
+
enableRowHeight: true,
|
205
|
+
enableRowSelection: false,
|
206
|
+
enableEditing: false,
|
207
|
+
enablePrinting: false,
|
208
|
+
enableRowDrag: false,
|
209
|
+
enableRowDrop: false,
|
210
|
+
enableRowSelectionSingle: false,
|
211
|
+
preset: undefined
|
212
|
+
};
|
213
|
+
// -top-60 -left-60 styles make sure that iframe is added outside of the viewport
|
214
|
+
return /*#__PURE__*/React__default.createElement("iframe", {
|
215
|
+
ref: setContentRef,
|
216
|
+
className: "fixed -left-60 -top-60 !h-0 !w-0",
|
217
|
+
frameBorder: "0",
|
218
|
+
scrolling: "no"
|
219
|
+
}, mountNode && stylesReady ? /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement(Table3, Object.assign({}, printTableProps)), mountNode) : null);
|
220
|
+
}
|
221
|
+
|
222
|
+
export { PrintIFrame };
|
223
|
+
//# 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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"}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
|
3
|
+
const PRINT_STYLES = `
|
4
|
+
@page {
|
5
|
+
margin: 16px;
|
6
|
+
}
|
7
|
+
|
8
|
+
@media print {
|
9
|
+
#root, html, body {
|
10
|
+
overflow: auto !important;
|
11
|
+
height: auto !important;
|
12
|
+
width: auto !important;
|
13
|
+
}
|
14
|
+
|
15
|
+
[role="table"] {
|
16
|
+
border-width: 0 !important;
|
17
|
+
overflow-y: hidden !important;
|
18
|
+
}
|
19
|
+
|
20
|
+
[role="table"] [role="columnheader"] {
|
21
|
+
border-bottom-width: 1px !important;
|
22
|
+
}
|
23
|
+
|
24
|
+
/*
|
25
|
+
* Summary row cells
|
26
|
+
*/
|
27
|
+
[role="table"] [role="rowgroup"]:last-child [role="cell"] {
|
28
|
+
border-top-width: 1px !important;
|
29
|
+
}
|
30
|
+
|
31
|
+
[role="table"] a {
|
32
|
+
color: rgb(28 28 28);
|
33
|
+
}
|
34
|
+
|
35
|
+
[data-taco="alert"],
|
36
|
+
[data-taco="banner"],
|
37
|
+
[data-taco="hanger"],
|
38
|
+
[data-taco="toast"],
|
39
|
+
[data-taco="table3-toolbar"],
|
40
|
+
[data-taco="tooltip"],
|
41
|
+
/*
|
42
|
+
* Tour components
|
43
|
+
*/
|
44
|
+
[id^="react-joyride"]
|
45
|
+
{
|
46
|
+
display: none !important;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
`;
|
50
|
+
function useParentStylesheets(iframeWindow) {
|
51
|
+
const [ready, setReady] = React__default.useState(false);
|
52
|
+
React__default.useEffect(() => {
|
53
|
+
if (!iframeWindow) {
|
54
|
+
return;
|
55
|
+
}
|
56
|
+
const parentDocument = iframeWindow.parent.document;
|
57
|
+
const iframeDocument = iframeWindow.document;
|
58
|
+
// add our custom print styles
|
59
|
+
const customPrintStyles = iframeDocument.createElement('style');
|
60
|
+
if (customPrintStyles) {
|
61
|
+
customPrintStyles.innerHTML = PRINT_STYLES;
|
62
|
+
iframeDocument.head.appendChild(customPrintStyles);
|
63
|
+
}
|
64
|
+
// Get style tags from the parent
|
65
|
+
const parentStylesheets = Array.from(parentDocument.querySelectorAll('style:not([data-taco="table3-column-freezing-styles"])'));
|
66
|
+
// Get linked stylesheets from the parent
|
67
|
+
const linkStylesheets = Array.from(parentDocument.querySelectorAll('[rel="stylesheet"]'));
|
68
|
+
// We want to add tailwind styles specifically but there is no guarenteed way to know which style tag has
|
69
|
+
// tailwind styles, so we add all the styles present in the parent frame
|
70
|
+
parentStylesheets.forEach(parentStyle => {
|
71
|
+
const styleTag = iframeDocument.createElement('style');
|
72
|
+
styleTag.innerHTML = parentStyle.innerHTML;
|
73
|
+
iframeDocument.head.appendChild(styleTag);
|
74
|
+
});
|
75
|
+
// Add all link tags that are stylesheets, to the iframe head, so that we include the taco and client styles
|
76
|
+
linkStylesheets.forEach(linkStylesheet => {
|
77
|
+
const linkTag = iframeDocument.createElement('link');
|
78
|
+
linkTag.setAttribute('rel', 'stylesheet');
|
79
|
+
linkTag.innerHTML = linkStylesheet.innerHTML;
|
80
|
+
iframeDocument.head.appendChild(linkTag);
|
81
|
+
});
|
82
|
+
setReady(true);
|
83
|
+
}, [iframeWindow]);
|
84
|
+
return ready;
|
85
|
+
}
|
86
|
+
|
87
|
+
export { useParentStylesheets };
|
88
|
+
//# sourceMappingURL=useParentStylesheets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useParentStylesheets.js","sources":["../../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.ts"],"sourcesContent":["import React from 'react';\n\nconst PRINT_STYLES = `\n@page {\n margin: 16px;\n}\n\n@media print {\n #root, html, body {\n overflow: auto !important;\n height: auto !important;\n width: auto !important;\n }\n\n [role=\"table\"] {\n border-width: 0 !important;\n overflow-y: hidden !important;\n }\n\n [role=\"table\"] [role=\"columnheader\"] {\n border-bottom-width: 1px !important;\n }\n\n /*\n * Summary row cells\n */\n [role=\"table\"] [role=\"rowgroup\"]:last-child [role=\"cell\"] {\n border-top-width: 1px !important;\n }\n\n [role=\"table\"] a {\n color: rgb(28 28 28);\n }\n\n [data-taco=\"alert\"],\n [data-taco=\"banner\"],\n [data-taco=\"hanger\"],\n [data-taco=\"toast\"],\n [data-taco=\"table3-toolbar\"],\n [data-taco=\"tooltip\"],\n /*\n * Tour components\n */\n [id^=\"react-joyride\"]\n {\n display: none !important;\n }\n}\n`;\n\nexport function useParentStylesheets(iframeWindow: Window | null | undefined) {\n const [ready, setReady] = React.useState(false);\n\n React.useEffect(() => {\n if (!iframeWindow) {\n return;\n }\n\n const parentDocument = iframeWindow.parent.document;\n const iframeDocument = iframeWindow.document;\n\n // add our custom print styles\n const customPrintStyles = iframeDocument.createElement('style');\n\n if (customPrintStyles) {\n customPrintStyles.innerHTML = PRINT_STYLES;\n iframeDocument.head.appendChild(customPrintStyles);\n }\n\n // Get style tags from the parent\n const parentStylesheets = Array.from(\n parentDocument.querySelectorAll('style:not([data-taco=\"table3-column-freezing-styles\"])')\n );\n // Get linked stylesheets from the parent\n const linkStylesheets = Array.from(parentDocument.querySelectorAll('[rel=\"stylesheet\"]'));\n\n // We want to add tailwind styles specifically but there is no guarenteed way to know which style tag has\n // tailwind styles, so we add all the styles present in the parent frame\n parentStylesheets.forEach(parentStyle => {\n const styleTag = iframeDocument.createElement('style');\n\n styleTag.innerHTML = parentStyle.innerHTML;\n iframeDocument.head.appendChild(styleTag);\n });\n\n // Add all link tags that are stylesheets, to the iframe head, so that we include the taco and client styles\n linkStylesheets.forEach(linkStylesheet => {\n const linkTag = iframeDocument.createElement('link');\n\n linkTag.setAttribute('rel', 'stylesheet');\n\n linkTag.innerHTML = linkStylesheet.innerHTML;\n iframeDocument.head.appendChild(linkTag);\n });\n\n setReady(true);\n }, [iframeWindow]);\n\n return ready;\n}\n"],"names":["PRINT_STYLES","useParentStylesheets","iframeWindow","ready","setReady","React","useState","useEffect","parentDocument","parent","document","iframeDocument","customPrintStyles","createElement","innerHTML","head","appendChild","parentStylesheets","Array","from","querySelectorAll","linkStylesheets","forEach","parentStyle","styleTag","linkStylesheet","linkTag","setAttribute"],"mappings":";;AAEA,MAAMA,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CjB;SAEeC,oBAAoB,CAACC,YAAuC;EACxE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAE/CD,cAAK,CAACE,SAAS,CAAC;IACZ,IAAI,CAACL,YAAY,EAAE;MACf;;IAGJ,MAAMM,cAAc,GAAGN,YAAY,CAACO,MAAM,CAACC,QAAQ;IACnD,MAAMC,cAAc,GAAGT,YAAY,CAACQ,QAAQ;;IAG5C,MAAME,iBAAiB,GAAGD,cAAc,CAACE,aAAa,CAAC,OAAO,CAAC;IAE/D,IAAID,iBAAiB,EAAE;MACnBA,iBAAiB,CAACE,SAAS,GAAGd,YAAY;MAC1CW,cAAc,CAACI,IAAI,CAACC,WAAW,CAACJ,iBAAiB,CAAC;;;IAItD,MAAMK,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAChCX,cAAc,CAACY,gBAAgB,CAAC,wDAAwD,CAAC,CAC5F;;IAED,MAAMC,eAAe,GAAGH,KAAK,CAACC,IAAI,CAACX,cAAc,CAACY,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;;;IAIzFH,iBAAiB,CAACK,OAAO,CAACC,WAAW;MACjC,MAAMC,QAAQ,GAAGb,cAAc,CAACE,aAAa,CAAC,OAAO,CAAC;MAEtDW,QAAQ,CAACV,SAAS,GAAGS,WAAW,CAACT,SAAS;MAC1CH,cAAc,CAACI,IAAI,CAACC,WAAW,CAACQ,QAAQ,CAAC;KAC5C,CAAC;;IAGFH,eAAe,CAACC,OAAO,CAACG,cAAc;MAClC,MAAMC,OAAO,GAAGf,cAAc,CAACE,aAAa,CAAC,MAAM,CAAC;MAEpDa,OAAO,CAACC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC;MAEzCD,OAAO,CAACZ,SAAS,GAAGW,cAAc,CAACX,SAAS;MAC5CH,cAAc,CAACI,IAAI,CAACC,WAAW,CAACU,OAAO,CAAC;KAC3C,CAAC;IAEFtB,QAAQ,CAAC,IAAI,CAAC;GACjB,EAAE,CAACF,YAAY,CAAC,CAAC;EAElB,OAAOC,KAAK;AAChB;;;;"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useLocalization } from '../../../Provider/Localization.js';
|
3
|
+
import { Menu } from '../../../Menu/Menu.js';
|
4
|
+
|
5
|
+
function RowHeight(props) {
|
6
|
+
const {
|
7
|
+
texts
|
8
|
+
} = useLocalization();
|
9
|
+
const meta = props.table.options.meta;
|
10
|
+
const handleChange = value => meta.rowHeight.setHeight(value);
|
11
|
+
return /*#__PURE__*/React__default.createElement(Menu.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu.RadioGroup, {
|
12
|
+
onChange: handleChange,
|
13
|
+
value: meta.rowHeight.height
|
14
|
+
}, /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
15
|
+
value: "short"
|
16
|
+
}, texts.table3.rowHeight.sizes.short), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
17
|
+
value: "medium"
|
18
|
+
}, texts.table3.rowHeight.sizes.medium), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
19
|
+
value: "tall"
|
20
|
+
}, texts.table3.rowHeight.sizes.tall), /*#__PURE__*/React__default.createElement(Menu.RadioGroup.Item, {
|
21
|
+
value: "extra-tall"
|
22
|
+
}, texts.table3.rowHeight.sizes.extraTall)));
|
23
|
+
}
|
24
|
+
|
25
|
+
export { RowHeight };
|
26
|
+
//# sourceMappingURL=RowHeight.js.map
|
@@ -0,0 +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 '../../../..';\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) => meta.rowHeight.setHeight(value as Table3RowHeight);\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","rowHeight","setHeight","React","Menu","SubMenu","RadioGroup","onChange","height","Item","table3","sizes","short","medium","tall","extraTall"],"mappings":";;;;SAWgBA,SAAS,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,IAAKJ,IAAI,CAACK,SAAS,CAACC,SAAS,CAACF,KAAwB,CAAC;EAEvG,oBACIG,6BAACC,IAAI,CAACC,OAAO,qBACTF,6BAACC,IAAI,CAACE,UAAU;IAACC,QAAQ,EAAER,YAAY;IAAEC,KAAK,EAAEJ,IAAI,CAACK,SAAS,CAACO;kBAC3DL,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAC;KAASN,KAAK,CAACgB,MAAM,CAACT,SAAS,CAACU,KAAK,CAACC,KAAK,CAAwB,eAC/FT,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAC;KAAUN,KAAK,CAACgB,MAAM,CAACT,SAAS,CAACU,KAAK,CAACE,MAAM,CAAwB,eACjGV,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAC;KAAQN,KAAK,CAACgB,MAAM,CAACT,SAAS,CAACU,KAAK,CAACG,IAAI,CAAwB,eAC7FX,6BAACC,IAAI,CAACE,UAAU,CAACG,IAAI;IAACT,KAAK,EAAC;KAAcN,KAAK,CAACgB,MAAM,CAACT,SAAS,CAACU,KAAK,CAACI,SAAS,CAAwB,CAC1F,CACP;AAEvB;;;;"}
|