@zeke-02/docx-editor 0.5.2 → 0.5.4

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 (223) hide show
  1. package/LICENSE +204 -0
  2. package/dist/FindReplaceDialog-7SQOVQWH.js +1 -0
  3. package/dist/FindReplaceDialog-RK3A7MSK.mjs +1 -0
  4. package/dist/{FootnotePropertiesDialog-XQ7NIFIU.js → FootnotePropertiesDialog-2Q2SHVMR.js} +1 -1
  5. package/dist/{FootnotePropertiesDialog-TNVJJCY6.mjs → FootnotePropertiesDialog-ZKQXW3YO.mjs} +1 -1
  6. package/dist/{HyperlinkDialog-FR4IZZ7E.mjs → HyperlinkDialog-QV3CVFQU.mjs} +1 -1
  7. package/dist/HyperlinkDialog-XVAF7FVN.js +1 -0
  8. package/dist/{ImagePositionDialog-JSZSIKF5.mjs → ImagePositionDialog-EGRH3HPP.mjs} +1 -1
  9. package/dist/{ImagePositionDialog-2YXRAGZS.js → ImagePositionDialog-HIVHUTBT.js} +1 -1
  10. package/dist/ImagePropertiesDialog-67WLFIIZ.mjs +1 -0
  11. package/dist/ImagePropertiesDialog-HSM3JJ22.js +1 -0
  12. package/dist/KeyboardShortcutsDialog-B0UFuR4w.d.ts +395 -0
  13. package/dist/KeyboardShortcutsDialog-t6JKL4Aj.d.mts +395 -0
  14. package/dist/PageSetupDialog-642IAVG2.js +1 -0
  15. package/dist/PageSetupDialog-ERUQDHAY.mjs +1 -0
  16. package/dist/PluginHost-HS31VIuo.d.mts +16 -0
  17. package/dist/PluginHost-zILZO7zX.d.ts +16 -0
  18. package/dist/{SplitCellDialog-NP3JJYHD.mjs → SplitCellDialog-GFWCFCTD.mjs} +1 -1
  19. package/dist/{SplitCellDialog-JIAC3RYV.js → SplitCellDialog-M7WF7ANE.js} +1 -1
  20. package/dist/{TablePropertiesDialog-TIK4AA5M.mjs → TablePropertiesDialog-TZ7VCL6V.mjs} +1 -1
  21. package/dist/{TablePropertiesDialog-T7D4HSVP.js → TablePropertiesDialog-ZKU2FTUX.js} +1 -1
  22. package/dist/agentApi-B2Y7kexW.d.ts +486 -0
  23. package/dist/agentApi-BzUJ_kao.d.mts +486 -0
  24. package/dist/chunk-2XXILKEQ.js +1 -0
  25. package/dist/chunk-35DG3R42.js +2 -0
  26. package/dist/chunk-5UX5CD4C.js +1 -0
  27. package/dist/chunk-7QQSDIWK.mjs +2 -0
  28. package/dist/chunk-AW5TISUL.js +3 -0
  29. package/dist/chunk-B45ECEGY.js +18 -0
  30. package/dist/chunk-B7CCL7SL.mjs +2 -0
  31. package/dist/chunk-BRMTZRLJ.js +2 -0
  32. package/dist/chunk-D47GTKGU.js +2 -0
  33. package/dist/chunk-F5SERL7X.mjs +2 -0
  34. package/dist/chunk-FWPVBFKQ.mjs +1 -0
  35. package/dist/chunk-GGQK26JO.js +2 -0
  36. package/dist/chunk-GM2S2WMT.mjs +1 -0
  37. package/dist/chunk-HXDMASAR.js +1 -0
  38. package/dist/chunk-ILYKDR3C.js +1 -0
  39. package/dist/chunk-JFRDFK7V.mjs +260 -0
  40. package/dist/chunk-JPF5R2ZM.mjs +1 -0
  41. package/dist/chunk-KOXCF3CL.mjs +1 -0
  42. package/dist/chunk-KRLNX56Y.mjs +2 -0
  43. package/dist/chunk-LWOHVYKW.mjs +1 -0
  44. package/dist/chunk-MDTA25AN.mjs +60 -0
  45. package/dist/chunk-MKNSJOCN.js +70 -0
  46. package/dist/chunk-NIBCC7WQ.js +1 -0
  47. package/dist/chunk-NLFXR2VH.js +2 -0
  48. package/dist/chunk-NOLMVQNN.mjs +40 -0
  49. package/dist/chunk-ONIYA2FU.mjs +2 -0
  50. package/dist/chunk-RCIZ7OM3.mjs +70 -0
  51. package/dist/chunk-SGTUE33R.js +260 -0
  52. package/dist/{chunk-EHFEG3TX.js → chunk-SNZ57XBI.js} +1 -1
  53. package/dist/chunk-SOTWG3KJ.mjs +1 -0
  54. package/dist/chunk-TYPGB4KF.js +1 -0
  55. package/dist/chunk-U7ZW2DOO.mjs +2 -0
  56. package/dist/chunk-WO3FIV4B.js +40 -0
  57. package/dist/{chunk-PKEOQIQO.mjs → chunk-WPI3YRFO.mjs} +1 -1
  58. package/dist/chunk-XGJ2EORY.mjs +1 -0
  59. package/dist/chunk-XQZTWWRF.mjs +18 -0
  60. package/dist/chunk-Y3SEHWZ2.js +1 -0
  61. package/dist/chunk-YBEVHQCT.js +60 -0
  62. package/dist/chunk-ZVAFVHWR.mjs +3 -0
  63. package/dist/chunk-ZXPCJWVY.js +2 -0
  64. package/dist/{agentApi-DLt94vXk.d.mts → content-REFGFfEH.d.mts} +8 -755
  65. package/dist/{agentApi-DLt94vXk.d.ts → content-REFGFfEH.d.ts} +8 -755
  66. package/dist/dialogs.d.mts +25 -0
  67. package/dist/dialogs.d.ts +25 -0
  68. package/dist/dialogs.js +1 -0
  69. package/dist/dialogs.mjs +1 -0
  70. package/dist/document-Cu2vq_wS.d.mts +294 -0
  71. package/dist/document-CxOagoLQ.d.ts +294 -0
  72. package/dist/executor-WBHID2RK.mjs +1 -0
  73. package/dist/executor-Y5VUOAHY.js +1 -0
  74. package/dist/findReplace-Bue0JaXh.d.ts +138 -0
  75. package/dist/findReplace-shXbOjFQ.d.mts +138 -0
  76. package/dist/fork.d.mts +535 -0
  77. package/dist/fork.d.ts +535 -0
  78. package/dist/fork.js +1 -0
  79. package/dist/fork.mjs +1 -0
  80. package/dist/hooks.d.mts +598 -0
  81. package/dist/hooks.d.ts +598 -0
  82. package/dist/hooks.js +1 -0
  83. package/dist/hooks.mjs +1 -0
  84. package/dist/index-B5A-J9GC.d.ts +1119 -0
  85. package/dist/index-bw-PaozF.d.mts +1119 -0
  86. package/dist/index.d.mts +12 -591
  87. package/dist/index.d.ts +12 -591
  88. package/dist/index.js +1 -120
  89. package/dist/index.mjs +1 -120
  90. package/dist/layout-bridge-5GYGYKM5.mjs +1 -0
  91. package/dist/layout-bridge-QQDA7ELH.js +1 -0
  92. package/dist/plugin-api.d.mts +165 -0
  93. package/dist/plugin-api.d.ts +165 -0
  94. package/dist/plugin-api.js +1 -0
  95. package/dist/plugin-api.mjs +1 -0
  96. package/dist/processTemplate-BTBTR7AM.js +1 -0
  97. package/dist/{processTemplate-W2C5PXZB.mjs → processTemplate-MBX2KDLE.mjs} +1 -1
  98. package/dist/styles.css +1 -1
  99. package/dist/styles.d.mts +18 -0
  100. package/dist/styles.d.ts +18 -0
  101. package/dist/styles.js +1 -0
  102. package/dist/styles.mjs +1 -0
  103. package/dist/types-BF48VxkC.d.mts +18 -0
  104. package/dist/types-BF48VxkC.d.ts +18 -0
  105. package/dist/types-BnIs4sE7.d.mts +281 -0
  106. package/dist/types-BnIs4sE7.d.ts +281 -0
  107. package/dist/types-CW6HFAX6.d.ts +39 -0
  108. package/dist/types-DIsDCwTG.d.mts +39 -0
  109. package/dist/ui.d.mts +111 -552
  110. package/dist/ui.d.ts +111 -552
  111. package/dist/ui.js +111 -1
  112. package/dist/ui.mjs +111 -1
  113. package/dist/useFindReplace-DKy-s3gS.d.ts +261 -0
  114. package/dist/useFindReplace-vuoKpDKE.d.mts +261 -0
  115. package/package.json +47 -49
  116. package/dist/ClipboardManager-CVKX0v9q.d.ts +0 -464
  117. package/dist/ClipboardManager-V3aaMnWE.d.mts +0 -464
  118. package/dist/DocumentAgent-BWflKHpH.d.mts +0 -442
  119. package/dist/DocumentAgent-DsdXtetF.d.ts +0 -442
  120. package/dist/FindReplaceDialog-L3YF5HIS.mjs +0 -1
  121. package/dist/FindReplaceDialog-SEBWC5P7.js +0 -1
  122. package/dist/HyperlinkDialog-WEK6JSAC.js +0 -1
  123. package/dist/ImagePropertiesDialog-527MFLQO.mjs +0 -1
  124. package/dist/ImagePropertiesDialog-HG4K3IE7.js +0 -1
  125. package/dist/PageSetupDialog-GALVJMUB.js +0 -1
  126. package/dist/PageSetupDialog-TGQIAMI7.mjs +0 -1
  127. package/dist/TableToolbar-DUgmob2I.d.ts +0 -1273
  128. package/dist/TableToolbar-YL74HNS1.d.mts +0 -1273
  129. package/dist/chunk-23SXXIZS.js +0 -111
  130. package/dist/chunk-3F52AP2Q.js +0 -1
  131. package/dist/chunk-42O5GXM5.mjs +0 -82
  132. package/dist/chunk-54ULJEHM.mjs +0 -1
  133. package/dist/chunk-5XK326FI.mjs +0 -1
  134. package/dist/chunk-6WPRCJ5A.mjs +0 -1
  135. package/dist/chunk-76IYR7C7.mjs +0 -1
  136. package/dist/chunk-AGRIVA4G.js +0 -1
  137. package/dist/chunk-BTCQ2QI3.mjs +0 -3
  138. package/dist/chunk-BUEMG4NW.js +0 -1
  139. package/dist/chunk-BXRC4U3X.mjs +0 -2
  140. package/dist/chunk-CPAYKE6X.mjs +0 -1
  141. package/dist/chunk-DACWLFKI.mjs +0 -1
  142. package/dist/chunk-EPBFWE36.js +0 -2
  143. package/dist/chunk-FXES3YDB.js +0 -82
  144. package/dist/chunk-HI66BSGS.mjs +0 -9
  145. package/dist/chunk-INTPVEO6.mjs +0 -9
  146. package/dist/chunk-IOAGVW6Q.mjs +0 -2
  147. package/dist/chunk-JCEWC5QL.mjs +0 -4
  148. package/dist/chunk-JTIUFACT.js +0 -1
  149. package/dist/chunk-LUF7PWIC.js +0 -10
  150. package/dist/chunk-MGEN6GOE.mjs +0 -2
  151. package/dist/chunk-MOE2ZGUE.js +0 -18
  152. package/dist/chunk-MWLHJWB6.js +0 -9
  153. package/dist/chunk-OFYVDN3U.mjs +0 -2
  154. package/dist/chunk-P4VSHBGZ.js +0 -2
  155. package/dist/chunk-P5FQHIES.mjs +0 -1
  156. package/dist/chunk-PBC7XAYZ.js +0 -3
  157. package/dist/chunk-PEMB6SZT.js +0 -2
  158. package/dist/chunk-PQMSZTBB.js +0 -9
  159. package/dist/chunk-Q7UDQXAF.js +0 -1
  160. package/dist/chunk-QGTAIC5E.js +0 -1
  161. package/dist/chunk-QVPR2W5S.js +0 -1
  162. package/dist/chunk-R3QMYPL5.mjs +0 -59
  163. package/dist/chunk-RBUTXXQJ.mjs +0 -18
  164. package/dist/chunk-RRWYZ2TS.mjs +0 -111
  165. package/dist/chunk-S3STEPVO.js +0 -182
  166. package/dist/chunk-SFUM35DH.js +0 -2
  167. package/dist/chunk-SNLC6EK2.js +0 -1
  168. package/dist/chunk-TMTLIGLZ.js +0 -59
  169. package/dist/chunk-TSE2PWFX.mjs +0 -10
  170. package/dist/chunk-UKESXQS5.mjs +0 -182
  171. package/dist/chunk-UWYD42WV.js +0 -4
  172. package/dist/chunk-UXVACQCY.mjs +0 -1
  173. package/dist/chunk-W4EIKDM6.mjs +0 -2
  174. package/dist/chunk-W53SI3XW.mjs +0 -1
  175. package/dist/chunk-WNS2RBQD.js +0 -2
  176. package/dist/chunk-Z3KMSHUP.js +0 -1
  177. package/dist/core-plugins-reexport.d.mts +0 -31
  178. package/dist/core-plugins-reexport.d.ts +0 -31
  179. package/dist/core-plugins-reexport.js +0 -1
  180. package/dist/core-plugins-reexport.mjs +0 -1
  181. package/dist/core-reexport.d.mts +0 -340
  182. package/dist/core-reexport.d.ts +0 -340
  183. package/dist/core-reexport.js +0 -1
  184. package/dist/core-reexport.mjs +0 -1
  185. package/dist/documentSerializer-DtS_-oGA.d.mts +0 -664
  186. package/dist/documentSerializer-Wj1p2ASa.d.ts +0 -664
  187. package/dist/executor-C3VXF7QA.mjs +0 -1
  188. package/dist/executor-GDBV3AGV.js +0 -1
  189. package/dist/headless-reexport.d.mts +0 -197
  190. package/dist/headless-reexport.d.ts +0 -197
  191. package/dist/headless-reexport.js +0 -1
  192. package/dist/headless-reexport.mjs +0 -1
  193. package/dist/insertOperations-BTH1Asas.d.mts +0 -176
  194. package/dist/insertOperations-CbUnXAXH.d.ts +0 -176
  195. package/dist/layout-bridge-EA4DJ227.js +0 -1
  196. package/dist/layout-bridge-XDPSO6GO.mjs +0 -1
  197. package/dist/mcp-reexport.d.mts +0 -156
  198. package/dist/mcp-reexport.d.ts +0 -156
  199. package/dist/mcp-reexport.js +0 -16
  200. package/dist/mcp-reexport.mjs +0 -16
  201. package/dist/processTemplate-MJ2PCSO5.js +0 -1
  202. package/dist/react-B0W16SV6.d.ts +0 -1330
  203. package/dist/react-D0Pn1nww.d.mts +0 -1330
  204. package/dist/react.d.mts +0 -10
  205. package/dist/react.d.ts +0 -10
  206. package/dist/react.js +0 -1
  207. package/dist/react.mjs +0 -1
  208. package/dist/registry-CH9V-IX0.d.ts +0 -165
  209. package/dist/registry-CWBKYlNW.d.mts +0 -165
  210. package/dist/types-UDsUq8D3.d.mts +0 -310
  211. package/dist/types-jbivc9Lj.d.ts +0 -310
  212. package/dist/variableDetector-CdQ7ZTzA.d.mts +0 -204
  213. package/dist/variableDetector-DsRV3A9z.d.ts +0 -204
  214. package/i18n/de.json +0 -792
  215. package/i18n/en.json +0 -792
  216. package/i18n/he.json +0 -792
  217. package/i18n/pl.json +0 -792
  218. package/i18n/pt-BR.json +0 -792
  219. package/i18n/tr.json +0 -792
  220. package/i18n/zh-CN.json +0 -792
  221. /package/dist/{chunk-YC5KZSYD.js → chunk-ESZ6JRTW.js} +0 -0
  222. /package/dist/{chunk-LVGJKS7Y.mjs → chunk-TZMMD6RR.mjs} +0 -0
  223. /package/dist/{react.css → fork.css} +0 -0
@@ -0,0 +1,486 @@
1
+ import React__default, { CSSProperties } from 'react';
2
+ import { T as TextFormatting, P as ParagraphFormatting } from './content-REFGFfEH.mjs';
3
+
4
+ /**
5
+ * Shared FontOption shape + normaliser used by FontPicker components
6
+ * in both adapters. Lifted from packages/react/src/components/ui/
7
+ * normalizeFontFamilies.ts so the type definition has a single home.
8
+ */
9
+ interface FontOption {
10
+ name: string;
11
+ fontFamily: string;
12
+ category?: 'sans-serif' | 'serif' | 'monospace' | 'other';
13
+ }
14
+
15
+ /**
16
+ * Print Utilities
17
+ *
18
+ * Provides print functionality with:
19
+ * - Print button component for toolbar
20
+ * - Print-specific CSS styles
21
+ * - Browser print dialog trigger
22
+ * - Page range utilities
23
+ */
24
+
25
+ /**
26
+ * Print options
27
+ */
28
+ interface PrintOptions {
29
+ /** Whether to include headers */
30
+ includeHeaders?: boolean;
31
+ /** Whether to include footers */
32
+ includeFooters?: boolean;
33
+ /** Whether to include page numbers */
34
+ includePageNumbers?: boolean;
35
+ /** Page range to print (null = all) */
36
+ pageRange?: {
37
+ start: number;
38
+ end: number;
39
+ } | null;
40
+ /** Scale factor for printing (1.0 = 100%) */
41
+ scale?: number;
42
+ /** Whether to show background colors */
43
+ printBackground?: boolean;
44
+ /** Margins mode */
45
+ margins?: 'default' | 'none' | 'minimum';
46
+ }
47
+ /**
48
+ * PrintButton props
49
+ */
50
+ interface PrintButtonProps {
51
+ /** Callback when print is triggered */
52
+ onPrint: () => void;
53
+ /** Whether the button is disabled */
54
+ disabled?: boolean;
55
+ /** Button label */
56
+ label?: string;
57
+ /** Additional CSS class */
58
+ className?: string;
59
+ /** Additional inline styles */
60
+ style?: CSSProperties;
61
+ /** Show icon */
62
+ showIcon?: boolean;
63
+ /** Compact mode */
64
+ compact?: boolean;
65
+ }
66
+ /**
67
+ * PrintButton - Standalone print button for toolbar
68
+ */
69
+ declare function PrintButton({ onPrint, disabled, label: labelProp, className, style, showIcon, compact, }: PrintButtonProps): React__default.ReactElement;
70
+ /**
71
+ * PrintStyles - Injects print-specific CSS
72
+ */
73
+ declare function PrintStyles(): React__default.ReactElement;
74
+ /**
75
+ * Trigger browser print dialog for the current document
76
+ */
77
+ declare function triggerPrint(): void;
78
+ /**
79
+ * Create print-optimized document view in a new window
80
+ */
81
+ declare function openPrintWindow(title: string | undefined, content: string): Window | null;
82
+ /**
83
+ * Get default print options
84
+ */
85
+ declare function getDefaultPrintOptions(): PrintOptions;
86
+ /**
87
+ * Create page range from string (e.g., "1-5", "3", "1,3,5")
88
+ */
89
+ declare function parsePageRange(input: string, maxPages: number): {
90
+ start: number;
91
+ end: number;
92
+ } | null;
93
+ /**
94
+ * Format page range for display
95
+ */
96
+ declare function formatPageRange(range: {
97
+ start: number;
98
+ end: number;
99
+ } | null, totalPages: number): string;
100
+ /**
101
+ * Check if browser supports good print functionality
102
+ */
103
+ declare function isPrintSupported(): boolean;
104
+
105
+ /**
106
+ * Agent API Types
107
+ *
108
+ * TypeScript interfaces for the agent API:
109
+ * - Position and Range types
110
+ * - Command types for document manipulation
111
+ * - Context types for AI agents
112
+ */
113
+
114
+ /**
115
+ * Position within a document
116
+ */
117
+ interface Position {
118
+ /** Index of the paragraph (0-indexed) */
119
+ paragraphIndex: number;
120
+ /** Offset within the paragraph in characters */
121
+ offset: number;
122
+ /** Optional: Content index within paragraph (run, hyperlink, etc.) */
123
+ contentIndex?: number;
124
+ /** Optional: Section index */
125
+ sectionIndex?: number;
126
+ }
127
+ /**
128
+ * Range within a document
129
+ */
130
+ interface Range {
131
+ /** Start position */
132
+ start: Position;
133
+ /** End position */
134
+ end: Position;
135
+ /** Whether the range is collapsed (cursor position) */
136
+ collapsed?: boolean;
137
+ }
138
+ /**
139
+ * Base command interface
140
+ */
141
+ interface BaseCommand {
142
+ /** Command type */
143
+ type: string;
144
+ /** Unique command ID (for undo tracking) */
145
+ id?: string;
146
+ }
147
+ /**
148
+ * Insert text at a position
149
+ */
150
+ interface InsertTextCommand extends BaseCommand {
151
+ type: 'insertText';
152
+ /** Position to insert at */
153
+ position: Position;
154
+ /** Text to insert */
155
+ text: string;
156
+ /** Optional formatting for the inserted text */
157
+ formatting?: TextFormatting;
158
+ }
159
+ /**
160
+ * Replace text in a range
161
+ */
162
+ interface ReplaceTextCommand extends BaseCommand {
163
+ type: 'replaceText';
164
+ /** Range to replace */
165
+ range: Range;
166
+ /** Replacement text */
167
+ text: string;
168
+ /** Optional formatting for the new text */
169
+ formatting?: TextFormatting;
170
+ }
171
+ /**
172
+ * Delete text in a range
173
+ */
174
+ interface DeleteTextCommand extends BaseCommand {
175
+ type: 'deleteText';
176
+ /** Range to delete */
177
+ range: Range;
178
+ }
179
+ /**
180
+ * Apply formatting to a range
181
+ */
182
+ interface FormatTextCommand extends BaseCommand {
183
+ type: 'formatText';
184
+ /** Range to format */
185
+ range: Range;
186
+ /** Formatting to apply */
187
+ formatting: Partial<TextFormatting>;
188
+ }
189
+ /**
190
+ * Apply paragraph formatting
191
+ */
192
+ interface FormatParagraphCommand extends BaseCommand {
193
+ type: 'formatParagraph';
194
+ /** Paragraph index */
195
+ paragraphIndex: number;
196
+ /** Formatting to apply */
197
+ formatting: Partial<ParagraphFormatting>;
198
+ }
199
+ /**
200
+ * Apply a named style to a paragraph
201
+ */
202
+ interface ApplyStyleCommand extends BaseCommand {
203
+ type: 'applyStyle';
204
+ /** Paragraph index */
205
+ paragraphIndex: number;
206
+ /** Style ID to apply */
207
+ styleId: string;
208
+ }
209
+ /**
210
+ * Insert a table at a position
211
+ */
212
+ interface InsertTableCommand extends BaseCommand {
213
+ type: 'insertTable';
214
+ /** Position to insert at */
215
+ position: Position;
216
+ /** Number of rows */
217
+ rows: number;
218
+ /** Number of columns */
219
+ columns: number;
220
+ /** Optional table data */
221
+ data?: string[][];
222
+ /** Optional header row */
223
+ hasHeader?: boolean;
224
+ }
225
+ /**
226
+ * Insert an image at a position
227
+ */
228
+ interface InsertImageCommand extends BaseCommand {
229
+ type: 'insertImage';
230
+ /** Position to insert at */
231
+ position: Position;
232
+ /** Image source (base64 or URL) */
233
+ src: string;
234
+ /** Image width in pixels */
235
+ width?: number;
236
+ /** Image height in pixels */
237
+ height?: number;
238
+ /** Alt text */
239
+ alt?: string;
240
+ }
241
+ /**
242
+ * Insert a hyperlink at a range
243
+ */
244
+ interface InsertHyperlinkCommand extends BaseCommand {
245
+ type: 'insertHyperlink';
246
+ /** Range to make into a hyperlink */
247
+ range: Range;
248
+ /** URL of the hyperlink */
249
+ url: string;
250
+ /** Display text (replaces range text if provided) */
251
+ displayText?: string;
252
+ /** Tooltip */
253
+ tooltip?: string;
254
+ }
255
+ /**
256
+ * Remove a hyperlink but keep the text
257
+ */
258
+ interface RemoveHyperlinkCommand extends BaseCommand {
259
+ type: 'removeHyperlink';
260
+ /** Range containing the hyperlink */
261
+ range: Range;
262
+ }
263
+ /**
264
+ * Insert a paragraph break
265
+ */
266
+ interface InsertParagraphBreakCommand extends BaseCommand {
267
+ type: 'insertParagraphBreak';
268
+ /** Position to break at */
269
+ position: Position;
270
+ }
271
+ /**
272
+ * Merge paragraphs
273
+ */
274
+ interface MergeParagraphsCommand extends BaseCommand {
275
+ type: 'mergeParagraphs';
276
+ /** First paragraph index */
277
+ paragraphIndex: number;
278
+ /** Number of paragraphs to merge with */
279
+ count: number;
280
+ }
281
+ /**
282
+ * Split a paragraph
283
+ */
284
+ interface SplitParagraphCommand extends BaseCommand {
285
+ type: 'splitParagraph';
286
+ /** Position to split at */
287
+ position: Position;
288
+ }
289
+ /**
290
+ * Set template variable value
291
+ */
292
+ interface SetVariableCommand extends BaseCommand {
293
+ type: 'setVariable';
294
+ /** Variable name */
295
+ name: string;
296
+ /** Variable value */
297
+ value: string;
298
+ }
299
+ /**
300
+ * Apply all template variables
301
+ */
302
+ interface ApplyVariablesCommand extends BaseCommand {
303
+ type: 'applyVariables';
304
+ /** Variable values */
305
+ values: Record<string, string>;
306
+ }
307
+ /**
308
+ * Union of all command types
309
+ */
310
+ type AgentCommand = InsertTextCommand | ReplaceTextCommand | DeleteTextCommand | FormatTextCommand | FormatParagraphCommand | ApplyStyleCommand | InsertTableCommand | InsertImageCommand | InsertHyperlinkCommand | RemoveHyperlinkCommand | InsertParagraphBreakCommand | MergeParagraphsCommand | SplitParagraphCommand | SetVariableCommand | ApplyVariablesCommand;
311
+ /**
312
+ * Document context for AI agents
313
+ */
314
+ interface AgentContext {
315
+ /** Total paragraph count */
316
+ paragraphCount: number;
317
+ /** Total word count (approximate) */
318
+ wordCount: number;
319
+ /** Total character count */
320
+ characterCount: number;
321
+ /** Detected template variables */
322
+ variables: string[];
323
+ /** Variable count */
324
+ variableCount: number;
325
+ /** Available styles */
326
+ availableStyles: StyleInfo[];
327
+ /** Content outline (first N chars per paragraph) */
328
+ outline: ParagraphOutline[];
329
+ /** Document sections info */
330
+ sections: SectionInfo[];
331
+ /** Has tables */
332
+ hasTables: boolean;
333
+ /** Has images */
334
+ hasImages: boolean;
335
+ /** Has hyperlinks */
336
+ hasHyperlinks: boolean;
337
+ /** Document language */
338
+ language?: string;
339
+ }
340
+ /**
341
+ * Style information for context
342
+ */
343
+ interface StyleInfo {
344
+ /** Style ID */
345
+ id: string;
346
+ /** Display name */
347
+ name: string;
348
+ /** Style type */
349
+ type: 'paragraph' | 'character' | 'table';
350
+ /** Is built-in style */
351
+ builtIn?: boolean;
352
+ }
353
+ /**
354
+ * Paragraph outline for context
355
+ */
356
+ interface ParagraphOutline {
357
+ /** Paragraph index */
358
+ index: number;
359
+ /** First N characters */
360
+ preview: string;
361
+ /** Paragraph style */
362
+ style?: string;
363
+ /** Is heading */
364
+ isHeading?: boolean;
365
+ /** Heading level (1-9) */
366
+ headingLevel?: number;
367
+ /** Is list item */
368
+ isListItem?: boolean;
369
+ /** Is empty paragraph */
370
+ isEmpty?: boolean;
371
+ }
372
+ /**
373
+ * Section information
374
+ */
375
+ interface SectionInfo {
376
+ /** Section index */
377
+ index: number;
378
+ /** Number of paragraphs */
379
+ paragraphCount: number;
380
+ /** Page size */
381
+ pageSize?: {
382
+ width: number;
383
+ height: number;
384
+ };
385
+ /** Is landscape */
386
+ isLandscape?: boolean;
387
+ /** Has header */
388
+ hasHeader?: boolean;
389
+ /** Has footer */
390
+ hasFooter?: boolean;
391
+ }
392
+ /**
393
+ * Context about the current selection
394
+ */
395
+ interface SelectionContext {
396
+ /** Selected text */
397
+ selectedText: string;
398
+ /** Selection range */
399
+ range: Range;
400
+ /** Current formatting of selection */
401
+ formatting: Partial<TextFormatting>;
402
+ /** Current paragraph formatting */
403
+ paragraphFormatting: Partial<ParagraphFormatting>;
404
+ /** Text before selection (context) */
405
+ textBefore: string;
406
+ /** Text after selection (context) */
407
+ textAfter: string;
408
+ /** Paragraph containing selection */
409
+ paragraph: ParagraphContext;
410
+ /** Is selection within a table */
411
+ inTable?: boolean;
412
+ /** Is selection within a hyperlink */
413
+ inHyperlink?: boolean;
414
+ /** Suggested actions based on selection */
415
+ suggestedActions?: SuggestedAction[];
416
+ }
417
+ /**
418
+ * Paragraph context for selection
419
+ */
420
+ interface ParagraphContext {
421
+ /** Paragraph index */
422
+ index: number;
423
+ /** Full paragraph text */
424
+ fullText: string;
425
+ /** Paragraph style */
426
+ style?: string;
427
+ /** Word count */
428
+ wordCount: number;
429
+ }
430
+ /**
431
+ * Suggested action for context menu
432
+ */
433
+ interface SuggestedAction {
434
+ /** Action ID */
435
+ id: string;
436
+ /** Display label */
437
+ label: string;
438
+ /** Description */
439
+ description?: string;
440
+ /** Icon name */
441
+ icon?: string;
442
+ /** Priority (higher = more prominent) */
443
+ priority?: number;
444
+ }
445
+ /**
446
+ * Response from an agent action
447
+ */
448
+ interface AgentResponse {
449
+ /** Success status */
450
+ success: boolean;
451
+ /** New text to insert (for rewrite/expand/etc.) */
452
+ newText?: string;
453
+ /** New formatted content */
454
+ newContent?: AgentContent[];
455
+ /** Commands to execute */
456
+ commands?: AgentCommand[];
457
+ /** Error message if failed */
458
+ error?: string;
459
+ /** Warning messages */
460
+ warnings?: string[];
461
+ /** Metadata about the response */
462
+ metadata?: Record<string, unknown>;
463
+ }
464
+ /**
465
+ * Content block in agent response
466
+ */
467
+ interface AgentContent {
468
+ /** Content type */
469
+ type: 'text' | 'paragraph' | 'table' | 'image';
470
+ /** Text content */
471
+ text?: string;
472
+ /** Formatting */
473
+ formatting?: Partial<TextFormatting>;
474
+ /** Paragraph formatting */
475
+ paragraphFormatting?: Partial<ParagraphFormatting>;
476
+ /** Table data (for table type) */
477
+ tableData?: string[][];
478
+ /** Image src (for image type) */
479
+ imageSrc?: string;
480
+ }
481
+ /**
482
+ * AI action types for context menu
483
+ */
484
+ type AIAction = 'askAI' | 'rewrite' | 'expand' | 'summarize' | 'translate' | 'explain' | 'fixGrammar' | 'makeFormal' | 'makeCasual' | 'custom';
485
+
486
+ export { type AgentContext as A, type FontOption as F, type Position as P, type Range as R, type StyleInfo as S, type AgentCommand as a, type PrintOptions as b, type SelectionContext as c, type AIAction as d, type AgentResponse as e, PrintButton as f, type PrintButtonProps as g, PrintStyles as h, formatPageRange as i, getDefaultPrintOptions as j, isPrintSupported as k, openPrintWindow as o, parsePageRange as p, triggerPrint as t };
@@ -0,0 +1 @@
1
+ 'use strict';var chunkH5NTJZO4_js=require('./chunk-H5NTJZO4.js');var g=class{constructor(t,n=1){chunkH5NTJZO4_js.d(this,"pagesContainer");chunkH5NTJZO4_js.d(this,"zoom");this.pagesContainer=t,this.zoom=n;}getCoordinatesForPosition(t){let n=this.pagesContainer.getBoundingClientRect(),s=this.pagesContainer.querySelectorAll("span[data-pm-start][data-pm-end]");for(let a of Array.from(s)){let e=a,o=Number(e.dataset.pmStart),m=Number(e.dataset.pmEnd);if(e.classList.contains("layout-run-tab")){if(t>=o&&t<m){let c=e.getBoundingClientRect(),r=e.closest(".layout-line"),l=r?r.offsetHeight:16;return {x:(c.left-n.left)/this.zoom,y:(c.top-n.top)/this.zoom,height:l/this.zoom}}continue}if(t>=o&&t<=m&&a.firstChild?.nodeType===Node.TEXT_NODE){let c=a.firstChild,r=Math.min(t-o,c.length),l=e.ownerDocument;if(!l)continue;let u=l.createRange();u.setStart(c,r),u.setEnd(c,r);let h=u.getBoundingClientRect(),i=e.closest(".layout-line"),f=i?i.offsetHeight:16;return {x:(h.left-n.left)/this.zoom,y:(h.top-n.top)/this.zoom,height:f/this.zoom}}}let p=this.pagesContainer.querySelectorAll(".layout-empty-run");for(let a of Array.from(p)){let e=a.closest(".layout-paragraph");if(!e)continue;let o=Number(e.dataset.pmStart),m=Number(e.dataset.pmEnd);if(t>=o&&t<=m){let c=a.getBoundingClientRect(),r=a.closest(".layout-line"),l=r?r.offsetHeight:16;return {x:(c.left-n.left)/this.zoom,y:(c.top-n.top)/this.zoom,height:l/this.zoom}}}return null}findElementsForRange(t,n){let s=[],p=this.pagesContainer.querySelectorAll("span[data-pm-start][data-pm-end]");for(let a of Array.from(p)){let e=a,o=Number(e.dataset.pmStart);Number(e.dataset.pmEnd)>t&&o<n&&s.push(e);}return s}getRectsForRange(t,n){let s=this.pagesContainer.getBoundingClientRect(),p=[],a=this.pagesContainer.querySelectorAll("span[data-pm-start][data-pm-end]");for(let e of Array.from(a)){let o=e,m=Number(o.dataset.pmStart);if(Number(o.dataset.pmEnd)>t&&m<n){if(o.classList.contains("layout-run-tab")){let i=o.getBoundingClientRect();p.push({x:(i.left-s.left)/this.zoom,y:(i.top-s.top)/this.zoom,width:i.width/this.zoom,height:i.height/this.zoom});continue}if(e.firstChild?.nodeType!==Node.TEXT_NODE)continue;let r=e.firstChild,l=o.ownerDocument;if(!l)continue;let u=Math.max(0,t-m),h=Math.min(r.length,n-m);if(u<h){let i=l.createRange();i.setStart(r,u),i.setEnd(r,h);let f=i.getClientRects();for(let d of Array.from(f))p.push({x:(d.left-s.left)/this.zoom,y:(d.top-s.top)/this.zoom,width:d.width/this.zoom,height:d.height/this.zoom});}}}return p}getContainerOffset(){let t=this.pagesContainer.parentElement;if(!t)return {x:0,y:0};let n=this.pagesContainer.getBoundingClientRect(),s=t.getBoundingClientRect();return {x:(n.left-s.left)/this.zoom,y:(n.top-s.top)/this.zoom}}};function C(y,t=1){return new g(y,t)}exports.a=g;exports.b=C;
@@ -0,0 +1,2 @@
1
+ 'use strict';var react=require('react');function x(){return {matchCase:false,matchWholeWord:false,useRegex:false}}function R(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function y(t,n){if(!t)return null;try{let e;n.useRegex?e=t:e=R(t),n.matchWholeWord&&(e=`\\b${e}\\b`);let c=n.matchCase?"g":"gi";return new RegExp(e,c)}catch{return null}}function m(t,n,e){if(!t||!n)return [];let c=[],a=n;e.matchCase||(a=n.toLowerCase());let s=g=>g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i;e.matchWholeWord?i=`\\b${s(a)}\\b`:i=s(a);let l=e.matchCase?"g":"gi",h=new RegExp(i,l),d;for(;(d=h.exec(t))!==null;)c.push({start:d.index,end:d.index+d[0].length}),d[0].length===0&&h.lastIndex++;return c}function W(t,n,e,c){let a=y(n,c);return a?t.replace(a,e):t}function $(t,n,e,c,a=0){let s=m(t,n,c),i=s.find(h=>h.start>=a)||s[0];return i?{content:t.substring(0,i.start)+e+t.substring(i.end),replaced:true,matchStart:i.start,matchEnd:i.start+e.length}:{content:t,replaced:false,matchStart:-1,matchEnd:-1}}function A(t){return t?t.totalCount===0?"No results":t.totalCount===1?"1 match":`${t.currentIndex+1} of ${t.totalCount} matches`:""}function P(t){return !t||t.trim()===""}function k(){return {currentMatchColor:"#FFFF00",otherMatchColor:"#FFFFAA"}}function f(t){if(!t||!t.content)return "";let n="";for(let e of t.content)e.type==="text"?n+=e.text||"":e.type==="tab"?n+=" ":e.type==="break"&&e.breakType==="textWrapping"&&(n+=`
2
+ `);return n}function T(t){if(!t||!t.content)return "";let n="";for(let e of t.content)if(e.type==="run")n+=f(e);else if(e.type==="hyperlink")for(let c of e.children||[])c.type==="run"&&(n+=f(c));return n}function D(t,n,e){if(!t||!n)return [];let c=[],a=t.package?.document||t.package?.document;if(!a||!a.content)return c;let s=0;for(let i of a.content)if(i.type==="paragraph"){let l=S(i,n,e,s);c.push(...l),s++;}else if(i.type==="table")for(let l of i.rows||[])for(let h of l.cells||[])for(let d of h.content||[])d.type;return c}function S(t,n,e,c){let a=[],s=T(t);if(!s)return a;let i=m(s,n,e);for(let l of i){let h=w(t,l.start);a.push({paragraphIndex:c,contentIndex:h.contentIndex,startOffset:h.offsetInContent,endOffset:h.offsetInContent+(l.end-l.start),text:s.substring(l.start,l.end)});}return a}function w(t,n){if(!t||!t.content)return {contentIndex:0,runIndex:0,offsetInContent:n};let e=0,c=0;for(let a of t.content){let s="";if(a.type==="run")s=f(a);else if(a.type==="hyperlink")for(let l of a.children||[])l.type==="run"&&(s+=f(l));let i=s.length;if(e+i>n)return {contentIndex:c,runIndex:c,offsetInContent:n-e};e+=i,c++;}return {contentIndex:Math.max(0,t.content.length-1),runIndex:Math.max(0,t.content.length-1),offsetInContent:0}}function H(t,n){if(!t||!n)return;let e=t.querySelector(`[data-paragraph-index="${n.paragraphIndex}"]`);e&&e.scrollIntoView({behavior:"smooth",block:"center"});}function q(t){let[n,e]=react.useState({isOpen:false,searchText:"",replaceText:"",options:x(),matches:[],currentIndex:0,replaceMode:t?.initialReplaceMode??false}),c=react.useCallback(r=>{e(o=>({...o,isOpen:true,replaceMode:false,searchText:r||o.searchText,matches:[],currentIndex:0}));},[]),a=react.useCallback(r=>{e(o=>({...o,isOpen:true,replaceMode:true,searchText:r||o.searchText,matches:[],currentIndex:0}));},[]),s=react.useCallback(()=>{e(r=>({...r,isOpen:false}));},[]),i=react.useCallback(()=>{e(r=>({...r,isOpen:!r.isOpen}));},[]),l=react.useCallback(r=>{e(o=>({...o,searchText:r}));},[]),h=react.useCallback(r=>{e(o=>({...o,replaceText:r}));},[]),d=react.useCallback(r=>{e(o=>({...o,options:{...o.options,...r}}));},[]),g=react.useCallback((r,o=0)=>{let p=Math.max(0,Math.min(o,r.length-1));e(O=>({...O,matches:r,currentIndex:r.length>0?p:0})),t?.onMatchesChange?.(r),r.length>0?t?.onCurrentMatchChange?.(r[p],p):t?.onCurrentMatchChange?.(null,-1);},[t]),M=react.useCallback(()=>{let r=0;return e(o=>o.matches.length===0?o:(r=(o.currentIndex+1)%o.matches.length,{...o,currentIndex:r})),r},[]),b=react.useCallback(()=>{let r=0;return e(o=>o.matches.length===0?o:(r=o.currentIndex===0?o.matches.length-1:o.currentIndex-1,{...o,currentIndex:r})),r},[]),F=react.useCallback(r=>{e(o=>o.matches.length===0||r<0||r>=o.matches.length?o:{...o,currentIndex:r});},[]),I=react.useCallback(()=>n.matches.length===0?null:n.matches[n.currentIndex]||null,[n.matches,n.currentIndex]),C=react.useCallback(()=>n.matches.length>0,[n.matches.length]);return {state:n,openFind:c,openReplace:a,close:s,toggle:i,setSearchText:l,setReplaceText:h,setOptions:d,setMatches:g,goToNextMatch:M,goToPreviousMatch:b,goToMatch:F,getCurrentMatch:I,hasMatches:C}}exports.a=x;exports.b=R;exports.c=y;exports.d=m;exports.e=W;exports.f=$;exports.g=A;exports.h=P;exports.i=k;exports.j=D;exports.k=S;exports.l=H;exports.m=q;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkNLFXR2VH_js=require('./chunk-NLFXR2VH.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var E=[{labelKey:"dialogs.pageSetup.pageSizes.letter",width:12240,height:15840},{labelKey:"dialogs.pageSetup.pageSizes.a4",width:11906,height:16838},{labelKey:"dialogs.pageSetup.pageSizes.legal",width:12240,height:20160},{labelKey:"dialogs.pageSetup.pageSizes.a3",width:16838,height:23811},{labelKey:"dialogs.pageSetup.pageSizes.a5",width:8391,height:11906},{labelKey:"dialogs.pageSetup.pageSizes.b5",width:9979,height:14175},{labelKey:"dialogs.pageSetup.pageSizes.executive",width:10440,height:15120}];function f(i){return Math.round(i/1440*100)/100}function x(i){return Math.round(i*1440)}function J(i,l){let b=Math.min(i,l),n=Math.max(i,l);return E.findIndex(a=>Math.abs(a.width-b)<20&&Math.abs(a.height-n)<20)}var O={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},Q={backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.15)",minWidth:400,maxWidth:480,width:"100%",margin:20},V={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:16,fontWeight:600},X={padding:"16px 20px",display:"flex",flexDirection:"column",gap:14},H={fontSize:12,fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},g={display:"flex",alignItems:"center",gap:12},c={width:80,fontSize:13,color:"var(--doc-text-muted)"},y={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:4,fontSize:13},N={...y},C={fontSize:11,color:"var(--doc-text-muted)",width:16},Y={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:8},A={padding:"6px 16px",fontSize:13,border:"1px solid var(--doc-border)",borderRadius:4,cursor:"pointer"},_=12240,B=15840,p=1440;function ae({isOpen:i,onClose:l,onApply:b,currentProps:n}){let{t:a}=chunkNLFXR2VH_js.c(),[u,h]=react.useState(_),[S,m]=react.useState(B),[r,K]=react.useState("portrait"),[P,M]=react.useState(p),[w,R]=react.useState(p),[z,k]=react.useState(p),[T,D]=react.useState(p);react.useEffect(()=>{if(!i)return;let e=n?.pageWidth||_,s=n?.pageHeight||B,j=n?.orientation||(e>s?"landscape":"portrait");h(e),m(s),K(j),M(n?.marginTop??p),R(n?.marginBottom??p),k(n?.marginLeft??p),D(n?.marginRight??p);},[i,n]);let F=react.useCallback(e=>{if(e<0)return;let s=E[e];r==="landscape"?(h(s.height),m(s.width)):(h(s.width),m(s.height));},[r]),G=react.useCallback(e=>{e!==r&&(K(e),h(S),m(u));},[r,u,S]),I=react.useCallback(()=>{b({pageWidth:u,pageHeight:S,orientation:r,marginTop:P,marginBottom:w,marginLeft:z,marginRight:T}),l();},[u,S,r,P,w,z,T,b,l]),U=react.useCallback(e=>{e.key==="Escape"&&l(),e.key==="Enter"&&I();},[l,I]);if(!i)return null;let W=J(u,S);return jsxRuntime.jsx("div",{style:O,onClick:l,onKeyDown:U,children:jsxRuntime.jsxs("div",{style:Q,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),role:"dialog","aria-label":a("dialogs.pageSetup.title"),children:[jsxRuntime.jsx("div",{style:V,children:a("dialogs.pageSetup.title")}),jsxRuntime.jsxs("div",{style:X,children:[jsxRuntime.jsx("div",{style:H,children:a("dialogs.pageSetup.pageSize")}),jsxRuntime.jsxs("div",{style:g,children:[jsxRuntime.jsx("label",{style:c,children:a("dialogs.pageSetup.sizeLabel")}),jsxRuntime.jsxs("select",{style:N,value:W,onChange:e=>F(Number(e.target.value)),children:[E.map((e,s)=>jsxRuntime.jsx("option",{value:s,children:a(e.labelKey)},e.labelKey)),W<0&&jsxRuntime.jsx("option",{value:-1,children:a("dialogs.pageSetup.custom")})]})]}),jsxRuntime.jsxs("div",{style:g,children:[jsxRuntime.jsx("label",{style:c,children:a("dialogs.pageSetup.orientation")}),jsxRuntime.jsxs("select",{style:N,value:r,onChange:e=>G(e.target.value),children:[jsxRuntime.jsx("option",{value:"portrait",children:a("dialogs.pageSetup.portrait")}),jsxRuntime.jsx("option",{value:"landscape",children:a("dialogs.pageSetup.landscape")})]})]}),jsxRuntime.jsx("div",{style:{...H,marginTop:4},children:a("dialogs.pageSetup.margins")}),jsxRuntime.jsxs("div",{style:g,children:[jsxRuntime.jsx("label",{style:c,children:a("dialogs.pageSetup.top")}),jsxRuntime.jsx("input",{type:"number",style:y,min:0,max:10,step:.1,value:f(P),onChange:e=>M(x(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:C,children:"in"})]}),jsxRuntime.jsxs("div",{style:g,children:[jsxRuntime.jsx("label",{style:c,children:a("dialogs.pageSetup.bottom")}),jsxRuntime.jsx("input",{type:"number",style:y,min:0,max:10,step:.1,value:f(w),onChange:e=>R(x(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:C,children:"in"})]}),jsxRuntime.jsxs("div",{style:g,children:[jsxRuntime.jsx("label",{style:c,children:a("dialogs.pageSetup.left")}),jsxRuntime.jsx("input",{type:"number",style:y,min:0,max:10,step:.1,value:f(z),onChange:e=>k(x(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:C,children:"in"})]}),jsxRuntime.jsxs("div",{style:g,children:[jsxRuntime.jsx("label",{style:c,children:a("dialogs.pageSetup.right")}),jsxRuntime.jsx("input",{type:"number",style:y,min:0,max:10,step:.1,value:f(T),onChange:e=>D(x(Number(e.target.value)||0))}),jsxRuntime.jsx("span",{style:C,children:"in"})]})]}),jsxRuntime.jsxs("div",{style:Y,children:[jsxRuntime.jsx("button",{type:"button",style:A,onClick:l,children:a("common.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{...A,backgroundColor:"var(--doc-primary)",color:"white",borderColor:"var(--doc-primary)"},onClick:I,children:a("common.apply")})]})]})})}exports.a=ae;
@@ -0,0 +1,2 @@
1
+ import {createContext,useMemo,useContext,useCallback}from'react';import {jsx}from'react/jsx-runtime';var g={_lang:"en",common:{cancel:"Cancel",insert:"Insert",apply:"Apply",close:"Close",delete:"Delete",update:"Update",save:"Save",retry:"Retry",send:"Send",edit:"Edit",comment:"Comment",reply:"Reply",accept:"Accept",reject:"Reject",dismiss:"Dismiss",change:"Change",clear:"Clear",px:"px",closeDialog:"Close dialog"},toolbar:{ariaLabel:"Formatting toolbar",file:"File",format:"Format",insert:"Insert",open:"Open",openShortcut:"Ctrl+O",save:"Save",saveShortcut:"Ctrl+S",print:"Print",printShortcut:"Ctrl+P",pageSetup:"Page setup",leftToRight:"Left-to-right text",rightToLeft:"Right-to-left text",image:"Image",table:"Table",pageBreak:"Page break",tableOfContents:"Table of contents",symbol:"Symbol",help:"Help",reportIssue:"Report issue"},formattingBar:{groups:{history:"History",zoom:"Zoom",styles:"Styles",font:"Font",textFormatting:"Text formatting",script:"Script",alignment:"Alignment",listFormatting:"List formatting",image:"Image",table:"Table"},undo:"Undo",undoShortcut:"Undo (Ctrl+Z)",redo:"Redo",redoShortcut:"Redo (Ctrl+Y)",bold:"Bold",boldShortcut:"Bold (Ctrl+B)",italic:"Italic",italicShortcut:"Italic (Ctrl+I)",underline:"Underline",underlineShortcut:"Underline (Ctrl+U)",strikethrough:"Strikethrough",fontColor:"Font Color",highlightColor:"Text Highlight Color",insertLink:"Insert link",insertLinkShortcut:"Insert link (Ctrl+K)",superscript:"Superscript",superscriptShortcut:"Superscript (Ctrl+Shift+=)",subscript:"Subscript",subscriptShortcut:"Subscript (Ctrl+=)",imageProperties:"Image properties",imagePropertiesShortcut:"Image properties (alt text, border)...",clearFormatting:"Clear formatting"},alignment:{alignLeft:"Align Left",alignLeftShortcut:"Ctrl+L",center:"Center",centerShortcut:"Ctrl+E",alignRight:"Align Right",alignRightShortcut:"Ctrl+R",justify:"Justify",justifyShortcut:"Ctrl+J"},lists:{ariaLabel:"List formatting",typeAriaLabel:"List type",indentationAriaLabel:"List indentation",bulletList:"Bullet List",numberedList:"Numbered List",decreaseIndent:"Decrease Indent",increaseIndent:"Increase Indent"},lineSpacing:{single:"Single",double:"Double",lineSpacingTitle:"Line spacing: {label}",paragraphSpacing:"Paragraph spacing"},styles:{selectAriaLabel:"Select paragraph style",normalText:"Normal text",title:"Title",subtitle:"Subtitle",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3"},font:{selectAriaLabel:"Select font family",sansSerif:"Sans Serif",serif:"Serif",monospace:"Monospace"},fontSize:{decrease:"Decrease font size",increase:"Increase font size",label:"Font size",listLabel:"Font sizes"},zoom:{ariaLabel:"Zoom: {label}"},colorPicker:{ariaLabel:"{type} color picker",highlightColors:"Highlight Colors",customColor:"Custom Color",noColor:"No Color",automatic:"Automatic",themeColors:"Theme Colors",standardColors:"Standard Colors",colors:{black:"Black",darkRed:"Dark Red",red:"Red",orange:"Orange",yellow:"Yellow",darkYellow:"Dark Yellow",green:"Green",darkGreen:"Dark Green",teal:"Teal",darkTeal:"Dark Teal",blue:"Blue",darkBlue:"Dark Blue",purple:"Purple",darkPurple:"Dark Purple",brown:"Brown",grey50:"Grey 50%",grey25:"Grey 25%",grey10:"Grey 10%",white:"White",lightRed:"Light Red",lightOrange:"Light Orange",lightYellow:"Light Yellow",lightGreen:"Light Green",lightBlue:"Light Blue",lightPurple:"Light Purple",pink:"Pink",rose:"Rose",gold:"Gold",aqua:"Aqua",lavender:"Lavender",silver:"Silver",darkOrange:"Dark Orange",darkGray:"Dark Gray",gray:"Gray",cyan:"Cyan",magenta:"Magenta",paleGreen:"Pale Green",lightCyan:"Light Cyan",skyBlue:"Sky Blue",lightBlue2:"Light Blue 2",lightMagenta:"Light Magenta",brightGreen:"Bright Green",violet:"Violet"}},dialogs:{findReplace:{titleFind:"Find",titleFindReplace:"Find and Replace",findLabel:"Find:",findPlaceholder:"Enter text to find...",findAriaLabel:"Find text",findPrevious:"Find previous",findPreviousTitle:"Find Previous (Shift+Enter)",findNext:"Find next",findNextTitle:"Find Next (Enter)",matchCount:"{current} of {total} matches",noResults:"No results found",replaceLabel:"Replace:",replacePlaceholder:"Enter replacement text...",replaceAriaLabel:"Replace text",replaceButton:"Replace",replaceCurrentTitle:"Replace current match",replaceAllButton:"Replace All",replaceAllTitle:"Replace all matches",matchCase:"Match case",wholeWords:"Whole words",matchesFound:"{total} matches",toggleReplace:"+ Replace"},hyperlink:{titleEdit:"Edit Hyperlink",titleInsert:"Insert Hyperlink",tabWebAddress:"Web Address",tabBookmark:"Bookmark",urlLabel:"URL",urlPlaceholder:"https://example.com",urlHint:"Enter a web address, email (mailto:), or phone (tel:)",bookmarkLabel:"Bookmark",bookmarkPlaceholder:"Select a bookmark...",displayTextLabel:"Display Text",displayTextPlaceholder:"Text to display (optional)",displayTextHint:"Leave empty to use the selected text",tooltipLabel:"Tooltip (optional)",tooltipPlaceholder:"Text shown on hover",removeLink:"Remove Link",invalidUrl:"Please enter a valid URL",urlRequired:"URL is required"},insertTable:{title:"Insert Table",hoverToSelect:"Hover to select size",tableSize:"{cols} x {rows} Table",orSpecifySize:"or specify size",rowsLabel:"Rows:",columnsLabel:"Columns:",insertButton:"Insert Table",sizeSelector:"Table size selector",columnWidthLabel:"Column width",fixedWidth:"Fixed",autofit:"Auto-fit to contents",tableStyleLabel:"Table style",validationHint:"Rows: {minRows}-{maxRows}, Columns: {minCols}-{maxCols}"},splitCell:{title:"Split Cell",description:"Set how many rows and columns to split the selected cell into.",rowsLabel:"Rows:",columnsLabel:"Columns:",currentMinimum:"Minimum from current span: {rows} row(s) x {cols} column(s)",minValue:"Use at least {rows} row(s) and {cols} column(s).",notOneByOne:"Choose at least two resulting cells."},insertImage:{title:"Insert Image",uploadAriaLabel:"Click or drag to upload image",uploadText:"Click to select or drag and drop an image",uploadSubtext:"PNG, JPG, GIF up to 10MB",dimensions:"Dimensions",widthLabel:"Width:",heightLabel:"Height:",aspectRatioLocked:"Aspect ratio locked",aspectRatioUnlocked:"Aspect ratio unlocked",altTextLabel:"Alt Text (optional)",altTextPlaceholder:"Describe the image for accessibility",insertButton:"Insert Image",invalidFile:"Please select a valid image file",fileTooLarge:"Image file is too large (max 10MB)",readFailed:"Failed to read image file",loadFailed:"Failed to load image",preview:"Preview"},insertSymbol:{title:"Insert Symbol",searchPlaceholder:"Search symbols (character or Unicode)...",noResultsEmpty:"No symbols found",noResults:'No symbols found for "{query}"',decimal:"Decimal: {value}",recent:"Recent:",categories:{common:"Common",arrows:"Arrows",math:"Math",greek:"Greek",shapes:"Shapes",punctuation:"Punctuation",currency:"Currency",music:"Music",emoji:"Emoji"}},imageProperties:{title:"Image Properties",altText:"Alt Text",altTextPlaceholder:"Describe this image for accessibility...",border:"Border",width:"Width",style:"Style",color:"Color",preview:"Preview",textWrapping:"Text wrapping",dimensions:"Dimensions",widthLabel:"Width:",heightLabel:"Height:",lockAspectRatio:"Lock aspect ratio",wrapOptions:{inline:"Inline with text",wrapRight:"Wrap text, float left",wrapLeft:"Wrap text, float right",topAndBottom:"Top and bottom",behind:"Behind text",inFront:"In front of text"},borderStyles:{solid:"Solid",dashed:"Dashed",dotted:"Dotted",double:"Double",groove:"Groove",ridge:"Ridge",inset:"Inset",outset:"Outset"}},imagePosition:{title:"Image Position",horizontal:"Horizontal",vertical:"Vertical",position:"Position",alignment:"Alignment",offset:"Offset",offsetPx:"Offset (px)",align:"Align",relativeTo:"Relative to",alignOptions:{left:"Left",center:"Center",right:"Right",top:"Top",bottom:"Bottom"},relativeOptions:{page:"Page",column:"Column",margin:"Margin",character:"Character",paragraph:"Paragraph",line:"Line"}},pageSetup:{title:"Page Setup",pageSize:"PAGE SIZE",sizeLabel:"Size",custom:"Custom",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",margins:"MARGINS",top:"Top",bottom:"Bottom",left:"Left",right:"Right",pageSizes:{letter:'Letter (8.5" \xD7 11")',a4:'A4 (8.27" \xD7 11.69")',legal:'Legal (8.5" \xD7 14")',a3:'A3 (11.69" \xD7 16.54")',a5:'A5 (5.83" \xD7 8.27")',b5:'B5 (6.93" \xD7 9.84")',executive:'Executive (7.25" \xD7 10.5")'}},tableProperties:{title:"Table Properties",widthType:"Width type",widthLabel:"Width",alignmentLabel:"Alignment",widthTypes:{auto:"Auto",fixed:"Fixed (twips)",percentage:"Percentage"},units:{fiftiethsPercent:"(50ths of %)",twips:"tw"},alignOptions:{left:"Left",center:"Center",right:"Right"}},pasteSpecial:{title:"Paste Special",keepFormatting:"Keep Source Formatting",keepFormattingDescription:"Paste with original formatting",keepFormattingShortcut:"Ctrl+V",plainText:"Paste as Plain Text",plainTextDescription:"Paste without any formatting",plainTextShortcut:"Ctrl+Shift+V",readingClipboard:"Reading clipboard...",preview:"Preview:",noContent:"No content available to paste",clipboardError:"Unable to read clipboard. Please use Ctrl+V to paste."},footnoteProperties:{title:"Footnote & Endnote Properties",footnotes:"Footnotes",endnotes:"Endnotes",position:"Position",numberFormat:"Number format",startAt:"Start at",numbering:"Numbering",footnotePositions:{bottomOfPage:"Bottom of page",belowText:"Below text"},endnotePositions:{endOfDocument:"End of document",endOfSection:"End of section"},numberingOptions:{continuous:"Continuous",restartSection:"Restart each section",restartPage:"Restart each page"},formats:{decimal:"1, 2, 3, ...",lowerRoman:"i, ii, iii, ...",upperRoman:"I, II, III, ...",lowerAlpha:"a, b, c, ...",upperAlpha:"A, B, C, ...",symbols:"*, \u2020, \u2021, ..."}},keyboardShortcuts:{ariaLabel:"Keyboard Shortcuts",searchPlaceholder:"Search shortcuts...",categories:{editing:"Editing",formatting:"Formatting",navigation:"Navigation",clipboard:"Clipboard",selection:"Selection",view:"View",file:"File",other:"Other"},shortcuts:{save:"Save",saveDescription:"Save document",print:"Print",printDescription:"Print document",undo:"Undo",undoDescription:"Undo last action",redo:"Redo",redoDescription:"Redo last action",delete:"Delete",deleteDescription:"Delete selected text",find:"Find",findDescription:"Find text in document",findReplace:"Find & Replace",findReplaceDescription:"Find and replace text",cut:"Cut",cutDescription:"Cut selected text",copy:"Copy",copyDescription:"Copy selected text",paste:"Paste",pasteDescription:"Paste from clipboard",pastePlainText:"Paste as Plain Text",pastePlainTextDescription:"Paste without formatting",bold:"Bold",boldDescription:"Toggle bold formatting",italic:"Italic",italicDescription:"Toggle italic formatting",underline:"Underline",underlineDescription:"Toggle underline formatting",strikethrough:"Strikethrough",strikethroughDescription:"Toggle strikethrough",subscript:"Subscript",subscriptDescription:"Toggle subscript",superscript:"Superscript",superscriptDescription:"Toggle superscript",alignLeft:"Align Left",alignLeftDescription:"Left align paragraph",alignCenter:"Align Center",alignCenterDescription:"Center align paragraph",alignRight:"Align Right",alignRightDescription:"Right align paragraph",justify:"Justify",justifyDescription:"Justify paragraph",increaseIndent:"Increase Indent",increaseIndentDescription:"Increase paragraph indent",decreaseIndent:"Decrease Indent",decreaseIndentDescription:"Decrease paragraph indent",selectAll:"Select All",selectAllDescription:"Select all content",selectWord:"Select Word",selectWordDescription:"Select current word",selectParagraph:"Select Paragraph",selectParagraphDescription:"Select current paragraph",extendSelectionByWord:"Extend Selection by Word",extendSelectionByWordDescription:"Extend selection to next/previous word",extendSelectionToLineEdge:"Extend Selection to Line Edge",extendSelectionToLineEdgeDescription:"Extend selection to line start/end",moveByWord:"Move by Word",moveByWordDescription:"Move cursor to next/previous word",moveToLineStart:"Move to Line Start",moveToLineStartDescription:"Move cursor to start of line",moveToLineEnd:"Move to Line End",moveToLineEndDescription:"Move cursor to end of line",moveToDocumentStart:"Move to Document Start",moveToDocumentStartDescription:"Move cursor to start of document",moveToDocumentEnd:"Move to Document End",moveToDocumentEndDescription:"Move cursor to end of document",pageUp:"Page Up",pageUpDescription:"Scroll up one page",pageDown:"Page Down",pageDownDescription:"Scroll down one page",zoomIn:"Zoom In",zoomInDescription:"Increase zoom level",zoomOut:"Zoom Out",zoomOutDescription:"Decrease zoom level",resetZoom:"Reset Zoom",resetZoomDescription:"Reset zoom to 100%",keyboardShortcuts:"Keyboard Shortcuts",keyboardShortcutsDescription:"Show this help dialog",insertLink:"Insert Link",insertLinkDescription:"Insert or edit hyperlink"},noResults:'No shortcuts found matching "{query}"',pressEscToClose:"Press {key} to close",or:"or"}},comments:{resolved:"Resolved",resolve:"Resolve",reopen:"Reopen",moreOptions:"More options",unknown:"Unknown",addComment:"Add a comment...",replyPlaceholder:"Reply or add others with @",replyCount:"{count, plural, one {# reply} other {# replies}}"},trackedChanges:{unknown:"Unknown",replaced:"Replaced",with:"with",added:"Added",deleted:"Deleted"},contextMenu:{ariaLabel:"AI actions menu",textMenuAriaLabel:"Text editing menu",customPromptPlaceholder:"Enter custom prompt...",cut:"Cut",cutShortcut:"Ctrl+X",copy:"Copy",copyShortcut:"Ctrl+C",paste:"Paste",pasteShortcut:"Ctrl+V",pastePlainText:"Paste as Plain Text",pastePlainTextShortcut:"Ctrl+Shift+V",delete:"Delete",deleteShortcut:"Del",selectAll:"Select All",selectAllShortcut:"Ctrl+A",selected:"Selected:",aiActions:{askAi:"Ask AI",rewrite:"Rewrite",expand:"Expand",summarize:"Summarize",translate:"Translate",explain:"Explain",fixGrammar:"Fix Grammar",makeFormal:"Make Formal",makeCasual:"Make Casual",custom:"Custom"}},documentOutline:{ariaLabel:"Document outline",closeAriaLabel:"Close outline",closeTitle:"Close outline",title:"Outline",noHeadings:"No headings found. Add headings to your document to see them here."},sidebar:{ariaLabel:"Annotations sidebar"},viewer:{pageIndicator:"{current} of {total}"},titleBar:{untitled:"Untitled",documentNameAriaLabel:"Document name",menuBarAriaLabel:"Menu bar"},errors:{loadingDocument:"Loading document...",noDocumentLoaded:"No document loaded",failedToLoad:"Failed to Load Document",unableToParse:"Unable to Parse Document",somethingWentWrong:"Something went wrong",errorDescription:"An error occurred while rendering this component. Please try again or contact support if the problem persists.",errorLabel:"Error:",componentStack:"Component Stack:",tryAgain:"Try Again",showDetails:"Show details",hideDetails:"Hide details",unsavedChanges:"You have unsaved changes. Are you sure you want to leave?"},table:{insertRowAbove:"Insert row above",insertRowBelow:"Insert row below",insertColumnLeft:"Insert column left",insertColumnRight:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table",mergeCells:"Merge cells",splitCell:"Split cell",editingTools:"Table editing tools",label:"Table:",cellFillColor:"Cell Fill Color",borderColor:"Border Color",borderWidth:"Border width",unknownAction:"Unknown Action",borders:{all:"All borders",outside:"Outside borders",inside:"Inside borders",none:"No borders",remove:"Remove borders",top:"Top border",bottom:"Bottom border",left:"Left border",right:"Right border",styleAriaLabel:"Border style",tooltip:"Borders"},moreOptions:"More table options",styles:{title:"Table Styles",label:"Styles",normalTable:"Normal Table",tableGrid:"Table Grid",gridTableLight:"Grid Table Light",plainTable1:"Plain Table 1",plainTable2:"Plain Table 2",plainTable3:"Plain Table 3",plainTable4:"Plain Table 4",gridTable1Light:"Grid Table 1 Light",gridTable4Accent1:"Grid Table 4 Accent 1",gridTable5Dark:"Grid Table 5 Dark",listTable3Accent2:"List Table 3 Accent 2",listTable4Accent3:"List Table 4 Accent 3",gridTable4Accent5:"Grid Table 4 Accent 5",gridTable4Accent6:"Grid Table 4 Accent 6"}},tableAdvanced:{verticalAlignment:"Vertical alignment",top:"Top",middle:"Middle",bottom:"Bottom",cellMargins:"Cell margins",textDirection:"Text direction",textDirections:{horizontal:"Horizontal (LR)",verticalRL:"Vertical (top-bottom, RL)",verticalLR:"Vertical (bottom-top, LR)"},toggleNoWrap:"Toggle no-wrap",rowHeight:"Row height",heightRules:{auto:"Auto",atLeast:"At least",exact:"Exact"},rule:"Rule",height:"Height",toggleHeaderRow:"Toggle header row",distributeColumns:"Distribute columns evenly",autoFit:"Auto-fit to contents",tableProperties:"Table properties...",tableAlignment:"Table alignment",alignTableLeft:"Align table left",alignTableCenter:"Align table center",alignTableRight:"Align table right",tableOptionsMenu:"Table options menu",tableOptions:"Table options"},imageTransform:{tooltip:"Transform",rotateClockwise:"Rotate clockwise",rotateCounterClockwise:"Rotate counter-clockwise",flipHorizontal:"Flip horizontal",flipVertical:"Flip vertical"},imageWrap:{inline:"In Line with Text",floatLeft:"Square Left",floatRight:"Square Right",topAndBottom:"Top and Bottom",behindText:"Behind Text",inFrontOfText:"In Front of Text",tooltipPrefix:"Wrap: {label}",menu:{inLineWithText:"In Line with Text",squareLeft:"Square Left",squareRight:"Square Right",behindText:"Behind Text",inFrontOfText:"In Front of Text",ariaLabel:"Image layout options",imageProperties:"Image properties\u2026"},menuDesc:{inLineWithText:"Image flows in the line as a glyph",squareLeft:"Image floats left, text wraps on the right",squareRight:"Image floats right, text wraps on the left",behindText:"Image paints behind body text",inFrontOfText:"Image paints over body text"}},responsePreview:{loading:"{action}...",result:"{action} Result",closeEsc:"Close (Esc)",editPrompt:"Edit the result before accepting:",changes:"Changes:",original:"Original:",new:"New:",cancelEdit:"Cancel Edit"},commentMarkers:{resolvedComment:"Resolved comment",comment:"Comment"},editor:{toggleCommentsSidebar:"Toggle comments sidebar",showDocumentOutline:"Show document outline",editing:"Editing",editingDescription:"Edit document directly",suggesting:"Suggesting",suggestingDescription:"Edits become suggestions",viewing:"Viewing",viewingDescription:"Read-only, no edits",failedToParse:"Failed to parse document",linkRemoved:"Link removed",linkCopied:"Link copied to clipboard",failedToSave:"Failed to save document"},hyperlinkPopup:{displayTextPlaceholder:"Display text",urlPlaceholder:"https://example.com",copyLink:"Copy link",editLink:"Edit link",removeLink:"Remove link"},headerFooter:{header:"Header",footer:"Footer",options:"Options",insertPageNumber:"Insert current page number",insertTotalPages:"Insert total page count",remove:"Remove {label}",closeEditing:"Close {label} editing"},image:{placeholder:"Image placeholder",placeholderText:"[Image]",editableAriaLabel:"Editable image"},imageOverlay:{rotate:"Rotate",imageProperties:"Image properties",deleteImage:"Delete image"},ruler:{horizontal:"Horizontal ruler",vertical:"Vertical ruler",firstLineIndent:"First line indent",leftIndent:"Left indent",rightIndent:"Right indent",topMargin:"Top margin",bottomMargin:"Bottom margin"},print:{label:"Print",allPages:"All ({totalPages} pages)",singlePage:"Page {start}",pageRange:"Pages {start}-{end}"},unsaved:{unsaved:"Unsaved",saved:"Saved",unsavedTitle:"Document has unsaved changes",savedTitle:"All changes saved",unsavedAriaLabel:"Unsaved changes",savedAriaLabel:"All changes saved"},loading:{label:"Loading"},agentPanel:{defaultTitle:"Assistant",toggle:"Open assistant",close:"Close panel",resizeHandle:"Resize agent panel",thinking:"Assistant is thinking",composerPlaceholder:"Ask the assistant\u2026",send:"Send",timeline:{working:"Working\u2026 {count, plural, one {# step} other {# steps}}",summary:"{count, plural, one {# step} other {# steps}}",earlier:"+ {count, plural, one {# earlier step} other {# earlier steps}}"}}};var b=g,f=createContext(b),T=createContext("en");function d(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e,o){if(!o)return e;let t={...e};for(let i of Object.keys(o)){let r=o[i];r!==null&&(d(e[i])&&d(r)?t[i]=L(e[i],r):r!==void 0&&(t[i]=r));}return t}function C(e,o){let t=e;for(let i of o.split(".")){if(!d(t))return;t=t[i];}return typeof t=="string"?t:void 0}function v(e){let o={},t=/(=\d+|\w+)\s*\{([^}]*)\}/g,i;for(;(i=t.exec(e))!==null;)o[i[1]]=i[2];return o}function P(e,o,t){return o?e.replace(/\{(\w+),\s*plural,\s*((?:[^{}]|\{[^{}]*\})*)\}/g,(r,n,l)=>{let a=Number(o[n]);if(isNaN(a))return r;let s=v(l),p=s[`=${a}`];if(p!==void 0)return p.replace(/#/g,String(a));let c;try{c=new Intl.PluralRules(t||"en").select(a);}catch{c=a===1?"one":"other";}return (s[c]??s.other??"").replace(/#/g,String(a))}).replace(/\{(\w+)\}/g,(r,n)=>{let l=o[n];return l!==void 0?String(l):`{${n}}`}):e}function R({i18n:e,children:o}){let t=e,i=typeof t?._lang=="string"?t._lang:"en",r=useMemo(()=>L(b,t),[t]);return jsx(T.Provider,{value:i,children:jsx(f.Provider,{value:r,children:o})})}function w(){let e=useContext(f),o=useContext(T);return {t:useCallback((i,r)=>{let n=C(e,i);return P(n??i,r,o)},[e,o])}}
2
+ export{g as a,R as b,w as c};