@rowsncolumns/spreadsheet 10.6.4 → 10.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/autocomplete.d.ts +42 -0
- package/dist/cjs/api/autocomplete.d.ts.map +1 -0
- package/dist/cjs/api/autocomplete.js +114 -0
- package/dist/cjs/api/banded-ranges.d.ts.map +1 -1
- package/dist/cjs/api/banded-ranges.js +51 -1
- package/dist/cjs/api/error-checking.d.ts +82 -0
- package/dist/cjs/api/error-checking.d.ts.map +1 -0
- package/dist/cjs/api/error-checking.js +207 -0
- package/dist/cjs/api/move-overwrite.d.ts +8 -2
- package/dist/cjs/api/move-overwrite.d.ts.map +1 -1
- package/dist/cjs/api/move-overwrite.js +19 -3
- package/dist/cjs/api/selections.d.ts +2 -2
- package/dist/cjs/api/validation.d.ts +39 -1
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +87 -1
- package/dist/cjs/atoms/cell-input-context.atom.d.ts +4 -1
- package/dist/cjs/atoms/cell-input-context.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/enter-key-direction.atom.d.ts +11 -0
- package/dist/cjs/atoms/enter-key-direction.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/enter-key-direction.atom.js +13 -0
- package/dist/cjs/atoms/index.d.ts +1 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +1 -0
- package/dist/cjs/atoms/paste-menu.atom.d.ts +22 -0
- package/dist/cjs/atoms/paste-menu.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/paste-menu.atom.js +13 -1
- package/dist/cjs/atoms/pick-list.atom.d.ts +15 -0
- package/dist/cjs/atoms/pick-list.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/pick-list.atom.js +7 -0
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +305 -70
- package/dist/cjs/components/canvas-grid/typings.d.ts +96 -11
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/alignment.d.ts +25 -0
- package/dist/cjs/components/cell/alignment.d.ts.map +1 -1
- package/dist/cjs/components/cell/alignment.js +39 -1
- package/dist/cjs/components/cell/cell-background.d.ts +16 -0
- package/dist/cjs/components/cell/cell-background.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-background.js +141 -54
- package/dist/cjs/components/cell/cell-text-runs.d.ts +12 -5
- package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-text-runs.js +18 -20
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +26 -21
- package/dist/cjs/components/cell/typings.d.ts +9 -0
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/helpers.d.ts +22 -2
- package/dist/cjs/components/cell-editor/helpers.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/helpers.js +32 -8
- package/dist/cjs/components/cell-editor/index.d.ts +7 -1
- package/dist/cjs/components/cell-editor/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/index.js +85 -13
- package/dist/cjs/components/cell-indicator/index.d.ts +41 -0
- package/dist/cjs/components/cell-indicator/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-indicator/index.js +90 -0
- package/dist/cjs/components/cell-input/cell-input.d.ts +10 -2
- package/dist/cjs/components/cell-input/cell-input.d.ts.map +1 -1
- package/dist/cjs/components/cell-input/cell-input.js +5 -3
- package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
- package/dist/cjs/components/cell-input/formula-bar-cell-input.js +9 -2
- package/dist/cjs/components/cell-structured/sparkline-math.d.ts +27 -1
- package/dist/cjs/components/cell-structured/sparkline-math.d.ts.map +1 -1
- package/dist/cjs/components/cell-structured/sparkline-math.js +48 -1
- package/dist/cjs/components/cell-structured/sparkline.d.ts +1 -1
- package/dist/cjs/components/cell-structured/sparkline.d.ts.map +1 -1
- package/dist/cjs/components/cell-structured/sparkline.js +36 -92
- package/dist/cjs/components/cell-structured/types.d.ts +6 -0
- package/dist/cjs/components/cell-structured/types.d.ts.map +1 -1
- package/dist/cjs/components/data-table-dialog/index.d.ts +22 -0
- package/dist/cjs/components/data-table-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/data-table-dialog/index.js +93 -0
- package/dist/cjs/components/error-check-smart-tag/index.d.ts +27 -0
- package/dist/cjs/components/error-check-smart-tag/index.d.ts.map +1 -0
- package/dist/cjs/components/error-check-smart-tag/index.js +39 -0
- package/dist/cjs/components/forecast-sheet-dialog/index.d.ts +26 -0
- package/dist/cjs/components/forecast-sheet-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/forecast-sheet-dialog/index.js +92 -0
- package/dist/cjs/components/paste-special-dialog/index.d.ts +3 -3
- package/dist/cjs/components/paste-special-dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/paste-special-dialog/index.js +61 -23
- package/dist/cjs/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts +57 -0
- package/dist/cjs/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts.map +1 -0
- package/dist/cjs/components/protect-sheet-dialog/allow-edit-ranges-dialog.js +196 -0
- package/dist/cjs/components/protect-sheet-dialog/constants.d.ts +3 -0
- package/dist/cjs/components/protect-sheet-dialog/constants.d.ts.map +1 -0
- package/dist/cjs/components/protect-sheet-dialog/constants.js +5 -0
- package/dist/cjs/components/protect-sheet-dialog/index.d.ts +2 -2
- package/dist/cjs/components/protect-sheet-dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/protect-sheet-dialog/index.js +5 -3
- package/dist/cjs/components/scenario-manager-dialog/index.d.ts +51 -0
- package/dist/cjs/components/scenario-manager-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/scenario-manager-dialog/index.js +257 -0
- package/dist/cjs/components/selection/index.d.ts +1 -1
- package/dist/cjs/components/selection/index.d.ts.map +1 -1
- package/dist/cjs/components/selection/index.js +9 -4
- package/dist/cjs/components/selection/paste-menu.d.ts +14 -1
- package/dist/cjs/components/selection/paste-menu.d.ts.map +1 -1
- package/dist/cjs/components/selection/paste-menu.js +78 -6
- package/dist/cjs/components/selection/paste-options.d.ts +28 -0
- package/dist/cjs/components/selection/paste-options.d.ts.map +1 -0
- package/dist/cjs/components/selection/paste-options.js +70 -0
- package/dist/cjs/components/selection/types.d.ts +12 -1
- package/dist/cjs/components/selection/types.d.ts.map +1 -1
- package/dist/cjs/components/selection-drop-menu/index.d.ts +18 -0
- package/dist/cjs/components/selection-drop-menu/index.d.ts.map +1 -0
- package/dist/cjs/components/selection-drop-menu/index.js +62 -0
- package/dist/cjs/components/solver-dialog/index.d.ts +57 -0
- package/dist/cjs/components/solver-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/solver-dialog/index.js +204 -0
- package/dist/cjs/components/toolbar/sparkline-actions.d.ts +3 -2
- package/dist/cjs/components/toolbar/sparkline-actions.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/sparkline-actions.js +6 -2
- package/dist/cjs/components/toolbar/table-style-selector.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/table-style-selector.js +33 -2
- package/dist/cjs/config.d.ts +5 -4
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +13 -9
- package/dist/cjs/helpers.d.ts +5 -0
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +8 -4
- package/dist/cjs/hooks/use-cell-renderer.d.ts +12 -1
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +6 -3
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts +36 -2
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/cjs/hooks/use-copy-paste-cut.js +131 -5
- package/dist/cjs/hooks/use-editable.d.ts +6 -0
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-submit.d.ts +45 -3
- package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-submit.js +91 -7
- package/dist/cjs/hooks/use-keyboard-handler.d.ts +5 -1
- package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/cjs/hooks/use-keyboard-handler.js +10 -1
- package/dist/cjs/hooks/use-selection-drag-copy.d.ts +55 -0
- package/dist/cjs/hooks/use-selection-drag-copy.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-drag-copy.js +274 -0
- package/dist/cjs/hooks/use-selection-renderer.d.ts +8 -1
- package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection-renderer.js +7 -2
- package/dist/cjs/hooks/use-selection.d.ts +59 -1
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection.js +270 -61
- package/dist/cjs/index.d.ts +6 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +50 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/api/autocomplete.d.ts +42 -0
- package/dist/esm/api/autocomplete.d.ts.map +1 -0
- package/dist/esm/api/autocomplete.js +91 -0
- package/dist/esm/api/banded-ranges.d.ts.map +1 -1
- package/dist/esm/api/banded-ranges.js +52 -2
- package/dist/esm/api/error-checking.d.ts +82 -0
- package/dist/esm/api/error-checking.d.ts.map +1 -0
- package/dist/esm/api/error-checking.js +156 -0
- package/dist/esm/api/move-overwrite.d.ts +8 -2
- package/dist/esm/api/move-overwrite.d.ts.map +1 -1
- package/dist/esm/api/move-overwrite.js +17 -2
- package/dist/esm/api/selections.d.ts +2 -2
- package/dist/esm/api/validation.d.ts +39 -1
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +70 -0
- package/dist/esm/atoms/cell-input-context.atom.d.ts +4 -1
- package/dist/esm/atoms/cell-input-context.atom.d.ts.map +1 -1
- package/dist/esm/atoms/enter-key-direction.atom.d.ts +11 -0
- package/dist/esm/atoms/enter-key-direction.atom.d.ts.map +1 -0
- package/dist/esm/atoms/enter-key-direction.atom.js +8 -0
- package/dist/esm/atoms/index.d.ts +1 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +1 -0
- package/dist/esm/atoms/paste-menu.atom.d.ts +22 -0
- package/dist/esm/atoms/paste-menu.atom.d.ts.map +1 -1
- package/dist/esm/atoms/paste-menu.atom.js +10 -1
- package/dist/esm/atoms/pick-list.atom.d.ts +15 -0
- package/dist/esm/atoms/pick-list.atom.d.ts.map +1 -0
- package/dist/esm/atoms/pick-list.atom.js +3 -0
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +239 -13
- package/dist/esm/components/canvas-grid/typings.d.ts +96 -11
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/alignment.d.ts +25 -0
- package/dist/esm/components/cell/alignment.d.ts.map +1 -1
- package/dist/esm/components/cell/alignment.js +33 -0
- package/dist/esm/components/cell/cell-background.d.ts +16 -0
- package/dist/esm/components/cell/cell-background.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-background.js +106 -36
- package/dist/esm/components/cell/cell-text-runs.d.ts +12 -5
- package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-text-runs.js +17 -22
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +25 -20
- package/dist/esm/components/cell/typings.d.ts +9 -0
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/helpers.d.ts +22 -2
- package/dist/esm/components/cell-editor/helpers.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/helpers.js +25 -7
- package/dist/esm/components/cell-editor/index.d.ts +7 -1
- package/dist/esm/components/cell-editor/index.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/index.js +80 -9
- package/dist/esm/components/cell-indicator/index.d.ts +41 -0
- package/dist/esm/components/cell-indicator/index.d.ts.map +1 -0
- package/dist/esm/components/cell-indicator/index.js +76 -0
- package/dist/esm/components/cell-input/cell-input.d.ts +10 -2
- package/dist/esm/components/cell-input/cell-input.d.ts.map +1 -1
- package/dist/esm/components/cell-input/cell-input.js +5 -3
- package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
- package/dist/esm/components/cell-input/formula-bar-cell-input.js +9 -2
- package/dist/esm/components/cell-structured/sparkline-math.d.ts +27 -1
- package/dist/esm/components/cell-structured/sparkline-math.d.ts.map +1 -1
- package/dist/esm/components/cell-structured/sparkline-math.js +35 -0
- package/dist/esm/components/cell-structured/sparkline.d.ts +1 -1
- package/dist/esm/components/cell-structured/sparkline.d.ts.map +1 -1
- package/dist/esm/components/cell-structured/sparkline.js +34 -88
- package/dist/esm/components/cell-structured/types.d.ts +6 -0
- package/dist/esm/components/cell-structured/types.d.ts.map +1 -1
- package/dist/esm/components/data-table-dialog/index.d.ts +22 -0
- package/dist/esm/components/data-table-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/data-table-dialog/index.js +75 -0
- package/dist/esm/components/error-check-smart-tag/index.d.ts +27 -0
- package/dist/esm/components/error-check-smart-tag/index.d.ts.map +1 -0
- package/dist/esm/components/error-check-smart-tag/index.js +33 -0
- package/dist/esm/components/forecast-sheet-dialog/index.d.ts +26 -0
- package/dist/esm/components/forecast-sheet-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/forecast-sheet-dialog/index.js +83 -0
- package/dist/esm/components/paste-special-dialog/index.d.ts +3 -3
- package/dist/esm/components/paste-special-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/paste-special-dialog/index.js +58 -23
- package/dist/esm/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts +57 -0
- package/dist/esm/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts.map +1 -0
- package/dist/esm/components/protect-sheet-dialog/allow-edit-ranges-dialog.js +177 -0
- package/dist/esm/components/protect-sheet-dialog/constants.d.ts +3 -0
- package/dist/esm/components/protect-sheet-dialog/constants.d.ts.map +1 -0
- package/dist/esm/components/protect-sheet-dialog/constants.js +2 -0
- package/dist/esm/components/protect-sheet-dialog/index.d.ts +2 -2
- package/dist/esm/components/protect-sheet-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/protect-sheet-dialog/index.js +3 -2
- package/dist/esm/components/scenario-manager-dialog/index.d.ts +51 -0
- package/dist/esm/components/scenario-manager-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/scenario-manager-dialog/index.js +213 -0
- package/dist/esm/components/selection/index.d.ts +1 -1
- package/dist/esm/components/selection/index.d.ts.map +1 -1
- package/dist/esm/components/selection/index.js +9 -4
- package/dist/esm/components/selection/paste-menu.d.ts +14 -1
- package/dist/esm/components/selection/paste-menu.d.ts.map +1 -1
- package/dist/esm/components/selection/paste-menu.js +76 -8
- package/dist/esm/components/selection/paste-options.d.ts +28 -0
- package/dist/esm/components/selection/paste-options.d.ts.map +1 -0
- package/dist/esm/components/selection/paste-options.js +62 -0
- package/dist/esm/components/selection/types.d.ts +12 -1
- package/dist/esm/components/selection/types.d.ts.map +1 -1
- package/dist/esm/components/selection-drop-menu/index.d.ts +18 -0
- package/dist/esm/components/selection-drop-menu/index.d.ts.map +1 -0
- package/dist/esm/components/selection-drop-menu/index.js +56 -0
- package/dist/esm/components/solver-dialog/index.d.ts +57 -0
- package/dist/esm/components/solver-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/solver-dialog/index.js +176 -0
- package/dist/esm/components/toolbar/sparkline-actions.d.ts +3 -2
- package/dist/esm/components/toolbar/sparkline-actions.d.ts.map +1 -1
- package/dist/esm/components/toolbar/sparkline-actions.js +6 -2
- package/dist/esm/components/toolbar/table-style-selector.d.ts.map +1 -1
- package/dist/esm/components/toolbar/table-style-selector.js +29 -3
- package/dist/esm/config.d.ts +5 -4
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +12 -8
- package/dist/esm/helpers.d.ts +5 -0
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +8 -4
- package/dist/esm/hooks/use-cell-renderer.d.ts +12 -1
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +5 -2
- package/dist/esm/hooks/use-copy-paste-cut.d.ts +36 -2
- package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/esm/hooks/use-copy-paste-cut.js +117 -6
- package/dist/esm/hooks/use-editable.d.ts +6 -0
- package/dist/esm/hooks/use-editable.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-submit.d.ts +45 -3
- package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-submit.js +81 -6
- package/dist/esm/hooks/use-keyboard-handler.d.ts +5 -1
- package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/esm/hooks/use-keyboard-handler.js +10 -1
- package/dist/esm/hooks/use-selection-drag-copy.d.ts +55 -0
- package/dist/esm/hooks/use-selection-drag-copy.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-drag-copy.js +245 -0
- package/dist/esm/hooks/use-selection-renderer.d.ts +8 -1
- package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection-renderer.js +7 -2
- package/dist/esm/hooks/use-selection.d.ts +59 -1
- package/dist/esm/hooks/use-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection.js +245 -52
- package/dist/esm/index.d.ts +6 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +50 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +6 -5
- package/dist/cjs/components/cell-error/index.d.ts +0 -14
- package/dist/cjs/components/cell-error/index.d.ts.map +0 -1
- package/dist/cjs/components/cell-error/index.js +0 -24
- package/dist/esm/components/cell-error/index.d.ts +0 -14
- package/dist/esm/components/cell-error/index.d.ts.map +0 -1
- package/dist/esm/components/cell-error/index.js +0 -18
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { SelectionDropAction } from "../../hooks/use-selection-drag-copy";
|
|
3
|
+
export declare const SELECTION_DROP_ACTION_LABELS: Record<SelectionDropAction, string>;
|
|
4
|
+
export type SelectionDropMenuProps = {
|
|
5
|
+
/** Release point, relative to the grid container. */
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
actions: SelectionDropAction[];
|
|
9
|
+
onSelectAction(action: SelectionDropAction): void;
|
|
10
|
+
/** Cancel, Esc or a click away — nothing changes. */
|
|
11
|
+
onCancel(): void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The menu a right-button drag of the selection border opens at the release point
|
|
15
|
+
* (Excel: Move Here, Copy Here, … Cancel). Opens immediately; any dismissal cancels.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SelectionDropMenu: ({ x, y, actions, onSelectAction, onCancel, }: SelectionDropMenuProps) => React.JSX.Element;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/selection-drop-menu/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG/E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAU5E,CAAC;AAUF,MAAM,MAAM,sBAAsB,GAAG;IACnC,qDAAqD;IACrD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClD,qDAAqD;IACrD,QAAQ,IAAI,IAAI,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,8CAM/B,sBAAsB,sBA2DxB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectionDropMenu = exports.SELECTION_DROP_ACTION_LABELS = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var ui_1 = require("@rowsncolumns/ui");
|
|
6
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
7
|
+
var style_1 = require("../context-menu/style");
|
|
8
|
+
exports.SELECTION_DROP_ACTION_LABELS = {
|
|
9
|
+
move: "Move Here",
|
|
10
|
+
copy: "Copy Here",
|
|
11
|
+
"copy-values": "Copy Here as Values Only",
|
|
12
|
+
"copy-formats": "Copy Here as Formats Only",
|
|
13
|
+
link: "Link Here",
|
|
14
|
+
"shift-down-copy": "Shift Down and Copy",
|
|
15
|
+
"shift-right-copy": "Shift Right and Copy",
|
|
16
|
+
"shift-down-move": "Shift Down and Move",
|
|
17
|
+
"shift-right-move": "Shift Right and Move",
|
|
18
|
+
};
|
|
19
|
+
/** Excel's grouping: plain drops, then the inserting ones, then Cancel. */
|
|
20
|
+
var INSERT_ACTIONS = new Set([
|
|
21
|
+
"shift-down-copy",
|
|
22
|
+
"shift-right-copy",
|
|
23
|
+
"shift-down-move",
|
|
24
|
+
"shift-right-move",
|
|
25
|
+
]);
|
|
26
|
+
/**
|
|
27
|
+
* The menu a right-button drag of the selection border opens at the release point
|
|
28
|
+
* (Excel: Move Here, Copy Here, … Cancel). Opens immediately; any dismissal cancels.
|
|
29
|
+
*/
|
|
30
|
+
var SelectionDropMenu = function (_a) {
|
|
31
|
+
var x = _a.x, y = _a.y, actions = _a.actions, onSelectAction = _a.onSelectAction, onCancel = _a.onCancel;
|
|
32
|
+
var _b = tslib_1.__read((0, react_1.useState)(true), 2), open = _b[0], setOpen = _b[1];
|
|
33
|
+
// Radix fires `onSelect` and then closes; a close that follows a choice is not a cancel.
|
|
34
|
+
var choseRef = (0, react_1.useRef)(false);
|
|
35
|
+
var plain = actions.filter(function (action) { return !INSERT_ACTIONS.has(action); });
|
|
36
|
+
var inserting = actions.filter(function (action) { return INSERT_ACTIONS.has(action); });
|
|
37
|
+
var item = function (action) { return (react_1.default.createElement(ui_1.DropdownMenuItem, { key: action, onSelect: function () {
|
|
38
|
+
choseRef.current = true;
|
|
39
|
+
onSelectAction(action);
|
|
40
|
+
} }, exports.SELECTION_DROP_ACTION_LABELS[action])); };
|
|
41
|
+
return (react_1.default.createElement("div", { className: "absolute pointer-events-auto z-10", style: { left: x, top: y }, onMouseDown: function (e) { return e.stopPropagation(); }, "data-testid": "selection-drop-menu" },
|
|
42
|
+
react_1.default.createElement(ui_1.DropdownMenu, { modal: false, open: open, onOpenChange: function (next) {
|
|
43
|
+
setOpen(next);
|
|
44
|
+
if (!next && !choseRef.current)
|
|
45
|
+
onCancel();
|
|
46
|
+
if (!next)
|
|
47
|
+
choseRef.current = false;
|
|
48
|
+
} },
|
|
49
|
+
react_1.default.createElement(ui_1.DropdownMenuTrigger, { asChild: true },
|
|
50
|
+
react_1.default.createElement(style_1.StyledFakeTriggerButton, { "aria-label": "Drop options" })),
|
|
51
|
+
react_1.default.createElement(ui_1.DropdownMenuPortal, null,
|
|
52
|
+
react_1.default.createElement(ui_1.DropdownMenuContent, { align: "start", onCloseAutoFocus: function (event) { return event.preventDefault(); } },
|
|
53
|
+
plain.map(item),
|
|
54
|
+
inserting.length ? react_1.default.createElement(ui_1.DropdownMenuSeparator, null) : null,
|
|
55
|
+
inserting.map(item),
|
|
56
|
+
react_1.default.createElement(ui_1.DropdownMenuSeparator, null),
|
|
57
|
+
react_1.default.createElement(ui_1.DropdownMenuItem, { onSelect: function () {
|
|
58
|
+
choseRef.current = true;
|
|
59
|
+
onCancel();
|
|
60
|
+
} }, "Cancel"))))));
|
|
61
|
+
};
|
|
62
|
+
exports.SelectionDropMenu = SelectionDropMenu;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type Range = {
|
|
3
|
+
startRowIndex: number;
|
|
4
|
+
endRowIndex: number;
|
|
5
|
+
startColumnIndex: number;
|
|
6
|
+
endColumnIndex: number;
|
|
7
|
+
};
|
|
8
|
+
export type SolverDialogConstraint = {
|
|
9
|
+
cells: Range;
|
|
10
|
+
operator: "<=" | "=" | ">=" | "int" | "bin";
|
|
11
|
+
rhs?: number | Range;
|
|
12
|
+
};
|
|
13
|
+
/** What the dialog asks the engine to solve (the `solve` command's fields). */
|
|
14
|
+
export type SolverDialogParameters = {
|
|
15
|
+
objective: {
|
|
16
|
+
rowIndex: number;
|
|
17
|
+
columnIndex: number;
|
|
18
|
+
};
|
|
19
|
+
goal: "max" | "min" | "value";
|
|
20
|
+
targetValue?: number;
|
|
21
|
+
changingCells: Range[];
|
|
22
|
+
constraints: SolverDialogConstraint[];
|
|
23
|
+
method: "grgNonlinear" | "simplexLp";
|
|
24
|
+
assumeNonNegative: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** The engine's `CommitResult.solver`, as far as the dialog reads it. */
|
|
27
|
+
export type SolverDialogResult = {
|
|
28
|
+
status: string;
|
|
29
|
+
message: string;
|
|
30
|
+
values: {
|
|
31
|
+
rowIndex: number;
|
|
32
|
+
columnIndex: number;
|
|
33
|
+
value: number;
|
|
34
|
+
}[];
|
|
35
|
+
};
|
|
36
|
+
export type SolverDialogProps = {
|
|
37
|
+
open: boolean;
|
|
38
|
+
onOpenChange(open: boolean): void;
|
|
39
|
+
/** Default "Set Objective" (the active cell as A1). */
|
|
40
|
+
initialObjective: string;
|
|
41
|
+
/** Runs the solve without keeping it (`preview`), resolving to the outcome. */
|
|
42
|
+
onSolve(parameters: SolverDialogParameters): Promise<SolverDialogResult | undefined>;
|
|
43
|
+
/** "Keep Solver Solution": write the solution into the variable cells. */
|
|
44
|
+
onKeep(result: SolverDialogResult): void;
|
|
45
|
+
};
|
|
46
|
+
/** `B1`, `B1:C3` (`$` allowed) → a range; `null` otherwise. */
|
|
47
|
+
export declare const parseSolverRange: (text: string) => Range | null;
|
|
48
|
+
/**
|
|
49
|
+
* Excel's Solver Parameters dialog (the Solver add-in): Set Objective, To
|
|
50
|
+
* Max / Min / Value Of, By Changing Variable Cells, Subject to the
|
|
51
|
+
* Constraints, Make Unconstrained Variables Non-Negative and the solving
|
|
52
|
+
* method; then Solver Results with Keep Solver Solution / Restore Original
|
|
53
|
+
* Values. Evolutionary is not offered.
|
|
54
|
+
*/
|
|
55
|
+
export declare const SolverDialog: React.MemoExoticComponent<({ open, onOpenChange, initialObjective, onSolve, onKeep }: SolverDialogProps) => React.JSX.Element>;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/solver-dialog/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,MAAM,EAAE,cAAc,GAAG,WAAW,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,OAAO,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACrF,0EAA0E;IAC1E,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC1C,CAAC;AAIF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,KAAK,GAAG,IAYvD,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,wFACqC,iBAAiB,uBA6Q9E,CAAC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolverDialog = exports.parseSolverRange = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var icons_1 = require("@rowsncolumns/icons");
|
|
6
|
+
var ui_1 = require("@rowsncolumns/ui");
|
|
7
|
+
var utils_1 = require("@rowsncolumns/utils");
|
|
8
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
9
|
+
var OPERATORS = ["<=", "=", ">=", "int", "bin"];
|
|
10
|
+
/** `B1`, `B1:C3` (`$` allowed) → a range; `null` otherwise. */
|
|
11
|
+
var parseSolverRange = function (text) {
|
|
12
|
+
var _a = tslib_1.__read(text.trim().replace(/\$/g, "").split(":"), 2), a = _a[0], _b = _a[1], b = _b === void 0 ? a : _b;
|
|
13
|
+
if (!/^[A-Za-z]{1,3}\d+$/.test(a !== null && a !== void 0 ? a : "") || !/^[A-Za-z]{1,3}\d+$/.test(b))
|
|
14
|
+
return null;
|
|
15
|
+
var start = (0, utils_1.addressToCell)(a);
|
|
16
|
+
var end = (0, utils_1.addressToCell)(b);
|
|
17
|
+
if (!start || !end)
|
|
18
|
+
return null;
|
|
19
|
+
return {
|
|
20
|
+
startRowIndex: Math.min(start.rowIndex, end.rowIndex),
|
|
21
|
+
endRowIndex: Math.max(start.rowIndex, end.rowIndex),
|
|
22
|
+
startColumnIndex: Math.min(start.columnIndex, end.columnIndex),
|
|
23
|
+
endColumnIndex: Math.max(start.columnIndex, end.columnIndex),
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
exports.parseSolverRange = parseSolverRange;
|
|
27
|
+
/**
|
|
28
|
+
* Excel's Solver Parameters dialog (the Solver add-in): Set Objective, To
|
|
29
|
+
* Max / Min / Value Of, By Changing Variable Cells, Subject to the
|
|
30
|
+
* Constraints, Make Unconstrained Variables Non-Negative and the solving
|
|
31
|
+
* method; then Solver Results with Keep Solver Solution / Restore Original
|
|
32
|
+
* Values. Evolutionary is not offered.
|
|
33
|
+
*/
|
|
34
|
+
exports.SolverDialog = (0, react_1.memo)(function (_a) {
|
|
35
|
+
var open = _a.open, onOpenChange = _a.onOpenChange, initialObjective = _a.initialObjective, onSolve = _a.onSolve, onKeep = _a.onKeep;
|
|
36
|
+
var _b = tslib_1.__read((0, react_1.useState)(initialObjective), 2), objective = _b[0], setObjective = _b[1];
|
|
37
|
+
var _c = tslib_1.__read((0, react_1.useState)("max"), 2), goal = _c[0], setGoal = _c[1];
|
|
38
|
+
var _d = tslib_1.__read((0, react_1.useState)("0"), 2), target = _d[0], setTarget = _d[1];
|
|
39
|
+
var _e = tslib_1.__read((0, react_1.useState)(""), 2), changing = _e[0], setChanging = _e[1];
|
|
40
|
+
var _f = tslib_1.__read((0, react_1.useState)([]), 2), constraints = _f[0], setConstraints = _f[1];
|
|
41
|
+
var _g = tslib_1.__read((0, react_1.useState)(true), 2), nonNegative = _g[0], setNonNegative = _g[1];
|
|
42
|
+
var _h = tslib_1.__read((0, react_1.useState)("grgNonlinear"), 2), method = _h[0], setMethod = _h[1];
|
|
43
|
+
var _j = tslib_1.__read((0, react_1.useState)(undefined), 2), error = _j[0], setError = _j[1];
|
|
44
|
+
var _k = tslib_1.__read((0, react_1.useState)(false), 2), busy = _k[0], setBusy = _k[1];
|
|
45
|
+
var _l = tslib_1.__read((0, react_1.useState)(undefined), 2), result = _l[0], setResult = _l[1];
|
|
46
|
+
var _m = tslib_1.__read((0, react_1.useState)(true), 2), keep = _m[0], setKeep = _m[1];
|
|
47
|
+
(0, react_1.useEffect)(function () {
|
|
48
|
+
if (open) {
|
|
49
|
+
setObjective(initialObjective);
|
|
50
|
+
setError(undefined);
|
|
51
|
+
setBusy(false);
|
|
52
|
+
setResult(undefined);
|
|
53
|
+
setKeep(true);
|
|
54
|
+
}
|
|
55
|
+
// Only reset on open; the model's fields stay as last entered, as in Excel.
|
|
56
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
57
|
+
}, [open]);
|
|
58
|
+
var solve = (0, react_1.useCallback)(function (event) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
59
|
+
var objectiveRange, changingCells, targetValue, specs, constraints_1, constraints_1_1, row, cells, n, rhs, outcome;
|
|
60
|
+
var e_1, _a;
|
|
61
|
+
return tslib_1.__generator(this, function (_b) {
|
|
62
|
+
switch (_b.label) {
|
|
63
|
+
case 0:
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
objectiveRange = (0, exports.parseSolverRange)(objective);
|
|
66
|
+
if (!objectiveRange ||
|
|
67
|
+
objectiveRange.startRowIndex !== objectiveRange.endRowIndex ||
|
|
68
|
+
objectiveRange.startColumnIndex !== objectiveRange.endColumnIndex) {
|
|
69
|
+
setError("Set Objective must be a single cell reference.");
|
|
70
|
+
return [2 /*return*/];
|
|
71
|
+
}
|
|
72
|
+
changingCells = changing.split(",").map(function (t) { return (0, exports.parseSolverRange)(t); });
|
|
73
|
+
if (changingCells.length === 0 || changingCells.some(function (r) { return r === null; })) {
|
|
74
|
+
setError("By Changing Variable Cells must be cell references, e.g. B1:B3.");
|
|
75
|
+
return [2 /*return*/];
|
|
76
|
+
}
|
|
77
|
+
targetValue = Number(target);
|
|
78
|
+
if (goal === "value" && !Number.isFinite(targetValue)) {
|
|
79
|
+
setError("Value Of must be a number.");
|
|
80
|
+
return [2 /*return*/];
|
|
81
|
+
}
|
|
82
|
+
specs = [];
|
|
83
|
+
try {
|
|
84
|
+
for (constraints_1 = tslib_1.__values(constraints), constraints_1_1 = constraints_1.next(); !constraints_1_1.done; constraints_1_1 = constraints_1.next()) {
|
|
85
|
+
row = constraints_1_1.value;
|
|
86
|
+
cells = (0, exports.parseSolverRange)(row.cells);
|
|
87
|
+
if (!cells) {
|
|
88
|
+
setError("Constraint cell reference ".concat(row.cells || "(empty)", " is not valid."));
|
|
89
|
+
return [2 /*return*/];
|
|
90
|
+
}
|
|
91
|
+
if (row.operator === "int" || row.operator === "bin") {
|
|
92
|
+
specs.push({ cells: cells, operator: row.operator });
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
n = Number(row.rhs);
|
|
96
|
+
rhs = row.rhs.trim() !== "" && Number.isFinite(n) ? n : (0, exports.parseSolverRange)(row.rhs);
|
|
97
|
+
if (rhs === null) {
|
|
98
|
+
setError("Constraint must be a number or a cell reference.");
|
|
99
|
+
return [2 /*return*/];
|
|
100
|
+
}
|
|
101
|
+
specs.push({ cells: cells, operator: row.operator, rhs: rhs });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
105
|
+
finally {
|
|
106
|
+
try {
|
|
107
|
+
if (constraints_1_1 && !constraints_1_1.done && (_a = constraints_1.return)) _a.call(constraints_1);
|
|
108
|
+
}
|
|
109
|
+
finally { if (e_1) throw e_1.error; }
|
|
110
|
+
}
|
|
111
|
+
setError(undefined);
|
|
112
|
+
setBusy(true);
|
|
113
|
+
_b.label = 1;
|
|
114
|
+
case 1:
|
|
115
|
+
_b.trys.push([1, , 3, 4]);
|
|
116
|
+
return [4 /*yield*/, onSolve(tslib_1.__assign(tslib_1.__assign({ objective: {
|
|
117
|
+
rowIndex: objectiveRange.startRowIndex,
|
|
118
|
+
columnIndex: objectiveRange.startColumnIndex,
|
|
119
|
+
}, goal: goal }, (goal === "value" ? { targetValue: targetValue } : {})), { changingCells: changingCells, constraints: specs, method: method, assumeNonNegative: nonNegative }))];
|
|
120
|
+
case 2:
|
|
121
|
+
outcome = _b.sent();
|
|
122
|
+
if (!outcome) {
|
|
123
|
+
setError("Solver could not run this model.");
|
|
124
|
+
return [2 /*return*/];
|
|
125
|
+
}
|
|
126
|
+
setResult(outcome);
|
|
127
|
+
setKeep(true);
|
|
128
|
+
return [3 /*break*/, 4];
|
|
129
|
+
case 3:
|
|
130
|
+
setBusy(false);
|
|
131
|
+
return [7 /*endfinally*/];
|
|
132
|
+
case 4: return [2 /*return*/];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}); }, [objective, changing, target, goal, constraints, method, nonNegative, onSolve]);
|
|
136
|
+
var finish = function () {
|
|
137
|
+
if (result && keep && result.values.length > 0)
|
|
138
|
+
onKeep(result);
|
|
139
|
+
onOpenChange(false);
|
|
140
|
+
};
|
|
141
|
+
var solved = result ? ["found", "integer-found", "converged"].includes(result.status) : false;
|
|
142
|
+
return (react_1.default.createElement(ui_1.Dialog, { open: open, onOpenChange: onOpenChange },
|
|
143
|
+
react_1.default.createElement(ui_1.DialogContent, { className: "w-[460px] max-w-[92vw] pointer-events-auto" },
|
|
144
|
+
react_1.default.createElement(ui_1.DialogTitle, null, result ? "Solver Results" : "Solver Parameters"),
|
|
145
|
+
react_1.default.createElement(ui_1.DialogDescription, null, "Find the variable cell values that optimize the objective under the constraints."),
|
|
146
|
+
react_1.default.createElement(ui_1.DialogCloseButton, { onClick: function () { return onOpenChange(false); } },
|
|
147
|
+
react_1.default.createElement(icons_1.Cross1Icon, null)),
|
|
148
|
+
react_1.default.createElement(ui_1.DialogBody, { className: "flex flex-col gap-3 font-system text-sm" }, result ? (react_1.default.createElement("div", { className: "flex flex-col gap-3" },
|
|
149
|
+
react_1.default.createElement("p", { role: "status", className: "text-xs" }, result.message),
|
|
150
|
+
solved ? (react_1.default.createElement("div", { className: "flex flex-col gap-1 text-xs" },
|
|
151
|
+
react_1.default.createElement("label", { className: "flex items-center gap-2" },
|
|
152
|
+
react_1.default.createElement("input", { type: "radio", checked: keep, onChange: function () { return setKeep(true); } }),
|
|
153
|
+
"Keep Solver Solution"),
|
|
154
|
+
react_1.default.createElement("label", { className: "flex items-center gap-2" },
|
|
155
|
+
react_1.default.createElement("input", { type: "radio", checked: !keep, onChange: function () { return setKeep(false); } }),
|
|
156
|
+
"Restore Original Values"))) : null,
|
|
157
|
+
react_1.default.createElement(ui_1.Separator, null),
|
|
158
|
+
react_1.default.createElement("div", { className: "flex justify-end gap-2" },
|
|
159
|
+
react_1.default.createElement(ui_1.Button, { type: "button", size: "sm", variant: "outline", onClick: function () { return setResult(undefined); } }, "Return to Solver Parameters"),
|
|
160
|
+
react_1.default.createElement(ui_1.Button, { type: "button", size: "sm", onClick: function () { return (solved ? finish() : onOpenChange(false)); } }, "OK")))) : (react_1.default.createElement("form", { className: "flex flex-col gap-3", onSubmit: solve },
|
|
161
|
+
react_1.default.createElement("label", { className: "flex flex-col gap-1 text-xs font-medium" },
|
|
162
|
+
"Set Objective:",
|
|
163
|
+
react_1.default.createElement(ui_1.Input, { autoFocus: true, "aria-label": "Set Objective", value: objective, onChange: function (e) { return setObjective(e.target.value); } })),
|
|
164
|
+
react_1.default.createElement("div", { className: "flex items-center gap-3 text-xs" },
|
|
165
|
+
"To:",
|
|
166
|
+
["max", "min", "value"].map(function (g) { return (react_1.default.createElement("label", { key: g, className: "flex items-center gap-1" },
|
|
167
|
+
react_1.default.createElement("input", { type: "radio", checked: goal === g, onChange: function () { return setGoal(g); } }),
|
|
168
|
+
g === "max" ? "Max" : g === "min" ? "Min" : "Value Of:")); }),
|
|
169
|
+
react_1.default.createElement(ui_1.Input, { className: "w-20", "aria-label": "Value Of", value: target, disabled: goal !== "value", onChange: function (e) { return setTarget(e.target.value); } })),
|
|
170
|
+
react_1.default.createElement("label", { className: "flex flex-col gap-1 text-xs font-medium" },
|
|
171
|
+
"By Changing Variable Cells:",
|
|
172
|
+
react_1.default.createElement(ui_1.Input, { "aria-label": "By Changing Variable Cells", value: changing, onChange: function (e) { return setChanging(e.target.value); } })),
|
|
173
|
+
react_1.default.createElement("div", { className: "flex flex-col gap-1 text-xs font-medium" },
|
|
174
|
+
"Subject to the Constraints:",
|
|
175
|
+
constraints.map(function (row, i) { return (react_1.default.createElement("div", { key: i, className: "flex items-center gap-1" },
|
|
176
|
+
react_1.default.createElement(ui_1.Input, { "aria-label": "Constraint ".concat(i + 1, " cell reference"), value: row.cells, onChange: function (e) {
|
|
177
|
+
return setConstraints(constraints.map(function (r, k) { return (k === i ? tslib_1.__assign(tslib_1.__assign({}, r), { cells: e.target.value }) : r); }));
|
|
178
|
+
} }),
|
|
179
|
+
react_1.default.createElement("select", { "aria-label": "Constraint ".concat(i + 1, " relation"), className: "h-8 rounded border border-rnc-border bg-transparent px-1 text-sm", value: row.operator, onChange: function (e) {
|
|
180
|
+
return setConstraints(constraints.map(function (r, k) {
|
|
181
|
+
return k === i ? tslib_1.__assign(tslib_1.__assign({}, r), { operator: e.target.value }) : r;
|
|
182
|
+
}));
|
|
183
|
+
} }, OPERATORS.map(function (op) { return (react_1.default.createElement("option", { key: op, value: op }, op)); })),
|
|
184
|
+
react_1.default.createElement(ui_1.Input, { "aria-label": "Constraint ".concat(i + 1, " value"), value: row.operator === "int" ? "integer" : row.operator === "bin" ? "binary" : row.rhs, disabled: row.operator === "int" || row.operator === "bin", onChange: function (e) {
|
|
185
|
+
return setConstraints(constraints.map(function (r, k) { return (k === i ? tslib_1.__assign(tslib_1.__assign({}, r), { rhs: e.target.value }) : r); }));
|
|
186
|
+
} }),
|
|
187
|
+
react_1.default.createElement(ui_1.Button, { type: "button", size: "sm", variant: "outline", "aria-label": "Delete constraint ".concat(i + 1), onClick: function () { return setConstraints(constraints.filter(function (_, k) { return k !== i; })); } }, "Delete"))); }),
|
|
188
|
+
react_1.default.createElement("div", null,
|
|
189
|
+
react_1.default.createElement(ui_1.Button, { type: "button", size: "sm", variant: "outline", onClick: function () { return setConstraints(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(constraints), false), [{ cells: "", operator: "<=", rhs: "" }], false)); } }, "Add"))),
|
|
190
|
+
react_1.default.createElement("label", { className: "flex items-center gap-2 text-xs" },
|
|
191
|
+
react_1.default.createElement("input", { type: "checkbox", checked: nonNegative, onChange: function (e) { return setNonNegative(e.target.checked); } }),
|
|
192
|
+
"Make Unconstrained Variables Non-Negative"),
|
|
193
|
+
react_1.default.createElement("label", { className: "flex items-center gap-2 text-xs font-medium" },
|
|
194
|
+
"Select a Solving Method:",
|
|
195
|
+
react_1.default.createElement("select", { "aria-label": "Select a Solving Method", className: "h-8 rounded border border-rnc-border bg-transparent px-2 text-sm", value: method, onChange: function (e) { return setMethod(e.target.value); } },
|
|
196
|
+
react_1.default.createElement("option", { value: "grgNonlinear" }, "GRG Nonlinear"),
|
|
197
|
+
react_1.default.createElement("option", { value: "simplexLp" }, "Simplex LP"))),
|
|
198
|
+
error ? (react_1.default.createElement("div", { role: "alert", className: "text-xs text-rnc-destructive" }, error)) : null,
|
|
199
|
+
react_1.default.createElement(ui_1.Separator, null),
|
|
200
|
+
react_1.default.createElement("div", { className: "flex justify-end gap-2" },
|
|
201
|
+
react_1.default.createElement(ui_1.Button, { type: "button", variant: "outline", size: "sm", onClick: function () { return onOpenChange(false); } }, "Close"),
|
|
202
|
+
react_1.default.createElement(ui_1.Button, { type: "submit", size: "sm", disabled: busy }, busy ? "Solving…" : "Solve"))))))));
|
|
203
|
+
});
|
|
204
|
+
exports.SolverDialog.displayName = "SolverDialog";
|
|
@@ -19,13 +19,14 @@ export type SparklineActionsProps = {
|
|
|
19
19
|
onDeleteSparklineGroup?(group: SparklineGroup): void;
|
|
20
20
|
onClearSparklines?(sheetId: number, cells: CellInterface[]): void;
|
|
21
21
|
onGroupSparklines?(sheetId: number, activeCell: CellInterface, cells: CellInterface[]): void;
|
|
22
|
+
onUngroupSparklines?(group: SparklineGroup): void;
|
|
22
23
|
readonly?: boolean;
|
|
23
24
|
};
|
|
24
25
|
/**
|
|
25
26
|
* Excel's Sparklines ribbon: Insert → Sparklines (Line / Column / Win-Loss → the Create
|
|
26
27
|
* Sparklines dialog) and, when the active cell is in a sparkline group, the Sparkline Design tab —
|
|
27
28
|
* Edit Data & Location, Type, Show (points + markers), Sparkline / marker colours, Axis (show
|
|
28
|
-
* axis, right-to-left, hidden data, empty cells, vertical min/max) and Group / Clear.
|
|
29
|
+
* axis, right-to-left, hidden data, empty cells, vertical min/max) and Group / Ungroup / Clear.
|
|
29
30
|
*/
|
|
30
|
-
export declare const SparklineActions: ({ sheetId, activeCell, selections, getSparklineGroup, onUpdateSparklineGroup, onDeleteSparklineGroup, onClearSparklines, onGroupSparklines, readonly, }: SparklineActionsProps) => React.JSX.Element;
|
|
31
|
+
export declare const SparklineActions: ({ sheetId, activeCell, selections, getSparklineGroup, onUpdateSparklineGroup, onDeleteSparklineGroup, onClearSparklines, onGroupSparklines, onUngroupSparklines, readonly, }: SparklineActionsProps) => React.JSX.Element;
|
|
31
32
|
//# sourceMappingURL=sparkline-actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline-actions.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/sparkline-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAmBvE,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAuC,MAAM,OAAO,CAAC;AAM5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,eAAO,MAAM,eAAe,EAAE;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAIzE,CAAC;AA6CF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,8FAA8F;IAC9F,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;IACrF,sBAAsB,CAAC,CACrB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC;QAAC,OAAO,CAAC,EAAE,qBAAqB,CAAA;KAAE,GACpE,OAAO,CAAC;IACX,sBAAsB,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrD,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAClE,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,
|
|
1
|
+
{"version":3,"file":"sparkline-actions.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/sparkline-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAmBvE,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAuC,MAAM,OAAO,CAAC;AAM5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,eAAO,MAAM,eAAe,EAAE;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAIzE,CAAC;AA6CF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,8FAA8F;IAC9F,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;IACrF,sBAAsB,CAAC,CACrB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC;QAAC,OAAO,CAAC,EAAE,qBAAqB,CAAA;KAAE,GACpE,OAAO,CAAC;IACX,sBAAsB,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrD,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAClE,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7F,mBAAmB,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,8KAW9B,qBAAqB,sBAiYvB,CAAC"}
|
|
@@ -41,10 +41,10 @@ var Check = function () { return (react_1.default.createElement(ui_1.DropdownMen
|
|
|
41
41
|
* Excel's Sparklines ribbon: Insert → Sparklines (Line / Column / Win-Loss → the Create
|
|
42
42
|
* Sparklines dialog) and, when the active cell is in a sparkline group, the Sparkline Design tab —
|
|
43
43
|
* Edit Data & Location, Type, Show (points + markers), Sparkline / marker colours, Axis (show
|
|
44
|
-
* axis, right-to-left, hidden data, empty cells, vertical min/max) and Group / Clear.
|
|
44
|
+
* axis, right-to-left, hidden data, empty cells, vertical min/max) and Group / Ungroup / Clear.
|
|
45
45
|
*/
|
|
46
46
|
var SparklineActions = function (_a) {
|
|
47
|
-
var sheetId = _a.sheetId, activeCell = _a.activeCell, selections = _a.selections, getSparklineGroup = _a.getSparklineGroup, onUpdateSparklineGroup = _a.onUpdateSparklineGroup, onDeleteSparklineGroup = _a.onDeleteSparklineGroup, onClearSparklines = _a.onClearSparklines, onGroupSparklines = _a.onGroupSparklines, readonly = _a.readonly;
|
|
47
|
+
var sheetId = _a.sheetId, activeCell = _a.activeCell, selections = _a.selections, getSparklineGroup = _a.getSparklineGroup, onUpdateSparklineGroup = _a.onUpdateSparklineGroup, onDeleteSparklineGroup = _a.onDeleteSparklineGroup, onClearSparklines = _a.onClearSparklines, onGroupSparklines = _a.onGroupSparklines, onUngroupSparklines = _a.onUngroupSparklines, readonly = _a.readonly;
|
|
48
48
|
var focusSheet = (0, atoms_1.useFocusSheet)();
|
|
49
49
|
var openDialog = (0, sparkline_dialog_atom_1.useOpenSparklineDialog)();
|
|
50
50
|
var shouldFocusSheetRef = (0, react_1.useRef)(true);
|
|
@@ -258,6 +258,10 @@ var SparklineActions = function (_a) {
|
|
|
258
258
|
axisBoundSubmenu("Vertical Axis Maximum", "maxaxistype", "max"))),
|
|
259
259
|
react_1.default.createElement(ui_1.DropdownMenuSeparator, null),
|
|
260
260
|
react_1.default.createElement(ui_1.DropdownMenuItem, { disabled: !sparklineCellsSelected || readonly, onSelect: function () { return onGroupSparklines === null || onGroupSparklines === void 0 ? void 0 : onGroupSparklines(sheetId, activeCell, selectedCells); } }, "Group"),
|
|
261
|
+
react_1.default.createElement(ui_1.DropdownMenuItem, { disabled: !group || group.members.length < 2 || readonly, onSelect: function () {
|
|
262
|
+
if (group)
|
|
263
|
+
onUngroupSparklines === null || onUngroupSparklines === void 0 ? void 0 : onUngroupSparklines(group);
|
|
264
|
+
} }, "Ungroup"),
|
|
261
265
|
react_1.default.createElement(ui_1.DropdownMenuSub, null,
|
|
262
266
|
react_1.default.createElement(ui_1.DropdownMenuSubTrigger, { disabled: !hasGroup || readonly },
|
|
263
267
|
"Clear",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-style-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/table-style-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAevE,OAAO,
|
|
1
|
+
{"version":3,"file":"table-style-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/table-style-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAevE,OAAO,EAEL,wBAAwB,EAKzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAuD,MAAM,OAAO,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAK7D,OAAO,KAAK,EACV,gBAAgB,EAEhB,gBAAgB,EAEhB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,CAAC,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EACxB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,GAC/B,IAAI,CAAC;IACR,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC/D;;;OAGG;IACH,mBAAmB,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9D,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC;;;OAGG;IACH,wBAAwB,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACzD;;;OAGG;IACH,wBAAwB,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,uEAAuE;AACvE,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC;IACzB,GAAG,EACC,WAAW,GACX,UAAU,GACV,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;CACvB,CAQA,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,SAAS,EAChB,KAAK,CAAC,OAAO,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAC1C,SAAS,OAAO,KACf,OAAO,CAAC,SAAS,CAqBnB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,UAAU;IACjB,kBAAkB,EAAE,MAAM,GAAG,SAAS;IACtC,cAAc,EAAE,MAAM,GAAG,SAAS;IAClC,cAAc,EAAE,gBAAgB,GAAG,SAAS;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;CAC5B,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,OAAO,GAAG,SAAS,EACnC,mBAAmB,OAAO,GAAG,SAAS,EACtC,QAAQ,gBAAgB,kCAoBzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,kOAc1B,uBAAuB,uBAuX3B,CAAC"}
|
|
@@ -203,8 +203,7 @@ exports.TableStyleSelector = (0, react_1.memo)(function (_a) {
|
|
|
203
203
|
* Get all table border styles
|
|
204
204
|
*/
|
|
205
205
|
var tableBorderstyles = (0, react_1.useMemo)(function () { return tslib_1.__spreadArray([], tslib_1.__read((0, exports.getTableBorderStyles)(showRowStripes, showColumnStripes, theme).entries()), false); }, [showRowStripes, showColumnStripes, theme]);
|
|
206
|
-
var swatch = function (key, tableTheme, bandProperties, style, onContextMenu) { return (react_1.default.createElement(ui_1.DropdownMenuItem, { key: key, onClick: function () { return onSelectStyle(tableTheme, bandProperties); }, onContextMenu: onContextMenu, onPointerEnter: function () { return previewStyle(tableTheme, bandProperties); }, onPointerLeave: clearPreview, onFocus: function () { return previewStyle(tableTheme, bandProperties); }, onBlur: clearPreview, className: hoverClass, title: tableTheme },
|
|
207
|
-
react_1.default.createElement(TableSkeleton, { rowProperties: bandProperties === null || bandProperties === void 0 ? void 0 : bandProperties.rowProperties, columnProperties: bandProperties === null || bandProperties === void 0 ? void 0 : bandProperties.columnProperties, theme: theme, style: style }))); };
|
|
206
|
+
var swatch = function (key, tableTheme, bandProperties, style, onContextMenu) { return (react_1.default.createElement(ui_1.DropdownMenuItem, { key: key, onClick: function () { return onSelectStyle(tableTheme, bandProperties); }, onContextMenu: onContextMenu, onPointerEnter: function () { return previewStyle(tableTheme, bandProperties); }, onPointerLeave: clearPreview, onFocus: function () { return previewStyle(tableTheme, bandProperties); }, onBlur: clearPreview, className: hoverClass, title: tableTheme }, (bandProperties === null || bandProperties === void 0 ? void 0 : bandProperties.tableStyleElements) ? (react_1.default.createElement(TableStyleElementsSkeleton, { elements: bandProperties.tableStyleElements, theme: theme, style: style })) : (react_1.default.createElement(TableSkeleton, { rowProperties: bandProperties === null || bandProperties === void 0 ? void 0 : bandProperties.rowProperties, columnProperties: bandProperties === null || bandProperties === void 0 ? void 0 : bandProperties.columnProperties, theme: theme, style: style })))); };
|
|
208
207
|
return (react_1.default.createElement(ui_1.DropdownMenu, { modal: false, onOpenChange: function (open) {
|
|
209
208
|
if (!open) {
|
|
210
209
|
clearPreview();
|
|
@@ -290,6 +289,38 @@ exports.TableStyleSelector = (0, react_1.memo)(function (_a) {
|
|
|
290
289
|
// the editor is open its footer ends the panel.
|
|
291
290
|
react_1.default.createElement(ui_1.DropdownMenuItem, { className: "text-xs", onClick: function () { return onSelectStyle("None", undefined); }, onPointerEnter: function () { return previewStyle("None", undefined); }, onPointerLeave: clearPreview, onFocus: function () { return previewStyle("None", undefined); }, onBlur: clearPreview }, "Clear")))))));
|
|
292
291
|
});
|
|
292
|
+
var swatchEdge = function (border, theme) {
|
|
293
|
+
return border
|
|
294
|
+
? "".concat(Math.min(border.width, 2), "px solid ").concat((0, themes_1.getStringifiedColor)(border.color, theme))
|
|
295
|
+
: undefined;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* A built-in style's swatch: a header row over four body rows, five columns, each cell painted
|
|
299
|
+
* with the format the table style elements give it in the grid (`resolveTableStyleCell`).
|
|
300
|
+
*/
|
|
301
|
+
var TableStyleElementsSkeleton = function (_a) {
|
|
302
|
+
var elements = _a.elements, theme = _a.theme, style = _a.style;
|
|
303
|
+
return (react_1.default.createElement("div", { className: "table border-collapse table-fixed w-20 md:w-16", style: style }, tslib_1.__spreadArray([], tslib_1.__read(Array(5)), false).map(function (_, rowIndex) { return (react_1.default.createElement("div", { className: "table-row", key: rowIndex }, tslib_1.__spreadArray([], tslib_1.__read(Array(5)), false).map(function (_, columnIndex) {
|
|
304
|
+
var _a = (0, utils_1.resolveTableStyleCell)(elements, {
|
|
305
|
+
rowIndex: rowIndex,
|
|
306
|
+
columnIndex: columnIndex,
|
|
307
|
+
rowCount: 5,
|
|
308
|
+
columnCount: 5,
|
|
309
|
+
headerRow: true,
|
|
310
|
+
totalRow: false,
|
|
311
|
+
showFirstColumn: false,
|
|
312
|
+
showLastColumn: false,
|
|
313
|
+
}), fill = _a.fill, color = _a.color, borders = _a.borders;
|
|
314
|
+
return (react_1.default.createElement("div", { key: columnIndex, className: (0, ui_1.cn)("table-cell leading-none text-center", rowIndex === 0 ? "h-1" : ""), style: {
|
|
315
|
+
backgroundColor: (0, themes_1.getStringifiedColor)(fill, theme),
|
|
316
|
+
color: (0, themes_1.getStringifiedColor)(color, theme),
|
|
317
|
+
borderTop: swatchEdge(borders === null || borders === void 0 ? void 0 : borders.top, theme),
|
|
318
|
+
borderBottom: swatchEdge(borders === null || borders === void 0 ? void 0 : borders.bottom, theme),
|
|
319
|
+
borderLeft: swatchEdge(borders === null || borders === void 0 ? void 0 : borders.left, theme),
|
|
320
|
+
borderRight: swatchEdge(borders === null || borders === void 0 ? void 0 : borders.right, theme),
|
|
321
|
+
} }, "-"));
|
|
322
|
+
}))); })));
|
|
323
|
+
};
|
|
293
324
|
/**
|
|
294
325
|
* Table skeleton
|
|
295
326
|
* @param param0
|
package/dist/cjs/config.d.ts
CHANGED
|
@@ -100,10 +100,11 @@ export declare const EXPAND_COLLAPSE_ICON_WIDTH = 12;
|
|
|
100
100
|
export declare const CF_ICON_WIDTH = 14;
|
|
101
101
|
export declare const CF_ICON_SPACING = 4;
|
|
102
102
|
export declare const HEADER_MENU_DIM = 15;
|
|
103
|
-
export declare const
|
|
104
|
-
export declare const
|
|
105
|
-
export declare const
|
|
106
|
-
export declare const
|
|
103
|
+
export declare const INDICATOR_SIZE = 6.5;
|
|
104
|
+
export declare const INVALID_COLOR = "#FF0000";
|
|
105
|
+
export declare const ERROR_COLOR = "#008000";
|
|
106
|
+
export declare const NOTE_COLOR = "#FF0000";
|
|
107
|
+
export declare const COMMENT_COLOR = "#7719AA";
|
|
107
108
|
export declare const DEFAULT_CELL_INPUT_LINE_HEIGHT = "23px";
|
|
108
109
|
export declare const FORMULA_BAR_HEIGHT = 23;
|
|
109
110
|
export declare const SCROLLBAR_SIZE = 13;
|
package/dist/cjs/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_HEADER_SELECTED_TABLE_BG = exports.DEFAULT_HEADER_ACTIVE_TABLE_BG_DARK = exports.DEFAULT_HEADER_ACTIVE_TABLE_BG = exports.DEFAULT_HEADER_TABLE_BG_DARK = exports.DEFAULT_HEADER_TABLE_BG = exports.DEFAULT_HEADER_SELECTED_BG = exports.DEFAULT_HEADER_ACTIVE_BG_DARK = exports.DEFAULT_HEADER_ACTIVE_BG = exports.DEFAULT_HEADER_BG_DARK = exports.DEFAULT_HEADER_BG = exports.DEFAULT_HEADER_BORDER_COLOR_DARK = exports.DEFAULT_HEADER_BORDER_COLOR = exports.DEFAULT_HEADER_COLOR_DARK = exports.DEFAULT_HEADER_COLOR = exports.GRIDLINE_COLOR_DARK = exports.GRIDLINE_COLOR = exports.DEFAULT_CELL_BACKGROUND_COLOR_DARK = exports.DEFAULT_CELL_BACKGROUND_COLOR = exports.DEFAULT_CELL_COLOR_DARK = exports.DEFAULT_CELL_COLOR = exports.HEADER_TEXT_FORMAT = exports.DEFAULT_CELL_FORMAT = exports.DEFAULT_TEXT_FORMAT = exports.FORMULA_FONT_CONFIG = exports.EDITOR_FORMULA_VERTICAL_ALIGNMENT = exports.EDITOR_VERTICAL_ALIGNMENT = exports.CELL_HORIZONTAL_ALIGNMENT = exports.CELL_VERTICAL_ALIGNMENT = exports.MIN_COLUMN_WIDTH = exports.FILTER_BUTTON_FILL_COLOR = exports.FILTER_BUTTON_BORDER_COLOR = exports.FILTER_BUTTON_GLYPH_COLOR = exports.INDENT_SPACING = exports.DEFAULT_CELL_SPACING = exports.OUTLINE_GUTTER_PAD_PX = exports.OUTLINE_GUTTER_LEVEL_PX = exports.COLUMN_HEADER_HEIGHT = exports.ROW_HEADER_WIDTH = exports.DEFAULT_COLUMN_WIDTH = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_FONT_SIZE_PT = exports.DEFAULT_COLUMN_COUNT = exports.DEFAULT_ROW_COUNT = exports.MAX_COLUMN_COUNT = exports.MAX_ROW_COUNT = exports.DEFAULT_SCROLL_POSITION = exports.FROZEN_EMPTY_ARRAY = exports.DEFAULT_ARRAY = exports.DEFAULT_SELECTIONS = exports.DEFAULT_ACTIVE_CELL = void 0;
|
|
4
|
-
exports.MULTIPLE_SELECTIONS_CLIPBOARD_ERROR = exports.MULTIPLE_SELECTIONS_ERROR = exports.IndexedColors = exports.URL_REGEX = exports.EMAIL_REGEX = exports.BLANK_LABEL = exports.VALIDATION_CONDITION_LABELS = exports.CONDITION_NONE = exports.CONDITION_LABELS = exports.SCROLLBAR_SIZE_FIREFOX = exports.SCROLLBAR_SIZE = exports.FORMULA_BAR_HEIGHT = exports.DEFAULT_CELL_INPUT_LINE_HEIGHT = exports.COMMENT_COLOR = exports.NOTE_COLOR = exports.ERROR_COLOR = exports.INVALID_COLOR = exports.HEADER_MENU_DIM = exports.CF_ICON_SPACING = exports.CF_ICON_WIDTH = exports.EXPAND_COLLAPSE_ICON_WIDTH = exports.COLLAPSE_ICON_PATH = exports.EXPAND_ICON_PATH = exports.CHECKBOX_ICON_WIDTH = exports.CHECKBOX_ICON_ACTIVE_COLOR = exports.CHECKBOX_ICON_COLOR = exports.CHECKBOX_CHECKED_ICON_PATH = exports.CHECKBOX_ICON_PATH = exports.SORT_DESCENDING_ICON_PATH = exports.SORT_ASCENDING_ICON_PATH = exports.FILTER_ICON_WIDTH = exports.FUNNEL_ICON_PATH = exports.FITLER_ICON_PATH = exports.CALCULATED_ICON_HEIGHT = exports.CALCULATED_ICON_WIDTH = exports.CHIP_COLOR_DARK = exports.CHIP_COLOR = exports.CHIP_RADIUS = exports.CHIP_HEIGHT = exports.CHIP_SPACING = exports.ARROW_DOWN_COLOR = exports.ARROW_DOWN_WIDTH = exports.ARROW_DOWN_ICON_PATH = exports.defaultSpreadsheetTheme = exports.DEFAULT_OVERLAY_POSITION = exports.SELECTION_BORDER = exports.SELECTION_BG = void 0;
|
|
4
|
+
exports.MULTIPLE_SELECTIONS_CLIPBOARD_ERROR = exports.MULTIPLE_SELECTIONS_ERROR = exports.IndexedColors = exports.URL_REGEX = exports.EMAIL_REGEX = exports.BLANK_LABEL = exports.VALIDATION_CONDITION_LABELS = exports.CONDITION_NONE = exports.CONDITION_LABELS = exports.SCROLLBAR_SIZE_FIREFOX = exports.SCROLLBAR_SIZE = exports.FORMULA_BAR_HEIGHT = exports.DEFAULT_CELL_INPUT_LINE_HEIGHT = exports.COMMENT_COLOR = exports.NOTE_COLOR = exports.ERROR_COLOR = exports.INVALID_COLOR = exports.INDICATOR_SIZE = exports.HEADER_MENU_DIM = exports.CF_ICON_SPACING = exports.CF_ICON_WIDTH = exports.EXPAND_COLLAPSE_ICON_WIDTH = exports.COLLAPSE_ICON_PATH = exports.EXPAND_ICON_PATH = exports.CHECKBOX_ICON_WIDTH = exports.CHECKBOX_ICON_ACTIVE_COLOR = exports.CHECKBOX_ICON_COLOR = exports.CHECKBOX_CHECKED_ICON_PATH = exports.CHECKBOX_ICON_PATH = exports.SORT_DESCENDING_ICON_PATH = exports.SORT_ASCENDING_ICON_PATH = exports.FILTER_ICON_WIDTH = exports.FUNNEL_ICON_PATH = exports.FITLER_ICON_PATH = exports.CALCULATED_ICON_HEIGHT = exports.CALCULATED_ICON_WIDTH = exports.CHIP_COLOR_DARK = exports.CHIP_COLOR = exports.CHIP_RADIUS = exports.CHIP_HEIGHT = exports.CHIP_SPACING = exports.ARROW_DOWN_COLOR = exports.ARROW_DOWN_WIDTH = exports.ARROW_DOWN_ICON_PATH = exports.defaultSpreadsheetTheme = exports.DEFAULT_OVERLAY_POSITION = exports.SELECTION_BORDER = exports.SELECTION_BG = void 0;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
var themes_1 = require("./themes");
|
|
7
7
|
exports.DEFAULT_ACTIVE_CELL = Object.freeze({
|
|
@@ -133,14 +133,18 @@ exports.CF_ICON_WIDTH = 14;
|
|
|
133
133
|
exports.CF_ICON_SPACING = 4;
|
|
134
134
|
// Header menu
|
|
135
135
|
exports.HEADER_MENU_DIM = 15;
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
//
|
|
141
|
-
exports.
|
|
142
|
-
//
|
|
143
|
-
exports.
|
|
136
|
+
// Cell indicators (Excel's places and colours). Sizes are at 100 % zoom; the grid multiplies by
|
|
137
|
+
// the zoom scale.
|
|
138
|
+
exports.INDICATOR_SIZE = 6.5;
|
|
139
|
+
// Invalid cell: Data → Data Validation → Circle Invalid Data draws a red circle. Excel does not
|
|
140
|
+
// mark an invalid cell otherwise.
|
|
141
|
+
exports.INVALID_COLOR = "#FF0000";
|
|
142
|
+
// Error-checking indicator: green ◤ in the top-left corner (Excel's "Automatic" indicator colour).
|
|
143
|
+
exports.ERROR_COLOR = "#008000";
|
|
144
|
+
// Note: red ◥ in the top-right corner.
|
|
145
|
+
exports.NOTE_COLOR = "#FF0000";
|
|
146
|
+
// Threaded comment: purple marker in the top-right corner.
|
|
147
|
+
exports.COMMENT_COLOR = "#7719AA";
|
|
144
148
|
// CellInput
|
|
145
149
|
exports.DEFAULT_CELL_INPUT_LINE_HEIGHT = "23px";
|
|
146
150
|
// Formula bar
|
package/dist/cjs/helpers.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ import type { CellTooltipVariants } from "@rowsncolumns/ui";
|
|
|
3
3
|
import type { AXIS, Border, CellData, Color, ConditionType, ConditionValue, FilterSpec, FilterView, HorizontalAlign, Sheet, SheetCoordinate, SheetRange, SortOrder, StructuredValue, StyleReference, TableTheme, TableView, VerticalAlign } from "./types";
|
|
4
4
|
export declare const isFirefox: boolean;
|
|
5
5
|
export declare const isMac: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Converts a font size in points to CSS pixels: 96 px per inch over 72 pt
|
|
8
|
+
* per inch, unrounded, so 11 pt is 14.67 px as Excel paints it at 100 %
|
|
9
|
+
* (a rounded `1.3 × pt` made 11 pt 14 px and 24 pt 31 px).
|
|
10
|
+
*/
|
|
6
11
|
export declare const pointToPixel: (pt: number) => number;
|
|
7
12
|
export declare const pixelToPoint: (px: number) => number;
|
|
8
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAS5D,OAAO,KAAK,EACV,IAAI,EACJ,MAAM,EAEN,QAAQ,EACR,KAAK,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,KAAK,EACL,eAAe,EACf,UAAU,EACV,SAAS,EAET,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,SAAS,SAEb,CAAC;AAGV,eAAO,MAAM,KAAK,SAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAS5D,OAAO,KAAK,EACV,IAAI,EACJ,MAAM,EAEN,QAAQ,EACR,KAAK,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,KAAK,EACL,eAAe,EACf,UAAU,EACV,SAAS,EAET,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,SAAS,SAEb,CAAC;AAGV,eAAO,MAAM,KAAK,SAAkB,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,WAAmB,CAAC;AAG3D,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,WAA+B,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,GAAG,SAAS,EACxB,YAAY,OAAO,KAClB,MAAM,GAAG,SAKX,CAAC;AAsBF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,EAClC,cAAS,yBAIV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,EAClC,OAAO,MAAM,GAAG,SAAS,KACxB,MAgBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,gBAanC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,iBAAgB,EAChB,oBAAkB,EAClB,gBAAc,KACb,KASD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,aAAa,YAM/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAC1C,mBAAmB,aAAa,GAAG,SAAS,EAC5C,cAAc,MAAM,GAAG,SAAS,uBAYjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,EACd,SAAS,OAAO,EAChB,MAAM,OAAO,EACb,MAAM,OAAO,EACb,UAAU,OAAO,KAChB,mBAAmB,CAAC,SAAS,CAgB/B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,kBAE/D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,aAAa,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,YAa7C,CAAC;AAgBF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,SAAS,EAAE,GAAG,SAAS,EAC/B,aAAa,UAAU,GAAG,SAAS,GAAG,IAAI;qBAMrB,OAAO,GAAG,IAAI;eACpB,SAAS,GAAG,SAAS,GAAG,IAAI;mBACxB,OAAO,GAAG,IAAI;YACrB,UAAU,GAAG,SAAS,GAAG,IAAI;2FA+E1C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,eAAe,aAAa,GAAG,SAAS,EACxC,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,oBAAe,WAUhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,eAAe,GAAG,SAAS,EAC3C,OAAO,MAAM,EACb,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,oBAAe,uBAUhB,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,WAAqB,CAAC;AAC1E,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,WAC3B,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,GAAG,MAAM,EACT,YAAY,MAAM,EAClB,OAAO,MAAM,EACb,eAAe,aAAa,uBAiB7B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3E,KAAK,CAAC,KACL,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAU5B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,kBAAkB,aAAa,GAAG,SAAS,KAC1C,gBAAgB,IAAI,SAEtB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,WAAW,eAAe,WAI3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EAAE,GAAG,SAAS,EAC1B,MAAM,IAAI,kBAgBX,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,aAI1D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,KAAG,OAY5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,GAAG,SAAS,EAC1B,UAAU,MAAM,uBAUjB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,iBAAiB,eAAe,GAAG,UAAU,KAC5C,eAAe,IAAI,UAErB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,iBAAiB,eAAe,GAAG,UAAU,KAC5C,eASF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK,GAAG,SAAS,YAgBvE,CAAC;AAKF,eAAO,MAAM,wBAAwB,GAAI,KAAK,MAAM,GAAG,SAAS,YACV,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAClC,CAAC,EACA,eAAe,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,CAAC,CAAC,MAEhB,QAAQ,MAAM,EAAE,SAAS,MAAM,EAAE,UAAU,MAAM,EAAE,aAAa,MAAM,eAChB,CAAC;AAE1D,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,GAAG,SAAS,uBAAkB,CAAC;AAEtE,eAAO,MAAM,iBAAiB,GAAI,eAAe,aAAa,GAAG,SAAS,wBAO/C,CAAC;AAE5B,eAAO,MAAM,mBAAmB,GAAI,eAAe,aAAa,GAAG,SAAS,YAkCjD,CAAC;AAE5B,eAAO,MAAM,6BAA6B,GACxC,YAAY,MAAM,GAAG,SAAS,KAC7B,cAAc,EAqBhB,CAAC;AAGF,eAAO,MAAM,aAAa,SAAwC,CAAC;AAGnE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EACjD,aAAa,CAAC,CAAC,IAAI,CAAC,KACnB,UAAU,IAAI,cAKhB,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAClD,KAAK,CAAC,CAAC,gBAAgB,CAAC,KACvB,EAAE,IAAI,eAKR,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,OAAO,SAAS,GAAG,SAAS,EAC5B,YAAY,aAAa,GAAG,SAAS,GAAG,IAAI,EAC5C,aAAa,aAAa,GAAG,SAAS,GAAG,IAAI,+BAM9C,CAAC;AAEF,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC"}
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -12,11 +12,15 @@ exports.isFirefox = grid_1.canUseDOM
|
|
|
12
12
|
: false;
|
|
13
13
|
// Check if platform is macOS, where Ctrl+click is the context menu gesture
|
|
14
14
|
exports.isMac = (0, platform_1.isMacPlatform)();
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Converts a font size in points to CSS pixels: 96 px per inch over 72 pt
|
|
17
|
+
* per inch, unrounded, so 11 pt is 14.67 px as Excel paints it at 100 %
|
|
18
|
+
* (a rounded `1.3 × pt` made 11 pt 14 px and 24 pt 31 px).
|
|
19
|
+
*/
|
|
20
|
+
var pointToPixel = function (pt) { return (pt * 96) / 72; };
|
|
17
21
|
exports.pointToPixel = pointToPixel;
|
|
18
|
-
/* Convert pixel to
|
|
19
|
-
var pixelToPoint = function (px) { return Math.round((px
|
|
22
|
+
/* Convert pixel to (whole) points */
|
|
23
|
+
var pixelToPoint = function (px) { return Math.round((px * 72) / 96); };
|
|
20
24
|
exports.pixelToPoint = pixelToPoint;
|
|
21
25
|
/**
|
|
22
26
|
* Normalize text for display by replacing newlines with spaces.
|