@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.
Files changed (310) hide show
  1. package/dist/components/Icon/components/HeightTall.d.ts +3 -0
  2. package/dist/components/Icon/components/index.d.ts +1 -1
  3. package/dist/components/Input/Input.d.ts +1 -1
  4. package/dist/components/Menu/Menu.d.ts +2 -0
  5. package/dist/components/Menu/components/Item.d.ts +6 -1
  6. package/dist/components/Menu/components/Link.d.ts +1 -1
  7. package/dist/components/Menu/components/SubMenu.d.ts +8 -0
  8. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  9. package/dist/components/Popover/Popover.d.ts +3 -0
  10. package/dist/components/Provider/Localization.d.ts +148 -0
  11. package/dist/components/SearchInput/SearchInput.d.ts +2 -0
  12. package/dist/components/SearchInput2/SearchInput2.d.ts +23 -0
  13. package/dist/components/Select2/components/Option.d.ts +1 -1
  14. package/dist/components/Select2/components/Search.d.ts +1 -1
  15. package/dist/components/Table2/hooks/useTable.d.ts +1 -1
  16. package/dist/components/Table3/Table3.d.ts +12 -0
  17. package/dist/components/Table3/components/columns/cell/Cell.d.ts +6 -0
  18. package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +22 -0
  19. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +7 -0
  20. package/dist/components/Table3/components/columns/cell/Indicator.d.ts +17 -0
  21. package/dist/components/Table3/components/columns/footer/Footer.d.ts +14 -0
  22. package/dist/components/Table3/components/columns/footer/Summary.d.ts +7 -0
  23. package/dist/components/Table3/components/columns/header/Goto.d.ts +6 -0
  24. package/dist/components/Table3/components/columns/header/Header.d.ts +27 -0
  25. package/dist/components/Table3/components/columns/header/Menu.d.ts +16 -0
  26. package/dist/components/Table3/components/columns/header/Resizer.d.ts +7 -0
  27. package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +12 -0
  28. package/dist/components/Table3/components/columns/internal/Actions.d.ts +4 -0
  29. package/dist/components/Table3/components/columns/internal/Drag.d.ts +4 -0
  30. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +8 -0
  31. package/dist/components/Table3/components/columns/internal/Expansion.d.ts +4 -0
  32. package/dist/components/Table3/components/columns/internal/Selection.d.ts +4 -0
  33. package/dist/components/Table3/components/columns/styles.d.ts +4 -0
  34. package/dist/components/Table3/components/rows/ExpandedRow.d.ts +8 -0
  35. package/dist/components/Table3/components/rows/Row.d.ts +21 -0
  36. package/dist/components/Table3/components/rows/RowContext.d.ts +9 -0
  37. package/dist/components/Table3/components/rows/SkeletonRow.d.ts +10 -0
  38. package/dist/components/Table3/components/rows/styles.d.ts +6 -0
  39. package/dist/components/Table3/components/toolbar/ColumnSettings.d.ts +6 -0
  40. package/dist/components/Table3/components/toolbar/EditButton.d.ts +7 -0
  41. package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +7 -0
  42. package/dist/components/Table3/components/toolbar/Filter/filters/components/Comparator.d.ts +11 -0
  43. package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +13 -0
  44. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +8 -0
  45. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +7 -0
  46. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +10 -0
  47. package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +11 -0
  48. package/dist/components/Table3/components/toolbar/FontSize.d.ts +7 -0
  49. package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +8 -0
  50. package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +8 -0
  51. package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +1 -0
  52. package/dist/components/Table3/components/toolbar/RowHeight.d.ts +7 -0
  53. package/dist/components/Table3/components/toolbar/Search.d.ts +8 -0
  54. package/dist/components/Table3/components/toolbar/Toolbar.d.ts +12 -0
  55. package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +12 -0
  56. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +6 -0
  57. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +9 -0
  58. package/dist/components/Table3/hooks/features/useEditing.d.ts +31 -0
  59. package/dist/components/Table3/hooks/features/useFontSize.d.ts +7 -0
  60. package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +6 -0
  61. package/dist/components/Table3/hooks/features/usePrinting.d.ts +5 -0
  62. package/dist/components/Table3/hooks/features/useRowClick.d.ts +7 -0
  63. package/dist/components/Table3/hooks/features/useRowDrag.d.ts +6 -0
  64. package/dist/components/Table3/hooks/features/useRowDrop.d.ts +5 -0
  65. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +5 -0
  66. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +7 -0
  67. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +6 -0
  68. package/dist/components/Table3/hooks/features/useSearch.d.ts +16 -0
  69. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +2 -0
  70. package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +2 -0
  71. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +3 -0
  72. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +3 -0
  73. package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +3 -0
  74. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +3 -0
  75. package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +3 -0
  76. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +3 -0
  77. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +3 -0
  78. package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +9 -0
  79. package/dist/components/Table3/hooks/useCssGrid.d.ts +5 -0
  80. package/dist/components/Table3/hooks/useCssVars.d.ts +6 -0
  81. package/dist/components/Table3/hooks/useTable.d.ts +63 -0
  82. package/dist/components/Table3/hooks/useTableData.d.ts +23 -0
  83. package/dist/components/Table3/hooks/useTablePreset.d.ts +2 -0
  84. package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +4 -0
  85. package/dist/components/Table3/strategies/index.d.ts +4 -0
  86. package/dist/components/Table3/strategies/virtualised.d.ts +4 -0
  87. package/dist/components/Table3/types.d.ts +310 -0
  88. package/dist/components/Table3/util/columns.d.ts +7 -0
  89. package/dist/components/Table3/util/editing.d.ts +4 -0
  90. package/dist/components/Table3/util/filtering.d.ts +3 -0
  91. package/dist/components/Tag/Tag.d.ts +1 -1
  92. package/dist/esm/index.css +130 -2
  93. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +2 -2
  94. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  95. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +2 -1
  96. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  97. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +4 -1
  98. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  99. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -1
  100. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js +19 -0
  101. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -0
  102. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js → HeightExtraTall.js} +4 -4
  103. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js.map → HeightExtraTall.js.map} +1 -1
  104. package/dist/esm/packages/taco/src/components/Icon/components/{DensityNormal.js → HeightMedium.js} +4 -4
  105. package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -0
  106. package/dist/esm/packages/taco/src/components/Icon/components/{DensityCompact.js → HeightShort.js} +4 -4
  107. package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -0
  108. package/dist/esm/packages/taco/src/components/Icon/components/{DensityComfortable.js → HeightTall.js} +4 -4
  109. package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -0
  110. package/dist/esm/packages/taco/src/components/Icon/components/index.js +10 -8
  111. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -0
  113. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +20 -2
  115. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +22 -0
  117. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -0
  118. package/dist/esm/packages/taco/src/components/Popover/Popover.js +11 -3
  119. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Provider/Localization.js +145 -0
  121. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  123. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +196 -0
  124. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -0
  125. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Switch/Switch.js +3 -1
  127. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +1 -1
  129. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +13 -1
  130. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -1
  131. package/dist/esm/packages/taco/src/components/Table2/components/Search.js +1 -1
  132. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +1 -1
  133. package/dist/esm/packages/taco/src/components/Table3/Table3.js +145 -0
  134. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -0
  135. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +27 -0
  136. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -0
  137. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +131 -0
  138. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -0
  139. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +286 -0
  140. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
  141. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js +74 -0
  142. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -0
  143. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +50 -0
  144. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -0
  145. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +30 -0
  146. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -0
  147. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +27 -0
  148. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -0
  149. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +134 -0
  150. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -0
  151. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +156 -0
  152. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -0
  153. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +42 -0
  154. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -0
  155. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +38 -0
  156. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -0
  157. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +108 -0
  158. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -0
  159. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +86 -0
  160. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -0
  161. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +124 -0
  162. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -0
  163. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +103 -0
  164. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -0
  165. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +121 -0
  166. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -0
  167. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +17 -0
  168. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -0
  169. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +27 -0
  170. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -0
  171. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +255 -0
  172. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -0
  173. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +13 -0
  174. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -0
  175. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +43 -0
  176. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -0
  177. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +9 -0
  178. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +1 -0
  179. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +105 -0
  180. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -0
  181. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +45 -0
  182. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -0
  183. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +148 -0
  184. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -0
  185. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +107 -0
  186. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -0
  187. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +28 -0
  188. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -0
  189. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +60 -0
  190. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -0
  191. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +89 -0
  192. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -0
  193. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +45 -0
  194. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -0
  195. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +25 -0
  196. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -0
  197. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +99 -0
  198. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -0
  199. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +224 -0
  200. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -0
  201. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +88 -0
  202. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -0
  203. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +26 -0
  204. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -0
  205. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +137 -0
  206. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -0
  207. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +85 -0
  208. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -0
  209. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +87 -0
  210. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -0
  211. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js +45 -0
  212. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -0
  213. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +52 -0
  214. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -0
  215. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +197 -0
  216. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -0
  217. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js +13 -0
  218. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -0
  219. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +19 -0
  220. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -0
  221. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +9 -0
  222. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -0
  223. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +25 -0
  224. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -0
  225. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +13 -0
  226. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -0
  227. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +9 -0
  228. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -0
  229. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +9 -0
  230. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -0
  231. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +27 -0
  232. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -0
  233. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +29 -0
  234. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -0
  235. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +27 -0
  236. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -0
  237. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +14 -0
  238. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -0
  239. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +24 -0
  240. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -0
  241. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js +19 -0
  242. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -0
  243. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js +19 -0
  244. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -0
  245. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +51 -0
  246. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +1 -0
  247. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js +16 -0
  248. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -0
  249. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +26 -0
  250. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -0
  251. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js +49 -0
  252. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -0
  253. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js +17 -0
  254. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -0
  255. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +116 -0
  256. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -0
  257. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +56 -0
  258. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -0
  259. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +61 -0
  260. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -0
  261. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +154 -0
  262. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -0
  263. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js +128 -0
  264. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js.map +1 -0
  265. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +98 -0
  266. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -0
  267. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +19 -0
  268. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -0
  269. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +8 -0
  270. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -0
  271. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +113 -0
  272. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -0
  273. package/dist/esm/packages/taco/src/components/Table3/types.js +18 -0
  274. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -0
  275. package/dist/esm/packages/taco/src/components/Table3/util/columns.js +39 -0
  276. package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -0
  277. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +41 -0
  278. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
  279. package/dist/esm/packages/taco/src/components/Table3/util/filtering.js +102 -0
  280. package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
  281. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +10 -5
  282. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  283. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +16 -0
  284. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -0
  285. package/dist/esm/packages/taco/src/index.js +5 -1
  286. package/dist/esm/packages/taco/src/index.js.map +1 -1
  287. package/dist/esm/packages/taco/src/primitives/Button.js +6 -17
  288. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  289. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +6 -6
  290. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
  291. package/dist/esm/packages/taco/src/utils/input.js +14 -1
  292. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  293. package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
  294. package/dist/hooks/useLazyEffect.d.ts +2 -0
  295. package/dist/index.css +130 -2
  296. package/dist/index.d.ts +3 -0
  297. package/dist/taco.cjs.development.js +5171 -240
  298. package/dist/taco.cjs.development.js.map +1 -1
  299. package/dist/taco.cjs.production.min.js +1 -1
  300. package/dist/taco.cjs.production.min.js.map +1 -1
  301. package/dist/utils/input.d.ts +1 -0
  302. package/package.json +2 -2
  303. package/types.json +2322 -25
  304. package/dist/esm/packages/taco/src/components/Icon/components/DensityComfortable.js.map +0 -1
  305. package/dist/esm/packages/taco/src/components/Icon/components/DensityCompact.js.map +0 -1
  306. package/dist/esm/packages/taco/src/components/Icon/components/DensityNormal.js.map +0 -1
  307. /package/dist/components/Icon/components/{DensityComfortable.d.ts → FontSize.d.ts} +0 -0
  308. /package/dist/components/Icon/components/{DensityCompact.d.ts → HeightExtraTall.d.ts} +0 -0
  309. /package/dist/components/Icon/components/{DensityNormal.d.ts → HeightMedium.d.ts} +0 -0
  310. /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":"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"}
@@ -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;;;;"}
@@ -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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"}
@@ -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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"}