@svgrid/enterprise 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/LICENSE +94 -24
  2. package/README.md +36 -4
  3. package/dist/SvAdvancedFilter.svelte +1 -1
  4. package/dist/SvAlertsManager.svelte +2 -1
  5. package/dist/SvBoard.svelte +2 -1
  6. package/dist/SvExportMenu.svelte +4 -1
  7. package/dist/SvExportMenu.svelte.d.ts +0 -13
  8. package/dist/SvExpressionEditor.svelte +3 -3
  9. package/dist/SvFormulaBar.svelte +680 -0
  10. package/dist/SvFormulaBar.svelte.d.ts +69 -0
  11. package/dist/SvGridAlerts.svelte +49 -9
  12. package/dist/SvGridBoard.svelte +13 -8
  13. package/dist/SvGridBulkEditDrawer.svelte +26 -2
  14. package/dist/SvGridEditPanel.svelte +3 -0
  15. package/dist/SvGridScheduler.svelte +69 -40
  16. package/dist/SvGridSelectionBar.svelte +10 -3
  17. package/dist/SvPivotDesigner.svelte +263 -54
  18. package/dist/SvPivotDesigner.svelte.d.ts +27 -20
  19. package/dist/SvRibbonIcon.svelte +46 -0
  20. package/dist/SvRibbonIcon.svelte.d.ts +17 -0
  21. package/dist/SvSchemaChart.svelte +4 -2
  22. package/dist/SvSheet.svelte +7914 -0
  23. package/dist/SvSheet.svelte.d.ts +215 -0
  24. package/dist/SvSheetChartSetup.svelte +151 -0
  25. package/dist/SvSheetChartSetup.svelte.d.ts +18 -0
  26. package/dist/SvSheetComment.svelte +283 -0
  27. package/dist/SvSheetComment.svelte.d.ts +22 -0
  28. package/dist/SvSheetConditionalFormat.svelte +159 -0
  29. package/dist/SvSheetConditionalFormat.svelte.d.ts +14 -0
  30. package/dist/SvSheetDataValidation.svelte +273 -0
  31. package/dist/SvSheetDataValidation.svelte.d.ts +14 -0
  32. package/dist/SvSheetEditRanges.svelte +217 -0
  33. package/dist/SvSheetEditRanges.svelte.d.ts +15 -0
  34. package/dist/SvSheetErrors.svelte +125 -0
  35. package/dist/SvSheetErrors.svelte.d.ts +20 -0
  36. package/dist/SvSheetEvaluate.svelte +133 -0
  37. package/dist/SvSheetEvaluate.svelte.d.ts +15 -0
  38. package/dist/SvSheetFilterMenu.svelte +320 -0
  39. package/dist/SvSheetFilterMenu.svelte.d.ts +22 -0
  40. package/dist/SvSheetFindReplace.svelte +132 -0
  41. package/dist/SvSheetFindReplace.svelte.d.ts +10 -0
  42. package/dist/SvSheetFormatCells.svelte +465 -0
  43. package/dist/SvSheetFormatCells.svelte.d.ts +17 -0
  44. package/dist/SvSheetGoalSeek.svelte +145 -0
  45. package/dist/SvSheetGoalSeek.svelte.d.ts +12 -0
  46. package/dist/SvSheetInsertFunction.svelte +149 -0
  47. package/dist/SvSheetInsertFunction.svelte.d.ts +8 -0
  48. package/dist/SvSheetIteration.svelte +81 -0
  49. package/dist/SvSheetIteration.svelte.d.ts +10 -0
  50. package/dist/SvSheetLink.svelte +99 -0
  51. package/dist/SvSheetLink.svelte.d.ts +17 -0
  52. package/dist/SvSheetListPicker.svelte +91 -0
  53. package/dist/SvSheetListPicker.svelte.d.ts +10 -0
  54. package/dist/SvSheetManageRules.svelte +187 -0
  55. package/dist/SvSheetManageRules.svelte.d.ts +16 -0
  56. package/dist/SvSheetNameManager.svelte +227 -0
  57. package/dist/SvSheetNameManager.svelte.d.ts +11 -0
  58. package/dist/SvSheetPageSetup.svelte +159 -0
  59. package/dist/SvSheetPageSetup.svelte.d.ts +13 -0
  60. package/dist/SvSheetPasteSpecial.svelte +107 -0
  61. package/dist/SvSheetPasteSpecial.svelte.d.ts +12 -0
  62. package/dist/SvSheetPivot.svelte +220 -0
  63. package/dist/SvSheetPivot.svelte.d.ts +21 -0
  64. package/dist/SvSheetProtectSheet.svelte +81 -0
  65. package/dist/SvSheetProtectSheet.svelte.d.ts +11 -0
  66. package/dist/SvSheetRemoveDuplicates.svelte +152 -0
  67. package/dist/SvSheetRemoveDuplicates.svelte.d.ts +12 -0
  68. package/dist/SvSheetRibbon.svelte +1254 -0
  69. package/dist/SvSheetRibbon.svelte.d.ts +34 -0
  70. package/dist/SvSheetSizeDialog.svelte +60 -0
  71. package/dist/SvSheetSizeDialog.svelte.d.ts +11 -0
  72. package/dist/SvSheetSort.svelte +218 -0
  73. package/dist/SvSheetSort.svelte.d.ts +28 -0
  74. package/dist/SvSheetSparklines.svelte +135 -0
  75. package/dist/SvSheetSparklines.svelte.d.ts +14 -0
  76. package/dist/SvSheetTable.svelte +160 -0
  77. package/dist/SvSheetTable.svelte.d.ts +24 -0
  78. package/dist/SvSheetTabs.svelte +571 -0
  79. package/dist/SvSheetTabs.svelte.d.ts +50 -0
  80. package/dist/SvSheetTabs.test-harness.svelte.d.ts +17 -0
  81. package/dist/SvSheetTabs.test-harness.svelte.js +22 -0
  82. package/dist/SvSheetTextToColumns.svelte +172 -0
  83. package/dist/SvSheetTextToColumns.svelte.d.ts +13 -0
  84. package/dist/SvSheetValidationAlert.svelte +85 -0
  85. package/dist/SvSheetValidationAlert.svelte.d.ts +15 -0
  86. package/dist/advanced-filter-enable.js +1 -1
  87. package/dist/alerts/alert-engine.d.ts +6 -0
  88. package/dist/alerts/alert-engine.js +21 -4
  89. package/dist/alerts/alert-formats.js +2 -0
  90. package/dist/alerts/alert-types.d.ts +1 -1
  91. package/dist/alerts.d.ts +1 -1
  92. package/dist/alerts.js +2 -2
  93. package/dist/board.js +2 -2
  94. package/dist/bulk-edit.d.ts +3 -1
  95. package/dist/bulk-edit.js +1 -1
  96. package/dist/cdn/svgrid-enterprise.svelte-external.js +43538 -6539
  97. package/dist/designer/assets/GridMenus-8gTNssgV.js +8 -0
  98. package/dist/designer/assets/SvChartMenu-BDoeqGz6.js +1 -0
  99. package/dist/designer/assets/SvChartMenu-BYO9cYdy.css +1 -0
  100. package/dist/designer/assets/SvDateRangeInput-BBRzrQeg.js +1 -0
  101. package/dist/designer/assets/SvDateTimePicker-DCPg7WGN.js +1 -0
  102. package/dist/designer/assets/SvGridCellEditor-DMoWJjEI.js +4 -0
  103. package/dist/designer/assets/SvGridChart-BgLuPO7I.css +1 -0
  104. package/dist/designer/assets/SvGridChart-Cy1ATrWh.js +3 -0
  105. package/dist/designer/assets/SvGridChartBuilder-08YWWeqY.css +1 -0
  106. package/dist/designer/assets/SvGridChartBuilder-eQ3mn0L9.js +1 -0
  107. package/dist/designer/assets/SvGridChartPanel-4Pc8y5yO.css +1 -0
  108. package/dist/designer/assets/SvGridChartPanel-CATdVc9X.js +4 -0
  109. package/dist/designer/assets/{SvGridChartView-DUc-1RUf.css → SvGridChartView-7msfnWZT.css} +1 -1
  110. package/dist/designer/assets/SvGridChartView-CmsZtCED.js +1 -0
  111. package/dist/designer/assets/SvGridDropdown-Cjz0H-fI.js +1 -0
  112. package/dist/designer/assets/SvListBox-BDS66lmZ.js +110 -0
  113. package/dist/designer/assets/SvMenuList-DJ47ba1h.css +1 -0
  114. package/dist/designer/assets/SvMenuList-Dgq2D5VN.js +1 -0
  115. package/dist/designer/assets/SvTabs-2mHC6oaz.js +1 -0
  116. package/dist/designer/assets/SvTabs-DKmwb5p1.css +1 -0
  117. package/dist/designer/assets/cell-formatting-BbubJTVz.js +1 -0
  118. package/dist/designer/assets/chart-Cn7MnNqA.js +1 -0
  119. package/dist/designer/assets/chart-export-B6bkQ3X8.js +11 -0
  120. package/dist/designer/assets/chart-export-pdf-BbA28-gt.js +11 -0
  121. package/dist/designer/assets/chart-panel-messages-Dz7PTIqT.js +1 -0
  122. package/dist/designer/assets/chart-summary-BD1qYB2R.js +1 -0
  123. package/dist/designer/assets/chart-trend-B8xr5LuD.js +1 -0
  124. package/dist/designer/assets/chart-validate-BMqM-qkF.js +1 -0
  125. package/dist/designer/assets/column-resize-BYDzR1Ve.js +1 -0
  126. package/dist/designer/assets/date-format-B8JbEtIG.js +1 -0
  127. package/dist/designer/assets/date-format-DKS-z0xS.css +1 -0
  128. package/dist/designer/assets/{dismissable-BO547MH9.js → dismissable-ChWRPkoa.js} +1 -1
  129. package/dist/designer/assets/editor-contract-Bpoa7A5g.js +1 -0
  130. package/dist/designer/assets/{export-format-D-eP4b2l.js → export-format-DGckmgKr.js} +1 -1
  131. package/dist/designer/assets/focus-trap-V2-6Fy9I.js +1 -0
  132. package/dist/designer/assets/{index-C_a9Cj8Y.js → index-D5bVbuzI.js} +318 -315
  133. package/dist/designer/assets/index-_JVFxt02.css +1 -0
  134. package/dist/designer/assets/list-option-BP_dWS66.js +1 -0
  135. package/dist/designer/assets/row-resize-BInFWCpr.js +1 -0
  136. package/dist/designer/assets/server-block-cache-CXJKkJpy.js +1 -0
  137. package/dist/designer/assets/src-CITpcm6b.js +1 -0
  138. package/dist/designer/assets/src-DUQ4xE3x.js +58 -0
  139. package/dist/designer/assets/validate-C3B8QKsM.js +1 -0
  140. package/dist/designer/index.html +29 -19
  141. package/dist/export-pdf.d.ts +164 -0
  142. package/dist/export-pdf.js +346 -15
  143. package/dist/export.js +25 -10
  144. package/dist/gantt/SvGridGantt.svelte +2890 -0
  145. package/dist/gantt/SvGridGantt.svelte.d.ts +30 -0
  146. package/dist/gantt/gantt-config.d.ts +73 -0
  147. package/dist/gantt/gantt-config.js +1 -0
  148. package/dist/gantt/gantt-critical-path.d.ts +67 -0
  149. package/dist/gantt/gantt-critical-path.js +207 -0
  150. package/dist/gantt/gantt-model.d.ts +257 -0
  151. package/dist/gantt/gantt-model.js +651 -0
  152. package/dist/gantt/gantt-resources.d.ts +59 -0
  153. package/dist/gantt/gantt-resources.js +71 -0
  154. package/dist/gantt/gantt.d.ts +7 -0
  155. package/dist/gantt/gantt.js +36 -0
  156. package/dist/gantt/index.d.ts +15 -0
  157. package/dist/gantt/index.js +22 -0
  158. package/dist/gantt/timeline-arrows.d.ts +102 -0
  159. package/dist/gantt/timeline-arrows.js +181 -0
  160. package/dist/import.d.ts +2 -2
  161. package/dist/import.js +1 -1
  162. package/dist/index.d.ts +93 -3
  163. package/dist/index.js +107 -3
  164. package/dist/install.js +13 -1
  165. package/dist/license-core.d.ts +17 -1
  166. package/dist/license-core.js +16 -5
  167. package/dist/license.d.ts +18 -2
  168. package/dist/license.js +71 -6
  169. package/dist/node/studio.js +203 -9
  170. package/dist/pivot-chart.d.ts +25 -1
  171. package/dist/pivot-chart.js +25 -69
  172. package/dist/pivot-enable.js +2 -2
  173. package/dist/scheduler-dependencies.d.ts +35 -0
  174. package/dist/scheduler-dependencies.js +36 -1
  175. package/dist/scheduler.js +2 -2
  176. package/dist/selection-bar.js +2 -2
  177. package/dist/server/SvGroupCell.svelte +213 -0
  178. package/dist/server/SvGroupCell.svelte.d.ts +62 -0
  179. package/dist/server/SvRowGroupPanel.svelte +322 -0
  180. package/dist/server/SvRowGroupPanel.svelte.d.ts +37 -0
  181. package/dist/server/enable.d.ts +17 -0
  182. package/dist/server/enable.js +49 -0
  183. package/dist/server/index.d.ts +22 -0
  184. package/dist/server/index.js +24 -0
  185. package/dist/server/messages.d.ts +45 -0
  186. package/dist/server/messages.js +35 -0
  187. package/dist/server/server-group-model.d.ts +104 -0
  188. package/dist/server/server-group-model.js +272 -0
  189. package/dist/server/server-pivot.d.ts +46 -0
  190. package/dist/server/server-pivot.js +57 -0
  191. package/dist/server/server-row-model.d.ts +547 -0
  192. package/dist/server/server-row-model.js +1551 -0
  193. package/dist/server/server-selection.d.ts +99 -0
  194. package/dist/server/server-selection.js +215 -0
  195. package/dist/server/svgrid-adapter.d.ts +155 -0
  196. package/dist/server/svgrid-adapter.js +202 -0
  197. package/dist/sheet/address.d.ts +43 -0
  198. package/dist/sheet/address.js +81 -0
  199. package/dist/sheet/ast.d.ts +138 -0
  200. package/dist/sheet/ast.js +70 -0
  201. package/dist/sheet/auto-filter.d.ts +120 -0
  202. package/dist/sheet/auto-filter.js +295 -0
  203. package/dist/sheet/autocomplete.d.ts +51 -0
  204. package/dist/sheet/autocomplete.js +248 -0
  205. package/dist/sheet/cell-images.d.ts +39 -0
  206. package/dist/sheet/cell-images.js +90 -0
  207. package/dist/sheet/cell-types.d.ts +58 -0
  208. package/dist/sheet/cell-types.js +96 -0
  209. package/dist/sheet/coerce.d.ts +71 -0
  210. package/dist/sheet/coerce.js +289 -0
  211. package/dist/sheet/commands.d.ts +89 -0
  212. package/dist/sheet/commands.js +230 -0
  213. package/dist/sheet/comments.d.ts +63 -0
  214. package/dist/sheet/comments.js +131 -0
  215. package/dist/sheet/conditional-formats.d.ts +167 -0
  216. package/dist/sheet/conditional-formats.js +341 -0
  217. package/dist/sheet/csv.d.ts +32 -0
  218. package/dist/sheet/csv.js +158 -0
  219. package/dist/sheet/culture.d.ts +87 -0
  220. package/dist/sheet/culture.js +247 -0
  221. package/dist/sheet/delta.d.ts +102 -0
  222. package/dist/sheet/delta.js +203 -0
  223. package/dist/sheet/deps.d.ts +104 -0
  224. package/dist/sheet/deps.js +274 -0
  225. package/dist/sheet/document.d.ts +252 -0
  226. package/dist/sheet/document.js +465 -0
  227. package/dist/sheet/edit-keys.d.ts +14 -0
  228. package/dist/sheet/edit-keys.js +40 -0
  229. package/dist/sheet/engine.d.ts +67 -0
  230. package/dist/sheet/engine.js +19 -0
  231. package/dist/sheet/entry.d.ts +35 -0
  232. package/dist/sheet/entry.js +226 -0
  233. package/dist/sheet/error-check.d.ts +49 -0
  234. package/dist/sheet/error-check.js +83 -0
  235. package/dist/sheet/evaluate-steps.d.ts +48 -0
  236. package/dist/sheet/evaluate-steps.js +196 -0
  237. package/dist/sheet/evaluate.d.ts +128 -0
  238. package/dist/sheet/evaluate.js +1049 -0
  239. package/dist/sheet/filter-files.d.ts +37 -0
  240. package/dist/sheet/filter-files.js +465 -0
  241. package/dist/sheet/find-replace.d.ts +62 -0
  242. package/dist/sheet/find-replace.js +152 -0
  243. package/dist/sheet/format-store.d.ts +114 -0
  244. package/dist/sheet/format-store.js +243 -0
  245. package/dist/sheet/freeze.d.ts +54 -0
  246. package/dist/sheet/freeze.js +58 -0
  247. package/dist/sheet/from-rows.d.ts +14 -0
  248. package/dist/sheet/from-rows.js +50 -0
  249. package/dist/sheet/function-catalog.d.ts +10 -0
  250. package/dist/sheet/function-catalog.js +385 -0
  251. package/dist/sheet/functions.d.ts +28 -0
  252. package/dist/sheet/functions.js +634 -0
  253. package/dist/sheet/goal-seek.d.ts +73 -0
  254. package/dist/sheet/goal-seek.js +153 -0
  255. package/dist/sheet/index.d.ts +80 -0
  256. package/dist/sheet/index.js +80 -0
  257. package/dist/sheet/links.d.ts +57 -0
  258. package/dist/sheet/links.js +174 -0
  259. package/dist/sheet/merges.d.ts +71 -0
  260. package/dist/sheet/merges.js +137 -0
  261. package/dist/sheet/messages.d.ts +778 -0
  262. package/dist/sheet/messages.js +806 -0
  263. package/dist/sheet/names.d.ts +31 -0
  264. package/dist/sheet/names.js +87 -0
  265. package/dist/sheet/navigate.d.ts +52 -0
  266. package/dist/sheet/navigate.js +135 -0
  267. package/dist/sheet/number-format.d.ts +110 -0
  268. package/dist/sheet/number-format.js +905 -0
  269. package/dist/sheet/objects.d.ts +106 -0
  270. package/dist/sheet/objects.js +149 -0
  271. package/dist/sheet/ods-document.d.ts +44 -0
  272. package/dist/sheet/ods-document.js +1275 -0
  273. package/dist/sheet/open-file.d.ts +26 -0
  274. package/dist/sheet/open-file.js +56 -0
  275. package/dist/sheet/outline.d.ts +82 -0
  276. package/dist/sheet/outline.js +228 -0
  277. package/dist/sheet/packs/array.d.ts +16 -0
  278. package/dist/sheet/packs/array.js +172 -0
  279. package/dist/sheet/packs/database.d.ts +42 -0
  280. package/dist/sheet/packs/database.js +142 -0
  281. package/dist/sheet/packs/engineering.d.ts +2 -0
  282. package/dist/sheet/packs/engineering.js +296 -0
  283. package/dist/sheet/packs/financial.d.ts +5 -0
  284. package/dist/sheet/packs/financial.js +220 -0
  285. package/dist/sheet/packs/math-stats.d.ts +2 -0
  286. package/dist/sheet/packs/math-stats.js +372 -0
  287. package/dist/sheet/packs/special.d.ts +44 -0
  288. package/dist/sheet/packs/special.js +187 -0
  289. package/dist/sheet/packs/stats-dist.d.ts +2 -0
  290. package/dist/sheet/packs/stats-dist.js +785 -0
  291. package/dist/sheet/packs/text-date.d.ts +2 -0
  292. package/dist/sheet/packs/text-date.js +332 -0
  293. package/dist/sheet/packs/trig.d.ts +2 -0
  294. package/dist/sheet/packs/trig.js +73 -0
  295. package/dist/sheet/page-setup.d.ts +73 -0
  296. package/dist/sheet/page-setup.js +73 -0
  297. package/dist/sheet/palette.d.ts +19 -0
  298. package/dist/sheet/palette.js +84 -0
  299. package/dist/sheet/parse.d.ts +13 -0
  300. package/dist/sheet/parse.js +140 -0
  301. package/dist/sheet/paste-special.d.ts +186 -0
  302. package/dist/sheet/paste-special.js +601 -0
  303. package/dist/sheet/pivot-range.d.ts +160 -0
  304. package/dist/sheet/pivot-range.js +333 -0
  305. package/dist/sheet/presence.d.ts +73 -0
  306. package/dist/sheet/presence.js +79 -0
  307. package/dist/sheet/print.d.ts +104 -0
  308. package/dist/sheet/print.js +169 -0
  309. package/dist/sheet/protection.d.ts +75 -0
  310. package/dist/sheet/protection.js +101 -0
  311. package/dist/sheet/rects.d.ts +45 -0
  312. package/dist/sheet/rects.js +112 -0
  313. package/dist/sheet/refs.d.ts +130 -0
  314. package/dist/sheet/refs.js +413 -0
  315. package/dist/sheet/ribbon-icons.d.ts +31 -0
  316. package/dist/sheet/ribbon-icons.js +536 -0
  317. package/dist/sheet/ribbon.d.ts +173 -0
  318. package/dist/sheet/ribbon.js +1054 -0
  319. package/dist/sheet/sheet-kinds.d.ts +74 -0
  320. package/dist/sheet/sheet-kinds.js +91 -0
  321. package/dist/sheet/shortcuts.d.ts +174 -0
  322. package/dist/sheet/shortcuts.js +674 -0
  323. package/dist/sheet/sort.d.ts +51 -0
  324. package/dist/sheet/sort.js +107 -0
  325. package/dist/sheet/sparklines.d.ts +111 -0
  326. package/dist/sheet/sparklines.js +204 -0
  327. package/dist/sheet/structure.d.ts +87 -0
  328. package/dist/sheet/structure.js +166 -0
  329. package/dist/sheet/table-styles.d.ts +74 -0
  330. package/dist/sheet/table-styles.js +152 -0
  331. package/dist/sheet/tables.d.ts +89 -0
  332. package/dist/sheet/tables.js +178 -0
  333. package/dist/sheet/tokenize.d.ts +71 -0
  334. package/dist/sheet/tokenize.js +355 -0
  335. package/dist/sheet/transforms.d.ts +76 -0
  336. package/dist/sheet/transforms.js +154 -0
  337. package/dist/sheet/validation.d.ts +108 -0
  338. package/dist/sheet/validation.js +278 -0
  339. package/dist/sheet/workbook.d.ts +217 -0
  340. package/dist/sheet/workbook.js +1120 -0
  341. package/dist/sheet/xls-cfb.d.ts +32 -0
  342. package/dist/sheet/xls-cfb.js +290 -0
  343. package/dist/sheet/xls-document.d.ts +10 -0
  344. package/dist/sheet/xls-document.js +1243 -0
  345. package/dist/sheet/xls-formula.d.ts +40 -0
  346. package/dist/sheet/xls-formula.js +569 -0
  347. package/dist/sheet/xlsx-document.d.ts +108 -0
  348. package/dist/sheet/xlsx-document.js +1849 -0
  349. package/dist/sheet/xlsx-drawing.d.ts +99 -0
  350. package/dist/sheet/xlsx-drawing.js +420 -0
  351. package/dist/sheet-enable.d.ts +6 -0
  352. package/dist/sheet-enable.js +45 -0
  353. package/dist/sheet-text.d.ts +7 -0
  354. package/dist/sheet-text.js +29 -0
  355. package/dist/sources/auth-supabase.js +2 -2
  356. package/dist/sources/realtime-supabase.js +2 -2
  357. package/dist/sources/rest.d.ts +6 -2
  358. package/dist/sources/rest.js +42 -7
  359. package/dist/sources/supabase.d.ts +10 -1
  360. package/dist/sources/supabase.js +73 -40
  361. package/dist/studio/emit-project.js +14 -1
  362. package/dist/studio/index.js +1 -1
  363. package/dist/studio/project.d.ts +11 -2
  364. package/dist/studio/project.js +5 -2
  365. package/dist/studio/ui-components.generated.js +170 -3
  366. package/dist/sveltekit/in-memory.d.ts +2 -2
  367. package/dist/sveltekit/in-memory.js +125 -4
  368. package/dist/sveltekit/index.d.ts +1 -1
  369. package/dist/sveltekit/index.js +1 -1
  370. package/dist/sveltekit/query-plan.d.ts +50 -4
  371. package/dist/sveltekit/query-plan.js +25 -3
  372. package/dist/sveltekit/sql-source.d.ts +6 -0
  373. package/dist/sveltekit/sql-source.js +34 -6
  374. package/dist/sveltekit/sql.d.ts +31 -0
  375. package/dist/sveltekit/sql.js +135 -25
  376. package/dist/sveltekit/transport.d.ts +10 -2
  377. package/dist/sveltekit/transport.js +30 -6
  378. package/dist/upgrade-prompt.d.ts +1 -1
  379. package/dist/version.d.ts +1 -1
  380. package/dist/version.js +1 -1
  381. package/dist/watermark.js +35 -2
  382. package/dist/wc/GridMenus-By9vPuq0.js +1088 -0
  383. package/dist/wc/SvChartMenu-CQNrQGT2.js +308 -0
  384. package/dist/wc/SvDateRangeInput-DR6m7bSM.js +199 -0
  385. package/dist/wc/SvDateTimePicker-D-vRnaMo.js +771 -0
  386. package/dist/wc/SvField-B_kurx_P.js +149 -0
  387. package/dist/wc/SvGrid.helpers-BdVDtjUm.js +135 -0
  388. package/dist/wc/SvGridCellEditor-Bnf1Kr5C.js +560 -0
  389. package/dist/wc/SvGridChart-BqUJh2pG.js +3572 -0
  390. package/dist/wc/SvGridChartBuilder-CGycC5cn.js +988 -0
  391. package/dist/wc/SvGridChartPanel-CRnizsHD.js +1746 -0
  392. package/dist/wc/SvGridChartView-D1pa_xMy.js +47 -0
  393. package/dist/wc/SvGridDropdown-45WsObLL.js +259 -0
  394. package/dist/wc/SvModal-DrfOYYyX.js +189 -0
  395. package/dist/wc/cell-formatting-CBfgahv1.js +86 -0
  396. package/dist/wc/chart-6OXlybVT.js +4341 -0
  397. package/dist/wc/chart-export-CeSADGfi.js +135 -0
  398. package/dist/wc/chart-export-pdf-BGko7MER.js +104 -0
  399. package/dist/wc/chart-summary-2m3ia1-n.js +137 -0
  400. package/dist/wc/chart-trend-CQOQtTMl.js +50 -0
  401. package/dist/wc/chart-validate-CD6ptiwg.js +180 -0
  402. package/dist/wc/client-DQIzjDBG.js +3064 -0
  403. package/dist/wc/column-resize-DUPgynvc.js +101 -0
  404. package/dist/wc/date-format-DS-z_h9v.js +1130 -0
  405. package/dist/wc/dismissable-CQ6XFXsk.js +45 -0
  406. package/dist/wc/editor-contract-peBDxir_.js +22 -0
  407. package/dist/wc/editor-registry-DxGKqcvx.js +24 -0
  408. package/dist/wc/focus-trap-Dbb2tJxb.js +65 -0
  409. package/dist/wc/list-option-DrRyivWp.js +82 -0
  410. package/dist/wc/popover-WsGlvtQv.js +69 -0
  411. package/dist/wc/positioning-BiKLfu1E.js +112 -0
  412. package/dist/wc/react.d.ts +41 -0
  413. package/dist/wc/react.js +90 -0
  414. package/dist/wc/rolldown-runtime-Dy4uBu1J.js +11 -0
  415. package/dist/wc/row-drag-touch-CycRR65n.js +93 -0
  416. package/dist/wc/row-resize-limG_N1z.js +111 -0
  417. package/dist/wc/sv-sheet-element.d.ts +97 -0
  418. package/dist/wc/sv-sheet-element.js +44213 -0
  419. package/dist/wc/svelte-virtualizer.svelte-CXtQy2TQ.js +530 -0
  420. package/dist/wc/validate-BqDthkNr.js +88 -0
  421. package/dist/wc/vue.d.ts +31 -0
  422. package/dist/wc/vue.js +75 -0
  423. package/package.json +36 -6
  424. package/dist/designer/assets/GridMenus-B1JtIN21.js +0 -8
  425. package/dist/designer/assets/SvDateRangeInput-CjO7nn_x.js +0 -1
  426. package/dist/designer/assets/SvDateTimePicker-ByBD_ov6.js +0 -1
  427. package/dist/designer/assets/SvField-YDLipR6O.css +0 -1
  428. package/dist/designer/assets/SvField-cj1PFNgZ.js +0 -1
  429. package/dist/designer/assets/SvGridCellEditor-0W1L2hJ1.js +0 -2
  430. package/dist/designer/assets/SvGridChart-DBOR4xcz.js +0 -2
  431. package/dist/designer/assets/SvGridChart-fkMWeh1J.css +0 -1
  432. package/dist/designer/assets/SvGridChartPanel-symrhNnR.js +0 -11
  433. package/dist/designer/assets/SvGridChartView-BmRxq6mU.js +0 -1
  434. package/dist/designer/assets/SvGridDropdown-Bb3HH2Aj.js +0 -1
  435. package/dist/designer/assets/SvListBox-1oUF6Iav.js +0 -110
  436. package/dist/designer/assets/cell-formatting-wr5wm7US.js +0 -1
  437. package/dist/designer/assets/chart-DXFganU8.js +0 -1
  438. package/dist/designer/assets/column-resize-C_inr5zT.js +0 -1
  439. package/dist/designer/assets/date-format-DGagAqRc.css +0 -1
  440. package/dist/designer/assets/date-format-onlYDsrY.js +0 -1
  441. package/dist/designer/assets/easing-zaypKrr0.js +0 -3
  442. package/dist/designer/assets/index-k2stW6L8.css +0 -1
  443. package/dist/designer/assets/row-resize-B0FWHcNr.js +0 -1
  444. package/dist/designer/assets/src-D9p27OGC.js +0 -58
  445. package/dist/designer/assets/validate-h-aslRV9.js +0 -1
@@ -0,0 +1,536 @@
1
+ /**
2
+ * The ribbon's icons, as path data on a 16 x 16 grid.
3
+ *
4
+ * Drawn here rather than pulled from an icon font or a package: the ribbon
5
+ * is the one place in the library that needs a coordinated set of command
6
+ * glyphs (a clipboard, scissors, a paint bucket, a funnel), and an icon set
7
+ * that is part of the source can be read, tested and tuned like anything
8
+ * else. `SvRibbonIcon.svelte` renders one by name; a large button draws the
9
+ * same paths at twice the size, which is why they are vectors.
10
+ *
11
+ * One style, one colour. These are line icons - a 1.4px stroke with round
12
+ * caps and joins, the way Excel's own monochrome set is drawn - and every
13
+ * one of them is `currentColor`, so they are black on a light ribbon and
14
+ * white on a dark one and never carry a colour of their own. The only fills
15
+ * are the small solid parts Excel also fills: a dot, a corner, the head of
16
+ * an arrow. Colour belongs to the colour bar under Fill Colour and Font
17
+ * Colour, which shows the colour the face will apply, not to the glyph.
18
+ */
19
+ const SQUARE = 'M2.5 2.5h11v11h-11z';
20
+ const CROSS = 'M2.5 8h11M8 2.5v11';
21
+ const DASHED = '1.6 1.6';
22
+ /** A clipboard: the board, then the clip on top. */
23
+ const CLIPBOARD = [
24
+ { d: 'M5.5 3H4.5A1.5 1.5 0 0 0 3 4.5v8A1.5 1.5 0 0 0 4.5 14h7a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 11.5 3h-1' },
25
+ { d: 'M6 1.5h4a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V2a.5.5 0 0 1 .5-.5z' },
26
+ ];
27
+ /** A speech bubble with its tail at the bottom left. */
28
+ const BUBBLE = 'M3.5 2.5h9a1.5 1.5 0 0 1 1.5 1.5v6a1.5 1.5 0 0 1-1.5 1.5H7l-3 2.5v-2.5h-.5A1.5 1.5 0 0 1 2 10V4a1.5 1.5 0 0 1 1.5-1.5z';
29
+ /** A sheet of paper with a folded corner. */
30
+ const SHEET = [{ d: 'M4 1.5h5.5l3 3v10H4z' }, { d: 'M9.5 1.5v3h3' }];
31
+ export const RIBBON_ICONS = {
32
+ /* The curved arrows: an open arc, the head at its tip pointing back down
33
+ to the lower-left (or right); closing the arc any further reads as a
34
+ refresh glyph. */
35
+ undo: [
36
+ { d: 'M3.3 6.6A5.6 5.6 0 1 1 9.6 13.9', width: 1.6 },
37
+ { d: 'M3.3 6.6V2.8M3.3 6.6h3.8', width: 1.6 },
38
+ ],
39
+ redo: [
40
+ { d: 'M12.7 6.6A5.6 5.6 0 1 0 6.4 13.9', width: 1.6 },
41
+ { d: 'M12.7 6.6V2.8M12.7 6.6h-3.8', width: 1.6 },
42
+ ],
43
+ paste: [
44
+ ...CLIPBOARD,
45
+ { d: 'M6 7h4M6 9.5h4M6 12h2.5' },
46
+ ],
47
+ cut: [
48
+ { d: 'M4.5 14a2.2 2.2 0 1 0 0-4.4 2.2 2.2 0 0 0 0 4.4zM11.5 14a2.2 2.2 0 1 0 0-4.4 2.2 2.2 0 0 0 0 4.4z' },
49
+ { d: 'M6.1 10.2L12.5 2M9.9 10.2L3.5 2' },
50
+ ],
51
+ copy: [
52
+ { d: 'M6 5.5h6.5a1 1 0 0 1 1 1v6.5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6.5a1 1 0 0 1 1-1z' },
53
+ { d: 'M10 5.5V3.5a1 1 0 0 0-1-1H3.5a1 1 0 0 0-1 1V9a1 1 0 0 0 1 1H5' },
54
+ ],
55
+ 'paste-special': [
56
+ ...CLIPBOARD,
57
+ { d: 'M8 6.5v5M5.5 9h5' },
58
+ ],
59
+ // A brush: the head as a tilted block, the handle running down-left.
60
+ 'format-painter': [
61
+ { d: 'M9.2 2.4l4.4 4.4-3.2 3.2-4.4-4.4z' },
62
+ { d: 'M6 5.6L3.2 8.4a1.6 1.6 0 0 0 0 2.3l2.1 2.1a1.6 1.6 0 0 0 2.3 0l2.8-2.8' },
63
+ ],
64
+ 'font-grow': [
65
+ { d: 'M2 12.5L5.5 4l3.5 8.5M3.2 9.5h4.6' },
66
+ { d: 'M12.5 3.5v7M10.5 5.5l2-2 2 2' },
67
+ ],
68
+ 'font-shrink': [
69
+ { d: 'M2 12.5L5.5 4l3.5 8.5M3.2 9.5h4.6' },
70
+ { d: 'M12.5 3.5v7M10.5 8.5l2 2 2-2' },
71
+ ],
72
+ borders: [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }, { d: 'M2.5 13.5h11', width: 2 }],
73
+ 'border-none': [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }],
74
+ 'border-bottom': [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }, { d: 'M2.5 13.5h11', width: 2 }],
75
+ 'border-top': [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }, { d: 'M2.5 2.5h11', width: 2 }],
76
+ 'border-left': [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }, { d: 'M2.5 2.5v11', width: 2 }],
77
+ 'border-right': [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }, { d: 'M13.5 2.5v11', width: 2 }],
78
+ 'border-all': [{ d: SQUARE, width: 1.6 }, { d: CROSS, width: 1.6 }],
79
+ 'border-outside': [{ d: SQUARE, width: 2 }, { d: CROSS, dash: DASHED }],
80
+ 'border-thick-bottom': [{ d: SQUARE, dash: DASHED }, { d: CROSS, dash: DASHED }, { d: 'M2.5 13h11', width: 3 }],
81
+ 'fill-colour': [
82
+ // A tipped paint bucket with a spilling drop, the shape Excel uses.
83
+ { d: 'M7.5 2.5l5 5-4.3 4.3a1.5 1.5 0 0 1-2.1 0L3 8.7a1 1 0 0 1 0-1.4z' },
84
+ { d: 'M3.2 8h8.6' },
85
+ { d: 'M7.5 2.5L6 1' },
86
+ { d: 'M13.2 9.3c.9 1.1 1.3 1.9 1.3 2.5a1.3 1.3 0 0 1-2.6 0c0-.6.4-1.4 1.3-2.5z', fill: true },
87
+ ],
88
+ 'font-colour': [
89
+ { d: 'M3 12.5L7.5 2l4.5 10.5M4.6 9h5.8', width: 1.6 },
90
+ ],
91
+ 'align-left': [{ d: 'M2.5 3.5h11M2.5 6.5h7M2.5 9.5h11M2.5 12.5h7' }],
92
+ 'align-center': [{ d: 'M2.5 3.5h11M4.5 6.5h7M2.5 9.5h11M4.5 12.5h7' }],
93
+ 'align-right': [{ d: 'M2.5 3.5h11M6.5 6.5h7M2.5 9.5h11M6.5 12.5h7' }],
94
+ // A rule at the anchored edge, with the text lines pushed against it.
95
+ 'valign-top': [{ d: 'M2.5 3.5h11M5 6.5h6M5 8.5h6' }],
96
+ 'valign-center': [{ d: 'M5 5.5h6M5 8h6M5 10.5h6' }],
97
+ 'valign-bottom': [{ d: 'M5 7.5h6M5 9.5h6M2.5 12.5h11' }],
98
+ wrap: [
99
+ { d: 'M2.5 4h11M2.5 8h8a2.25 2.25 0 0 1 0 4.5H8.5M2.5 12h3' },
100
+ { d: 'M10 10.5l-2 2 2 2' },
101
+ ],
102
+ 'dec-more': [
103
+ { d: 'M2.6 13h.01', width: 2.2 },
104
+ { d: 'M6 13a1.6 2.2 0 1 0 0-.01M11.2 13a1.6 2.2 0 1 0 0-.01', width: 1.3 },
105
+ { d: 'M7.5 4h6M11.5 2l2 2-2 2' },
106
+ ],
107
+ 'dec-less': [
108
+ { d: 'M2.6 13h.01', width: 2.2 },
109
+ { d: 'M6 13a1.6 2.2 0 1 0 0-.01', width: 1.3 },
110
+ { d: 'M13.5 4h-6M9.5 2l-2 2 2 2' },
111
+ ],
112
+ 'insert-cells': [
113
+ { d: 'M2.5 2.5h6M2.5 2.5v11h11V8' },
114
+ { d: 'M2.5 8h11M8 2.5v11' },
115
+ { d: 'M12.5 1.5v4M10.5 3.5h4', width: 1.7 },
116
+ ],
117
+ 'delete-cells': [
118
+ { d: 'M2.5 2.5h6M2.5 2.5v11h11V6' },
119
+ { d: 'M2.5 8h11M8 2.5v11' },
120
+ { d: 'M10.5 3.5h4', width: 1.7 },
121
+ ],
122
+ freeze: [
123
+ { d: SQUARE },
124
+ { d: 'M2.5 6h11M6 2.5v11', width: 1.6 },
125
+ { d: 'M2.5 2.5h3.5v3.5H2.5z', fill: true },
126
+ ],
127
+ /* An A, for the folded Font group. */
128
+ font: [{ d: 'M3 13.5L8 2.5l5 11M4.9 9.5h6.2' }],
129
+ /* A number sign, for the folded Number group. */
130
+ number: [{ d: 'M6 2.5L4.5 13.5M11.5 2.5L10 13.5M3 6h11M2 10.5h11' }],
131
+ /* A 3x3 of cells: the lines the Gridlines toggle shows and hides. */
132
+ gridlines: [
133
+ { d: SQUARE },
134
+ { d: 'M2.5 6.2h11M2.5 9.8h11M6.2 2.5v11M9.8 2.5v11', width: 1.1 },
135
+ ],
136
+ /* The bar itself: a long box with fx in it. */
137
+ 'formula-bar': [
138
+ { d: 'M1.5 5h13v6h-13z' },
139
+ { d: 'M4.8 9.6V7.4a1.1 1.1 0 0 1 1.1-1.1M3.9 8.2h2', width: 1.3 },
140
+ { d: 'M8.3 6.9l3 2.8M11.3 6.9l-3 2.8', width: 1.1 },
141
+ ],
142
+ /* The header band and the row gutter framing a sheet. */
143
+ headings: [
144
+ { d: SQUARE },
145
+ { d: 'M2.5 5.5h11M5.5 2.5v11' },
146
+ { d: 'M7.5 4h.01M9.8 4h.01M12 4h.01M4 7.5h.01M4 9.8h.01M4 12h.01', width: 1.6 },
147
+ ],
148
+ /* The frozen lines dotted, and struck through. */
149
+ unfreeze: [
150
+ { d: SQUARE },
151
+ { d: 'M2.5 6h11M6 2.5v11', dash: DASHED },
152
+ { d: 'M3.5 12.5l9-9' },
153
+ ],
154
+ autosum: [{ d: 'M12 3.5H4l4.5 4.5L4 12.5h8', width: 1.7 }],
155
+ 'fill-down': [
156
+ { d: 'M2.5 13.5h11' },
157
+ { d: 'M8 2.5v8M5 7.5l3 3 3-3' },
158
+ ],
159
+ 'fill-right': [
160
+ { d: 'M13.5 2.5v11' },
161
+ { d: 'M2.5 8h8M7.5 5l3 3-3 3' },
162
+ ],
163
+ clear: [
164
+ // An eraser on its side: the body, the split between rubber and grip,
165
+ // and the line it is wiping.
166
+ { d: 'M9.5 2.5l4 4-6.5 6.5H4.5L2.5 11l7-8.5z' },
167
+ { d: 'M6 6l4 4' },
168
+ { d: 'M4 14.5h9.5' },
169
+ ],
170
+ /* The eraser, smaller, over an A: formats wiped, the text kept. */
171
+ 'clear-formats': [
172
+ { d: 'M2.5 13.5L6 5l3.5 8.5M3.8 10.5h4.4' },
173
+ { d: 'M11.5 2.5l2.5 2.5-4 4-2.5-2.5z' },
174
+ { d: 'M9.5 6.5l2.5 2.5' },
175
+ ],
176
+ /* A column's two edges and the arrow that sets the gap between them. */
177
+ 'column-width': [
178
+ { d: 'M4 2v12M12 2v12' },
179
+ { d: 'M5 8h6M6.6 6.4L5 8l1.6 1.6M9.4 6.4L11 8l-1.6 1.6' },
180
+ ],
181
+ 'row-height': [
182
+ { d: 'M2 4h12M2 12h12' },
183
+ { d: 'M8 5v6M6.4 6.6L8 5l1.6 1.6M6.4 9.4L8 11l1.6-1.6' },
184
+ ],
185
+ /* An eye, open for Unhide and struck through for Hide. */
186
+ hide: [
187
+ { d: 'M1.8 8s2.3-4 6.2-4 6.2 4 6.2 4-2.3 4-6.2 4-6.2-4-6.2-4z' },
188
+ { d: 'M8 9.8a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6z' },
189
+ { d: 'M3 13L13 3' },
190
+ ],
191
+ unhide: [
192
+ { d: 'M1.8 8s2.3-4 6.2-4 6.2 4 6.2 4-2.3 4-6.2 4-6.2-4-6.2-4z' },
193
+ { d: 'M8 9.8a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6z' },
194
+ ],
195
+ find: [
196
+ { d: 'M7 11.5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9z' },
197
+ { d: 'M10.3 10.3L14 14', width: 1.8 },
198
+ ],
199
+ filter: [
200
+ { d: 'M2.5 3h11l-4.3 5.3v3.9L6.8 13.5V8.3z' },
201
+ ],
202
+ 'sort-asc': [
203
+ { d: 'M3 6.5l2-4 2 4M3.6 5.3h2.8', width: 1.2 },
204
+ { d: 'M3.2 9.5h3.6l-3.6 4h3.6', width: 1.2 },
205
+ { d: 'M12 2.5v11M9.5 11l2.5 2.5 2.5-2.5' },
206
+ ],
207
+ 'sort-desc': [
208
+ { d: 'M3.2 2.5h3.6l-3.6 4h3.6', width: 1.2 },
209
+ { d: 'M3 13.5l2-4 2 4M3.6 12.3h2.8', width: 1.2 },
210
+ { d: 'M12 2.5v11M9.5 11l2.5 2.5 2.5-2.5' },
211
+ ],
212
+ // Excel's Sort: an arrow each way beside three bars of falling length.
213
+ sort: [
214
+ { d: 'M4 2.5v11M1.5 5L4 2.5 6.5 5', width: 1.3 },
215
+ { d: 'M9 3.5h5.5M9 8h4M9 12.5h2.5', width: 1.3 },
216
+ ],
217
+ chart: [
218
+ { d: 'M2.5 2.5v11h11' },
219
+ { d: 'M4.5 13.5V8h2.5v5.5M8 13.5V4.5h2.5v9M11.5 13.5V10h2v3.5' },
220
+ ],
221
+ /* A table: the header row is the one drawn heavier. */
222
+ table: [
223
+ { d: 'M2.5 3h11v10h-11z' },
224
+ { d: 'M2.5 9.5h11M6.2 6.5v6.5M9.8 6.5v6.5' },
225
+ { d: 'M2.5 6.5h11', width: 2 },
226
+ ],
227
+ function: [
228
+ { d: 'M2.5 3h11v10h-11z' },
229
+ { d: 'M6.8 11V6.5a1.4 1.4 0 0 1 1.4-1.4M5.6 8h2.6', width: 1.5 },
230
+ { d: 'M9 8l2.7 3M11.7 8L9 11', width: 1.3 },
231
+ ],
232
+ 'new-sheet': [
233
+ ...SHEET,
234
+ { d: 'M8.2 6.5v5M5.7 9h5', width: 1.7 },
235
+ ],
236
+ // Formula auditing: a dot and an arrow between two cells, and the arrow
237
+ // struck out.
238
+ 'trace-precedents': [
239
+ { d: 'M2.5 3.5h4v4h-4zM9.5 8.5h4v4h-4z' },
240
+ { d: 'M4.5 7.5v3h4.5M7.5 9l1.5 1.5L7.5 12', width: 1.3 },
241
+ ],
242
+ 'trace-dependents': [
243
+ { d: 'M2.5 3.5h4v4h-4zM9.5 8.5h4v4h-4z' },
244
+ { d: 'M6.5 5.5h5v2.5M10 6.5l1.5 1.5L13 6.5', width: 1.3 },
245
+ ],
246
+ 'remove-arrows': [
247
+ { d: 'M2.5 8h9M9.5 6l2 2-2 2', width: 1.3 },
248
+ { d: 'M11 3l3 3M14 3l-3 3', width: 1.3 },
249
+ ],
250
+ // Evaluate Formula: an fx with a step under it. Error Checking: a cell
251
+ // with a warning triangle on it.
252
+ 'evaluate-formula': [
253
+ { d: 'M4 8V4.5a1.5 1.5 0 0 1 3 0M2.5 6h3M8.5 3.5l4 4.5M12.5 3.5l-4 4.5', width: 1.3 },
254
+ { d: 'M2.5 13.5h3v-2.5h3v-2.5h3', width: 1.3 },
255
+ ],
256
+ 'error-checking': [
257
+ { d: 'M2.5 2.5h7v5h-7z' },
258
+ { d: 'M7 14.5l4-7 4 7z', width: 1.2 },
259
+ { d: 'M11 10v2M11 13.2h.01', width: 1.3 },
260
+ ],
261
+ // A formula rule: an fx over a shaded cell.
262
+ 'cf-formula': [
263
+ { d: 'M2 10.5h12v3.5H2z', fill: true },
264
+ { d: 'M5 8V4.5a1.5 1.5 0 0 1 3 0M3.5 6h3M9.5 3.5l3 4.5M12.5 3.5l-3 4.5', width: 1.3 },
265
+ ],
266
+ // The File tab: a blank page, an opening folder, a floppy, a page of
267
+ // commas.
268
+ 'file-new': [
269
+ ...SHEET,
270
+ ],
271
+ 'file-open': [
272
+ { d: 'M1.5 4.5v9h11l2-6H4l-2 6' },
273
+ { d: 'M1.5 4.5v-2h4l1.5 1.5h5.5v2.5' },
274
+ ],
275
+ 'file-save': [
276
+ { d: 'M2.5 2.5h9l2 2v9h-11z' },
277
+ { d: 'M5 2.5v3.5h5V2.5M4.5 13.5V9h7v4.5' },
278
+ ],
279
+ 'file-csv': [
280
+ ...SHEET,
281
+ { d: 'M6 8.5h1M9 8.5h1M6 11h1M9 11h1', width: 1.7 },
282
+ ],
283
+ // A framed picture with a hill and a sun in it, the way every icon set draws one.
284
+ picture: [
285
+ { d: 'M2.5 3.5h11v9h-11z' },
286
+ { d: 'M2.5 10.5l3.5-3.5 2.5 2.5 2-2 3 3' },
287
+ { d: 'M10.5 6a.9.9 0 1 0 .01 0z', fill: true },
288
+ ],
289
+ // The chart's bars with a cog beside them: its settings.
290
+ 'chart-setup': [
291
+ { d: 'M2.5 13.5h7M3.5 13.5v-4M6 13.5v-7' },
292
+ { d: 'M11.5 5.5a2 2 0 1 0 .01 0z' },
293
+ { d: 'M11.5 2.5v1.2M11.5 7.3v1.2M14.5 5.5h-1.2M9.7 5.5H8.5', width: 1.2 },
294
+ ],
295
+ // A chain of two links, and the same broken in the middle.
296
+ link: [
297
+ { d: 'M6.5 9.5l3-3' },
298
+ { d: 'M8.5 4.5l1-1a2.5 2.5 0 0 1 3.5 3.5l-1 1' },
299
+ { d: 'M7.5 11.5l-1 1a2.5 2.5 0 0 1-3.5-3.5l1-1' },
300
+ ],
301
+ unlink: [
302
+ { d: 'M9 4l.5-.5a2.5 2.5 0 0 1 3.5 3.5l-1 1' },
303
+ { d: 'M7 12l-.5.5a2.5 2.5 0 0 1-3.5-3.5l1-1' },
304
+ { d: 'M2.5 2.5l11 11', width: 1.2 },
305
+ ],
306
+ // A PivotTable: a grid whose first row and column are the axes it is
307
+ // summarised by, the body blocked in.
308
+ pivot: [
309
+ { d: 'M2.5 2.5h11v11h-11z' },
310
+ { d: 'M2.5 6h11M6 2.5v11' },
311
+ { d: 'M7.5 7.5h2v2h-2zM10.5 7.5h2v2h-2zM7.5 10.5h2v2h-2zM10.5 10.5h2v2h-2z', fill: true },
312
+ ],
313
+ // The three sparklines, each drawn as what it draws: a line over a cell,
314
+ // a run of small columns, and the win/loss pair above and below the axis.
315
+ 'sparkline-line': [
316
+ { d: 'M2.5 11.5l3-4 3 2 5-6' },
317
+ { d: 'M2.5 13.5h11', width: 1.2 },
318
+ ],
319
+ 'sparkline-column': [
320
+ { d: 'M3 13.5v-4M6 13.5v-7M9 13.5v-3M12 13.5v-8' },
321
+ ],
322
+ 'sparkline-winloss': [
323
+ { d: 'M2.5 8h11', width: 1.2 },
324
+ { d: 'M3.5 8V5M6.5 8v3M9.5 8V5M12.5 8v3' },
325
+ ],
326
+ // A printer: the tray, the page going in, the page coming out.
327
+ print: [
328
+ { d: 'M4.5 6V2.5h7V6' },
329
+ { d: 'M2.5 6h11v5h-2.5v3h-6v-3H2.5z' },
330
+ { d: 'M5 11h6' },
331
+ ],
332
+ // Page Layout: a page with its margins marked, and the same page in
333
+ // each of the other guises.
334
+ 'page-setup': [
335
+ { d: 'M3.5 1.5h9v13h-9z' },
336
+ { d: 'M5.5 3.5h5v9h-5z', width: 1 },
337
+ ],
338
+ margins: [
339
+ { d: 'M3.5 1.5h9v13h-9z' },
340
+ { d: 'M5.5 1.5v13M10.5 1.5v13M3.5 3.5h9M3.5 12.5h9', width: 1 },
341
+ ],
342
+ orientation: [
343
+ { d: 'M2 4.5h7v9H2z' },
344
+ { d: 'M9 2.5h5v5H9z' },
345
+ ],
346
+ paper: [
347
+ { d: 'M3.5 1.5h9v13h-9z' },
348
+ { d: 'M5.5 5h5M5.5 8h5M5.5 11h3', width: 1.3 },
349
+ ],
350
+ 'print-area': [
351
+ { d: 'M2.5 2.5h11v11h-11z' },
352
+ { d: 'M5 5h6v6H5z', fill: true },
353
+ ],
354
+ 'print-titles': [
355
+ { d: 'M2.5 2.5h11v11h-11z' },
356
+ { d: 'M2.5 5.5h11', width: 2 },
357
+ { d: 'M2.5 8.5h11M2.5 11.5h11', width: 1 },
358
+ ],
359
+ 'name-manager': [
360
+ { d: 'M2.5 3.5A1 1 0 0 1 3.5 2.5h4.6l5.4 5.4-4.9 4.9L3.5 8.4a1 1 0 0 1-1-1z' },
361
+ { d: 'M5.6 5.6h.01', width: 2.2 },
362
+ ],
363
+ 'show-formulas': [
364
+ { d: 'M2.5 3.5h11v9h-11z' },
365
+ { d: 'M6.3 10.5V7a1.2 1.2 0 0 1 1.2-1.2M5.2 8h2.4', width: 1.4 },
366
+ { d: 'M8.6 8l2.4 2.5M11 8l-2.4 2.5', width: 1.2 },
367
+ ],
368
+ /* Outlining. The bracket down the left is the outline bar Excel draws
369
+ beside the row numbers; the box at its end is the collapse button,
370
+ carrying a minus where the group is open and a plus where it is shut.
371
+ The column pair is the same glyph turned a quarter turn. */
372
+ 'group-rows': [
373
+ { d: 'M4.5 3.5h7M4.5 6h7M4.5 8.5h7' },
374
+ { d: 'M2.5 3v6.5' },
375
+ { d: 'M2.5 12.5h3' },
376
+ { d: 'M1 11h3v3h-3z' },
377
+ { d: 'M1.8 12.5h1.4' },
378
+ ],
379
+ 'group-cols': [
380
+ { d: 'M3.5 4.5v7M6 4.5v7M8.5 4.5v7' },
381
+ { d: 'M3 2.5h6.5' },
382
+ { d: 'M12.5 2.5v3' },
383
+ { d: 'M11 1h3v3h-3z' },
384
+ { d: 'M12.5 1.8v1.4' },
385
+ ],
386
+ 'ungroup-rows': [
387
+ { d: 'M4.5 3.5h7M4.5 6h7M4.5 8.5h7' },
388
+ { d: 'M1 11h3v3h-3z', dash: DASHED },
389
+ { d: 'M2.5 3v6.5', dash: DASHED },
390
+ ],
391
+ 'ungroup-cols': [
392
+ { d: 'M3.5 4.5v7M6 4.5v7M8.5 4.5v7' },
393
+ { d: 'M11 1h3v3h-3z', dash: DASHED },
394
+ { d: 'M12.5 2.5v3', dash: DASHED },
395
+ ],
396
+ /* Show Detail is a plus in a box, Hide Detail a minus: the two faces of
397
+ the same collapse button, which is what the commands do to it. */
398
+ 'show-detail': [
399
+ { d: 'M2.5 2.5h11v11h-11z' },
400
+ { d: 'M5.5 8h5M8 5.5v5' },
401
+ ],
402
+ 'hide-detail': [
403
+ { d: 'M2.5 2.5h11v11h-11z' },
404
+ { d: 'M5.5 8h5' },
405
+ ],
406
+ /* A ticked box, and a button with a rounded face. */
407
+ checkbox: [
408
+ { d: 'M2.5 2.5h11v11h-11z' },
409
+ { d: 'M5 8l2.2 2.4L11.5 5.5' },
410
+ ],
411
+ 'cell-button': [
412
+ { d: 'M2 4.5h12a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5H2A1.5 1.5 0 0 1 .5 10V6A1.5 1.5 0 0 1 2 4.5z' },
413
+ { d: 'M4.5 8h7' },
414
+ ],
415
+ calculate: [
416
+ { d: 'M4 1.5h8a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-11a1 1 0 0 1 1-1z' },
417
+ { d: 'M5 3.5h6v2.5H5z' },
418
+ { d: 'M5.5 8.5h.01M8 8.5h.01M10.5 8.5h.01M5.5 11h.01M8 11h.01M10.5 11h.01', width: 1.8 },
419
+ ],
420
+ 'goal-seek': [
421
+ { d: 'M8 14a6 6 0 1 0 0-12 6 6 0 0 0 0 12z' },
422
+ { d: 'M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' },
423
+ { d: 'M8 8h.01', width: 2.4 },
424
+ ],
425
+ 'text-to-columns': [
426
+ { d: 'M2.5 3.5h11v9h-11z' },
427
+ { d: 'M8 3.5v9', dash: DASHED },
428
+ { d: 'M6.5 8H4M5 6.5L3.5 8 5 9.5M9.5 8H12M11 6.5L12.5 8 11 9.5' },
429
+ ],
430
+ /* Two rows the same, the second crossed out. */
431
+ 'remove-duplicates': [
432
+ { d: 'M2.5 3h11v3.5h-11zM2.5 9.5h11v3.5h-11z' },
433
+ { d: 'M5 4.75h6M5 11.25h6', width: 1.2 },
434
+ { d: 'M11 8.5l3 3M14 8.5l-3 3', width: 1.5 },
435
+ ],
436
+ 'chevron-down': [{ d: 'M4 6.5l4 4 4-4' }],
437
+ /* Four cells, one of them shaded by hatching rather than a slab. */
438
+ 'format-cells': [
439
+ { d: SQUARE },
440
+ { d: CROSS },
441
+ { d: 'M9.5 11.5l2-2M9.5 13.5l4-4M11.5 13.5l2-2', width: 1 },
442
+ ],
443
+ // A padlock: the body, the shackle, the keyhole dot.
444
+ lock: [
445
+ { d: 'M3.5 7.5h9v6.5h-9z' },
446
+ { d: 'M5.5 7.5V5a2.5 2.5 0 0 1 5 0v2.5' },
447
+ { d: 'M8 10.2a.7.7 0 1 0 0 .1z', fill: true },
448
+ ],
449
+ // A sheet with a padlock over its corner: locked cells hold.
450
+ protect: [
451
+ { d: 'M2.5 2.5h7v3h-7zM2.5 5.5v8h5' },
452
+ { d: 'M2.5 5.5h7M5.5 2.5v11' },
453
+ { d: 'M9 10h5v4H9z' },
454
+ { d: 'M10 10V8.8a1.5 1.5 0 0 1 3 0V10' },
455
+ ],
456
+ // The same sheet, the shackle open.
457
+ unprotect: [
458
+ { d: 'M2.5 2.5h7v3h-7zM2.5 5.5v8h5' },
459
+ { d: 'M2.5 5.5h7M5.5 2.5v11' },
460
+ { d: 'M9 10h5v4H9z' },
461
+ { d: 'M10 10V8.8a1.5 1.5 0 0 1 3 0' },
462
+ ],
463
+ // A sheet with a block picked out and a pencil over it: the ranges that take an edit.
464
+ 'edit-ranges': [
465
+ { d: 'M2.5 2.5h11v11h-11z' },
466
+ { d: 'M2.5 6h11M6 2.5v11' },
467
+ { d: 'M7.5 7.5h4.5v4.5H7.5z', fill: true },
468
+ { d: 'M10.5 13.5l3-3 1 1-3 3h-1z' },
469
+ ],
470
+ // A speech bubble, and the same bubble with a mark inside or beside it.
471
+ comment: [
472
+ { d: BUBBLE },
473
+ { d: 'M8 5v3', width: 1.5 },
474
+ { d: 'M8 10.5a.5.5 0 1 0 0 .1z', fill: true },
475
+ ],
476
+ 'comment-delete': [
477
+ { d: BUBBLE },
478
+ { d: 'M6 5.5l4 4M10 5.5l-4 4' },
479
+ ],
480
+ 'comment-prev': [
481
+ { d: BUBBLE },
482
+ { d: 'M9.5 5l-3 2.5 3 2.5' },
483
+ ],
484
+ 'comment-next': [
485
+ { d: BUBBLE },
486
+ { d: 'M6.5 5l3 2.5-3 2.5' },
487
+ ],
488
+ 'comments-all': [
489
+ { d: 'M2.5 2.5h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6l-2 2v-2H2.5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z' },
490
+ { d: 'M12 6.5h1.5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H13v2l-2-2H7.5a1 1 0 0 1-1-1v-1' },
491
+ ],
492
+ // Conditional formatting: a table with its bottom-right cell filled.
493
+ /* Conditional formatting: cells, one of them carrying a bar. */
494
+ cf: [
495
+ { d: SQUARE },
496
+ { d: CROSS },
497
+ { d: 'M3.8 4.5h2.4M3.8 6h1.4M9.3 10h3.4M9.3 11.5h2', width: 1.6 },
498
+ ],
499
+ 'cf-greater': [{ d: 'M4 3.5l7 4.5-7 4.5' }],
500
+ 'cf-less': [{ d: 'M12 3.5L5 8l7 4.5' }],
501
+ 'cf-between': [{ d: 'M3 4v8M13 4v8M5.5 8h5' }, { d: 'M5.5 8l2-2M5.5 8l2 2M10.5 8l-2-2M10.5 8l-2 2' }],
502
+ 'cf-equal': [{ d: 'M3.5 6h9M3.5 10h9' }],
503
+ 'cf-text': [{ d: 'M3 12.5L6.5 3.5l3.5 9M4.2 9.5h4.6' }, { d: 'M12.5 8v4.5' }],
504
+ 'cf-duplicates': [{ d: 'M2.5 2.5h7v7h-7z' }, { d: 'M6.5 6.5h7v7h-7z' }],
505
+ 'cf-top': [{ d: 'M8 13V4M4.5 7.5L8 4l3.5 3.5' }, { d: 'M3 2.5h10' }],
506
+ 'cf-bottom': [{ d: 'M8 3v9M4.5 8.5L8 12l3.5-3.5' }, { d: 'M3 13.5h10' }],
507
+ 'cf-above': [{ d: 'M2.5 9.5h11', dash: '2 1.5' }, { d: 'M8 8V3M5.5 5.5L8 3l2.5 2.5' }],
508
+ 'cf-below': [{ d: 'M2.5 6.5h11', dash: '2 1.5' }, { d: 'M8 8v5M5.5 10.5L8 13l2.5-2.5' }],
509
+ /* Data bars: three rows, the bar in each a heavier stroke. */
510
+ 'cf-bar': [{ d: SQUARE }, { d: 'M2.5 6.2h11M2.5 9.8h11' }, { d: 'M4 4.3h7M4 8h3.5M4 11.7h8.5', width: 2 }],
511
+ /* Colour scale: three rows, dotted more densely down the stack. */
512
+ 'cf-scale': [{ d: SQUARE }, { d: 'M2.5 6.2h11M2.5 9.8h11' }, { d: 'M6 4.3h.01M10 4.3h.01M4.7 8h.01M8 8h.01M11.3 8h.01M4 11.7h.01M6.5 11.7h.01M9.5 11.7h.01M12 11.7h.01', width: 1.6 }],
513
+ /* Icon set: a circle, a triangle, a diamond, in outline. */
514
+ 'cf-icons': [{ d: 'M4.5 5.6a1.7 1.7 0 1 0 0-.01' }, { d: 'M8 3.6l1.9 3.4H6.1z' }, { d: 'M11.6 3.5l1.9 2.1-1.9 2.1-1.9-2.1z' }, { d: 'M3 12.5h10', width: 1 }],
515
+ // Merge: a table whose middle cells have become one, arrows meeting.
516
+ merge: [
517
+ { d: SQUARE },
518
+ { d: 'M2.5 6h11M2.5 10h11' },
519
+ { d: 'M5 8h6M5 8l1.5-1.5M5 8l1.5 1.5M11 8l-1.5-1.5M11 8l-1.5 1.5' },
520
+ ],
521
+ // Unmerge: the same table, the middle cell split again, arrows parting.
522
+ unmerge: [
523
+ { d: SQUARE },
524
+ { d: 'M2.5 6h11M2.5 10h11M8 6v4' },
525
+ { d: 'M3.5 8h2.5M6 8L4.8 6.8M6 8l-1.2 1.2M12.5 8H10M10 8l1.2-1.2M10 8l1.2 1.2' },
526
+ ],
527
+ // A cell with a tick and a cross beside it: what passes, what does not.
528
+ validation: [
529
+ { d: SQUARE },
530
+ { d: 'M2.5 6.5h11M8 2.5v11' },
531
+ { d: 'M3.8 10.3l1.4 1.4 2.2-2.6' },
532
+ { d: 'M9.6 9.1l2.3 2.3M11.9 9.1l-2.3 2.3' },
533
+ ],
534
+ };
535
+ /** The names, for tests and for anyone building their own toolbar. */
536
+ export const RIBBON_ICON_NAMES = Object.keys(RIBBON_ICONS);