@report-designer/designer 0.1.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 (253) hide show
  1. package/dist/band-metadata.d.ts +8 -0
  2. package/dist/band-metadata.d.ts.map +1 -0
  3. package/dist/band-metadata.js +75 -0
  4. package/dist/band-metadata.js.map +1 -0
  5. package/dist/component-factory.d.ts +9 -0
  6. package/dist/component-factory.d.ts.map +1 -0
  7. package/dist/component-factory.js +141 -0
  8. package/dist/component-factory.js.map +1 -0
  9. package/dist/component-palette-model.d.ts +14 -0
  10. package/dist/component-palette-model.d.ts.map +1 -0
  11. package/dist/component-palette-model.js +21 -0
  12. package/dist/component-palette-model.js.map +1 -0
  13. package/dist/components/Canvas.d.ts +5 -0
  14. package/dist/components/Canvas.d.ts.map +1 -0
  15. package/dist/components/Canvas.js +2428 -0
  16. package/dist/components/Canvas.js.map +1 -0
  17. package/dist/components/ConditionalFormatManager.d.ts +8 -0
  18. package/dist/components/ConditionalFormatManager.d.ts.map +1 -0
  19. package/dist/components/ConditionalFormatManager.js +135 -0
  20. package/dist/components/ConditionalFormatManager.js.map +1 -0
  21. package/dist/components/Designer.d.ts +22 -0
  22. package/dist/components/Designer.d.ts.map +1 -0
  23. package/dist/components/Designer.js +115 -0
  24. package/dist/components/Designer.js.map +1 -0
  25. package/dist/components/ExpressionEditor.d.ts +10 -0
  26. package/dist/components/ExpressionEditor.d.ts.map +1 -0
  27. package/dist/components/ExpressionEditor.js +203 -0
  28. package/dist/components/ExpressionEditor.js.map +1 -0
  29. package/dist/components/LeftPanel.d.ts +11 -0
  30. package/dist/components/LeftPanel.d.ts.map +1 -0
  31. package/dist/components/LeftPanel.js +551 -0
  32. package/dist/components/LeftPanel.js.map +1 -0
  33. package/dist/components/PropertyEditor.d.ts +6 -0
  34. package/dist/components/PropertyEditor.d.ts.map +1 -0
  35. package/dist/components/PropertyEditor.js +1002 -0
  36. package/dist/components/PropertyEditor.js.map +1 -0
  37. package/dist/components/RibbonToolbar.d.ts +3 -0
  38. package/dist/components/RibbonToolbar.d.ts.map +1 -0
  39. package/dist/components/RibbonToolbar.js +179 -0
  40. package/dist/components/RibbonToolbar.js.map +1 -0
  41. package/dist/components/TextFormatEditor.d.ts +13 -0
  42. package/dist/components/TextFormatEditor.d.ts.map +1 -0
  43. package/dist/components/TextFormatEditor.js +199 -0
  44. package/dist/components/TextFormatEditor.js.map +1 -0
  45. package/dist/components/TextStyleLibraryDialog.d.ts +8 -0
  46. package/dist/components/TextStyleLibraryDialog.d.ts.map +1 -0
  47. package/dist/components/TextStyleLibraryDialog.js +367 -0
  48. package/dist/components/TextStyleLibraryDialog.js.map +1 -0
  49. package/dist/components/canvas/DesignerCanvasFrame.d.ts +10 -0
  50. package/dist/components/canvas/DesignerCanvasFrame.d.ts.map +1 -0
  51. package/dist/components/canvas/DesignerCanvasFrame.js +22 -0
  52. package/dist/components/canvas/DesignerCanvasFrame.js.map +1 -0
  53. package/dist/components/chart/ChartAxesPanel.d.ts +12 -0
  54. package/dist/components/chart/ChartAxesPanel.d.ts.map +1 -0
  55. package/dist/components/chart/ChartAxesPanel.js +71 -0
  56. package/dist/components/chart/ChartAxesPanel.js.map +1 -0
  57. package/dist/components/chart/ChartDataPanel.d.ts +21 -0
  58. package/dist/components/chart/ChartDataPanel.d.ts.map +1 -0
  59. package/dist/components/chart/ChartDataPanel.js +80 -0
  60. package/dist/components/chart/ChartDataPanel.js.map +1 -0
  61. package/dist/components/chart/ChartLabelPanel.d.ts +12 -0
  62. package/dist/components/chart/ChartLabelPanel.d.ts.map +1 -0
  63. package/dist/components/chart/ChartLabelPanel.js +34 -0
  64. package/dist/components/chart/ChartLabelPanel.js.map +1 -0
  65. package/dist/components/chart/ChartLegendPanel.d.ts +12 -0
  66. package/dist/components/chart/ChartLegendPanel.d.ts.map +1 -0
  67. package/dist/components/chart/ChartLegendPanel.js +48 -0
  68. package/dist/components/chart/ChartLegendPanel.js.map +1 -0
  69. package/dist/components/chart/ChartPropertyPanel.d.ts +26 -0
  70. package/dist/components/chart/ChartPropertyPanel.d.ts.map +1 -0
  71. package/dist/components/chart/ChartPropertyPanel.js +119 -0
  72. package/dist/components/chart/ChartPropertyPanel.js.map +1 -0
  73. package/dist/components/chart/ChartThemePanel.d.ts +9 -0
  74. package/dist/components/chart/ChartThemePanel.d.ts.map +1 -0
  75. package/dist/components/chart/ChartThemePanel.js +21 -0
  76. package/dist/components/chart/ChartThemePanel.js.map +1 -0
  77. package/dist/components/chart/ChartTitlePanel.d.ts +10 -0
  78. package/dist/components/chart/ChartTitlePanel.d.ts.map +1 -0
  79. package/dist/components/chart/ChartTitlePanel.js +45 -0
  80. package/dist/components/chart/ChartTitlePanel.js.map +1 -0
  81. package/dist/components/chart/ChartTypeStylePanel.d.ts +11 -0
  82. package/dist/components/chart/ChartTypeStylePanel.d.ts.map +1 -0
  83. package/dist/components/chart/ChartTypeStylePanel.js +37 -0
  84. package/dist/components/chart/ChartTypeStylePanel.js.map +1 -0
  85. package/dist/components/chart/ColorPaletteEditor.d.ts +10 -0
  86. package/dist/components/chart/ColorPaletteEditor.d.ts.map +1 -0
  87. package/dist/components/chart/ColorPaletteEditor.js +18 -0
  88. package/dist/components/chart/ColorPaletteEditor.js.map +1 -0
  89. package/dist/components/chart/chart-options.d.ts +119 -0
  90. package/dist/components/chart/chart-options.d.ts.map +1 -0
  91. package/dist/components/chart/chart-options.js +217 -0
  92. package/dist/components/chart/chart-options.js.map +1 -0
  93. package/dist/components/dialogs/BandWizardDialog.d.ts +8 -0
  94. package/dist/components/dialogs/BandWizardDialog.d.ts.map +1 -0
  95. package/dist/components/dialogs/BandWizardDialog.js +54 -0
  96. package/dist/components/dialogs/BandWizardDialog.js.map +1 -0
  97. package/dist/components/dialogs/GroupWizardDialog.d.ts +8 -0
  98. package/dist/components/dialogs/GroupWizardDialog.d.ts.map +1 -0
  99. package/dist/components/dialogs/GroupWizardDialog.js +70 -0
  100. package/dist/components/dialogs/GroupWizardDialog.js.map +1 -0
  101. package/dist/components/dialogs/JsonDataSourceDialog.d.ts +8 -0
  102. package/dist/components/dialogs/JsonDataSourceDialog.d.ts.map +1 -0
  103. package/dist/components/dialogs/JsonDataSourceDialog.js +67 -0
  104. package/dist/components/dialogs/JsonDataSourceDialog.js.map +1 -0
  105. package/dist/components/dialogs/PageSetupDialog.d.ts +8 -0
  106. package/dist/components/dialogs/PageSetupDialog.d.ts.map +1 -0
  107. package/dist/components/dialogs/PageSetupDialog.js +145 -0
  108. package/dist/components/dialogs/PageSetupDialog.js.map +1 -0
  109. package/dist/components/dialogs/dialog-utils.d.ts +6 -0
  110. package/dist/components/dialogs/dialog-utils.d.ts.map +1 -0
  111. package/dist/components/dialogs/dialog-utils.js +37 -0
  112. package/dist/components/dialogs/dialog-utils.js.map +1 -0
  113. package/dist/components/events/EventEditorDialog.d.ts +43 -0
  114. package/dist/components/events/EventEditorDialog.d.ts.map +1 -0
  115. package/dist/components/events/EventEditorDialog.js +271 -0
  116. package/dist/components/events/EventEditorDialog.js.map +1 -0
  117. package/dist/components/events/EventScriptEditor.d.ts +41 -0
  118. package/dist/components/events/EventScriptEditor.d.ts.map +1 -0
  119. package/dist/components/events/EventScriptEditor.js +140 -0
  120. package/dist/components/events/EventScriptEditor.js.map +1 -0
  121. package/dist/components/events/event-editor-utils.d.ts +18 -0
  122. package/dist/components/events/event-editor-utils.d.ts.map +1 -0
  123. package/dist/components/events/event-editor-utils.js +66 -0
  124. package/dist/components/events/event-editor-utils.js.map +1 -0
  125. package/dist/components/events/event-script-monaco.d.ts +74 -0
  126. package/dist/components/events/event-script-monaco.d.ts.map +1 -0
  127. package/dist/components/events/event-script-monaco.js +282 -0
  128. package/dist/components/events/event-script-monaco.js.map +1 -0
  129. package/dist/components/events/event-script-templates.d.ts +7 -0
  130. package/dist/components/events/event-script-templates.d.ts.map +1 -0
  131. package/dist/components/events/event-script-templates.js +100 -0
  132. package/dist/components/events/event-script-templates.js.map +1 -0
  133. package/dist/components/expression/ExpressionMonacoEditor.d.ts +16 -0
  134. package/dist/components/expression/ExpressionMonacoEditor.d.ts.map +1 -0
  135. package/dist/components/expression/ExpressionMonacoEditor.js +63 -0
  136. package/dist/components/expression/ExpressionMonacoEditor.js.map +1 -0
  137. package/dist/components/expression/InlineExpressionEditor.d.ts +10 -0
  138. package/dist/components/expression/InlineExpressionEditor.d.ts.map +1 -0
  139. package/dist/components/expression/InlineExpressionEditor.js +33 -0
  140. package/dist/components/expression/InlineExpressionEditor.js.map +1 -0
  141. package/dist/components/expression/expression-monaco.d.ts +34 -0
  142. package/dist/components/expression/expression-monaco.d.ts.map +1 -0
  143. package/dist/components/expression/expression-monaco.js +87 -0
  144. package/dist/components/expression/expression-monaco.js.map +1 -0
  145. package/dist/components/panels/DesignerLeftPanel.d.ts +11 -0
  146. package/dist/components/panels/DesignerLeftPanel.d.ts.map +1 -0
  147. package/dist/components/panels/DesignerLeftPanel.js +8 -0
  148. package/dist/components/panels/DesignerLeftPanel.js.map +1 -0
  149. package/dist/components/panels/DesignerPropertyPanel.d.ts +6 -0
  150. package/dist/components/panels/DesignerPropertyPanel.d.ts.map +1 -0
  151. package/dist/components/panels/DesignerPropertyPanel.js +441 -0
  152. package/dist/components/panels/DesignerPropertyPanel.js.map +1 -0
  153. package/dist/components/panels/PanelSearchBox.d.ts +9 -0
  154. package/dist/components/panels/PanelSearchBox.d.ts.map +1 -0
  155. package/dist/components/panels/PanelSearchBox.js +5 -0
  156. package/dist/components/panels/PanelSearchBox.js.map +1 -0
  157. package/dist/components/properties/BandPropertyGrid.d.ts +6 -0
  158. package/dist/components/properties/BandPropertyGrid.d.ts.map +1 -0
  159. package/dist/components/properties/BandPropertyGrid.js +504 -0
  160. package/dist/components/properties/BandPropertyGrid.js.map +1 -0
  161. package/dist/components/properties/BoxStyleEditors.d.ts +59 -0
  162. package/dist/components/properties/BoxStyleEditors.d.ts.map +1 -0
  163. package/dist/components/properties/BoxStyleEditors.js +87 -0
  164. package/dist/components/properties/BoxStyleEditors.js.map +1 -0
  165. package/dist/components/properties/FontEditor.d.ts +28 -0
  166. package/dist/components/properties/FontEditor.d.ts.map +1 -0
  167. package/dist/components/properties/FontEditor.js +22 -0
  168. package/dist/components/properties/FontEditor.js.map +1 -0
  169. package/dist/components/ribbon/DesignerRibbon.d.ts +3 -0
  170. package/dist/components/ribbon/DesignerRibbon.d.ts.map +1 -0
  171. package/dist/components/ribbon/DesignerRibbon.js +193 -0
  172. package/dist/components/ribbon/DesignerRibbon.js.map +1 -0
  173. package/dist/components/richtext/RichTextInlineEditor.d.ts +15 -0
  174. package/dist/components/richtext/RichTextInlineEditor.d.ts.map +1 -0
  175. package/dist/components/richtext/RichTextInlineEditor.js +94 -0
  176. package/dist/components/richtext/RichTextInlineEditor.js.map +1 -0
  177. package/dist/components/shell/DesignerShell.d.ts +12 -0
  178. package/dist/components/shell/DesignerShell.d.ts.map +1 -0
  179. package/dist/components/shell/DesignerShell.js +124 -0
  180. package/dist/components/shell/DesignerShell.js.map +1 -0
  181. package/dist/components/shell/DesignerStatusBar.d.ts +3 -0
  182. package/dist/components/shell/DesignerStatusBar.d.ts.map +1 -0
  183. package/dist/components/shell/DesignerStatusBar.js +23 -0
  184. package/dist/components/shell/DesignerStatusBar.js.map +1 -0
  185. package/dist/components/tree/ReportTree.d.ts +3 -0
  186. package/dist/components/tree/ReportTree.d.ts.map +1 -0
  187. package/dist/components/tree/ReportTree.js +17 -0
  188. package/dist/components/tree/ReportTree.js.map +1 -0
  189. package/dist/data-source-fields.d.ts +14 -0
  190. package/dist/data-source-fields.d.ts.map +1 -0
  191. package/dist/data-source-fields.js +49 -0
  192. package/dist/data-source-fields.js.map +1 -0
  193. package/dist/data-source-paths.d.ts +10 -0
  194. package/dist/data-source-paths.d.ts.map +1 -0
  195. package/dist/data-source-paths.js +61 -0
  196. package/dist/data-source-paths.js.map +1 -0
  197. package/dist/expression/expression-catalog.d.ts +39 -0
  198. package/dist/expression/expression-catalog.d.ts.map +1 -0
  199. package/dist/expression/expression-catalog.js +127 -0
  200. package/dist/expression/expression-catalog.js.map +1 -0
  201. package/dist/expression/expression-preview.d.ts +11 -0
  202. package/dist/expression/expression-preview.d.ts.map +1 -0
  203. package/dist/expression/expression-preview.js +58 -0
  204. package/dist/expression/expression-preview.js.map +1 -0
  205. package/dist/expression/expression-validation.d.ts +12 -0
  206. package/dist/expression/expression-validation.d.ts.map +1 -0
  207. package/dist/expression/expression-validation.js +85 -0
  208. package/dist/expression/expression-validation.js.map +1 -0
  209. package/dist/expression/function-catalog.d.ts +21 -0
  210. package/dist/expression/function-catalog.d.ts.map +1 -0
  211. package/dist/expression/function-catalog.js +96 -0
  212. package/dist/expression/function-catalog.js.map +1 -0
  213. package/dist/i18n/DesignerI18nProvider.d.ts +11 -0
  214. package/dist/i18n/DesignerI18nProvider.d.ts.map +1 -0
  215. package/dist/i18n/DesignerI18nProvider.js +32 -0
  216. package/dist/i18n/DesignerI18nProvider.js.map +1 -0
  217. package/dist/i18n/index.d.ts +3 -0
  218. package/dist/i18n/index.d.ts.map +1 -0
  219. package/dist/i18n/index.js +2 -0
  220. package/dist/i18n/index.js.map +1 -0
  221. package/dist/i18n/messages.d.ts +5 -0
  222. package/dist/i18n/messages.d.ts.map +1 -0
  223. package/dist/i18n/messages.js +1383 -0
  224. package/dist/i18n/messages.js.map +1 -0
  225. package/dist/index.d.ts +21 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +18 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/page-settings.d.ts +21 -0
  230. package/dist/page-settings.d.ts.map +1 -0
  231. package/dist/page-settings.js +66 -0
  232. package/dist/page-settings.js.map +1 -0
  233. package/dist/report-structure.d.ts +20 -0
  234. package/dist/report-structure.d.ts.map +1 -0
  235. package/dist/report-structure.js +219 -0
  236. package/dist/report-structure.js.map +1 -0
  237. package/dist/store/designer-store.d.ts +161 -0
  238. package/dist/store/designer-store.d.ts.map +1 -0
  239. package/dist/store/designer-store.js +1851 -0
  240. package/dist/store/designer-store.js.map +1 -0
  241. package/dist/table/table-structure.d.ts +50 -0
  242. package/dist/table/table-structure.d.ts.map +1 -0
  243. package/dist/table/table-structure.js +251 -0
  244. package/dist/table/table-structure.js.map +1 -0
  245. package/dist/text-style-application.d.ts +11 -0
  246. package/dist/text-style-application.d.ts.map +1 -0
  247. package/dist/text-style-application.js +135 -0
  248. package/dist/text-style-application.js.map +1 -0
  249. package/dist/text-style-bindings.d.ts +16 -0
  250. package/dist/text-style-bindings.d.ts.map +1 -0
  251. package/dist/text-style-bindings.js +549 -0
  252. package/dist/text-style-bindings.js.map +1 -0
  253. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyEditor.js","sourceRoot":"","sources":["../../src/components/PropertyEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const RibbonToolbar: React.FC;
3
+ //# sourceMappingURL=RibbonToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RibbonToolbar.d.ts","sourceRoot":"","sources":["../../src/components/RibbonToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkCxC,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAoZjC,CAAC"}
@@ -0,0 +1,179 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Button, Space, Select, Tooltip, Dropdown, Typography, Modal, InputNumber, message } from 'antd';
4
+ import { UndoOutlined, RedoOutlined, SaveOutlined, FolderOpenOutlined, FileAddOutlined, BoldOutlined, ItalicOutlined, UnderlineOutlined, AlignLeftOutlined, AlignCenterOutlined, AlignRightOutlined, FontSizeOutlined, DeleteOutlined, ColumnWidthOutlined, ColumnHeightOutlined, ArrowsAltOutlined, RiseOutlined, FallOutlined, MenuOutlined, BorderOuterOutlined, SettingOutlined, PlusOutlined, MinusOutlined, BorderlessTableOutlined, PartitionOutlined, } from '@ant-design/icons';
5
+ import { useDesignerStore } from '../store/designer-store';
6
+ import { ConditionalFormatManager } from './ConditionalFormatManager';
7
+ import { hasTextStyleBinding } from '../text-style-bindings';
8
+ export const RibbonToolbar = () => {
9
+ const { undo, redo, canUndo, canRedo, alignComponents, sizeComponents, bringToFront, sendToBack, deleteSelected, copySelected, pasteClipboard, getClipboard, setFontBold, setFontSize, setTextAlign, setBorderAll, addPage, deletePage, getSelectedFont, getSelectedTextAlign } = useDesignerStore();
10
+ const selectedComponentIds = useDesignerStore(s => s.selectedComponentIds);
11
+ const selectedCount = selectedComponentIds.length;
12
+ const template = useDesignerStore(s => s.template);
13
+ const currentPageId = useDesignerStore(s => s.currentPageId);
14
+ const currentPage = template.pages.find(p => p.id === currentPageId);
15
+ const [pageModalOpen, setPageModalOpen] = useState(false);
16
+ const [pageSettings, setPageSettings] = useState(null);
17
+ const [cfModalOpen, setCfModalOpen] = useState(false);
18
+ const alignDisabled = selectedCount < 2;
19
+ const sizeDisabled = selectedCount < 2;
20
+ const layerDisabled = selectedCount === 0;
21
+ const fontInfo = getSelectedFont();
22
+ const textAlign = getSelectedTextAlign();
23
+ const selectedComponent = selectedComponentIds.length === 1
24
+ ? currentPage?.bands.flatMap(band => band.components).find(component => component.id === selectedComponentIds[0])
25
+ : undefined;
26
+ const isTextStyleLocked = (pathOrPrefix) => (selectedComponent?.type === 'text' ? hasTextStyleBinding(selectedComponent, pathOrPrefix) : false);
27
+ const fontSizeDisabled = !fontInfo || isTextStyleLocked('font.size');
28
+ const fontBoldDisabled = !fontInfo || isTextStyleLocked('font.bold');
29
+ const fontItalicDisabled = !fontInfo || isTextStyleLocked('font.italic');
30
+ const fontUnderlineDisabled = !fontInfo || isTextStyleLocked('font.underline');
31
+ const textAlignDisabled = textAlign === null || isTextStyleLocked('textAlign');
32
+ const borderDisabled = selectedCount === 0 || isTextStyleLocked('border');
33
+ // ---- File operations ----
34
+ const handleNew = () => {
35
+ Modal.confirm({
36
+ title: '新建模板',
37
+ content: '当前未保存的更改将丢失,确定新建?',
38
+ onOk: () => {
39
+ useDesignerStore.getState().loadTemplate({
40
+ id: `tpl_${Date.now()}`,
41
+ name: 'New Template',
42
+ version: '2.0',
43
+ pages: [{
44
+ id: `page_${Date.now()}`,
45
+ width: 210, height: 297,
46
+ margins: { top: 10, right: 10, bottom: 10, left: 10 },
47
+ orientation: 'portrait',
48
+ bands: [
49
+ { id: `band_ph_${Date.now()}`, type: 'pageHeader', height: 20, components: [] },
50
+ { id: `band_data_${Date.now()}`, type: 'data', height: 50, components: [] },
51
+ { id: `band_pf_${Date.now()}`, type: 'pageFooter', height: 20, components: [] },
52
+ ],
53
+ }],
54
+ dataSources: [],
55
+ styles: [],
56
+ conditionalFormats: [],
57
+ parameters: [],
58
+ });
59
+ message.success('已创建新模板');
60
+ },
61
+ });
62
+ };
63
+ const handleOpen = () => {
64
+ const input = document.createElement('input');
65
+ input.type = 'file';
66
+ input.accept = '.json';
67
+ input.onchange = (e) => {
68
+ const file = e.target.files?.[0];
69
+ if (!file)
70
+ return;
71
+ const reader = new FileReader();
72
+ reader.onload = (ev) => {
73
+ try {
74
+ const json = JSON.parse(ev.target?.result);
75
+ useDesignerStore.getState().loadTemplate(json);
76
+ message.success('已加载模板: ' + file.name);
77
+ }
78
+ catch {
79
+ message.error('无效的 JSON 文件');
80
+ }
81
+ };
82
+ reader.readAsText(file);
83
+ };
84
+ input.click();
85
+ };
86
+ const handleSave = () => {
87
+ const state = useDesignerStore.getState();
88
+ const json = JSON.stringify(state.template, null, 2);
89
+ const blob = new Blob([json], { type: 'application/json' });
90
+ const url = URL.createObjectURL(blob);
91
+ const a = document.createElement('a');
92
+ a.href = url;
93
+ a.download = `${state.template.name || 'template'}.json`;
94
+ a.click();
95
+ URL.revokeObjectURL(url);
96
+ message.success('已保存模板');
97
+ };
98
+ // ---- Page settings ----
99
+ const openPageSettings = () => {
100
+ if (!currentPage)
101
+ return;
102
+ setPageSettings({
103
+ width: currentPage.width,
104
+ height: currentPage.height,
105
+ orientation: currentPage.orientation,
106
+ margins: { ...currentPage.margins },
107
+ });
108
+ setPageModalOpen(true);
109
+ };
110
+ const applyPageSettings = () => {
111
+ if (!pageSettings || !currentPageId)
112
+ return;
113
+ const { width, height, orientation, margins } = pageSettings;
114
+ useDesignerStore.getState().setPageSettings(currentPageId, { width, height, orientation, margins });
115
+ setPageModalOpen(false);
116
+ message.success('页面设置已应用');
117
+ };
118
+ // ---- Alignment dropdown menu ----
119
+ const alignMenu = {
120
+ items: [
121
+ { key: 'left', label: '左对齐', icon: _jsx(AlignLeftOutlined, {}), disabled: alignDisabled },
122
+ { key: 'center-h', label: '水平居中', icon: _jsx(AlignCenterOutlined, {}), disabled: alignDisabled },
123
+ { key: 'right', label: '右对齐', icon: _jsx(AlignRightOutlined, {}), disabled: alignDisabled },
124
+ { type: 'divider' },
125
+ { key: 'top', label: '顶部对齐', icon: _jsx(RiseOutlined, {}), disabled: alignDisabled },
126
+ { key: 'center-v', label: '垂直居中', icon: _jsx(AlignCenterOutlined, {}), disabled: alignDisabled },
127
+ { key: 'bottom', label: '底部对齐', icon: _jsx(FallOutlined, {}), disabled: alignDisabled },
128
+ { type: 'divider' },
129
+ { key: 'distribute-h', label: '水平等间距', icon: _jsx(ColumnWidthOutlined, {}), disabled: alignDisabled || selectedCount < 3 },
130
+ { key: 'distribute-v', label: '垂直等间距', icon: _jsx(ColumnHeightOutlined, {}), disabled: alignDisabled || selectedCount < 3 },
131
+ ],
132
+ onClick: ({ key }) => alignComponents(key),
133
+ };
134
+ const sizeMenu = {
135
+ items: [
136
+ { key: 'same-width', label: '等宽', icon: _jsx(ColumnWidthOutlined, {}), disabled: sizeDisabled },
137
+ { key: 'same-height', label: '等高', icon: _jsx(ColumnHeightOutlined, {}), disabled: sizeDisabled },
138
+ { key: 'same-size', label: '等大小', icon: _jsx(ArrowsAltOutlined, {}), disabled: sizeDisabled },
139
+ ],
140
+ onClick: ({ key }) => sizeComponents(key),
141
+ };
142
+ const layerMenu = {
143
+ items: [
144
+ { key: 'bringToFront', label: '置顶', icon: _jsx(RiseOutlined, {}), disabled: layerDisabled },
145
+ { key: 'sendToBack', label: '置底', icon: _jsx(FallOutlined, {}), disabled: layerDisabled },
146
+ ],
147
+ onClick: ({ key }) => {
148
+ if (key === 'bringToFront')
149
+ bringToFront();
150
+ if (key === 'sendToBack')
151
+ sendToBack();
152
+ },
153
+ };
154
+ return (_jsxs("div", { style: {
155
+ padding: '4px 12px',
156
+ background: '#fafafa',
157
+ borderBottom: '1px solid #e8e8e8',
158
+ display: 'flex',
159
+ alignItems: 'center',
160
+ gap: 4,
161
+ flexWrap: 'wrap',
162
+ }, children: [_jsxs(Space, { children: [_jsx(Tooltip, { title: "\u65B0\u5EFA (Ctrl+N)", children: _jsx(Button, { icon: _jsx(FileAddOutlined, {}), size: "small", onClick: handleNew }) }), _jsx(Tooltip, { title: "\u6253\u5F00 (Ctrl+O)", children: _jsx(Button, { icon: _jsx(FolderOpenOutlined, {}), size: "small", onClick: handleOpen }) }), _jsx(Tooltip, { title: "\u4FDD\u5B58 (Ctrl+S)", children: _jsx(Button, { icon: _jsx(SaveOutlined, {}), size: "small", onClick: handleSave }) })] }), _jsx(ToolbarDivider, {}), _jsxs(Space, { children: [_jsx(Tooltip, { title: "\u64A4\u9500 (Ctrl+Z)", children: _jsx(Button, { icon: _jsx(UndoOutlined, {}), size: "small", disabled: !canUndo(), onClick: undo }) }), _jsx(Tooltip, { title: "\u91CD\u505A (Ctrl+Y)", children: _jsx(Button, { icon: _jsx(RedoOutlined, {}), size: "small", disabled: !canRedo(), onClick: redo }) })] }), _jsx(ToolbarDivider, {}), _jsxs(Space, { children: [_jsx(Tooltip, { title: "\u6DFB\u52A0\u9875\u9762", children: _jsx(Button, { icon: _jsx(PlusOutlined, {}), size: "small", onClick: addPage }) }), _jsx(Tooltip, { title: "\u5220\u9664\u9875\u9762", children: _jsx(Button, { icon: _jsx(MinusOutlined, {}), size: "small", onClick: () => currentPageId && deletePage(currentPageId), disabled: template.pages.length <= 1 }) }), _jsx(Tooltip, { title: "\u9875\u9762\u8BBE\u7F6E", children: _jsx(Button, { icon: _jsx(SettingOutlined, {}), size: "small", onClick: openPageSettings, disabled: !currentPage }) })] }), _jsx(ToolbarDivider, {}), _jsxs(Space, { children: [_jsx(Tooltip, { title: "\u5220\u9664 (Del)", children: _jsx(Button, { icon: _jsx(DeleteOutlined, {}), size: "small", danger: true, onClick: deleteSelected, disabled: selectedCount === 0 }) }), _jsx(Tooltip, { title: "\u590D\u5236 (Ctrl+C)", children: _jsx(Button, { icon: _jsx(BorderlessTableOutlined, {}), size: "small", onClick: copySelected, disabled: selectedCount === 0 }) }), _jsx(Tooltip, { title: "\u7C98\u8D34 (Ctrl+V)", children: _jsx(Button, { icon: _jsx(BorderlessTableOutlined, {}), size: "small", onClick: pasteClipboard, disabled: getClipboard().length === 0 }) })] }), _jsx(ToolbarDivider, {}), _jsxs(Space, { children: [_jsx(Select, { "aria-label": "\u5DE5\u5177\u680F\u5B57\u53F7", size: "small", value: fontInfo?.size || 12, style: { width: 60 }, onChange: (v) => setFontSize(v), options: [8, 9, 10, 11, 12, 14, 16, 18, 20, 24].map(s => ({ value: s, label: `${s}` })), suffixIcon: _jsx(FontSizeOutlined, {}), disabled: fontSizeDisabled }), _jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u52A0\u7C97", icon: _jsx(BoldOutlined, {}), size: "small", type: fontInfo?.bold ? 'primary' : 'default', onClick: () => setFontBold(!fontInfo?.bold), disabled: fontBoldDisabled }), _jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u659C\u4F53", icon: _jsx(ItalicOutlined, {}), size: "small", disabled: fontItalicDisabled }), _jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u4E0B\u5212\u7EBF", icon: _jsx(UnderlineOutlined, {}), size: "small", disabled: fontUnderlineDisabled })] }), _jsx(ToolbarDivider, {}), _jsxs(Space, { children: [_jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u5DE6\u5BF9\u9F50", icon: _jsx(AlignLeftOutlined, {}), size: "small", type: textAlign === 'left' ? 'primary' : 'default', onClick: () => setTextAlign('left'), disabled: textAlignDisabled }), _jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u6C34\u5E73\u5C45\u4E2D", icon: _jsx(AlignCenterOutlined, {}), size: "small", type: textAlign === 'center' ? 'primary' : 'default', onClick: () => setTextAlign('center'), disabled: textAlignDisabled }), _jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u53F3\u5BF9\u9F50", icon: _jsx(AlignRightOutlined, {}), size: "small", type: textAlign === 'right' ? 'primary' : 'default', onClick: () => setTextAlign('right'), disabled: textAlignDisabled })] }), _jsx(ToolbarDivider, {}), _jsx(Tooltip, { title: "\u5207\u6362\u8FB9\u6846", children: _jsx(Button, { "aria-label": "\u5DE5\u5177\u680F\u8FB9\u6846", icon: _jsx(BorderOuterOutlined, {}), size: "small", onClick: () => setBorderAll(true), disabled: borderDisabled }) }), _jsx(ToolbarDivider, {}), _jsx(Tooltip, { title: "\u6761\u4EF6\u683C\u5F0F", children: _jsx(Button, { icon: _jsx(PartitionOutlined, {}), size: "small", onClick: () => setCfModalOpen(true), children: "\u6761\u4EF6\u683C\u5F0F" }) }), _jsx(ToolbarDivider, {}), _jsx(Tooltip, { title: "\u5BF9\u9F50 (\u591A\u9009\u7EC4\u4EF6)", children: _jsx(Dropdown, { menu: alignMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(MenuOutlined, {}), size: "small", disabled: alignDisabled, children: "\u5BF9\u9F50" }) }) }), _jsx(Tooltip, { title: "\u7EDF\u4E00\u5927\u5C0F (\u591A\u9009\u7EC4\u4EF6)", children: _jsx(Dropdown, { menu: sizeMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(ArrowsAltOutlined, {}), size: "small", disabled: sizeDisabled, children: "\u5927\u5C0F" }) }) }), _jsx(Tooltip, { title: "\u5C42\u7EA7", children: _jsx(Dropdown, { menu: layerMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(RiseOutlined, {}), size: "small", disabled: layerDisabled, children: "\u5C42\u7EA7" }) }) }), _jsx(ToolbarDivider, {}), selectedCount > 0 && (_jsxs(Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: ["\u5DF2\u9009 ", selectedCount, " \u4E2A\u7EC4\u4EF6"] })), pageSettings && (_jsx(Modal, { title: "\u9875\u9762\u8BBE\u7F6E", open: pageModalOpen, onOk: applyPageSettings, onCancel: () => setPageModalOpen(false), okText: "\u5E94\u7528", cancelText: "\u53D6\u6D88", children: _jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [_jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center' }, children: [_jsx("span", { style: { width: 60 }, children: "\u5BBD\u5EA6 (mm)" }), _jsx(InputNumber, { value: pageSettings.width, onChange: (v) => setPageSettings({ ...pageSettings, width: v ?? 210 }), style: { width: '100%' }, min: 50, max: 1000 })] }), _jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center' }, children: [_jsx("span", { style: { width: 60 }, children: "\u9AD8\u5EA6 (mm)" }), _jsx(InputNumber, { value: pageSettings.height, onChange: (v) => setPageSettings({ ...pageSettings, height: v ?? 297 }), style: { width: '100%' }, min: 50, max: 1000 })] }), _jsxs("div", { style: { display: 'flex', gap: 8, alignItems: 'center' }, children: [_jsx("span", { style: { width: 60 }, children: "\u65B9\u5411" }), _jsx(Select, { value: pageSettings.orientation, onChange: (v) => {
163
+ const isLandscape = v === 'landscape';
164
+ const w = pageSettings.width;
165
+ const h = pageSettings.height;
166
+ setPageSettings({ ...pageSettings, orientation: v, width: isLandscape ? h : w, height: isLandscape ? w : h });
167
+ }, style: { width: '100%' }, options: [
168
+ { value: 'portrait', label: '纵向' },
169
+ { value: 'landscape', label: '横向' },
170
+ ] })] }), _jsx("div", { style: { fontSize: 13, fontWeight: 500 }, children: "\u9875\u8FB9\u8DDD (mm)" }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 8 }, children: [_jsxs("div", { children: [_jsx("span", { children: "\u4E0A" }), _jsx(InputNumber, { value: pageSettings.margins.top, onChange: (v) => setPageSettings({ ...pageSettings, margins: { ...pageSettings.margins, top: v ?? 0 } }), style: { width: '100%' }, min: 0, max: 50 })] }), _jsxs("div", { children: [_jsx("span", { children: "\u53F3" }), _jsx(InputNumber, { value: pageSettings.margins.right, onChange: (v) => setPageSettings({ ...pageSettings, margins: { ...pageSettings.margins, right: v ?? 0 } }), style: { width: '100%' }, min: 0, max: 50 })] }), _jsxs("div", { children: [_jsx("span", { children: "\u4E0B" }), _jsx(InputNumber, { value: pageSettings.margins.bottom, onChange: (v) => setPageSettings({ ...pageSettings, margins: { ...pageSettings.margins, bottom: v ?? 0 } }), style: { width: '100%' }, min: 0, max: 50 })] }), _jsxs("div", { children: [_jsx("span", { children: "\u5DE6" }), _jsx(InputNumber, { value: pageSettings.margins.left, onChange: (v) => setPageSettings({ ...pageSettings, margins: { ...pageSettings.margins, left: v ?? 0 } }), style: { width: '100%' }, min: 0, max: 50 })] })] })] }) })), _jsx(ConditionalFormatManager, { open: cfModalOpen, onClose: () => setCfModalOpen(false) })] }));
171
+ };
172
+ const ToolbarDivider = () => (_jsx("span", { "aria-hidden": "true", style: {
173
+ width: 1,
174
+ height: 24,
175
+ backgroundColor: '#d9d9d9',
176
+ display: 'inline-block',
177
+ margin: '0 4px',
178
+ } }));
179
+ //# sourceMappingURL=RibbonToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RibbonToolbar.js","sourceRoot":"","sources":["../../src/components/RibbonToolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import type { TextFormatConfig } from '@report-designer/core';
3
+ interface TextFormatEditorProps {
4
+ value?: TextFormatConfig;
5
+ onChange: (value: TextFormatConfig) => void;
6
+ disabled?: boolean;
7
+ isFieldDisabled?: (path: string) => boolean;
8
+ labelWidth?: number;
9
+ size?: 'small' | 'middle';
10
+ }
11
+ export declare const TextFormatEditor: React.FC<TextFormatEditorProps>;
12
+ export {};
13
+ //# sourceMappingURL=TextFormatEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextFormatEditor.d.ts","sourceRoot":"","sources":["../../src/components/TextFormatEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAG9E,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC3B;AA6FD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+Y5D,CAAC"}
@@ -0,0 +1,199 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Input, InputNumber, Select, Switch } from 'antd';
3
+ import { formatValue } from '@report-designer/core';
4
+ import { useDesignerI18n } from '../i18n';
5
+ const DATE_FORMAT_OPTIONS = [
6
+ 'yyyy-MM-dd',
7
+ 'yyyy/MM/dd',
8
+ 'MM/dd/yyyy',
9
+ 'dd/MM/yyyy',
10
+ 'yyyy.MM.dd',
11
+ ];
12
+ const TIME_FORMAT_OPTIONS = [
13
+ 'HH:mm',
14
+ 'HH:mm:ss',
15
+ ];
16
+ function createDefaultFormat(type = 'none', t) {
17
+ switch (type) {
18
+ case 'text':
19
+ return { type, textTransform: 'none', trimText: false };
20
+ case 'number':
21
+ return {
22
+ type,
23
+ decimalDigits: 2,
24
+ decimalSeparator: '.',
25
+ useGroupSeparator: true,
26
+ groupSeparator: ',',
27
+ groupSize: 3,
28
+ useAbbreviation: false,
29
+ positivePattern: 'plain',
30
+ negativePattern: 'minus',
31
+ };
32
+ case 'currency':
33
+ return {
34
+ type,
35
+ decimalDigits: 2,
36
+ decimalSeparator: '.',
37
+ useGroupSeparator: true,
38
+ groupSeparator: ',',
39
+ groupSize: 3,
40
+ useAbbreviation: false,
41
+ positivePattern: 'plain',
42
+ negativePattern: 'minus',
43
+ currencySymbol: '$',
44
+ currencySymbolPosition: 'prefix',
45
+ currencySpace: false,
46
+ };
47
+ case 'percent':
48
+ return {
49
+ type,
50
+ decimalDigits: 2,
51
+ decimalSeparator: '.',
52
+ useGroupSeparator: false,
53
+ groupSeparator: ',',
54
+ groupSize: 3,
55
+ positivePattern: 'plain',
56
+ negativePattern: 'minus',
57
+ percentMultiplier: 100,
58
+ percentSymbol: '%',
59
+ percentSymbolPosition: 'suffix',
60
+ percentSpace: false,
61
+ };
62
+ case 'date':
63
+ return { type, dateFormat: 'yyyy-MM-dd' };
64
+ case 'time':
65
+ return { type, timeFormat: 'HH:mm:ss' };
66
+ case 'dateTime':
67
+ return { type, dateFormat: 'yyyy-MM-dd', timeFormat: 'HH:mm:ss' };
68
+ case 'boolean':
69
+ return {
70
+ type,
71
+ trueText: t?.('formatEditor.booleanTrueDefault') ?? 'True',
72
+ falseText: t?.('formatEditor.booleanFalseDefault') ?? 'False',
73
+ trueValues: ['true', '1'],
74
+ falseValues: ['false', '0'],
75
+ };
76
+ case 'custom':
77
+ return { type, pattern: '' };
78
+ case 'none':
79
+ default:
80
+ return { type: 'none' };
81
+ }
82
+ }
83
+ function normalizeFormat(format, t) {
84
+ return {
85
+ ...createDefaultFormat(format?.type ?? 'none', t),
86
+ ...format,
87
+ };
88
+ }
89
+ export const TextFormatEditor = ({ disabled = false, isFieldDisabled, labelWidth = 88, onChange, size = 'small', value, }) => {
90
+ const { t } = useDesignerI18n();
91
+ const format = normalizeFormat(value, t);
92
+ const previewText = formatValue(getPreviewValue(format.type, t('formatEditor.previewText')), format);
93
+ const fieldDisabled = (path) => disabled || (isFieldDisabled?.(path) ?? false);
94
+ const updateFormat = (updates) => {
95
+ onChange({ ...format, ...updates });
96
+ };
97
+ const changeType = (type) => {
98
+ const defaults = createDefaultFormat(type, t);
99
+ onChange({
100
+ ...defaults,
101
+ nullValue: format.nullValue ?? defaults.nullValue,
102
+ trueText: format.trueText ?? defaults.trueText,
103
+ falseText: format.falseText ?? defaults.falseText,
104
+ pattern: type === 'custom' ? format.pattern ?? '' : defaults.pattern,
105
+ });
106
+ };
107
+ const formatTypeOptions = [
108
+ { value: 'none', label: t('formatEditor.none') },
109
+ { value: 'text', label: t('formatEditor.text') },
110
+ { value: 'number', label: t('formatEditor.number') },
111
+ { value: 'currency', label: t('formatEditor.currency') },
112
+ { value: 'date', label: t('formatEditor.date') },
113
+ { value: 'time', label: t('formatEditor.time') },
114
+ { value: 'dateTime', label: t('formatEditor.dateTime') },
115
+ { value: 'percent', label: t('formatEditor.percent') },
116
+ { value: 'boolean', label: t('formatEditor.boolean') },
117
+ { value: 'custom', label: t('formatEditor.custom') },
118
+ ];
119
+ return (_jsxs("div", { "data-testid": "format-editor", style: { display: 'grid', gap: 8, minWidth: 0, width: '100%' }, children: [_jsxs("div", { "data-testid": "format-editor-preview", style: {
120
+ border: '1px solid #d9d9d9',
121
+ borderRadius: 4,
122
+ display: 'grid',
123
+ gap: 4,
124
+ padding: '8px 10px',
125
+ background: '#fafafa',
126
+ }, children: [_jsx("span", { style: { color: '#8c8c8c', fontSize: 12 }, children: t('formatEditor.preview') }), _jsx("span", { style: { color: '#262626', fontSize: 12, fontWeight: 600, wordBreak: 'break-all' }, children: previewText || '-' })] }), _jsxs("div", { "data-testid": "format-editor-settings", style: {
127
+ border: '1px solid #d9d9d9',
128
+ borderRadius: 4,
129
+ display: 'grid',
130
+ gap: 8,
131
+ minWidth: 0,
132
+ padding: '8px 10px',
133
+ background: '#ffffff',
134
+ }, children: [_jsx("span", { style: { color: '#8c8c8c', fontSize: 12 }, children: t('formatEditor.settings') }), _jsxs("div", { style: { display: 'grid', gap: 8, minWidth: 0 }, children: [_jsx(FormatField, { label: t('formatEditor.type'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.type'), value: format.type, virtual: false, size: size, disabled: fieldDisabled('format.type'), onChange: changeType, options: formatTypeOptions }) }), format.type === 'custom' ? (_jsx(FormatField, { label: t('formatEditor.pattern'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.pattern'), value: format.pattern ?? '', size: size, disabled: fieldDisabled('format.pattern'), onChange: (event) => updateFormat({ pattern: event.target.value }), placeholder: "#,##0.00 / yyyy-MM-dd" }) })) : null, format.type === 'text' ? (_jsxs(_Fragment, { children: [_jsx(FormatField, { label: t('formatEditor.transform'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.transform'), value: format.textTransform ?? 'none', virtual: false, size: size, disabled: fieldDisabled('format.textTransform'), onChange: (textTransform) => updateFormat({ textTransform }), options: [
135
+ { value: 'none', label: t('formatEditor.transformNone') },
136
+ { value: 'uppercase', label: t('formatEditor.uppercase') },
137
+ { value: 'lowercase', label: t('formatEditor.lowercase') },
138
+ { value: 'capitalize', label: t('formatEditor.capitalize') },
139
+ ] }) }), _jsx(FormatField, { label: t('formatEditor.trimText'), labelWidth: labelWidth, children: _jsx(CompactSwitch, { "aria-label": t('formatEditor.trimText'), size: "small", checked: format.trimText ?? false, disabled: fieldDisabled('format.trimText'), onChange: (trimText) => updateFormat({ trimText }) }) })] })) : null, isNumericFormat(format.type) ? (_jsxs(_Fragment, { children: [_jsx(FormatField, { label: t('formatEditor.decimalDigits'), labelWidth: labelWidth, children: _jsx(InputNumber, { "aria-label": t('formatEditor.decimalDigits'), value: format.decimalDigits ?? 2, min: 0, max: 8, size: size, disabled: fieldDisabled('format.decimalDigits'), style: { width: '100%' }, onChange: (decimalDigits) => updateFormat({ decimalDigits: Number(decimalDigits ?? 0) }) }) }), _jsx(FormatField, { label: t('formatEditor.decimalSeparator'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.decimalSeparator'), value: format.decimalSeparator ?? '.', maxLength: 4, size: size, disabled: fieldDisabled('format.decimalSeparator'), onChange: (event) => updateFormat({ decimalSeparator: event.target.value }) }) }), _jsx(FormatField, { label: t('formatEditor.useGroupSeparator'), labelWidth: labelWidth, children: _jsx(CompactSwitch, { "aria-label": t('formatEditor.useGroupSeparator'), size: "small", checked: format.useGroupSeparator ?? format.type !== 'percent', disabled: fieldDisabled('format.useGroupSeparator'), onChange: (useGroupSeparator) => updateFormat({ useGroupSeparator }) }) }), _jsx(FormatField, { label: t('formatEditor.groupSeparator'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.groupSeparator'), value: format.groupSeparator ?? ',', maxLength: 4, size: size, disabled: fieldDisabled('format.groupSeparator'), onChange: (event) => updateFormat({ groupSeparator: event.target.value }) }) }), _jsx(FormatField, { label: t('formatEditor.groupSize'), labelWidth: labelWidth, children: _jsx(InputNumber, { "aria-label": t('formatEditor.groupSize'), value: format.groupSize ?? 3, min: 1, max: 9, size: size, disabled: fieldDisabled('format.groupSize'), style: { width: '100%' }, onChange: (groupSize) => updateFormat({ groupSize: Number(groupSize ?? 3) }) }) }), format.type !== 'percent' ? (_jsx(FormatField, { label: t('formatEditor.useAbbreviation'), labelWidth: labelWidth, children: _jsx(CompactSwitch, { "aria-label": t('formatEditor.useAbbreviation'), size: "small", checked: format.useAbbreviation ?? false, disabled: fieldDisabled('format.useAbbreviation'), onChange: (useAbbreviation) => updateFormat({ useAbbreviation }) }) })) : null, _jsx(FormatField, { label: t('formatEditor.positivePattern'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.positivePattern'), value: format.positivePattern ?? 'plain', virtual: false, size: size, disabled: fieldDisabled('format.positivePattern'), onChange: (positivePattern) => updateFormat({ positivePattern }), options: [
140
+ { value: 'plain', label: t('formatEditor.positivePlain') },
141
+ { value: 'plus', label: t('formatEditor.positivePlus') },
142
+ ] }) }), _jsx(FormatField, { label: t('formatEditor.negativePattern'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.negativePattern'), value: format.negativePattern ?? 'minus', virtual: false, size: size, disabled: fieldDisabled('format.negativePattern'), onChange: (negativePattern) => updateFormat({ negativePattern }), options: [
143
+ { value: 'minus', label: t('formatEditor.negativeMinus') },
144
+ { value: 'parentheses', label: t('formatEditor.negativeParentheses') },
145
+ ] }) })] })) : null, format.type === 'currency' ? (_jsxs(_Fragment, { children: [_jsx(FormatField, { label: t('formatEditor.currencySymbol'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.currencySymbol'), value: format.currencySymbol ?? '$', size: size, disabled: fieldDisabled('format.currencySymbol'), onChange: (event) => updateFormat({ currencySymbol: event.target.value }) }) }), _jsx(FormatField, { label: t('formatEditor.currencySymbolPosition'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.currencySymbolPosition'), value: format.currencySymbolPosition ?? 'prefix', virtual: false, size: size, disabled: fieldDisabled('format.currencySymbolPosition'), onChange: (currencySymbolPosition) => updateFormat({ currencySymbolPosition }), options: [
146
+ { value: 'prefix', label: t('formatEditor.prefix') },
147
+ { value: 'suffix', label: t('formatEditor.suffix') },
148
+ ] }) }), _jsx(FormatField, { label: t('formatEditor.currencySpace'), labelWidth: labelWidth, children: _jsx(CompactSwitch, { "aria-label": t('formatEditor.currencySpace'), size: "small", checked: format.currencySpace ?? false, disabled: fieldDisabled('format.currencySpace'), onChange: (currencySpace) => updateFormat({ currencySpace }) }) })] })) : null, format.type === 'percent' ? (_jsxs(_Fragment, { children: [_jsx(FormatField, { label: t('formatEditor.percentMultiplier'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.percentMultiplier'), value: format.percentMultiplier ?? 100, virtual: false, size: size, disabled: fieldDisabled('format.percentMultiplier'), onChange: (percentMultiplier) => updateFormat({ percentMultiplier }), options: [
149
+ { value: 100, label: t('formatEditor.percentFraction') },
150
+ { value: 1, label: t('formatEditor.percentWhole') },
151
+ ] }) }), _jsx(FormatField, { label: t('formatEditor.percentSymbol'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.percentSymbol'), value: format.percentSymbol ?? '%', size: size, disabled: fieldDisabled('format.percentSymbol'), onChange: (event) => updateFormat({ percentSymbol: event.target.value }) }) }), _jsx(FormatField, { label: t('formatEditor.percentSymbolPosition'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.percentSymbolPosition'), value: format.percentSymbolPosition ?? 'suffix', virtual: false, size: size, disabled: fieldDisabled('format.percentSymbolPosition'), onChange: (percentSymbolPosition) => updateFormat({ percentSymbolPosition }), options: [
152
+ { value: 'prefix', label: t('formatEditor.prefix') },
153
+ { value: 'suffix', label: t('formatEditor.suffix') },
154
+ ] }) }), _jsx(FormatField, { label: t('formatEditor.percentSpace'), labelWidth: labelWidth, children: _jsx(CompactSwitch, { "aria-label": t('formatEditor.percentSpace'), size: "small", checked: format.percentSpace ?? false, disabled: fieldDisabled('format.percentSpace'), onChange: (percentSpace) => updateFormat({ percentSpace }) }) })] })) : null, format.type === 'date' || format.type === 'dateTime' ? (_jsx(FormatField, { label: t('formatEditor.dateFormat'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.dateFormat'), value: format.dateFormat ?? 'yyyy-MM-dd', virtual: false, size: size, disabled: fieldDisabled('format.dateFormat'), onChange: (dateFormat) => updateFormat({ dateFormat }), options: DATE_FORMAT_OPTIONS.map(item => ({ value: item, label: item })) }) })) : null, format.type === 'time' || format.type === 'dateTime' ? (_jsx(FormatField, { label: t('formatEditor.timeFormat'), labelWidth: labelWidth, children: _jsx(LabeledSelect, { "aria-label": t('formatEditor.timeFormat'), value: format.timeFormat ?? 'HH:mm:ss', virtual: false, size: size, disabled: fieldDisabled('format.timeFormat'), onChange: (timeFormat) => updateFormat({ timeFormat }), options: TIME_FORMAT_OPTIONS.map(item => ({ value: item, label: item })) }) })) : null, format.type === 'boolean' ? (_jsxs(_Fragment, { children: [_jsx(FormatField, { label: t('formatEditor.trueText'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.trueText'), value: format.trueText ?? 'True', size: size, disabled: fieldDisabled('format.trueText'), onChange: (event) => updateFormat({ trueText: event.target.value }) }) }), _jsx(FormatField, { label: t('formatEditor.falseText'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.falseText'), value: format.falseText ?? 'False', size: size, disabled: fieldDisabled('format.falseText'), onChange: (event) => updateFormat({ falseText: event.target.value }) }) }), _jsx(FormatField, { label: t('formatEditor.trueValues'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.trueValues'), value: joinList(format.trueValues), size: size, disabled: fieldDisabled('format.trueValues'), onChange: (event) => updateFormat({ trueValues: splitList(event.target.value) }), placeholder: t('formatEditor.booleanValuesPlaceholder') }) }), _jsx(FormatField, { label: t('formatEditor.falseValues'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.falseValues'), value: joinList(format.falseValues), size: size, disabled: fieldDisabled('format.falseValues'), onChange: (event) => updateFormat({ falseValues: splitList(event.target.value) }), placeholder: t('formatEditor.booleanValuesPlaceholder') }) })] })) : null, format.type !== 'none' ? (_jsx(FormatField, { label: t('formatEditor.nullValue'), labelWidth: labelWidth, children: _jsx(Input, { "aria-label": t('formatEditor.nullValue'), value: format.nullValue ?? '', size: size, disabled: fieldDisabled('format.nullValue'), onChange: (event) => updateFormat({ nullValue: event.target.value }), placeholder: t('formatEditor.noValuePlaceholder') }) })) : null] })] })] }));
155
+ };
156
+ function isNumericFormat(type) {
157
+ return type === 'number' || type === 'currency' || type === 'percent';
158
+ }
159
+ function getPreviewValue(type, textPreview) {
160
+ switch (type) {
161
+ case 'text':
162
+ return textPreview;
163
+ case 'date':
164
+ return '2026-05-07T09:08:07Z';
165
+ case 'time':
166
+ return '2026-05-07T09:08:07Z';
167
+ case 'dateTime':
168
+ return '2026-05-07T09:08:07Z';
169
+ case 'percent':
170
+ return 0.2567;
171
+ case 'boolean':
172
+ return true;
173
+ case 'number':
174
+ case 'currency':
175
+ case 'custom':
176
+ return 1234567.89;
177
+ case 'none':
178
+ default:
179
+ return 1234567.89;
180
+ }
181
+ }
182
+ function splitList(value) {
183
+ return value.split(',').map(item => item.trim()).filter(Boolean);
184
+ }
185
+ function joinList(value) {
186
+ return value?.join(', ') ?? '';
187
+ }
188
+ const CompactSwitch = ({ 'aria-label': ariaLabel, checked, disabled, onChange, size, }) => (_jsx("span", { "data-testid": "format-switch-control", style: {
189
+ alignItems: 'center',
190
+ display: 'inline-flex',
191
+ justifySelf: 'start',
192
+ minWidth: 0,
193
+ width: 'fit-content',
194
+ }, children: _jsx(Switch, { "aria-label": ariaLabel, checked: checked, disabled: disabled, size: size, style: { flex: '0 0 auto', minWidth: size === 'small' ? 36 : 44, width: size === 'small' ? 36 : 44 }, onChange: onChange }) }));
195
+ function LabeledSelect({ 'aria-label': ariaLabel, disabled, onChange, options, size, style, value, virtual, }) {
196
+ return (_jsx("div", { "data-format-select": "", "aria-label": ariaLabel, "aria-disabled": disabled ? 'true' : undefined, children: _jsx(Select, { disabled: disabled, options: options, size: size, style: { width: '100%', ...style }, value: value, virtual: virtual, onChange: (nextValue) => onChange(nextValue) }) }));
197
+ }
198
+ const FormatField = ({ children, label, labelWidth, }) => (_jsxs("div", { style: { display: 'grid', gridTemplateColumns: `${labelWidth}px minmax(0, 1fr)`, gap: 10, alignItems: 'center' }, children: [_jsx("span", { style: { fontSize: 12, color: '#595959' }, children: label }), children] }));
199
+ //# sourceMappingURL=TextFormatEditor.js.map