@dcs-tech/ui 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/README.md +32 -6
  2. package/dist/ChartImageMenu-HILSfn5A.js +1115 -0
  3. package/dist/ChartView-Cehrcr05.js +1703 -0
  4. package/dist/SummaryChart-y27q_BBN.js +29 -0
  5. package/dist/SummaryImage-DDNEEu_K.js +18 -0
  6. package/dist/SummarySeeAll-0dX-_LFe.js +101 -0
  7. package/dist/defaults-DL745PK1.js +708 -0
  8. package/dist/exportContext-CdpsOzE8.js +235 -0
  9. package/dist/exportEngine-DL-jEXFU.js +890 -0
  10. package/dist/geometry-CG2nOEnw.js +1796 -0
  11. package/dist/index.js +23238 -15993
  12. package/dist/scrollArea-CkPGDYH2.js +210 -0
  13. package/dist/style.css +1 -1
  14. package/dist/summaryChartData-Djo73zb8.js +81 -0
  15. package/dist/types/components/AppBar/AppBar.d.ts +16 -0
  16. package/dist/types/components/ArrowKeyFocus/useArrowKeyFocus.d.ts +10 -0
  17. package/dist/types/components/Avatar/Avatar.d.ts +22 -0
  18. package/dist/types/{shared-web-ui/src → components}/Badge/Badge.d.ts +0 -11
  19. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +18 -0
  20. package/dist/types/{shared-web-ui/src → components}/Button/Button.d.ts +1 -1
  21. package/dist/types/{shared-web-ui/src → components}/Button/ButtonGroup.d.ts +1 -1
  22. package/dist/types/{shared-web-ui/src → components}/Button/ButtonGroupContext.d.ts +1 -1
  23. package/dist/types/{shared-web-ui/src → components}/Button/index.d.ts +1 -1
  24. package/dist/types/components/Card/Card.d.ts +17 -0
  25. package/dist/types/components/Charts/AnchoredMenu.d.ts +17 -0
  26. package/dist/types/components/Charts/BarList.d.ts +12 -0
  27. package/dist/types/components/Charts/CalendarHeatmap.d.ts +17 -0
  28. package/dist/types/components/Charts/Chart.d.ts +20 -0
  29. package/dist/types/components/Charts/ChartIcon.d.ts +5 -0
  30. package/dist/types/components/Charts/ChartImageMenu.d.ts +4 -0
  31. package/dist/types/components/Charts/ChartTable.d.ts +8 -0
  32. package/dist/types/components/Charts/ChartTooltip.d.ts +58 -0
  33. package/dist/types/components/Charts/ChartView.d.ts +15 -0
  34. package/dist/types/components/Charts/ColumnChart.d.ts +15 -0
  35. package/dist/types/components/Charts/Donut.d.ts +14 -0
  36. package/dist/types/components/Charts/Funnel.d.ts +10 -0
  37. package/dist/types/components/Charts/Gauge.d.ts +15 -0
  38. package/dist/types/components/Charts/Legend.d.ts +6 -0
  39. package/dist/types/components/Charts/LineChart.d.ts +13 -0
  40. package/dist/types/components/Charts/NumberTrend.d.ts +21 -0
  41. package/dist/types/components/Charts/Progress.d.ts +12 -0
  42. package/dist/types/components/Charts/StackedBar.d.ts +11 -0
  43. package/dist/types/components/Charts/Treemap.d.ts +12 -0
  44. package/dist/types/components/Charts/chartData.d.ts +69 -0
  45. package/dist/types/components/Charts/chartImage.d.ts +121 -0
  46. package/dist/types/components/Charts/geometry.d.ts +180 -0
  47. package/dist/types/components/Charts/index.d.ts +32 -0
  48. package/dist/types/components/Charts/labels.d.ts +46 -0
  49. package/dist/types/components/Charts/menuPlacement.d.ts +25 -0
  50. package/dist/types/components/Charts/palette.d.ts +81 -0
  51. package/dist/types/components/Charts/parts.d.ts +25 -0
  52. package/dist/types/components/Charts/pointer.d.ts +41 -0
  53. package/dist/types/components/Charts/types.d.ts +51 -0
  54. package/dist/types/components/Charts/ui.d.ts +3 -0
  55. package/dist/types/components/Charts/useBoxSize.d.ts +6 -0
  56. package/dist/types/components/Charts/useLegendFit.d.ts +1 -0
  57. package/dist/types/components/Charts/useUiScale.d.ts +1 -0
  58. package/dist/types/{shared-web-ui/src → components}/Checkbox/Checkbox.d.ts +1 -1
  59. package/dist/types/{shared-web-ui/src → components}/Checkbox/CheckboxGroup.d.ts +1 -1
  60. package/dist/types/{shared-web-ui/src → components}/Checkbox/CheckboxGroupContext.d.ts +1 -1
  61. package/dist/types/{shared-web-ui/src → components}/Checkbox/index.d.ts +1 -1
  62. package/dist/types/{shared-web-ui/src → components}/ChipInput/ChipInput.d.ts +1 -1
  63. package/dist/types/{shared-web-ui/src → components}/ChipInput/index.d.ts +2 -2
  64. package/dist/types/{shared-web-ui/src → components}/ChipInput/useChipSuggestions.d.ts +1 -1
  65. package/dist/types/{shared-web-ui/src → components}/Collapsible/Collapsible.d.ts +1 -1
  66. package/dist/types/{shared-web-ui/src → components}/Collapsible/CollapsibleContext.d.ts +1 -1
  67. package/dist/types/{shared-web-ui/src → components}/Collapsible/CollapsibleItem.d.ts +1 -3
  68. package/dist/types/{shared-web-ui/src → components}/Collapsible/index.d.ts +1 -1
  69. package/dist/types/components/ColorSchemeSelect/ColorSchemeSelect.d.ts +11 -0
  70. package/dist/types/components/CommandPalette/CommandPalette.d.ts +25 -0
  71. package/dist/types/components/DataTable/DataTable.d.ts +16 -0
  72. package/dist/types/components/DataTable/DataTable.storyData.d.ts +23 -0
  73. package/dist/types/components/DataTable/DisplayPopover.d.ts +22 -0
  74. package/dist/types/components/DataTable/HeaderMenu.d.ts +31 -0
  75. package/dist/types/components/DataTable/ManageModal.d.ts +31 -0
  76. package/dist/types/components/DataTable/PressButton.d.ts +2 -0
  77. package/dist/types/components/DataTable/SingleRowView.d.ts +9 -0
  78. package/dist/types/components/DataTable/SortModal.d.ts +16 -0
  79. package/dist/types/components/DataTable/StatusRow.d.ts +49 -0
  80. package/dist/types/components/DataTable/TableColumnModal.d.ts +18 -0
  81. package/dist/types/components/DataTable/TableControls.d.ts +48 -0
  82. package/dist/types/components/DataTable/TablePagination.d.ts +38 -0
  83. package/dist/types/components/DataTable/TableScrollStrip.d.ts +2 -0
  84. package/dist/types/components/DataTable/TableToolbar.d.ts +69 -0
  85. package/dist/types/components/DataTable/TableView.d.ts +61 -0
  86. package/dist/types/components/DataTable/bulk/BulkConfirmDialog.d.ts +13 -0
  87. package/dist/types/components/DataTable/bulk/TableToast.d.ts +13 -0
  88. package/dist/types/components/DataTable/bulk/bulkActions.d.ts +23 -0
  89. package/dist/types/components/DataTable/cards/CardFieldsEditor.d.ts +16 -0
  90. package/dist/types/components/DataTable/cards/CardView.d.ts +50 -0
  91. package/dist/types/components/DataTable/cards/cardFields.d.ts +32 -0
  92. package/dist/types/components/DataTable/cards/rowParts.d.ts +38 -0
  93. package/dist/types/components/DataTable/data/useServerData.d.ts +28 -0
  94. package/dist/types/components/DataTable/defaults.d.ts +18 -0
  95. package/dist/types/components/DataTable/detail/BuiltInDetail.d.ts +10 -0
  96. package/dist/types/components/DataTable/detail/DetailHost.d.ts +13 -0
  97. package/dist/types/components/DataTable/export/ExportPopover.d.ts +18 -0
  98. package/dist/types/components/DataTable/export/ExportPreviewModal.d.ts +11 -0
  99. package/dist/types/components/DataTable/export/ExportSettingsModal.d.ts +31 -0
  100. package/dist/types/components/DataTable/export/ExportTemplateCards.d.ts +19 -0
  101. package/dist/types/components/DataTable/export/exportContext.d.ts +10 -0
  102. package/dist/types/components/DataTable/export/exportEngine.d.ts +77 -0
  103. package/dist/types/components/DataTable/export/exportRows.d.ts +10 -0
  104. package/dist/types/components/DataTable/export/templateDisplay.d.ts +7 -0
  105. package/dist/types/components/DataTable/export/templateOptions.d.ts +6 -0
  106. package/dist/types/components/DataTable/export/useTableExport.d.ts +53 -0
  107. package/dist/types/components/DataTable/filters/ColumnFilterPopover.d.ts +14 -0
  108. package/dist/types/components/DataTable/filters/FilterChips.d.ts +9 -0
  109. package/dist/types/components/DataTable/filters/FilterConditionRow.d.ts +11 -0
  110. package/dist/types/components/DataTable/filters/FilterGroup.d.ts +12 -0
  111. package/dist/types/components/DataTable/filters/FilterModal.d.ts +14 -0
  112. package/dist/types/components/DataTable/filters/FilterRow.d.ts +20 -0
  113. package/dist/types/components/DataTable/filters/columnFilterModel.d.ts +29 -0
  114. package/dist/types/components/DataTable/filters/filterEngine.d.ts +16 -0
  115. package/dist/types/components/DataTable/filters/filterRowModel.d.ts +28 -0
  116. package/dist/types/components/DataTable/filters/quickFilterMatch.d.ts +3 -0
  117. package/dist/types/components/DataTable/grouping/GroupUi.d.ts +36 -0
  118. package/dist/types/components/DataTable/grouping/groupModel.d.ts +82 -0
  119. package/dist/types/components/DataTable/grouping/useGrouping.d.ts +39 -0
  120. package/dist/types/components/DataTable/host.d.ts +14 -0
  121. package/dist/types/components/DataTable/index.d.ts +18 -0
  122. package/dist/types/components/DataTable/keyboard/ShortcutsDialog.d.ts +14 -0
  123. package/dist/types/components/DataTable/keyboard/shortcuts.d.ts +22 -0
  124. package/dist/types/components/DataTable/keyboard/useGridKeyboard.d.ts +48 -0
  125. package/dist/types/components/DataTable/labels.d.ts +618 -0
  126. package/dist/types/components/DataTable/layout/LayoutSwitcher.d.ts +9 -0
  127. package/dist/types/components/DataTable/layout/layouts.d.ts +20 -0
  128. package/dist/types/components/DataTable/layout/scrollArea.d.ts +2 -0
  129. package/dist/types/components/DataTable/layout/useFillHeight.d.ts +11 -0
  130. package/dist/types/components/DataTable/menu/RowMenu.d.ts +56 -0
  131. package/dist/types/components/DataTable/menu/buildRowMenu.d.ts +35 -0
  132. package/dist/types/components/DataTable/menu/clipboard.d.ts +4 -0
  133. package/dist/types/components/DataTable/menu/layers.d.ts +1 -0
  134. package/dist/types/components/DataTable/menu/valueFilter.d.ts +15 -0
  135. package/dist/types/components/DataTable/motion/useRowMotion.d.ts +32 -0
  136. package/dist/types/components/DataTable/persistence/adapters.d.ts +6 -0
  137. package/dist/types/components/DataTable/persistence/reconcile.d.ts +64 -0
  138. package/dist/types/components/DataTable/persistence/useColumnPersistence.d.ts +51 -0
  139. package/dist/types/components/DataTable/persistence/useManagePrefs.d.ts +23 -0
  140. package/dist/types/components/DataTable/persistence/useOrphanPrefs.d.ts +3 -0
  141. package/dist/types/components/DataTable/pinning.d.ts +10 -0
  142. package/dist/types/components/DataTable/rows/PressRow.d.ts +7 -0
  143. package/dist/types/components/DataTable/rows/RowActions.d.ts +15 -0
  144. package/dist/types/components/DataTable/rows/rowPress.d.ts +35 -0
  145. package/dist/types/components/DataTable/sharing/Sharing.d.ts +21 -0
  146. package/dist/types/components/DataTable/split/SplitView.d.ts +29 -0
  147. package/dist/types/components/DataTable/summary/ManageSummaryCards.d.ts +18 -0
  148. package/dist/types/components/DataTable/summary/SummaryChart.d.ts +11 -0
  149. package/dist/types/components/DataTable/summary/SummaryControls.d.ts +33 -0
  150. package/dist/types/components/DataTable/summary/SummaryImage.d.ts +12 -0
  151. package/dist/types/components/DataTable/summary/SummarySeeAll.d.ts +17 -0
  152. package/dist/types/components/DataTable/summary/TableSummary.d.ts +34 -0
  153. package/dist/types/components/DataTable/summary/summaryCatalogue.d.ts +64 -0
  154. package/dist/types/components/DataTable/summary/summaryChartData.d.ts +9 -0
  155. package/dist/types/components/DataTable/summary/summaryModel.d.ts +152 -0
  156. package/dist/types/components/DataTable/summary/summaryWidth.d.ts +22 -0
  157. package/dist/types/components/DataTable/summary/useTableSummary.d.ts +18 -0
  158. package/dist/types/components/DataTable/types.d.ts +1145 -0
  159. package/dist/types/components/DataTable/ui-local/AutoHeight.d.ts +9 -0
  160. package/dist/types/components/DataTable/ui-local/DateRangePicker.d.ts +16 -0
  161. package/dist/types/components/DataTable/ui-local/DragAndDropList/DragAndDropList.d.ts +4 -0
  162. package/dist/types/components/DataTable/ui-local/DragAndDropList/index.d.ts +3 -0
  163. package/dist/types/components/DataTable/ui-local/DragAndDropList/types.d.ts +70 -0
  164. package/dist/types/components/DataTable/ui-local/ReactModal.d.ts +20 -0
  165. package/dist/types/components/DataTable/ui-local/scrollLock.d.ts +1 -0
  166. package/dist/types/components/DataTable/ui.d.ts +13 -0
  167. package/dist/types/components/DataTable/useDataChangeTracker.d.ts +11 -0
  168. package/dist/types/components/DataTable/useTable.d.ts +12 -0
  169. package/dist/types/components/DataTable/vendor/columnOrder.d.ts +1 -0
  170. package/dist/types/components/DataTable/vendor/diff.d.ts +5 -0
  171. package/dist/types/components/DataTable/vendor/fileActions.d.ts +19 -0
  172. package/dist/types/components/DataTable/vendor/index.d.ts +3 -0
  173. package/dist/types/components/DataTable/virtual/useVirtualLines.d.ts +27 -0
  174. package/dist/types/components/DatePicker/Calendar.d.ts +14 -0
  175. package/dist/types/components/DatePicker/DatePicker.d.ts +5 -0
  176. package/dist/types/components/DatePicker/TimeField.d.ts +16 -0
  177. package/dist/types/components/DatePicker/index.d.ts +4 -0
  178. package/dist/types/components/DatePicker/useOneMonthPane.d.ts +2 -0
  179. package/dist/types/components/Dialog/Dialog.d.ts +56 -0
  180. package/dist/types/components/Dialog/DialogHost.d.ts +44 -0
  181. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +49 -0
  182. package/dist/types/{shared-web-ui/src → components}/EditableTable/EditableTable.d.ts +1 -6
  183. package/dist/types/{shared-web-ui/src → components}/EditableTable/EditableTableActions.d.ts +1 -1
  184. package/dist/types/{shared-web-ui/src → components}/EditableTable/EditableTableCell.d.ts +2 -20
  185. package/dist/types/components/EditableTable/EditableTableRow.d.ts +14 -0
  186. package/dist/types/components/EditableTable/EditableTableSummary.d.ts +11 -0
  187. package/dist/types/{shared-web-ui/src → components}/EditableTable/index.d.ts +1 -1
  188. package/dist/types/{shared-web-ui/src → components}/EditableTable/useEditableTable.d.ts +3 -3
  189. package/dist/types/components/EditableTable/useRowAnimation.d.ts +12 -0
  190. package/dist/types/components/FieldContext/FieldContext.d.ts +3 -0
  191. package/dist/types/components/FieldContext/FieldProvider.d.ts +4 -0
  192. package/dist/types/{shared-web-ui/src → components}/FieldContext/index.d.ts +1 -1
  193. package/dist/types/{shared-web-ui/src → components}/FieldContext/useField.d.ts +2 -29
  194. package/dist/types/components/FieldContext/useFieldSurface.d.ts +34 -0
  195. package/dist/types/{shared-web-ui/src → components}/FieldContext/useFormKeyboard.d.ts +1 -4
  196. package/dist/types/{shared-web-ui/src → components}/FieldWrapper/FieldWrapper.d.ts +1 -1
  197. package/dist/types/{shared-web-ui/src → components}/FieldWrapper/index.d.ts +1 -1
  198. package/dist/types/{shared-web-ui/src → components}/Fields/Field.d.ts +1 -1
  199. package/dist/types/components/Fields/FieldButton.d.ts +17 -0
  200. package/dist/types/{shared-web-ui/src → components}/Fields/Fields.d.ts +1 -1
  201. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldBlur.d.ts +1 -1
  202. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldChange.d.ts +1 -1
  203. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldCondition.d.ts +1 -1
  204. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldDisabled.d.ts +1 -1
  205. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldRender.d.ts +1 -1
  206. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldSelect.d.ts +1 -1
  207. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldValidation.d.ts +1 -1
  208. package/dist/types/{shared-web-ui/src → components}/Fields/hooks/useFieldValue.d.ts +1 -1
  209. package/dist/types/{shared-web-ui/src → components}/Fields/index.d.ts +1 -1
  210. package/dist/types/components/Floating/index.d.ts +3 -0
  211. package/dist/types/components/Floating/layers.d.ts +4 -0
  212. package/dist/types/components/Floating/scrollLock.d.ts +2 -0
  213. package/dist/types/components/Floating/useFloatingLayer.d.ts +20 -0
  214. package/dist/types/{shared-web-ui/src → components}/Form/Form.d.ts +1 -1
  215. package/dist/types/{shared-web-ui/src → components}/Form/index.d.ts +1 -1
  216. package/dist/types/components/Image/ImagePicker.d.ts +23 -0
  217. package/dist/types/components/Image/ImageStrip.d.ts +13 -0
  218. package/dist/types/components/Image/ImageViewer.d.ts +16 -0
  219. package/dist/types/components/Image/index.d.ts +8 -0
  220. package/dist/types/components/Image/prepareImage.d.ts +19 -0
  221. package/dist/types/{shared-web-ui/src → components}/Input/Input.d.ts +1 -1
  222. package/dist/types/{shared-web-ui/src → components}/Input/index.d.ts +1 -1
  223. package/dist/types/components/Popover/Popover.d.ts +25 -0
  224. package/dist/types/components/Popover/floatingPosition.d.ts +17 -0
  225. package/dist/types/components/Press/index.d.ts +2 -0
  226. package/dist/types/components/Press/usePress.d.ts +9 -0
  227. package/dist/types/{shared-web-ui/src → components}/Radio/Radio.d.ts +1 -1
  228. package/dist/types/{shared-web-ui/src → components}/Radio/RadioGroup.d.ts +1 -1
  229. package/dist/types/{shared-web-ui/src → components}/Radio/RadioGroupContext.d.ts +1 -1
  230. package/dist/types/{shared-web-ui/src → components}/Radio/index.d.ts +1 -1
  231. package/dist/types/components/Scroll/ScrollRule.d.ts +2 -0
  232. package/dist/types/components/Scroll/ScrollStrip.d.ts +9 -0
  233. package/dist/types/components/Scroll/index.d.ts +4 -0
  234. package/dist/types/components/Scroll/labels.d.ts +5 -0
  235. package/dist/types/components/Scroll/scrollActivity.d.ts +14 -0
  236. package/dist/types/components/Scroll/ui.d.ts +1 -0
  237. package/dist/types/{shared-web-ui/src → components}/Select/Select.d.ts +1 -1
  238. package/dist/types/{shared-web-ui/src → components}/Select/index.d.ts +1 -1
  239. package/dist/types/components/Select/useSelect.d.ts +2 -0
  240. package/dist/types/components/Sidebar/Sidebar.d.ts +24 -0
  241. package/dist/types/components/Skeleton/Skeleton.d.ts +18 -0
  242. package/dist/types/components/Stepper/Stepper.d.ts +17 -0
  243. package/dist/types/components/Stepper/index.d.ts +2 -0
  244. package/dist/types/{shared-web-ui/src → components}/Suggest/Suggest.d.ts +1 -1
  245. package/dist/types/{shared-web-ui/src → components}/Suggest/SuggestionList.d.ts +1 -1
  246. package/dist/types/{shared-web-ui/src → components}/Suggest/index.d.ts +2 -2
  247. package/dist/types/{shared-web-ui/src → components}/Suggest/searchFilters.d.ts +1 -1
  248. package/dist/types/{shared-web-ui/src → components}/Suggest/useSuggest.d.ts +1 -1
  249. package/dist/types/{shared-web-ui/src → components}/Switch/Switch.d.ts +1 -1
  250. package/dist/types/{shared-web-ui/src → components}/Switch/index.d.ts +1 -1
  251. package/dist/types/components/Tabs/Tabs.d.ts +36 -0
  252. package/dist/types/components/Toast/ToastHost.d.ts +8 -0
  253. package/dist/types/components/Toast/ToastItem.d.ts +10 -0
  254. package/dist/types/{shared-web-ui/src → components}/Toast/toast.types.d.ts +0 -13
  255. package/dist/types/components/Tooltip/Tooltip.d.ts +9 -0
  256. package/dist/types/components/Tooltip/useTooltip.d.ts +15 -0
  257. package/dist/types/{shared-web-ui/src → components}/Typography/Typography.d.ts +1 -1
  258. package/dist/types/{shared-web-ui/src → components}/Typography/index.d.ts +1 -1
  259. package/dist/types/components/UIProvider/UIPortalContext.d.ts +2 -0
  260. package/dist/types/components/UIProvider/UIProvider.d.ts +13 -0
  261. package/dist/types/components/UIProvider/UIThemeContext.d.ts +9 -0
  262. package/dist/types/core/hooks/index.d.ts +3 -0
  263. package/dist/types/core/hooks/useDebounced.d.ts +7 -0
  264. package/dist/types/core/hooks/usePresence.d.ts +5 -0
  265. package/dist/types/{shared-logic/src/ui → core/logic}/button.logic.d.ts +1 -1
  266. package/dist/types/core/logic/cellRules.logic.d.ts +32 -0
  267. package/dist/types/{shared-logic/src/ui → core/logic}/chipinput.logic.d.ts +1 -13
  268. package/dist/types/{shared-logic/src/ui → core/logic}/collapsible.logic.d.ts +1 -8
  269. package/dist/types/{shared-logic/src/ui → core/logic}/colorScheme.d.ts +0 -14
  270. package/dist/types/core/logic/columnOrder.logic.d.ts +1 -0
  271. package/dist/types/core/logic/datePicker.logic.d.ts +136 -0
  272. package/dist/types/core/logic/displayOrder.logic.d.ts +4 -0
  273. package/dist/types/{shared-logic/src/ui → core/logic}/editableTable.logic.d.ts +5 -28
  274. package/dist/types/core/logic/fieldControl.logic.d.ts +12 -0
  275. package/dist/types/{shared-logic/src/ui → core/logic}/fieldWrapper.logic.d.ts +1 -1
  276. package/dist/types/{shared-logic/src/ui → core/logic}/fields.logic.d.ts +1 -1
  277. package/dist/types/{shared-logic/src/ui → core/logic}/form.logic.d.ts +0 -8
  278. package/dist/types/core/logic/index.d.ts +33 -0
  279. package/dist/types/core/logic/keyboard.logic.d.ts +12 -0
  280. package/dist/types/core/logic/motion.logic.d.ts +1 -0
  281. package/dist/types/core/logic/navigation.logic.d.ts +6 -0
  282. package/dist/types/core/logic/popover.logic.d.ts +59 -0
  283. package/dist/types/core/logic/popupList.logic.d.ts +19 -0
  284. package/dist/types/core/logic/press.logic.d.ts +14 -0
  285. package/dist/types/core/logic/quickAddGrid.logic.d.ts +183 -0
  286. package/dist/types/core/logic/select.logic.d.ts +17 -0
  287. package/dist/types/core/logic/stepper.logic.d.ts +6 -0
  288. package/dist/types/{shared-logic/src/ui → core/logic}/suggest.logic.d.ts +1 -1
  289. package/dist/types/core/logic/tableLayout.logic.d.ts +13 -0
  290. package/dist/types/{shared-logic/src/ui → core/logic}/tableSummary.logic.d.ts +1 -20
  291. package/dist/types/core/logic/timeField.logic.d.ts +26 -0
  292. package/dist/types/core/logic/tooltip.logic.d.ts +11 -0
  293. package/dist/types/{shared-logic/src/ui → core/logic}/typography.logic.d.ts +1 -1
  294. package/dist/types/core/logic/uiScale.logic.d.ts +1 -0
  295. package/dist/types/core/logic/useMergeRefs.d.ts +2 -0
  296. package/dist/types/{shared-types/src/ui → core/types}/button.types.d.ts +1 -11
  297. package/dist/types/{shared-types/src/ui → core/types}/checkbox.types.d.ts +0 -4
  298. package/dist/types/{shared-types/src/ui → core/types}/chipinput.types.d.ts +0 -10
  299. package/dist/types/{shared-types/src/ui → core/types}/collapsible.types.d.ts +0 -18
  300. package/dist/types/core/types/common.types.d.ts +3 -0
  301. package/dist/types/core/types/control.types.d.ts +36 -0
  302. package/dist/types/core/types/datePicker.types.d.ts +46 -0
  303. package/dist/types/{shared-types/src/ui → core/types}/editableTable.types.d.ts +0 -79
  304. package/dist/types/core/types/field.types.d.ts +80 -0
  305. package/dist/types/{shared-types/src/ui → core/types}/fieldWrapper.types.d.ts +0 -10
  306. package/dist/types/{shared-types/src/ui → core/types}/fields.types.d.ts +0 -45
  307. package/dist/types/{shared-types/src/ui → core/types}/form.types.d.ts +0 -30
  308. package/dist/types/core/types/index.d.ts +22 -0
  309. package/dist/types/{shared-types/src/ui → core/types}/input.types.d.ts +0 -4
  310. package/dist/types/core/types/keyboard.types.d.ts +48 -0
  311. package/dist/types/core/types/navigation.types.d.ts +13 -0
  312. package/dist/types/{shared-types/src/ui → core/types}/radio.types.d.ts +0 -6
  313. package/dist/types/{shared-types/src/ui → core/types}/select.types.d.ts +0 -41
  314. package/dist/types/{shared-types/src/ui → core/types}/suggest.types.d.ts +1 -10
  315. package/dist/types/{shared-types/src/ui → core/types}/switch.types.d.ts +0 -4
  316. package/dist/types/{shared-types/src/ui → core/types}/table.types.d.ts +0 -59
  317. package/dist/types/core/types/tooltip.types.d.ts +43 -0
  318. package/dist/types/{shared-types/src/ui → core/types}/typography.types.d.ts +0 -4
  319. package/dist/types/index.d.ts +86 -0
  320. package/package.json +27 -26
  321. package/dist/types/published/dcs-ui/src/index.d.ts +0 -32
  322. package/dist/types/published/dcs-ui/src/publicLogic.d.ts +0 -35
  323. package/dist/types/published/dcs-ui/src/publicTypes.d.ts +0 -14
  324. package/dist/types/shared-logic/src/report/aggregate.d.ts +0 -29
  325. package/dist/types/shared-logic/src/report/canvas.d.ts +0 -106
  326. package/dist/types/shared-logic/src/report/conditions.d.ts +0 -18
  327. package/dist/types/shared-logic/src/report/constants.d.ts +0 -46
  328. package/dist/types/shared-logic/src/report/dataset.d.ts +0 -49
  329. package/dist/types/shared-logic/src/report/edit.d.ts +0 -188
  330. package/dist/types/shared-logic/src/report/fields.d.ts +0 -80
  331. package/dist/types/shared-logic/src/report/format.d.ts +0 -27
  332. package/dist/types/shared-logic/src/report/fromColumns.d.ts +0 -61
  333. package/dist/types/shared-logic/src/report/index.d.ts +0 -19
  334. package/dist/types/shared-logic/src/report/layout.d.ts +0 -85
  335. package/dist/types/shared-logic/src/report/metrics.d.ts +0 -62
  336. package/dist/types/shared-logic/src/report/migrate.d.ts +0 -77
  337. package/dist/types/shared-logic/src/report/paginate.d.ts +0 -40
  338. package/dist/types/shared-logic/src/report/renderers/html.d.ts +0 -29
  339. package/dist/types/shared-logic/src/report/renderers/pdfmake.d.ts +0 -45
  340. package/dist/types/shared-logic/src/report/resolve.d.ts +0 -40
  341. package/dist/types/shared-logic/src/report/scope.d.ts +0 -52
  342. package/dist/types/shared-logic/src/report/storage.d.ts +0 -112
  343. package/dist/types/shared-logic/src/report/validate.d.ts +0 -28
  344. package/dist/types/shared-logic/src/ui/cellRules.logic.d.ts +0 -67
  345. package/dist/types/shared-logic/src/ui/columnOrder.logic.d.ts +0 -12
  346. package/dist/types/shared-logic/src/ui/fieldControl.logic.d.ts +0 -24
  347. package/dist/types/shared-logic/src/ui/index.d.ts +0 -55
  348. package/dist/types/shared-logic/src/ui/keyboard.logic.d.ts +0 -72
  349. package/dist/types/shared-logic/src/ui/navigation.logic.d.ts +0 -30
  350. package/dist/types/shared-logic/src/ui/popover.logic.d.ts +0 -57
  351. package/dist/types/shared-logic/src/ui/popupList.logic.d.ts +0 -54
  352. package/dist/types/shared-logic/src/ui/select.logic.d.ts +0 -31
  353. package/dist/types/shared-logic/src/ui/tableLayout.logic.d.ts +0 -47
  354. package/dist/types/shared-logic/src/ui/tooltip.logic.d.ts +0 -35
  355. package/dist/types/shared-logic/src/ui/useMergeRefs.d.ts +0 -10
  356. package/dist/types/shared-types/src/report/bands.d.ts +0 -32
  357. package/dist/types/shared-types/src/report/blocks.d.ts +0 -181
  358. package/dist/types/shared-types/src/report/conditions.d.ts +0 -24
  359. package/dist/types/shared-types/src/report/dataset.d.ts +0 -106
  360. package/dist/types/shared-types/src/report/document.d.ts +0 -201
  361. package/dist/types/shared-types/src/report/index.d.ts +0 -9
  362. package/dist/types/shared-types/src/report/primitives.d.ts +0 -109
  363. package/dist/types/shared-types/src/report/registry.d.ts +0 -85
  364. package/dist/types/shared-types/src/report/storage.d.ts +0 -41
  365. package/dist/types/shared-types/src/report/template.d.ts +0 -92
  366. package/dist/types/shared-types/src/ui/common.types.d.ts +0 -14
  367. package/dist/types/shared-types/src/ui/control.types.d.ts +0 -133
  368. package/dist/types/shared-types/src/ui/field.types.d.ts +0 -200
  369. package/dist/types/shared-types/src/ui/index.d.ts +0 -37
  370. package/dist/types/shared-types/src/ui/keyboard.types.d.ts +0 -155
  371. package/dist/types/shared-types/src/ui/navigation.types.d.ts +0 -35
  372. package/dist/types/shared-types/src/ui/tooltip.types.d.ts +0 -68
  373. package/dist/types/shared-web-ui/src/AppBar/AppBar.d.ts +0 -25
  374. package/dist/types/shared-web-ui/src/ArrowKeyFocus/useArrowKeyFocus.d.ts +0 -29
  375. package/dist/types/shared-web-ui/src/Avatar/Avatar.d.ts +0 -36
  376. package/dist/types/shared-web-ui/src/Breadcrumbs/Breadcrumbs.d.ts +0 -70
  377. package/dist/types/shared-web-ui/src/Card/Card.d.ts +0 -33
  378. package/dist/types/shared-web-ui/src/ColorSchemeSelect/ColorSchemeSelect.d.ts +0 -26
  379. package/dist/types/shared-web-ui/src/CommandPalette/CommandPalette.d.ts +0 -52
  380. package/dist/types/shared-web-ui/src/Dialog/Dialog.d.ts +0 -101
  381. package/dist/types/shared-web-ui/src/Dialog/DialogHost.d.ts +0 -80
  382. package/dist/types/shared-web-ui/src/DropdownMenu/DropdownMenu.d.ts +0 -49
  383. package/dist/types/shared-web-ui/src/EditableTable/EditableTableRow.d.ts +0 -25
  384. package/dist/types/shared-web-ui/src/EditableTable/EditableTableSummary.d.ts +0 -22
  385. package/dist/types/shared-web-ui/src/EditableTable/useRowAnimation.d.ts +0 -44
  386. package/dist/types/shared-web-ui/src/FieldContext/FieldContext.d.ts +0 -18
  387. package/dist/types/shared-web-ui/src/FieldContext/FieldProvider.d.ts +0 -13
  388. package/dist/types/shared-web-ui/src/FieldContext/useFieldSurface.d.ts +0 -57
  389. package/dist/types/shared-web-ui/src/Fields/FieldButton.d.ts +0 -32
  390. package/dist/types/shared-web-ui/src/Popover/Popover.d.ts +0 -44
  391. package/dist/types/shared-web-ui/src/ReportDesigner/AlignedRowsEditor.d.ts +0 -4
  392. package/dist/types/shared-web-ui/src/ReportDesigner/BandList.d.ts +0 -26
  393. package/dist/types/shared-web-ui/src/ReportDesigner/BlockEditor.d.ts +0 -44
  394. package/dist/types/shared-web-ui/src/ReportDesigner/ColumnEditor.d.ts +0 -2
  395. package/dist/types/shared-web-ui/src/ReportDesigner/ConditionEditor.d.ts +0 -7
  396. package/dist/types/shared-web-ui/src/ReportDesigner/FieldPicker.d.ts +0 -25
  397. package/dist/types/shared-web-ui/src/ReportDesigner/FieldSelect.d.ts +0 -2
  398. package/dist/types/shared-web-ui/src/ReportDesigner/FormatEditor.d.ts +0 -2
  399. package/dist/types/shared-web-ui/src/ReportDesigner/Inspector.d.ts +0 -14
  400. package/dist/types/shared-web-ui/src/ReportDesigner/OptionsEditor.d.ts +0 -2
  401. package/dist/types/shared-web-ui/src/ReportDesigner/ReportDesigner.d.ts +0 -34
  402. package/dist/types/shared-web-ui/src/ReportDesigner/StyleEditor.d.ts +0 -2
  403. package/dist/types/shared-web-ui/src/ReportDesigner/TableEditor.d.ts +0 -10
  404. package/dist/types/shared-web-ui/src/ReportDesigner/WatermarkEditor.d.ts +0 -2
  405. package/dist/types/shared-web-ui/src/ReportDesigner/chipSources.d.ts +0 -6
  406. package/dist/types/shared-web-ui/src/ReportDesigner/icons.d.ts +0 -21
  407. package/dist/types/shared-web-ui/src/ReportDesigner/index.d.ts +0 -16
  408. package/dist/types/shared-web-ui/src/ReportDesigner/labels.d.ts +0 -34
  409. package/dist/types/shared-web-ui/src/ReportDesigner/parts.d.ts +0 -63
  410. package/dist/types/shared-web-ui/src/ReportDesigner/types.d.ts +0 -106
  411. package/dist/types/shared-web-ui/src/ReportPreview/ReportPreview.d.ts +0 -44
  412. package/dist/types/shared-web-ui/src/ReportPreview/index.d.ts +0 -1
  413. package/dist/types/shared-web-ui/src/Select/useSelect.d.ts +0 -2
  414. package/dist/types/shared-web-ui/src/Sidebar/Sidebar.d.ts +0 -55
  415. package/dist/types/shared-web-ui/src/Skeleton/Skeleton.d.ts +0 -33
  416. package/dist/types/shared-web-ui/src/Tabs/Tabs.d.ts +0 -79
  417. package/dist/types/shared-web-ui/src/Toast/ToastHost.d.ts +0 -22
  418. package/dist/types/shared-web-ui/src/Toast/ToastItem.d.ts +0 -19
  419. package/dist/types/shared-web-ui/src/Tooltip/Tooltip.d.ts +0 -25
  420. package/dist/types/shared-web-ui/src/Tooltip/useTooltip.d.ts +0 -24
  421. package/dist/types/shared-web-ui/src/UIProvider/UIPortalContext.d.ts +0 -16
  422. package/dist/types/shared-web-ui/src/UIProvider/UIProvider.d.ts +0 -54
  423. package/dist/types/shared-web-ui/src/UIProvider/UIThemeContext.d.ts +0 -17
  424. package/dist/types/shared-web-ui/src/index.d.ts +0 -78
  425. /package/dist/types/{shared-web-ui/src → components}/AppBar/index.d.ts +0 -0
  426. /package/dist/types/{shared-web-ui/src → components}/Avatar/index.d.ts +0 -0
  427. /package/dist/types/{shared-web-ui/src → components}/Badge/index.d.ts +0 -0
  428. /package/dist/types/{shared-web-ui/src → components}/Breadcrumbs/index.d.ts +0 -0
  429. /package/dist/types/{shared-web-ui/src → components}/Card/index.d.ts +0 -0
  430. /package/dist/types/{shared-web-ui/src → components}/ColorSchemeSelect/index.d.ts +0 -0
  431. /package/dist/types/{shared-web-ui/src → components}/CommandPalette/index.d.ts +0 -0
  432. /package/dist/types/{shared-web-ui/src → components}/Dialog/index.d.ts +0 -0
  433. /package/dist/types/{shared-web-ui/src → components}/DropdownMenu/index.d.ts +0 -0
  434. /package/dist/types/{shared-web-ui/src → components}/Popover/index.d.ts +0 -0
  435. /package/dist/types/{shared-web-ui/src → components}/Sidebar/index.d.ts +0 -0
  436. /package/dist/types/{shared-web-ui/src → components}/Skeleton/index.d.ts +0 -0
  437. /package/dist/types/{shared-web-ui/src → components}/Suggest/fuseSearch.d.ts +0 -0
  438. /package/dist/types/{shared-web-ui/src → components}/Tabs/index.d.ts +0 -0
  439. /package/dist/types/{shared-web-ui/src → components}/Toast/index.d.ts +0 -0
  440. /package/dist/types/{shared-web-ui/src → components}/Tooltip/index.d.ts +0 -0
  441. /package/dist/types/{shared-web-ui/src → components}/UIProvider/index.d.ts +0 -0
  442. /package/dist/types/{shared-logic/src/ui → core/logic}/checkbox.logic.d.ts +0 -0
  443. /package/dist/types/{shared-logic/src/ui → core/logic}/input.logic.d.ts +0 -0
  444. /package/dist/types/{shared-logic/src/ui → core/logic}/radio.logic.d.ts +0 -0
  445. /package/dist/types/{shared-logic/src/ui → core/logic}/switch.logic.d.ts +0 -0
@@ -0,0 +1,890 @@
1
+ "use client";
2
+ import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, u as p } from "./exportContext-CdpsOzE8.js";
3
+ import m from "exceljs";
4
+ // src/components/DataTable/export/exportEngine.ts
5
+ var h = (e) => JSON.stringify(e).replace(/</g, "\\u003c");
6
+ function g(e = "", t = {}, n) {
7
+ let r = e && n ? n(String(e)) : void 0;
8
+ return r ? {
9
+ text: e,
10
+ font: r,
11
+ ...t
12
+ } : {
13
+ text: e,
14
+ ...t
15
+ };
16
+ }
17
+ function _(e, t) {
18
+ return t.map((t) => {
19
+ let n = e.find((e) => (e.exportHeader || e.header) === t);
20
+ if (!n) return { header: t };
21
+ let r = { header: t };
22
+ return n.type && (r.type = n.type), n.align ? r.align = n.align : r.type === "number" && (r.align = "right"), n.width && (r.width = n.width), r.type === "number" ? r.format = "number" : r.type === "date" && (r.format = "date"), n.cellStyle && (r.cellStyle = n.cellStyle), r;
23
+ });
24
+ }
25
+ function v(e, t, n, r, i) {
26
+ if (!n && !r) return null;
27
+ let a = /* @__PURE__ */ new Set();
28
+ if (n && r) for (let e of n) {
29
+ let t = r.find((t) => ("key" in t ? t.key : "") === e);
30
+ t && a.add("exportHeader" in t && t.exportHeader || t.header);
31
+ }
32
+ else if (r) for (let e of r) "summable" in e && e.summable && a.add("exportHeader" in e && e.exportHeader || e.header);
33
+ if (a.size === 0) return null;
34
+ let o = {};
35
+ for (let n = 0; n < t.length; n++) {
36
+ let r = t[n];
37
+ o[r] = a.has(r) ? e.reduce((e, t) => {
38
+ let n = Number(t[r]);
39
+ return e + (isNaN(n) ? 0 : n);
40
+ }, 0) : n === 0 ? i.total : "";
41
+ }
42
+ return o;
43
+ }
44
+ function y(e, t, n, r, i, o) {
45
+ let s = (e) => {
46
+ if (e == null) return "";
47
+ let t = String(e);
48
+ return t.includes(",") || t.includes("\"") || t.includes("\n") ? `"${t.replace(/"/g, "\"\"")}"` : t;
49
+ }, c = [];
50
+ if (i) {
51
+ let e = d(i);
52
+ for (let [t, n] of e) c.push(`${s(t)},${s(n)}`);
53
+ o && c.push(s(o)), c.push("");
54
+ } else o && (c.push(s(o)), c.push(""));
55
+ if (c.push(e.map(s).join(","), ...t.map((t) => e.map((e) => s(t[e])).join(","))), n && c.push(e.map((e) => s(n[e])).join(",")), r && Object.keys(r.items).length > 0) {
56
+ c.push(""), c.push(s(a(i).exportSummaryLabel));
57
+ for (let [e, t] of Object.entries(r.items)) c.push(`${s(e)},${s(t)}`);
58
+ }
59
+ for (let e of r?.tables ?? []) {
60
+ c.push(""), c.push(s(e.title)), c.push(e.header.map(s).join(","));
61
+ for (let t of e.rows) c.push(`${s(t.label)},${s(t.count)}`);
62
+ }
63
+ return new Blob(["" + c.join("\n")], { type: "text/csv;charset=utf-8;" });
64
+ }
65
+ function b(e) {
66
+ if (e) switch (e.format) {
67
+ case "currency": return "#,##0.00";
68
+ case "number": return "#,##0";
69
+ case "percentage": return "0.00%";
70
+ case "date": return "DD/MM/YYYY";
71
+ default: return;
72
+ }
73
+ }
74
+ async function x(t, n, r) {
75
+ let { totals: i, summary: o, style: s, sheetName: l, columnMeta: u, cellStyles: d, metadata: f, subtitle: p } = r || {}, h = new m.Workbook(), g = h.addWorksheet(l || "Sheet1"), _ = 0;
76
+ if (f) {
77
+ if (f.businessName) {
78
+ let e = g.addRow([f.businessName]);
79
+ e.getCell(1).font = {
80
+ bold: !0,
81
+ size: 14
82
+ }, t.length > 1 && g.mergeCells(1, 1, 1, t.length), _++;
83
+ }
84
+ let n = [];
85
+ if (f.businessAddress && n.push(f.businessAddress), f.businessPhone && n.push(f.businessPhone), n.length > 0) {
86
+ let e = g.addRow([n.join(" | ")]);
87
+ e.getCell(1).font = {
88
+ size: 10,
89
+ color: { argb: "FF666666" }
90
+ }, t.length > 1 && g.mergeCells(_ + 1, 1, _ + 1, t.length), _++;
91
+ }
92
+ if (f.taxNumber) {
93
+ let n = g.addRow([`${e(f)}: ${f.taxNumber}`]);
94
+ n.getCell(1).font = { size: 10 }, t.length > 1 && g.mergeCells(_ + 1, 1, _ + 1, t.length), _++;
95
+ }
96
+ if (p) {
97
+ let e = g.addRow([p]);
98
+ e.getCell(1).font = {
99
+ size: 10,
100
+ italic: !0,
101
+ color: { argb: "FF555555" }
102
+ }, t.length > 1 && g.mergeCells(_ + 1, 1, _ + 1, t.length), _++;
103
+ }
104
+ let r = c(f);
105
+ if (r) {
106
+ let e = g.addRow([r]);
107
+ e.getCell(1).font = {
108
+ size: 9,
109
+ italic: !0
110
+ }, t.length > 1 && g.mergeCells(_ + 1, 1, _ + 1, t.length), _++;
111
+ }
112
+ g.addRow([]), _++;
113
+ } else if (p) {
114
+ let e = 0, n = g.addRow([p]);
115
+ n.getCell(1).font = {
116
+ size: 10,
117
+ italic: !0,
118
+ color: { argb: "FF555555" }
119
+ }, t.length > 1 && g.mergeCells(1, 1, 1, t.length), e++, g.addRow([]), e++, _ += e;
120
+ }
121
+ let v = _ + 1, y = s?.headerStyle?.fill || "#1a73e8", x = s?.headerStyle?.fontColor || "#FFFFFF", S = s?.headerStyle?.bold !== !1;
122
+ if (g.columns = t.map((e, t) => {
123
+ let r = u?.[t], i = s?.columnStyles?.[e]?.width || r?.width;
124
+ if (!i) {
125
+ let t = Math.max(e.length, ...n.slice(0, 50).map((t) => String(t[e] ?? "").length));
126
+ i = Math.min(Math.max(t + 2, 10), 40);
127
+ }
128
+ return _ > 0 ? {
129
+ key: e,
130
+ width: i
131
+ } : {
132
+ header: e,
133
+ key: e,
134
+ width: i
135
+ };
136
+ }), _ > 0 && g.addRow(t), g.getRow(v).eachCell((e, n) => {
137
+ let r = u?.[n - 1], i = s?.columnStyles?.[t[n - 1]]?.align;
138
+ e.font = {
139
+ bold: S,
140
+ color: { argb: x.replace("#", "FF") },
141
+ size: s?.headerStyle?.fontSize || 11
142
+ }, e.fill = {
143
+ type: "pattern",
144
+ pattern: "solid",
145
+ fgColor: { argb: y.replace("#", "FF") }
146
+ }, e.alignment = {
147
+ horizontal: i || r?.align || "left",
148
+ vertical: "middle"
149
+ }, e.border = { bottom: {
150
+ style: "thin",
151
+ color: { argb: "FF999999" }
152
+ } };
153
+ }), g.views = [{
154
+ state: "frozen",
155
+ ySplit: s?.freezeRows ?? v,
156
+ xSplit: s?.freezeCols || 0
157
+ }], n.forEach((e, n) => {
158
+ let r = g.addRow(t.map((t) => e[t] ?? "")), i = n % 2 == 1;
159
+ r.eachCell((e, r) => {
160
+ let a = u?.[r - 1], o = t[r - 1], c = s?.columnStyles?.[o], l = d?.[n]?.[o], f = l?.align || c?.align || a?.align;
161
+ f && (e.alignment = {
162
+ horizontal: f,
163
+ vertical: "middle"
164
+ });
165
+ let p = c?.numFmt || b(a);
166
+ p && typeof e.value == "number" && (e.numFmt = p);
167
+ let m = {};
168
+ (c?.bold || l?.fontWeight === "bold") && (m.bold = !0), l?.color && (m.color = { argb: "FF" + l.color.replace("#", "") }), l?.fontSize && (m.size = l.fontSize), Object.keys(m).length > 0 && (e.font = m), l?.backgroundColor ? e.fill = {
169
+ type: "pattern",
170
+ pattern: "solid",
171
+ fgColor: { argb: "FF" + l.backgroundColor.replace("#", "") }
172
+ } : i && (e.fill = {
173
+ type: "pattern",
174
+ pattern: "solid",
175
+ fgColor: { argb: "FFF8F9FA" }
176
+ });
177
+ });
178
+ }), i) {
179
+ let e = t.map((e) => i[e] ?? ""), n = g.addRow(e), r = s?.totalsStyle?.fill || "#e8e8e8", a = s?.totalsStyle?.bold !== !1, o = s?.totalsStyle?.border || "thin";
180
+ n.eachCell((e, n) => {
181
+ let c = u?.[n - 1], l = t[n - 1], d = s?.columnStyles?.[l], f = c?.cellStyle?.(i[l], {}), p = f?.align || d?.align || c?.align, m = { bold: a };
182
+ f?.color && (m.color = { argb: "FF" + f.color.replace("#", "") }), f?.fontSize && (m.size = f.fontSize), e.font = m, e.fill = f?.backgroundColor ? {
183
+ type: "pattern",
184
+ pattern: "solid",
185
+ fgColor: { argb: "FF" + f.backgroundColor.replace("#", "") }
186
+ } : {
187
+ type: "pattern",
188
+ pattern: "solid",
189
+ fgColor: { argb: r.replace("#", "FF") }
190
+ }, e.border = { top: {
191
+ style: o,
192
+ color: { argb: "FF333333" }
193
+ } }, p && (e.alignment = {
194
+ horizontal: p,
195
+ vertical: "middle"
196
+ });
197
+ let h = d?.numFmt || b(c);
198
+ h && typeof e.value == "number" && (e.numFmt = h);
199
+ });
200
+ }
201
+ if (s?.autoFilter !== !1 && n.length > 0 && (g.autoFilter = {
202
+ from: {
203
+ row: v,
204
+ column: 1
205
+ },
206
+ to: {
207
+ row: v,
208
+ column: t.length
209
+ }
210
+ }), o && Object.keys(o.items).length > 0) {
211
+ g.addRow([]);
212
+ let e = g.addRow([a(f).exportSummaryLabel]);
213
+ e.getCell(1).font = {
214
+ bold: !0,
215
+ size: 12
216
+ };
217
+ for (let [e, t] of Object.entries(o.items)) {
218
+ let n = g.addRow([e, t]);
219
+ n.getCell(1).font = { bold: !0 }, typeof t == "number" && (n.getCell(2).numFmt = "#,##0.00");
220
+ }
221
+ }
222
+ for (let e of o?.tables ?? []) {
223
+ g.addRow([]), g.addRow([e.title]).getCell(1).font = {
224
+ bold: !0,
225
+ size: 12
226
+ };
227
+ let t = g.addRow(e.header);
228
+ t.font = { bold: !0 }, t.eachCell((e) => {
229
+ e.border = { bottom: { style: "thin" } };
230
+ });
231
+ for (let t of e.rows) g.addRow([t.label, t.count]).getCell(2).numFmt = "#,##0";
232
+ }
233
+ let C = await h.xlsx.writeBuffer();
234
+ return new Blob([C], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
235
+ }
236
+ function S(t, n, r, i) {
237
+ let a = n ? {
238
+ ...n.items,
239
+ ...n.tables?.length ? { tables: n.tables.map((e) => ({
240
+ title: e.title,
241
+ header: e.header,
242
+ rows: e.rows
243
+ })) } : {}
244
+ } : void 0;
245
+ if (r) {
246
+ let n = { exportedAt: (/* @__PURE__ */ new Date()).toISOString() };
247
+ i && (n.subtitle = i), r.businessName && (n.businessName = r.businessName), r.businessAddress && (n.businessAddress = r.businessAddress), r.businessPhone && (n.businessPhone = r.businessPhone), r.taxNumber && (n[e(r)] = r.taxNumber), r.searchTerm && (n.search = r.searchTerm), r.filters && r.filters.length > 0 && (n.filters = r.filters), n.rows = {
248
+ total: r.totalRows,
249
+ filtered: r.filteredRows,
250
+ exported: r.resultRows,
251
+ selected: r.selectedRows
252
+ };
253
+ let o = {
254
+ metadata: n,
255
+ data: t
256
+ };
257
+ return a && (o.summary = a), new Blob([JSON.stringify(o, null, 2)], { type: "application/json" });
258
+ }
259
+ let o = i ? {
260
+ subtitle: i,
261
+ data: t
262
+ } : a ? {
263
+ data: t,
264
+ summary: a
265
+ } : t;
266
+ return a && i && (o.summary = a), new Blob([JSON.stringify(o, null, 2)], { type: "application/json" });
267
+ }
268
+ function C(t, n, r) {
269
+ let { title: i, subtitle: o, totals: s, summary: l, customStyles: u, columnMeta: d, cellStyles: f, metadata: p, branding: m } = r || {}, g = a(p), _ = m ? `<footer class="export-footer">
270
+ ${D(g.exportGeneratedFrom)} <strong>${D(m.name)}</strong>${m.url ? ` &mdash; <a href="${D(m.url)}" target="_blank" rel="noopener">${D(m.url.replace(/^https?:\/\//, ""))}</a>` : ""}
271
+ </footer>` : "", v = (e) => e == null ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), y = (e) => {
272
+ let t = d?.[e];
273
+ return t?.align ? ` style="text-align:${t.align}"` : "";
274
+ }, b = (e, t, n) => {
275
+ let r = [], i = d?.[n];
276
+ i?.align && r.push(`text-align:${i.align}`);
277
+ let a = f?.[e]?.[t];
278
+ return a && (a.color && r.push(`color:${a.color}`), a.backgroundColor && r.push(`background:${a.backgroundColor}`), a.fontWeight && r.push(`font-weight:${a.fontWeight}`), a.fontSize && r.push(`font-size:${a.fontSize}px`), a.align && r.push(`text-align:${a.align}`)), r.length > 0 ? ` style="${r.join(";")}"` : i?.align ? ` style="text-align:${i.align}"` : "";
279
+ };
280
+ t.map((e, t) => `<th${y(t)}>${v(e)}</th>`).join("");
281
+ let x = n.map((e, n) => `<tr>${t.map((t, r) => `<td${b(n, t, r)}>${v(e[t])}</td>`).join("")}</tr>`).join("\n"), S = s ? `<tr class="totals">${t.map((e, t) => {
282
+ let n = d?.[t]?.cellStyle?.(s[e], {}), r = [], i = d?.[t];
283
+ return i?.align && r.push(`text-align:${i.align}`), n?.color && r.push(`color:${n.color}`), n?.backgroundColor && r.push(`background:${n.backgroundColor}`), n?.fontWeight && r.push(`font-weight:${n.fontWeight}`), n?.fontSize && r.push(`font-size:${n.fontSize}px`), n?.align && r.push(`text-align:${n.align}`), `<td${r.length > 0 ? ` style="${r.join(";")}"` : ""}>${v(s[e])}</td>`;
284
+ }).join("")}</tr>` : "", C = l && Object.keys(l.items).length > 0 ? `<h3>Summary</h3><dl>${Object.entries(l.items).map(([e, t]) => `<dt>${v(e)}</dt><dd>${v(t)}</dd>`).join("")}</dl>` : "", w = (l?.tables ?? []).map((e) => `<div class="summary-group"><h4>${v(e.title)}</h4><table class="summary-table"><thead><tr><th>${v(e.header[0])}</th><th class="num">${v(e.header[1])}</th></tr></thead><tbody>${e.rows.map((e) => `<tr><td>${v(e.label)}</td><td class="num">${v(e.count)}</td></tr>`).join("")}</tbody></table></div>`).join(""), T = C || w ? `<div class="summary">${C}${w}</div>` : "", E = (/* @__PURE__ */ new Date()).toLocaleDateString(p?.locale || "en-IN", {
285
+ day: "2-digit",
286
+ month: "2-digit",
287
+ year: "numeric"
288
+ }), O = `<!DOCTYPE html>
289
+ <html lang="${v((p?.locale || "en").split("-")[0])}" data-theme="system">
290
+ <head>
291
+ <meta charset="UTF-8">
292
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
293
+ <title>${v(i || g.export)}</title>
294
+ <style>
295
+ :root{--bg:#ffffff;--bg-alt:#f8f9fa;--bg-hover:#f0f4ff;--text:#1a1a1a;--text-secondary:#666;--text-muted:#888;--border:#e8e8e8;--border-strong:#333;--th-bg:#1a73e8;--th-bg-hover:#1557b0;--th-color:#fff;--input-border:#d0d0d0;--input-focus:#1a73e8;--meta-bg:#f8f9fa;--meta-border:#e8e8e8;--summary-bg:#f8f9fa;--totals-bg:#f5f5f5;--btn-bg:#1a73e8;--btn-color:#fff;--btn-hover:#1557b0;--btn-secondary-bg:#f0f0f0;--btn-secondary-color:#333;--btn-secondary-hover:#e0e0e0;--footer-bg:#f8f9fa;--footer-border:#e8e8e8}
296
+ [data-theme="dark"]{--bg:#1a1a2e;--bg-alt:#16213e;--bg-hover:#1a2745;--text:#e0e0e0;--text-secondary:#aaa;--text-muted:#888;--border:#2a2a4a;--border-strong:#555;--th-bg:#0f3460;--th-bg-hover:#1a4a7a;--th-color:#e0e0e0;--input-border:#3a3a5a;--input-focus:#4a8fe8;--meta-bg:#16213e;--meta-border:#2a2a4a;--summary-bg:#16213e;--totals-bg:#1a2745;--btn-bg:#0f3460;--btn-color:#e0e0e0;--btn-hover:#1a4a7a;--btn-secondary-bg:#2a2a4a;--btn-secondary-color:#ccc;--btn-secondary-hover:#3a3a5a;--footer-bg:#16213e;--footer-border:#2a2a4a}
297
+ @media(prefers-color-scheme:dark){[data-theme="system"]{--bg:#1a1a2e;--bg-alt:#16213e;--bg-hover:#1a2745;--text:#e0e0e0;--text-secondary:#aaa;--text-muted:#888;--border:#2a2a4a;--border-strong:#555;--th-bg:#0f3460;--th-bg-hover:#1a4a7a;--th-color:#e0e0e0;--input-border:#3a3a5a;--input-focus:#4a8fe8;--meta-bg:#16213e;--meta-border:#2a2a4a;--summary-bg:#16213e;--totals-bg:#1a2745;--btn-bg:#0f3460;--btn-color:#e0e0e0;--btn-hover:#1a4a7a;--btn-secondary-bg:#2a2a4a;--btn-secondary-color:#ccc;--btn-secondary-hover:#3a3a5a;--footer-bg:#16213e;--footer-border:#2a2a4a}}
298
+ *{box-sizing:border-box;margin:0;padding:0}
299
+ body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:24px;color:var(--text);background:var(--bg);max-width:100%;overflow-x:auto;transition:background .2s,color .2s}
300
+ h1{font-size:20px;font-weight:600;margin-bottom:4px}
301
+ .subtitle{color:var(--text-secondary);font-size:13px;margin-bottom:20px}
302
+ .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
303
+ .toolbar input{flex:1;min-width:180px;padding:8px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:13px;outline:none;background:var(--bg);color:var(--text);transition:border-color .2s}
304
+ .toolbar input:focus{border-color:var(--input-focus);box-shadow:0 0 0 2px rgba(26,115,232,.15)}
305
+ .toolbar .count{font-size:12px;color:var(--text-muted);white-space:nowrap}
306
+ .toolbar-actions{display:flex;gap:6px;align-items:center}
307
+ .btn{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:background .15s}
308
+ .btn-primary{background:var(--btn-bg);color:var(--btn-color)}
309
+ .btn-primary:hover{background:var(--btn-hover)}
310
+ .btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-color)}
311
+ .btn-secondary:hover{background:var(--btn-secondary-hover)}
312
+ .btn svg{width:14px;height:14px;fill:currentColor}
313
+ .theme-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid var(--input-border)}
314
+ .theme-toggle button{padding:5px 8px;border:none;background:var(--btn-secondary-bg);color:var(--btn-secondary-color);cursor:pointer;font-size:11px;transition:background .15s}
315
+ .theme-toggle button:hover{background:var(--btn-secondary-hover)}
316
+ .theme-toggle button.active{background:var(--btn-bg);color:var(--btn-color)}
317
+ .generated-info{font-size:12px;color:var(--text-muted);margin-bottom:12px}
318
+ .dt-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}
319
+ table{border-collapse:collapse;width:100%;font-size:13px}
320
+ th{background:var(--th-bg);color:var(--th-color);padding:10px 14px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;cursor:pointer;user-select:none;position:relative;white-space:nowrap}
321
+ th:hover{background:var(--th-bg-hover)}
322
+ th .sort-icon{margin-left:4px;font-size:10px;opacity:.6}
323
+ th.sort-asc .sort-icon::after{content:'\\25B2'}
324
+ th.sort-desc .sort-icon::after{content:'\\25BC'}
325
+ td{padding:9px 14px;border-bottom:1px solid var(--border)}
326
+ tr:nth-child(even){background:var(--bg-alt)}
327
+ tr:hover td{background:var(--bg-hover)}
328
+ .totals td{font-weight:700;border-top:2px solid var(--border-strong);background:var(--totals-bg)}
329
+ .summary{margin-top:24px;padding:16px;background:var(--summary-bg);border-radius:8px}
330
+ .summary h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text)}
331
+ .summary dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}
332
+ .summary-group{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}
333
+ .summary-group h4{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text)}
334
+ .summary-table{border-collapse:collapse;font-size:13px;min-width:240px}
335
+ .summary-table th{text-align:left;font-weight:600;color:var(--text-secondary);padding:4px 16px 4px 0;border-bottom:1px solid var(--border)}
336
+ .summary-table td{padding:4px 16px 4px 0;color:var(--text)}
337
+ .summary-table .num{text-align:right;font-variant-numeric:tabular-nums}
338
+ .summary dt{font-weight:600;font-size:13px;color:var(--text-secondary)}
339
+ .summary dd{font-size:13px;color:var(--text)}
340
+ .export-meta{margin-bottom:20px;padding:16px;background:var(--meta-bg);border-radius:8px;border:1px solid var(--meta-border)}
341
+ .export-meta h2{font-size:18px;font-weight:700;margin-bottom:6px;color:var(--text)}
342
+ .export-meta h3{color:var(--text)}
343
+ .meta-details{font-size:12px;color:var(--text-secondary);margin-bottom:6px}
344
+ .meta-details span+span::before{content:' \\00B7 '}
345
+ .meta-filters{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
346
+ .meta-rows{font-size:11px;color:var(--text-muted)}
347
+ tr.hidden-row{display:none}
348
+ .export-footer{margin-top:32px;padding:16px 0;border-top:1px solid var(--footer-border);text-align:center;font-size:12px;color:var(--text-muted)}
349
+ .export-footer a{color:var(--btn-bg);text-decoration:none}
350
+ .export-footer a:hover{text-decoration:underline}
351
+ @media(max-width:768px){body{padding:12px}th,td{padding:7px 8px;font-size:12px}.toolbar{flex-direction:column;align-items:stretch}.toolbar input{min-width:unset}.toolbar-actions{justify-content:space-between;flex-wrap:wrap}}
352
+ @media(max-width:480px){th,td{padding:5px 6px;font-size:11px}.export-meta{padding:10px}.export-meta h2{font-size:15px}.btn{padding:5px 10px;font-size:11px}}
353
+ @media print{.toolbar,.toolbar-actions,.theme-toggle,.export-footer{display:none!important}body{padding:0;background:#fff!important;color:#000!important}th{background:#e8e8e8!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;cursor:default}td{border-color:#ccc!important}tr:nth-child(even){background:#f5f5f5!important}tr:hover td{background:transparent!important}.totals td{background:#eee!important}.export-meta,.summary{background:#f8f8f8!important;border-color:#ddd!important;color:#000!important}.export-meta h2,.export-meta h3,.summary h3{color:#000!important}.meta-details,.meta-filters,.meta-rows,.summary dt{color:#444!important}.summary dd{color:#000!important}tr{page-break-inside:avoid}.generated-info{color:#666!important}}
354
+ ${u || ""}
355
+ </style>
356
+ </head>
357
+ <body>
358
+ ${p ? (() => {
359
+ let t = ["<div class=\"export-meta\">"];
360
+ p.businessName && t.push(`<h2>${v(p.businessName)}</h2>`);
361
+ let n = [];
362
+ p.businessAddress && n.push(`<span>${v(p.businessAddress)}</span>`), p.businessPhone && n.push(`<span>${v(p.businessPhone)}</span>`), p.taxNumber && n.push(`<span>${v(e(p))}: ${v(p.taxNumber)}</span>`), n.length > 0 && t.push(`<div class="meta-details">${n.join("")}</div>`), i && t.push(`<h3 style="margin:8px 0 4px;font-size:15px">${v(i)}</h3>`), o && t.push(`<div style="font-size:12px;color:var(--text-secondary);margin-bottom:4px">${v(o)}</div>`);
363
+ let r = c(p);
364
+ return r && t.push(`<div class="meta-filters">${v(r)}</div>`), t.push("</div>"), t.join("\n");
365
+ })() : ""}
366
+ ${!p && i ? `<h1>${v(i)}</h1>` : ""}
367
+ ${!p && o ? `<p class="subtitle">${v(o)}</p>` : ""}
368
+ <div class="toolbar">
369
+ <input type="text" id="globalSearch" placeholder="${v(g.exportHtmlSearch)}" aria-label="${v(g.exportHtmlSearch)}" autocomplete="off">
370
+ <span class="count" id="rowCount">${v(g.rowsInfo(String(n.length)))}</span>
371
+ <div class="toolbar-actions">
372
+ <button class="btn btn-primary" id="btnDownload" title="${v(g.exportDownloadAs("HTML"))}"><svg viewBox="0 0 24 24"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/></svg>${v(g.exportDownload)}</button>
373
+ <button class="btn btn-secondary" id="btnPrint" title="${v(g.exportPrint)}"><svg viewBox="0 0 24 24"><path d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"/></svg>${v(g.exportPrint)}</button>
374
+ <div class="theme-toggle">
375
+ <button data-theme-val="light" title="${v(g.exportThemeLight)}" aria-label="${v(g.exportThemeLight)}">&#9788;</button>
376
+ <button data-theme-val="dark" title="${v(g.exportThemeDark)}" aria-label="${v(g.exportThemeDark)}">&#9790;</button>
377
+ <button data-theme-val="system" title="${v(g.exportThemeSystem)}" aria-label="${v(g.exportThemeSystem)}" class="active">&#9881;</button>
378
+ </div>
379
+ </div>
380
+ </div>
381
+ <div class="generated-info">${v(g.exportGeneratedOn(E))}</div>
382
+ <div class="dt-wrapper">
383
+ <table id="dataTable">
384
+ <thead><tr>${t.map((e, t) => `<th data-col="${t}"${y(t)}>${v(e)}<span class="sort-icon"></span></th>`).join("")}</tr></thead>
385
+ <tbody>
386
+ ${x}
387
+ </tbody>
388
+ ${S ? `<tfoot>${S}</tfoot>` : ""}
389
+ </table>
390
+ </div>
391
+ ${T}
392
+ ${_}
393
+ <script>
394
+ (function(){
395
+ var table=document.getElementById('dataTable');
396
+ var tbody=table.querySelector('tbody');
397
+ var rows=Array.from(tbody.querySelectorAll('tr'));
398
+ var input=document.getElementById('globalSearch');
399
+ var countEl=document.getElementById('rowCount');
400
+ var total=rows.length;
401
+
402
+ // Search
403
+ input.addEventListener('input',function(){
404
+ var q=this.value.toLowerCase();
405
+ var visible=0;
406
+ rows.forEach(function(r){
407
+ var text=r.textContent.toLowerCase();
408
+ var show=!q||text.indexOf(q)>=0;
409
+ r.classList.toggle('hidden-row',!show);
410
+ if(show)visible++;
411
+ });
412
+ countEl.textContent=q?${h(g.rowsInfoFiltered("{v}", "{t}"))}.replace('{v}',visible).replace('{t}',total):${h(g.rowsInfo("{t}"))}.replace('{t}',total);
413
+ });
414
+
415
+ // Sort
416
+ var sortCol=-1,sortAsc=true;
417
+ var ths=Array.from(table.querySelectorAll('thead th'));
418
+ ths.forEach(function(th,i){
419
+ th.addEventListener('click',function(){
420
+ ths.forEach(function(t){t.classList.remove('sort-asc','sort-desc')});
421
+ if(sortCol===i){sortAsc=!sortAsc}else{sortCol=i;sortAsc=true}
422
+ th.classList.add(sortAsc?'sort-asc':'sort-desc');
423
+ rows.sort(function(a,b){
424
+ var aVal=a.children[i]?a.children[i].textContent.trim():'';
425
+ var bVal=b.children[i]?b.children[i].textContent.trim():'';
426
+ var aNum=parseFloat(aVal.replace(/[^\\d.\\-]/g,''));
427
+ var bNum=parseFloat(bVal.replace(/[^\\d.\\-]/g,''));
428
+ if(!isNaN(aNum)&&!isNaN(bNum)){return sortAsc?aNum-bNum:bNum-aNum}
429
+ return sortAsc?aVal.localeCompare(bVal):bVal.localeCompare(aVal);
430
+ });
431
+ rows.forEach(function(r){tbody.appendChild(r)});
432
+ });
433
+ });
434
+
435
+ // Download
436
+ document.getElementById('btnDownload').addEventListener('click',function(){
437
+ var html=document.documentElement.outerHTML;
438
+ var blob=new Blob([html],{type:'text/html'});
439
+ var a=document.createElement('a');
440
+ a.href=URL.createObjectURL(blob);
441
+ a.download=document.title+'.html';
442
+ a.click();
443
+ URL.revokeObjectURL(a.href);
444
+ });
445
+
446
+ // Print
447
+ document.getElementById('btnPrint').addEventListener('click',function(){
448
+ window.print();
449
+ });
450
+
451
+ // Theme toggle
452
+ var themeBtns=document.querySelectorAll('.theme-toggle button');
453
+ var stored=localStorage.getItem('export-theme');
454
+ if(stored){
455
+ document.documentElement.setAttribute('data-theme',stored);
456
+ themeBtns.forEach(function(b){b.classList.toggle('active',b.getAttribute('data-theme-val')===stored)});
457
+ }
458
+ themeBtns.forEach(function(btn){
459
+ btn.addEventListener('click',function(){
460
+ var val=this.getAttribute('data-theme-val');
461
+ document.documentElement.setAttribute('data-theme',val);
462
+ localStorage.setItem('export-theme',val);
463
+ themeBtns.forEach(function(b){b.classList.remove('active')});
464
+ this.classList.add('active');
465
+ });
466
+ });
467
+ })();
468
+ <\/script>
469
+ </body>
470
+ </html>`;
471
+ return new Blob([O], { type: "text/html;charset=utf-8;" });
472
+ }
473
+ var w = {
474
+ A4: {
475
+ w: 595.28,
476
+ h: 841.89
477
+ },
478
+ A3: {
479
+ w: 841.89,
480
+ h: 1190.55
481
+ },
482
+ A5: {
483
+ w: 419.53,
484
+ h: 595.28
485
+ },
486
+ letter: {
487
+ w: 612,
488
+ h: 792
489
+ },
490
+ legal: {
491
+ w: 612,
492
+ h: 1008
493
+ },
494
+ tabloid: {
495
+ w: 792,
496
+ h: 1224
497
+ }
498
+ };
499
+ function T(e, t, n, r) {
500
+ e.length;
501
+ let i = e.map((e, i) => {
502
+ let a = r?.columnStyles?.[e]?.width;
503
+ if (a && a !== "auto") return a;
504
+ let o = n?.[i]?.width;
505
+ if (o) return Math.min(o, 200);
506
+ let s = e.length, c = t.slice(0, 30).reduce((t, n) => {
507
+ let r = n[e], i = r == null ? 0 : String(r).length;
508
+ return Math.max(t, i);
509
+ }, 0);
510
+ return Math.min(Math.max(s, c) * 5.5 + 12, 200);
511
+ }).reduce((e, t) => e + t, 0);
512
+ for (let e of [
513
+ {
514
+ size: "A4",
515
+ orient: "portrait",
516
+ margin: 30,
517
+ minFont: 9
518
+ },
519
+ {
520
+ size: "A4",
521
+ orient: "landscape",
522
+ margin: 30,
523
+ minFont: 8
524
+ },
525
+ {
526
+ size: "A4",
527
+ orient: "landscape",
528
+ margin: 20,
529
+ minFont: 7
530
+ },
531
+ {
532
+ size: "A3",
533
+ orient: "landscape",
534
+ margin: 20,
535
+ minFont: 7
536
+ },
537
+ {
538
+ size: "A3",
539
+ orient: "landscape",
540
+ margin: 15,
541
+ minFont: 6
542
+ }
543
+ ]) {
544
+ let t = w[e.size], n = ((e.orient === "landscape" ? t.h : t.w) - e.margin * 2) / i;
545
+ if (n >= .85) {
546
+ let t = Math.max(e.minFont, Math.min(9, Math.round(9 * Math.min(n, 1))));
547
+ return {
548
+ pageSize: e.size,
549
+ orientation: e.orient,
550
+ fontSize: t,
551
+ margins: [
552
+ e.margin,
553
+ e.margin,
554
+ e.margin,
555
+ e.margin + 10
556
+ ]
557
+ };
558
+ }
559
+ }
560
+ return {
561
+ pageSize: "A3",
562
+ orientation: "landscape",
563
+ fontSize: 6,
564
+ margins: [
565
+ 15,
566
+ 15,
567
+ 15,
568
+ 25
569
+ ]
570
+ };
571
+ }
572
+ function E(t, n, r) {
573
+ let { pdfConfig: i, totals: o, summary: s, subtitle: l, columnMeta: u, cellStyles: d, metadata: f, fontFor: p } = r || {}, m = a(f), h = (/* @__PURE__ */ new Date()).toLocaleDateString(f?.locale), _ = i?.title || m.export, v = i?.autoFit !== !1, y = i?.pageSize || "A4", b = i?.orientation || "portrait", x = i?.fontSize || 9, S = [
574
+ 30,
575
+ 30,
576
+ 30,
577
+ 40
578
+ ];
579
+ if (v && !i?.orientation && !i?.pageSize) {
580
+ let e = T(t, n, u, i);
581
+ y = e.pageSize, b = e.orientation, i?.fontSize || (x = e.fontSize), S = e.margins;
582
+ }
583
+ i?.margin && (S = typeof i.margin == "number" ? [
584
+ i.margin,
585
+ i.margin,
586
+ i.margin,
587
+ i.margin
588
+ ] : [
589
+ i.margin.left,
590
+ i.margin.top,
591
+ i.margin.right,
592
+ i.margin.bottom
593
+ ]);
594
+ let C = (e) => {
595
+ let n = i?.columnStyles?.[t[e]];
596
+ return n?.align ? n.align : u?.[e]?.align || "left";
597
+ }, w = t.map((e, t) => ({
598
+ ...g(e, { bold: !0 }, p),
599
+ fontSize: x - 1,
600
+ color: "white",
601
+ fillColor: "#1a73e8",
602
+ alignment: C(t)
603
+ })), E = n.map((e, n) => t.map((t, r) => {
604
+ let i = d?.[n]?.[t];
605
+ return {
606
+ ...g(e[t] == null ? "" : String(e[t]), {}, p),
607
+ fontSize: i?.fontSize || x,
608
+ fillColor: i?.backgroundColor || (n % 2 == 0 ? null : "#f8f9fa"),
609
+ alignment: i?.align || C(r),
610
+ color: i?.color || void 0,
611
+ bold: i?.fontWeight === "bold" || void 0
612
+ };
613
+ })), D = o ? t.map((e, t) => {
614
+ let n = u?.[t]?.cellStyle?.(o[e], {});
615
+ return {
616
+ ...g(o[e] == null ? "" : String(o[e]), { bold: !0 }, p),
617
+ fontSize: x,
618
+ fillColor: n?.backgroundColor || "#e8e8e8",
619
+ alignment: n?.align || C(t),
620
+ color: n?.color || void 0
621
+ };
622
+ }) : null, O = [w, ...E];
623
+ D && O.push(D);
624
+ let k = t.map(() => "*"), A = t.length > 8 ? 4 : 6, j = t.length > 8 ? 3 : 4, M = [];
625
+ if (f) {
626
+ f.businessName && M.push({
627
+ ...g(f.businessName, { bold: !0 }, p),
628
+ fontSize: 16,
629
+ margin: [
630
+ 0,
631
+ 0,
632
+ 0,
633
+ 2
634
+ ]
635
+ });
636
+ let t = [];
637
+ f.businessAddress && t.push(f.businessAddress), f.businessPhone && t.push(f.businessPhone), f.taxNumber && t.push(`${e(f)}: ${f.taxNumber}`), t.length > 0 && M.push({
638
+ ...g(t.join(" | "), {}, p),
639
+ fontSize: 9,
640
+ color: "#666666",
641
+ margin: [
642
+ 0,
643
+ 0,
644
+ 0,
645
+ 4
646
+ ]
647
+ }), M.push({
648
+ ...g(_, { bold: !0 }, p),
649
+ fontSize: 12,
650
+ color: "#333333",
651
+ margin: [
652
+ 0,
653
+ 0,
654
+ 0,
655
+ l ? 2 : 4
656
+ ]
657
+ }), l && M.push({
658
+ ...g(l, { italics: !0 }, p),
659
+ fontSize: 9,
660
+ color: "#555555",
661
+ margin: [
662
+ 0,
663
+ 0,
664
+ 0,
665
+ 4
666
+ ]
667
+ });
668
+ let n = [c(f), m.exportGenerated(h)].filter(Boolean).join(" | ");
669
+ M.push({
670
+ ...g(n, {}, p),
671
+ fontSize: 8,
672
+ color: "#888888",
673
+ margin: [
674
+ 0,
675
+ 0,
676
+ 0,
677
+ 12
678
+ ]
679
+ });
680
+ } else M.push({
681
+ ...g(_, { bold: !0 }, p),
682
+ fontSize: 16,
683
+ margin: [
684
+ 0,
685
+ 0,
686
+ 0,
687
+ l ? 2 : 4
688
+ ]
689
+ }), l && M.push({
690
+ ...g(l, { italics: !0 }, p),
691
+ fontSize: 10,
692
+ color: "#555555",
693
+ margin: [
694
+ 0,
695
+ 0,
696
+ 0,
697
+ 4
698
+ ]
699
+ }), M.push({
700
+ text: `${m.rowsInfo(String(n.length))} | ${m.exportGenerated(h)}`,
701
+ fontSize: 9,
702
+ color: "#888",
703
+ margin: [
704
+ 0,
705
+ 0,
706
+ 0,
707
+ 12
708
+ ]
709
+ });
710
+ if (M.push({
711
+ table: {
712
+ headerRows: 1,
713
+ widths: k,
714
+ body: O
715
+ },
716
+ layout: {
717
+ hLineWidth: (e, t) => e === 0 || e === 1 || e === t.table.body.length ? 1.5 : .5,
718
+ vLineWidth: () => .5,
719
+ hLineColor: () => "#cccccc",
720
+ vLineColor: () => "#cccccc",
721
+ paddingLeft: () => A,
722
+ paddingRight: () => A,
723
+ paddingTop: () => j,
724
+ paddingBottom: () => j
725
+ }
726
+ }), s && Object.keys(s.items).length > 0) {
727
+ M.push({
728
+ text: "",
729
+ margin: [
730
+ 0,
731
+ 10,
732
+ 0,
733
+ 0
734
+ ]
735
+ }), M.push({
736
+ ...g(m.exportSummaryLabel, { bold: !0 }, p),
737
+ fontSize: 12,
738
+ margin: [
739
+ 0,
740
+ 0,
741
+ 0,
742
+ 6
743
+ ]
744
+ });
745
+ let e = Object.entries(s.items).map(([e, t]) => [{
746
+ ...g(e, { bold: !0 }, p),
747
+ fontSize: 9
748
+ }, {
749
+ ...g(String(t), {}, p),
750
+ fontSize: 9
751
+ }]);
752
+ M.push({
753
+ table: {
754
+ widths: ["auto", "*"],
755
+ body: e
756
+ },
757
+ layout: "noBorders"
758
+ });
759
+ }
760
+ for (let e of s?.tables ?? []) {
761
+ M.push({
762
+ text: "",
763
+ margin: [
764
+ 0,
765
+ 8,
766
+ 0,
767
+ 0
768
+ ]
769
+ }), M.push({
770
+ ...g(e.title, { bold: !0 }, p),
771
+ fontSize: 10,
772
+ margin: [
773
+ 0,
774
+ 0,
775
+ 0,
776
+ 4
777
+ ]
778
+ });
779
+ let t = [e.header.map((e, t) => ({
780
+ ...g(e, { bold: !0 }, p),
781
+ fontSize: 9,
782
+ ...t === 1 ? { alignment: "right" } : {}
783
+ })), ...e.rows.map((e) => [{
784
+ ...g(e.label, {}, p),
785
+ fontSize: 9
786
+ }, {
787
+ text: String(e.count),
788
+ fontSize: 9,
789
+ alignment: "right"
790
+ }])];
791
+ M.push({
792
+ table: {
793
+ headerRows: 1,
794
+ widths: ["auto", "auto"],
795
+ body: t
796
+ },
797
+ layout: "lightHorizontalLines"
798
+ });
799
+ }
800
+ return {
801
+ content: M,
802
+ pageOrientation: b,
803
+ pageSize: y,
804
+ pageMargins: S,
805
+ footer: (e, t) => ({
806
+ ...g(m.exportPage(String(e), String(t)), {}, p),
807
+ alignment: "center",
808
+ fontSize: 8,
809
+ color: "#888",
810
+ margin: [
811
+ 0,
812
+ 10,
813
+ 0,
814
+ 0
815
+ ]
816
+ })
817
+ };
818
+ }
819
+ var D = (e) => String(e ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
820
+ function O(e, t, n) {
821
+ let { title: r, subtitle: i, totals: a, summary: o, metadata: s } = n || {}, c = D, l = (t) => e.map((e) => ` <field name="${c(e)}">${c(t[e])}</field>`).join("\n"), u = ["<?xml version=\"1.0\" encoding=\"UTF-8\"?>", `<export${r ? ` title="${c(r)}"` : ""} generated="${(/* @__PURE__ */ new Date()).toISOString()}">`];
822
+ if (i && u.push(` <subtitle>${c(i)}</subtitle>`), s) {
823
+ u.push(" <metadata>");
824
+ for (let [e, t] of d(s)) u.push(` <item name="${c(e)}">${c(t)}</item>`);
825
+ u.push(" </metadata>");
826
+ }
827
+ u.push(` <rows count="${t.length}">`);
828
+ for (let e of t) u.push(" <row>", l(e), " </row>");
829
+ if (u.push(" </rows>"), a && u.push(" <totals>", l(a), " </totals>"), o && (Object.keys(o.items).length > 0 || o.tables?.length)) {
830
+ u.push(" <summary>");
831
+ for (let [e, t] of Object.entries(o.items)) u.push(` <item name="${c(e)}">${c(t)}</item>`);
832
+ for (let e of o.tables || []) {
833
+ u.push(` <table title="${c(e.title)}" label="${c(e.header[0])}" count="${c(e.header[1])}">`);
834
+ for (let t of e.rows) u.push(` <row label="${c(t.label)}" count="${t.count}" />`);
835
+ u.push(" </table>");
836
+ }
837
+ u.push(" </summary>");
838
+ }
839
+ return u.push("</export>"), new Blob([u.join("\n")], { type: "application/xml;charset=utf-8;" });
840
+ }
841
+ async function k(e, t, n, r) {
842
+ let i = r?.totals ?? v(n, t, r?.totalKeys, r?.columns, a(r?.metadata)), o = r?.summary, s = r?.metadata, c = r?.subtitle || r?.pdf?.subtitle, l = r?.columns ? _(r.columns, t) : void 0;
843
+ switch (e) {
844
+ case "csv": return y(t, n, i, o, s, c);
845
+ case "xlsx": return await x(t, n, {
846
+ totals: i,
847
+ summary: o,
848
+ style: r?.xlsx,
849
+ sheetName: r?.xlsx?.sheetName,
850
+ columnMeta: l,
851
+ cellStyles: r?.cellStyles,
852
+ metadata: s,
853
+ subtitle: c
854
+ });
855
+ case "json": return S(n, o, s, c);
856
+ case "html": return C(t, n, {
857
+ title: r?.html?.title || r?.title || r?.pdf?.title,
858
+ subtitle: c,
859
+ totals: i,
860
+ summary: o,
861
+ customStyles: r?.html?.styles,
862
+ columnMeta: l,
863
+ cellStyles: r?.cellStyles,
864
+ metadata: s,
865
+ branding: r?.branding
866
+ });
867
+ case "xml": return O(t, n, {
868
+ title: r?.title,
869
+ subtitle: c,
870
+ totals: i,
871
+ summary: o,
872
+ metadata: s
873
+ });
874
+ case "pdf": return C(t, n, {
875
+ title: r?.pdf?.title || r?.title || a(r?.metadata).export,
876
+ subtitle: c,
877
+ totals: i,
878
+ summary: o,
879
+ customStyles: `
880
+ @page{size:${r?.pdf?.pageSize || "A4"} ${r?.pdf?.orientation || "portrait"};margin:15mm}
881
+ body{font-size:${r?.pdf?.fontSize || 10}pt}
882
+ `,
883
+ columnMeta: l,
884
+ cellStyles: r?.cellStyles,
885
+ metadata: s
886
+ });
887
+ default: return y(t, n, i, o, s, c);
888
+ }
889
+ }
890
+ export { l as autoFormatValue, f as buildBusinessMeta, _ as buildColumnMeta, k as buildExportBlob, o as downloadBlob, p as executeFileAction, c as formatContextLine, d as formatMetadataLines, y as generateCSV, C as generateHTML, S as generateJSON, E as generateTablePDFDocDef, x as generateXLSX, O as generateXML, n as getExtension, r as getFormatLabel, u as openPreview, t as prepareExportRows, s as rawDataToBlob, i as shareFile };