@dineug/erd-editor 4.0.0 → 4.2.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/README.md +106 -280
- package/dist/components/dictionary/Dictionary.d.ts +12 -0
- package/dist/components/dictionary/Dictionary.styles.d.ts +33 -0
- package/dist/components/dictionary/checkCount.d.ts +28 -0
- package/dist/components/dictionary/checkSheet.d.ts +41 -0
- package/dist/components/dictionary/dictionary-context-menu/DictionaryContextMenu.d.ts +30 -0
- package/dist/components/dictionary/dictionaryCommit.d.ts +83 -0
- package/dist/components/dictionary/dictionaryFile.d.ts +23 -0
- package/dist/components/dictionary/dictionaryKeys.d.ts +48 -0
- package/dist/components/dictionary/dictionaryView.d.ts +65 -0
- package/dist/components/dictionary/domain-cell-editor/DomainCellEditor.d.ts +22 -0
- package/dist/components/dictionary/domain-cell-editor/DomainCellEditor.styles.d.ts +7 -0
- package/dist/components/dictionary/domain-cell-editor/openDomainCellEditor.d.ts +9 -0
- package/dist/components/dictionary/gridTheme.d.ts +18 -0
- package/dist/components/dictionary/sheets.d.ts +65 -0
- package/dist/components/erd/automatic-table-placement/flowPlacement.d.ts +4 -4
- package/dist/components/erd/canvas/DiffOutline.template.d.ts +14 -0
- package/dist/components/erd/canvas/EditOverlay.styles.d.ts +6 -0
- package/dist/components/erd/canvas/sceneHit.d.ts +5 -0
- package/dist/components/erd/canvas/sceneTokens.d.ts +8 -0
- package/dist/components/erd/canvas/table/Table.d.ts +6 -0
- package/dist/components/erd/canvas/table/blankLogicalName.d.ts +19 -0
- package/dist/components/erd/canvas/table/cellLayout.d.ts +4 -4
- package/dist/components/erd/canvas/table/column/Column.d.ts +32 -5
- package/dist/components/erd/canvas/table/dictionaryMarks.d.ts +29 -0
- package/dist/components/erd/canvas/table/useFocusTable.d.ts +1 -0
- package/dist/components/erd/diff-viewer/diff-tree/DiffTree.d.ts +19 -0
- package/dist/components/erd/diff-viewer/diff-tree/DiffTree.styles.d.ts +13 -0
- package/dist/components/erd/diff-viewer/diff-tree/diffTreeModel.d.ts +52 -0
- package/dist/components/erd/diff-viewer/diff.d.ts +21 -19
- package/dist/components/erd/draw-target/placePill.d.ts +1 -3
- package/dist/components/erd/erd-context-menu/menus/nameViewMenus.d.ts +22 -0
- package/dist/components/erd/floating-toolbar/FloatingToolbar.d.ts +7 -4
- package/dist/components/erd/floating-toolbar/nameViewDropdown.d.ts +16 -0
- package/dist/components/erd/floating-toolbar/nameViewDropdown.styles.d.ts +5 -0
- package/dist/components/erd/goToErdTarget.d.ts +40 -16
- package/dist/components/erd/readerNameView.d.ts +15 -0
- package/dist/components/erd/relationshipHighlight.d.ts +18 -0
- package/dist/components/erd/welcome-screen/welcome-hints/WelcomeHints.styles.d.ts +5 -0
- package/dist/components/erd/welcome-screen/welcomeLayout.d.ts +7 -3
- package/dist/components/erd-editor/ErdEditor.styles.d.ts +4 -0
- package/dist/components/erd-editor/viewportLayout.d.ts +52 -0
- package/dist/components/explorer/Explorer.d.ts +12 -0
- package/dist/components/explorer/explorer-controller/ExplorerController.d.ts +11 -0
- package/dist/components/explorer/explorer-panel/ExplorerPanel.d.ts +14 -0
- package/dist/components/explorer/explorer-panel/ExplorerPanel.styles.d.ts +13 -0
- package/dist/components/explorer/explorer-search/ExplorerSearch.d.ts +12 -0
- package/dist/components/explorer/explorer-search/ExplorerSearch.styles.d.ts +13 -0
- package/dist/components/explorer/explorerCommands.d.ts +28 -0
- package/dist/components/explorer/explorerNavigation.d.ts +14 -0
- package/dist/components/explorer/explorerSearch.d.ts +71 -0
- package/dist/components/explorer/explorerTree.d.ts +93 -0
- package/dist/components/explorer/explorerView.d.ts +54 -0
- package/dist/components/{find-replace → explorer}/fieldIcon.d.ts +4 -1
- package/dist/components/{find-replace → explorer}/matchTarget.d.ts +7 -9
- package/dist/components/export-image/ExportImage.d.ts +10 -0
- package/dist/components/export-image/exportImageActions.d.ts +2 -2
- package/dist/components/flowCenters.d.ts +9 -0
- package/dist/components/map-columns/nameOf.d.ts +11 -3
- package/dist/components/primitives/icon/icons.d.ts +13 -4
- package/dist/components/primitives/sash/Sash.d.ts +1 -0
- package/dist/components/primitives/tree/Tree.d.ts +30 -0
- package/dist/components/primitives/tree/Tree.styles.d.ts +5 -0
- package/dist/components/primitives/tree/treeModel.d.ts +42 -0
- package/dist/components/quick-search/QuickSearch.styles.d.ts +1 -0
- package/dist/components/quick-search/actions.d.ts +3 -4
- package/dist/components/quick-search/paletteList.d.ts +7 -0
- package/dist/components/quick-search/scopedActions.d.ts +5 -11
- package/dist/components/schema-sql/schema-sql-options/SchemaSQLOptions.d.ts +2 -2
- package/dist/components/schema-sql/schema-sql-options/SchemaSQLOptions.styles.d.ts +2 -0
- package/dist/components/schema-sql/schemaSQLView.d.ts +2 -0
- package/dist/components/settings/lockSettingRows.d.ts +2 -1
- package/dist/components/table-view/column/column-domain/ColumnDomain.d.ts +19 -0
- package/dist/components/table-view/column/column-domain/domainOptions.d.ts +13 -0
- package/dist/components/table-view/column/column-logical-name/ColumnLogicalName.d.ts +22 -0
- package/dist/components/table-view/column/column-logical-name/ColumnLogicalName.styles.d.ts +4 -0
- package/dist/components/table-view/column/columnViewText.d.ts +33 -0
- package/dist/components/table-view/column/useHintList.d.ts +24 -0
- package/dist/components/theme-builder/ThemeBuilder.styles.d.ts +3 -3
- package/dist/components/toolbar/Toolbar.styles.d.ts +0 -1
- package/dist/components/visualization/createVisualization.d.ts +2 -0
- package/dist/components/visualization/flowLayout.d.ts +2 -1
- package/dist/components/visualization/table/column/Column.d.ts +4 -0
- package/dist/components/visualization/visualization-toolbar/VisualizationToolbar.d.ts +2 -2
- package/dist/components/visualization/visualizationView.d.ts +15 -4
- package/dist/constants/layout.d.ts +18 -1
- package/dist/constants/open.d.ts +0 -1
- package/dist/constants/schema.d.ts +15 -2
- package/dist/engine/actions.d.ts +5 -2
- package/dist/engine/history.actions.d.ts +8 -0
- package/dist/engine/history.d.ts +11 -3
- package/dist/engine/index.js +17 -17
- package/dist/engine/modules/dictionary/actions.d.ts +74 -0
- package/dist/engine/modules/dictionary/atom.actions.d.ts +74 -0
- package/dist/engine/modules/dictionary/checks.d.ts +76 -0
- package/dist/engine/modules/dictionary/derive.d.ts +54 -0
- package/dist/engine/modules/dictionary/derivedNames.d.ts +23 -0
- package/dist/engine/modules/dictionary/dictionaryIndex.d.ts +73 -0
- package/dist/engine/modules/dictionary/domainLinks.d.ts +9 -0
- package/dist/engine/modules/dictionary/domainTypes.d.ts +27 -0
- package/dist/engine/modules/dictionary/entryWrites.d.ts +63 -0
- package/dist/engine/modules/dictionary/generator.actions.d.ts +126 -0
- package/dist/engine/modules/dictionary/history.d.ts +14 -0
- package/dist/engine/modules/dictionary/membership.d.ts +28 -0
- package/dist/engine/modules/dictionary/orderKeys.d.ts +13 -0
- package/dist/engine/modules/dictionary/termIndex.d.ts +24 -0
- package/dist/engine/modules/editor/actions.d.ts +18 -3
- package/dist/engine/modules/editor/atom.actions.d.ts +24 -6
- package/dist/engine/modules/editor/generator.actions.d.ts +22 -8
- package/dist/engine/modules/editor/state.d.ts +24 -0
- package/dist/engine/modules/editor/utils/nameView.d.ts +103 -0
- package/dist/engine/modules/editor/view.actions.d.ts +24 -1
- package/dist/engine/modules/editor/view.d.ts +8 -0
- package/dist/engine/modules/relationship/fkColumns.d.ts +10 -4
- package/dist/engine/modules/settings/actions.d.ts +13 -3
- package/dist/engine/modules/settings/atom.actions.d.ts +49 -5
- package/dist/engine/modules/settings/generator.actions.d.ts +2 -2
- package/dist/engine/modules/table/actions.d.ts +7 -0
- package/dist/engine/modules/table/atom.actions.d.ts +46 -0
- package/dist/engine/modules/table/generator.actions.d.ts +7 -0
- package/dist/engine/modules/table/history.d.ts +2 -0
- package/dist/engine/modules/table-column/actions.d.ts +7 -0
- package/dist/engine/modules/table-column/atom.actions.d.ts +49 -0
- package/dist/engine/modules/table-column/generator.actions.d.ts +5 -0
- package/dist/engine/modules/table-column/history.d.ts +3 -0
- package/dist/engine/modules/table-column/utils/dataType.d.ts +3 -1
- package/dist/engine/rx-store.d.ts +6 -0
- package/dist/engine/tag.d.ts +8 -0
- package/dist/erd-editor.umd.js +1586 -1018
- package/dist/i18n/messages/ar-SA.d.ts +166 -15
- package/dist/i18n/messages/de-DE.d.ts +134 -11
- package/dist/i18n/messages/en/code.d.ts +0 -1
- package/dist/i18n/messages/en/common.d.ts +11 -1
- package/dist/i18n/messages/en/contextMenu.d.ts +1 -0
- package/dist/i18n/messages/en/dictionary.d.ts +79 -0
- package/dist/i18n/messages/en/explorer.d.ts +37 -0
- package/dist/i18n/messages/en/findReplace.d.ts +7 -1
- package/dist/i18n/messages/en/index.d.ts +135 -12
- package/dist/i18n/messages/en/palette.d.ts +5 -7
- package/dist/i18n/messages/en/schemaSql.d.ts +1 -0
- package/dist/i18n/messages/en/settings.d.ts +1 -0
- package/dist/i18n/messages/en/shortcuts.d.ts +3 -1
- package/dist/i18n/messages/en/toolbar.d.ts +0 -1
- package/dist/i18n/messages/en/visualization.d.ts +2 -0
- package/dist/i18n/messages/es-ES.d.ts +142 -12
- package/dist/i18n/messages/eu-ES.d.ts +134 -11
- package/dist/i18n/messages/fa-IR.d.ts +134 -11
- package/dist/i18n/messages/fr-FR.d.ts +142 -12
- package/dist/i18n/messages/he-IL.d.ts +142 -12
- package/dist/i18n/messages/id-ID.d.ts +126 -10
- package/dist/i18n/messages/it-IT.d.ts +142 -12
- package/dist/i18n/messages/ja-JP.d.ts +126 -10
- package/dist/i18n/messages/ko-KR.d.ts +126 -10
- package/dist/i18n/messages/nl-NL.d.ts +134 -11
- package/dist/i18n/messages/pl-PL.d.ts +150 -13
- package/dist/i18n/messages/pt-BR.d.ts +142 -12
- package/dist/i18n/messages/pt-PT.d.ts +142 -12
- package/dist/i18n/messages/ro-RO.d.ts +142 -12
- package/dist/i18n/messages/ru-RU.d.ts +150 -13
- package/dist/i18n/messages/sk-SK.d.ts +150 -13
- package/dist/i18n/messages/sl-SI.d.ts +150 -13
- package/dist/i18n/messages/sv-SE.d.ts +134 -11
- package/dist/i18n/messages/tr-TR.d.ts +134 -11
- package/dist/i18n/messages/uk-UA.d.ts +150 -13
- package/dist/i18n/messages/zh-CN.d.ts +126 -10
- package/dist/i18n/messages/zh-TW.d.ts +126 -10
- package/dist/index.d.ts +1 -0
- package/dist/index.js +34929 -25093
- package/dist/internal-types/index.d.ts +6 -0
- package/dist/konva/scene/columnDropTarget.d.ts +2 -2
- package/dist/loadValue-B5ojYrZ-.js +14682 -0
- package/dist/peer/index.d.ts +4 -0
- package/dist/peer/index.js +60 -59
- package/dist/services/export-png/ExportScene.d.ts +1 -1
- package/dist/services/export-png/documentScene.d.ts +7 -1
- package/dist/services/export-png/index.d.ts +11 -5
- package/dist/services/export-png/renderPng.d.ts +4 -1
- package/dist/services/export-png/renderSvg.d.ts +4 -1
- package/dist/shared-store-S7YWEz3E.js +1656 -0
- package/dist/styles/scrollbar.styles.d.ts +1 -1
- package/dist/themes/tokens.d.ts +21 -4
- package/dist/utils/calcTable.d.ts +20 -4
- package/dist/utils/collection/domain.entity.d.ts +3 -0
- package/dist/utils/collection/term.entity.d.ts +3 -0
- package/dist/utils/collection/word.entity.d.ts +3 -0
- package/dist/utils/dictionary-csv/csv.d.ts +13 -0
- package/dist/utils/dictionary-csv/decode.d.ts +7 -0
- package/dist/utils/dictionary-csv/dictionaryCsv.d.ts +55 -0
- package/dist/utils/dictionary-csv/index.d.ts +4 -0
- package/dist/utils/diff/compareEntities.d.ts +39 -0
- package/dist/utils/diff/diffDocuments.d.ts +12 -0
- package/dist/utils/diff/index.d.ts +5 -0
- package/dist/utils/diff/pairEntities.d.ts +41 -0
- package/dist/utils/diff/types.d.ts +81 -0
- package/dist/utils/emitter.d.ts +2 -8
- package/dist/utils/file/exportFile.d.ts +10 -0
- package/dist/utils/find-replace/findMatches.d.ts +31 -12
- package/dist/utils/find-replace/matcher.d.ts +2 -0
- package/dist/utils/find-replace/present.d.ts +4 -3
- package/dist/utils/find-replace/preserveCase.d.ts +10 -0
- package/dist/utils/find-replace/replaceActions.d.ts +9 -5
- package/dist/utils/focus.d.ts +2 -0
- package/dist/utils/formatCount.d.ts +10 -0
- package/dist/utils/keyboard-shortcut/index.d.ts +11 -3
- package/dist/utils/map-columns/alignTypes.d.ts +3 -3
- package/dist/utils/schema-sql/Databricks.d.ts +2 -2
- package/dist/utils/schema-sql/MSSQL.d.ts +1 -1
- package/dist/utils/schema-sql/MariaDB.d.ts +2 -2
- package/dist/utils/schema-sql/MySQL.d.ts +2 -2
- package/dist/utils/schema-sql/Oracle.d.ts +1 -1
- package/dist/utils/schema-sql/PostgreSQL.d.ts +1 -1
- package/dist/utils/schema-sql/SQLite.d.ts +2 -2
- package/dist/utils/schema-sql/Snowflake.d.ts +2 -2
- package/dist/utils/schema-sql/options.d.ts +2 -0
- package/dist/utils/schema-sql/utils.d.ts +14 -0
- package/dist/utils/table-clipboard/copy.d.ts +2 -3
- package/dist/utils/table-clipboard/index.d.ts +9 -1
- package/dist/utils/table-clipboard/paste.d.ts +2 -2
- package/dist/utils/table-clipboard/payload.d.ts +12 -0
- package/dist/utils/takeover.d.ts +6 -0
- package/dist/utils/validation.d.ts +1 -0
- package/dist/utils/virtualRange.d.ts +15 -0
- package/dist/workers/exportPng.shared-worker.js +30 -29
- package/package.json +8 -6
- package/dist/components/erd/diff-viewer/tree-viewer/TreeViewer.d.ts +0 -12
- package/dist/components/erd/diff-viewer/tree-viewer/TreeViewer.styles.d.ts +0 -6
- package/dist/components/find-replace/FindReplace.d.ts +0 -13
- package/dist/components/find-replace/FindReplace.styles.d.ts +0 -27
- package/dist/components/find-replace/panelLayout.d.ts +0 -20
- package/dist/konva/batchDraw.d.ts +0 -42
- package/dist/konva/host.d.ts +0 -30
- package/dist/konva/jsx-types.test-d.d.ts +0 -2
- package/dist/loadValue-B3EFSe9k.js +0 -12925
- package/dist/shared-store-fUggY7sI.js +0 -1341
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const root: import('@dineug/r-html').CSSTemplateLiterals;
|
|
2
|
+
export declare const header: import('@dineug/r-html').CSSTemplateLiterals;
|
|
3
|
+
export declare const title: import('@dineug/r-html').CSSTemplateLiterals;
|
|
4
|
+
export declare const tool: import('@dineug/r-html').CSSTemplateLiterals;
|
|
5
|
+
export declare const body: import('@dineug/r-html').CSSTemplateLiterals;
|
|
6
|
+
export declare const sash: import('@dineug/r-html').CSSTemplateLiterals;
|
|
7
|
+
export declare const rowIcon: import('@dineug/r-html').CSSTemplateLiterals;
|
|
8
|
+
export declare const name: import('@dineug/r-html').CSSTemplateLiterals;
|
|
9
|
+
export declare const muted: import('@dineug/r-html').CSSTemplateLiterals;
|
|
10
|
+
export declare const count: import('@dineug/r-html').CSSTemplateLiterals;
|
|
11
|
+
export declare const dot: import('@dineug/r-html').CSSTemplateLiterals;
|
|
12
|
+
export declare const mark: import('@dineug/r-html').CSSTemplateLiterals;
|
|
13
|
+
//# sourceMappingURL=ExplorerPanel.styles.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC } from '@dineug/r-html';
|
|
2
|
+
export type ExplorerSearchProps = {
|
|
3
|
+
readonly: boolean;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* The Explorer's search above its tree: the find field and its options, the
|
|
7
|
+
* Replace row folded away to begin with, the place in the matches with the
|
|
8
|
+
* steps through them, and the kinds of text searched past the three dots.
|
|
9
|
+
*/
|
|
10
|
+
declare const ExplorerSearch: FC<ExplorerSearchProps>;
|
|
11
|
+
export default ExplorerSearch;
|
|
12
|
+
//# sourceMappingURL=ExplorerSearch.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const root: import('@dineug/r-html').CSSTemplateLiterals;
|
|
2
|
+
export declare const fields: import('@dineug/r-html').CSSTemplateLiterals;
|
|
3
|
+
export declare const rows: import('@dineug/r-html').CSSTemplateLiterals;
|
|
4
|
+
export declare const row: import('@dineug/r-html').CSSTemplateLiterals;
|
|
5
|
+
export declare const field: import('@dineug/r-html').CSSTemplateLiterals;
|
|
6
|
+
export declare const input: import('@dineug/r-html').CSSTemplateLiterals;
|
|
7
|
+
export declare const toggle: import('@dineug/r-html').CSSTemplateLiterals;
|
|
8
|
+
export declare const twisty: import('@dineug/r-html').CSSTemplateLiterals;
|
|
9
|
+
export declare const status: import('@dineug/r-html').CSSTemplateLiterals;
|
|
10
|
+
export declare const count: import('@dineug/r-html').CSSTemplateLiterals;
|
|
11
|
+
export declare const scopes: import('@dineug/r-html').CSSTemplateLiterals;
|
|
12
|
+
export declare const scope: import('@dineug/r-html').CSSTemplateLiterals;
|
|
13
|
+
//# sourceMappingURL=ExplorerSearch.styles.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RxStore } from '../../engine/rx-store';
|
|
2
|
+
import { Emitter } from '../../utils/emitter';
|
|
3
|
+
/**
|
|
4
|
+
* Whether the toolbar shows the Explorer's button pressed: open on the ERD
|
|
5
|
+
* tab and not hidden by zen mode. A panel the canvas width hides for now
|
|
6
|
+
* still counts, so a press there closes it.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isExplorerPressed(store: RxStore): boolean;
|
|
9
|
+
/** Whether the panel is drawn now, as opposed to open but stood aside. */
|
|
10
|
+
export declare const isExplorerShown: (store: RxStore) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Opens the Explorer on the ERD tab, from whichever tab is up. Under zen mode
|
|
13
|
+
* it shows the panel and leaves zen on (an owner decision of 2026-10-13).
|
|
14
|
+
* Under a takeover it does nothing.
|
|
15
|
+
*/
|
|
16
|
+
export declare function openExplorer(store: RxStore): void;
|
|
17
|
+
export declare function closeExplorer(store: RxStore): void;
|
|
18
|
+
/** The toolbar button: closes a pressed button's panel, opens any other, and does nothing under a takeover. */
|
|
19
|
+
export declare function toggleExplorer(store: RxStore): void;
|
|
20
|
+
/**
|
|
21
|
+
* The palette's and the context menu's Toggle Explorer, which do what the find
|
|
22
|
+
* chord does: close a pressed button's panel, or ask for the search otherwise.
|
|
23
|
+
* Under a takeover it does nothing.
|
|
24
|
+
*/
|
|
25
|
+
export declare function toggleExplorerSearch(store: RxStore, emitter: Emitter): void;
|
|
26
|
+
/** Sets the width a drag on the edge asks for, held between the least and the most. */
|
|
27
|
+
export declare function setExplorerWidth(store: RxStore, width: number): void;
|
|
28
|
+
//# sourceMappingURL=explorerCommands.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ErdTarget } from '../erd/goToErdTarget';
|
|
2
|
+
import { RxStore } from '../../engine/rx-store';
|
|
3
|
+
import { ExplorerNode } from './explorerTree';
|
|
4
|
+
/** Where on the canvas a row goes: none for a folder, which only folds and unfolds. */
|
|
5
|
+
export declare function targetOf(node: ExplorerNode): ErdTarget | null;
|
|
6
|
+
/**
|
|
7
|
+
* Goes to a row's or a match's target by the one jump rule, and lights a
|
|
8
|
+
* foreign key's relationship once there. Table Properties gives way first, so
|
|
9
|
+
* nothing is left under it (an owner decision of 2026-10-13).
|
|
10
|
+
*/
|
|
11
|
+
export declare function jumpTo(store: RxStore, target: ErdTarget): void;
|
|
12
|
+
/** Goes where a row stands for; a folder goes nowhere. */
|
|
13
|
+
export declare function activateNode(store: RxStore, node: ExplorerNode): void;
|
|
14
|
+
//# sourceMappingURL=explorerNavigation.d.ts.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AnyAction } from '@dineug/r-html';
|
|
2
|
+
import { RxStore } from '../../engine/rx-store';
|
|
3
|
+
import { I18n } from '../../i18n/translate';
|
|
4
|
+
import { Emitter } from '../../utils/emitter';
|
|
5
|
+
import { FindField, FindMatch, Matcher, ReplaceRun } from '../../utils/find-replace';
|
|
6
|
+
/** How long typing must pause before a regular expression is searched, as one can be slow. */
|
|
7
|
+
export declare const REGEX_INPUT_DELAY = 150;
|
|
8
|
+
/** What the search holds that no render reads: the matcher, the run, the timers. */
|
|
9
|
+
type SearchRuntime = {
|
|
10
|
+
matcher: Matcher | null;
|
|
11
|
+
pendingSearch: ReturnType<typeof setTimeout> | null;
|
|
12
|
+
/** Set while the search dispatches its own edit, whose matches it has worked out already. */
|
|
13
|
+
replacing: boolean;
|
|
14
|
+
/** Set by an edit of a searched text the tree does not show yet, one made while it stood aside say. */
|
|
15
|
+
stale: boolean;
|
|
16
|
+
/** Where the presses of Replace since the last jump or change of search began. */
|
|
17
|
+
run: ReplaceRun | null;
|
|
18
|
+
/** Set once that run has come back to where it began, which holds until a new run. */
|
|
19
|
+
stopped: boolean;
|
|
20
|
+
/** The last focus request the find field took or let go. */
|
|
21
|
+
focusTaken: number;
|
|
22
|
+
};
|
|
23
|
+
export declare function searchRuntimeOf(store: RxStore): SearchRuntime;
|
|
24
|
+
/** Whether a query is being searched, which puts the tree in its search form. */
|
|
25
|
+
export declare const isSearching: (store: RxStore) => boolean;
|
|
26
|
+
/** What the line under the fields says: the place in the matches, how many there are, or why none. */
|
|
27
|
+
export declare function countText(store: RxStore, i18n: Pick<I18n, 't'>): string;
|
|
28
|
+
/** Drops a regular expression's search still waiting for typing to pause. */
|
|
29
|
+
export declare function cancelPendingSearch(store: RxStore): void;
|
|
30
|
+
/** Whether the find field may take the keyboard now, which it marks as taken. */
|
|
31
|
+
export declare function takeSearchFocus(store: RxStore): boolean;
|
|
32
|
+
/** Whether a dialog the search trades for itself is up, which the chord then trades. */
|
|
33
|
+
export declare const hasSearchDialog: (store: RxStore) => boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Brings the keyboard back to the search of a panel shown already, keeping
|
|
36
|
+
* its current match and its run, as every host's find does pressed again.
|
|
37
|
+
*/
|
|
38
|
+
export declare function focusSearch(store: RxStore): void;
|
|
39
|
+
/**
|
|
40
|
+
* Opens the Explorer on its search, handing it the keyboard. A canvas too
|
|
41
|
+
* narrow says so rather than show nothing (an owner decision of 2026-10-13).
|
|
42
|
+
*/
|
|
43
|
+
export declare function openSearch(store: RxStore, emitter: Emitter): void;
|
|
44
|
+
export declare function goToNext(store: RxStore): void;
|
|
45
|
+
export declare function goToPrevious(store: RxStore): void;
|
|
46
|
+
/** A row picked before a regular expression's pause goes to its match among those of what is typed, if any. */
|
|
47
|
+
export declare function goToMatch(store: RxStore, match: FindMatch): void;
|
|
48
|
+
/**
|
|
49
|
+
* Replaces the current match and takes the canvas to the next one in the same
|
|
50
|
+
* dispatch, so one undo takes back both. A run that comes back to where it
|
|
51
|
+
* began stops there rather than go round to what it wrote.
|
|
52
|
+
*/
|
|
53
|
+
export declare function replaceOne(store: RxStore): void;
|
|
54
|
+
/** Replaces every match in one dispatch: one history entry and one batch to every peer. */
|
|
55
|
+
export declare function replaceAll(store: RxStore): void;
|
|
56
|
+
/** Searches plain text at once, as it is quick, and a regular expression once typing pauses. */
|
|
57
|
+
export declare function setQuery(store: RxStore, query: string): void;
|
|
58
|
+
export declare function setReplacement(store: RxStore, replacement: string): void;
|
|
59
|
+
/** Match Case, Whole Word and Regex search again; Preserve Case only shapes what Replace writes. */
|
|
60
|
+
export declare function toggleOption(store: RxStore, key: 'matchCase' | 'wholeWord' | 'regex' | 'preserveCase'): void;
|
|
61
|
+
export declare function toggleField(store: RxStore, field: FindField): void;
|
|
62
|
+
/**
|
|
63
|
+
* An edit of a searched text leaves the matches stale: searched again once
|
|
64
|
+
* the edits pause while the panel is shown, or at once by the batch that shows
|
|
65
|
+
* it again. A hover, a selection or a scroll edits none and searches nothing.
|
|
66
|
+
*/
|
|
67
|
+
export declare function noteBatch(store: RxStore, actions: AnyAction[]): boolean;
|
|
68
|
+
/** Searches again when an edit left the matches stale and the search is on screen. */
|
|
69
|
+
export declare function searchIfStale(store: RxStore): void;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=explorerSearch.d.ts.map
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { TreeNode } from '../primitives/tree/treeModel';
|
|
2
|
+
import { RootState } from '../../engine/state';
|
|
3
|
+
import { FindMatch } from '../../utils/find-replace';
|
|
4
|
+
export type ExplorerFolder = 'tables' | 'tableGroups' | 'memos' | 'columns' | 'indexes' | 'foreignKeys';
|
|
5
|
+
/** The matches a search found in a row's own name, which it marks; none outside a search. */
|
|
6
|
+
type NameMatches = {
|
|
7
|
+
matches?: ReadonlyArray<FindMatch>;
|
|
8
|
+
};
|
|
9
|
+
/** What one row of the Explorer stands for, and what it shows of it. */
|
|
10
|
+
export type ExplorerNode = {
|
|
11
|
+
kind: 'folder';
|
|
12
|
+
folder: ExplorerFolder;
|
|
13
|
+
count: number;
|
|
14
|
+
} | ({
|
|
15
|
+
kind: 'table';
|
|
16
|
+
tableId: string;
|
|
17
|
+
name: string;
|
|
18
|
+
logicalName: string;
|
|
19
|
+
} & NameMatches) | ({
|
|
20
|
+
kind: 'column';
|
|
21
|
+
tableId: string;
|
|
22
|
+
columnId: string;
|
|
23
|
+
name: string;
|
|
24
|
+
logicalName: string;
|
|
25
|
+
dataType: string;
|
|
26
|
+
primaryKey: boolean;
|
|
27
|
+
foreignKey: boolean;
|
|
28
|
+
} & NameMatches) | ({
|
|
29
|
+
kind: 'index';
|
|
30
|
+
tableId: string;
|
|
31
|
+
indexId: string;
|
|
32
|
+
name: string;
|
|
33
|
+
unique: boolean;
|
|
34
|
+
columns: string;
|
|
35
|
+
} & NameMatches) | {
|
|
36
|
+
kind: 'foreignKey';
|
|
37
|
+
relationshipId: string;
|
|
38
|
+
tableId: string;
|
|
39
|
+
/** Whether its columns key the child too, which the connector draws in the PK and FK colour. */
|
|
40
|
+
identification: boolean;
|
|
41
|
+
columns: string;
|
|
42
|
+
parent: string;
|
|
43
|
+
parentColumns: string;
|
|
44
|
+
} | ({
|
|
45
|
+
kind: 'tableGroup';
|
|
46
|
+
tableGroupId: string;
|
|
47
|
+
name: string;
|
|
48
|
+
color: string;
|
|
49
|
+
} & NameMatches) | {
|
|
50
|
+
kind: 'groupTable';
|
|
51
|
+
tableGroupId: string;
|
|
52
|
+
tableId: string;
|
|
53
|
+
name: string;
|
|
54
|
+
logicalName: string;
|
|
55
|
+
} | {
|
|
56
|
+
kind: 'memo';
|
|
57
|
+
memoId: string;
|
|
58
|
+
text: string;
|
|
59
|
+
}
|
|
60
|
+
/** One match in a comment or a memo, shown as the stretch of text around it. */
|
|
61
|
+
| {
|
|
62
|
+
kind: 'excerpt';
|
|
63
|
+
match: FindMatch;
|
|
64
|
+
};
|
|
65
|
+
export type ExplorerTreeNode = TreeNode<ExplorerNode>;
|
|
66
|
+
/**
|
|
67
|
+
* The Explorer's folders, Tables, Table Groups and Memos, each only while it
|
|
68
|
+
* holds something and groups and memos only while shown. Tables and groups go
|
|
69
|
+
* by name, memos as the document has them; a table's folders wait for its expanding.
|
|
70
|
+
*/
|
|
71
|
+
export declare function buildExplorerTree(state: RootState): ExplorerTreeNode[];
|
|
72
|
+
/**
|
|
73
|
+
* The row a match shows on in the search's tree: a name's own row, or the
|
|
74
|
+
* excerpt row of a comment or memo, one for each match there.
|
|
75
|
+
*/
|
|
76
|
+
export declare function matchRowId(match: FindMatch): string;
|
|
77
|
+
/** The rows above a match's row in the search's tree, which must be open for the row to be drawn. */
|
|
78
|
+
export declare function matchAncestorIds(match: FindMatch): string[];
|
|
79
|
+
export type SearchTree = {
|
|
80
|
+
roots: ExplorerTreeNode[];
|
|
81
|
+
/** Every row with children, which a search shows open unless folded. */
|
|
82
|
+
branchIds: string[];
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* The tree a search shows: the rows that hold a match and the rows above
|
|
86
|
+
* them, in the order the search walked, with a comment's or memo's matches as
|
|
87
|
+
* rows of their own. A group's tables are left out, found under Tables alone.
|
|
88
|
+
*/
|
|
89
|
+
export declare function buildSearchTree(state: RootState, matches: ReadonlyArray<FindMatch>): SearchTree;
|
|
90
|
+
/** What a search shows open: every row with children but those folded. */
|
|
91
|
+
export declare function searchExpanded(branchIds: ReadonlyArray<string>, collapsed: Readonly<Record<string, true>>): Record<string, true>;
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=explorerTree.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { RxStore } from '../../engine/rx-store';
|
|
2
|
+
import { FieldOrder, FindField, FindMatch } from '../../utils/find-replace';
|
|
3
|
+
/** The folder the tree shows open as the Explorer first opens. */
|
|
4
|
+
export declare const TABLES_FOLDER_ID = "f:tables";
|
|
5
|
+
export type ExplorerView = {
|
|
6
|
+
open: boolean;
|
|
7
|
+
/** Set by an opening while zen mode is on, which shows the panel without leaving zen. */
|
|
8
|
+
zenReveal: boolean;
|
|
9
|
+
width: number;
|
|
10
|
+
/** Replaced whole on every change: r-html tracks no Set, Map or frozen value. */
|
|
11
|
+
expanded: Record<string, true>;
|
|
12
|
+
/** The row the keyboard is on, kept by node id so a row added before it moves nothing. */
|
|
13
|
+
activeId: string | null;
|
|
14
|
+
query: string;
|
|
15
|
+
replacement: string;
|
|
16
|
+
matchCase: boolean;
|
|
17
|
+
wholeWord: boolean;
|
|
18
|
+
regex: boolean;
|
|
19
|
+
preserveCase: boolean;
|
|
20
|
+
/** Replaced whole on every change, a copy of the frozen default to begin with. */
|
|
21
|
+
fields: FindField[];
|
|
22
|
+
/** Whether the Replace row is unfolded, and the row of scopes past the three dots. */
|
|
23
|
+
replaceOpen: boolean;
|
|
24
|
+
scopesOpen: boolean;
|
|
25
|
+
/** The match the canvas was last taken to, by its place in the matches; -1 for none. */
|
|
26
|
+
current: number;
|
|
27
|
+
status: PressStatus | null;
|
|
28
|
+
matches: FindMatch[];
|
|
29
|
+
error: 'empty' | 'invalid' | null;
|
|
30
|
+
/** The walk's order: by name, or the one a run of Replace presses began with. */
|
|
31
|
+
order: FieldOrder | null;
|
|
32
|
+
/** The folders and rows folded while a search shows, every other one open. */
|
|
33
|
+
searchCollapsed: Record<string, true>;
|
|
34
|
+
/** Raised to ask the find field for the keyboard; dropped unless a drawn panel takes it. */
|
|
35
|
+
focusRequest: number;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* What the last press of Replace or Replace All said, kept as what it means
|
|
39
|
+
* rather than as text, so a switch of language reads it again in the new one.
|
|
40
|
+
*/
|
|
41
|
+
export type PressStatus = 'noMoreMatches' | 'noChanges' | {
|
|
42
|
+
replaced: number;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* The Explorer's own state, one per editor, kept until the element goes:
|
|
46
|
+
* never in the store, the file, the history or a peer, so it survives a tab
|
|
47
|
+
* change and a reload of the document alike.
|
|
48
|
+
*/
|
|
49
|
+
export declare function explorerViewOf(store: RxStore): ExplorerView;
|
|
50
|
+
/** Where the tree is scrolled to, unobserved, so a scroll renders nothing outside the tree. */
|
|
51
|
+
export declare function explorerScrollOf(store: RxStore): {
|
|
52
|
+
top: number;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=explorerView.d.ts.map
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { DOMTemplateLiterals } from '@dineug/r-html';
|
|
2
2
|
import { FindField } from '../../utils/find-replace';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The icon a result row carries for the kind of text it was found in. A
|
|
5
|
+
* logical name draws a column's, since only the column search lists one.
|
|
6
|
+
*/
|
|
4
7
|
export declare function fieldIcon(field: FindField, size?: number): DOMTemplateLiterals;
|
|
5
8
|
//# sourceMappingURL=fieldIcon.d.ts.map
|
|
@@ -4,23 +4,21 @@ import { GeneratorAction } from '../../engine/generator.actions';
|
|
|
4
4
|
import { RootState } from '../../engine/state';
|
|
5
5
|
import { FindMatch } from '../../utils/find-replace';
|
|
6
6
|
/**
|
|
7
|
-
* Where on the ERD canvas
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Where on the ERD canvas a match's text is edited: its table, column cell,
|
|
8
|
+
* memo or table group, with the match, which a cell too wide is scrolled to
|
|
9
|
+
* by. An index goes to its table, a logical name to the cell the view draws.
|
|
10
10
|
*/
|
|
11
11
|
export declare function toErdTarget(match: FindMatch): ErdTarget;
|
|
12
12
|
/**
|
|
13
13
|
* The state as a jump measures it once a replacement is in: the field holding
|
|
14
|
-
* the new text at the width its reducer gives it
|
|
15
|
-
*
|
|
14
|
+
* the new text at the width its reducer gives it, a name a logical name derives
|
|
15
|
+
* left as it was. A memo, an index or a group name sizes no table.
|
|
16
16
|
*/
|
|
17
|
-
export declare function withReplacement(state: RootState, { toWidth }: EngineContext,
|
|
17
|
+
export declare function withReplacement(state: RootState, { toWidth }: EngineContext, match: FindMatch, value: string): RootState;
|
|
18
18
|
/**
|
|
19
19
|
* The jump Replace makes to the next match, in the replacement's own dispatch.
|
|
20
20
|
* A batch is read against the state before it, so the jump measures the table
|
|
21
21
|
* the replacement widens or narrows from what the replacement writes.
|
|
22
|
-
*
|
|
23
|
-
* @param covered How far in from the left edge the panel hides the canvas.
|
|
24
22
|
*/
|
|
25
|
-
export declare const showNextMatchAction$: (next: FindMatch, replaced: FindMatch, value: string
|
|
23
|
+
export declare const showNextMatchAction$: (next: FindMatch, replaced: FindMatch, value: string) => GeneratorAction;
|
|
26
24
|
//# sourceMappingURL=matchTarget.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FC } from '@dineug/r-html';
|
|
2
|
+
import { RootState } from '../../engine/state';
|
|
2
3
|
import { ThemeOptions } from '../../themes/radix-ui-theme';
|
|
3
4
|
export type ExportImageProps = {
|
|
4
5
|
/** The gray and accent the editor's preset is built from. */
|
|
@@ -13,6 +14,15 @@ export type ExportScale = (typeof EXPORT_SCALES)[number];
|
|
|
13
14
|
export declare const PREVIEW_MAX_SIDE = 1280;
|
|
14
15
|
/** How long the toggles rest before the preview is drawn again. */
|
|
15
16
|
export declare const PREVIEW_DEBOUNCE_MS = 200;
|
|
17
|
+
/**
|
|
18
|
+
* The document an image is drawn from: the words and terms left out, which
|
|
19
|
+
* only the checks read and an image marks none of, and the domains kept,
|
|
20
|
+
* whose names the logical view's type cells draw.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const doc = toExportJson(store.state);
|
|
24
|
+
*/
|
|
25
|
+
export declare const toExportJson: (state: RootState) => string;
|
|
16
26
|
/**
|
|
17
27
|
* The export image dialog: a preview, the options, the buttons that write a png
|
|
18
28
|
* or an svg or copy a png, and a close button. The options last for the
|
|
@@ -32,9 +32,9 @@ export declare function exportImagePng({ emitter }: AppContext, request: ImageRe
|
|
|
32
32
|
* a failure is reported once the file is done.
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
35
|
-
* await exportImageSvg(app, { doc, theme, toWidth, i18n }, databaseName);
|
|
35
|
+
* await exportImageSvg(app, { doc, theme, toWidth, i18n, nameViewMode }, databaseName);
|
|
36
36
|
*/
|
|
37
|
-
export declare function exportImageSvg({ emitter }: AppContext, { doc, theme, toWidth, i18n }: SvgRequest, databaseName: string): Promise<void>;
|
|
37
|
+
export declare function exportImageSvg({ emitter }: AppContext, { doc, theme, toWidth, i18n, nameViewMode }: SvgRequest, databaseName: string): Promise<void>;
|
|
38
38
|
/**
|
|
39
39
|
* Puts the document on the clipboard as a png. The clipboard write starts in
|
|
40
40
|
* the click that called this, before any await, so call it from the handler
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppContext } from './appContext';
|
|
2
|
+
import { CenterStep } from '../engine/modules/editor/state';
|
|
2
3
|
/**
|
|
3
4
|
* Narrows the Flow view to the tables given and their one hop. State alone:
|
|
4
5
|
* the placement loop reads the display set it names and asks for the layout,
|
|
@@ -7,4 +8,12 @@ import { AppContext } from './appContext';
|
|
|
7
8
|
export declare function focusFlowView(app: AppContext, tableIds: string[]): void;
|
|
8
9
|
/** Widens the Flow view back to everything it placed, through that same one channel: state alone. */
|
|
9
10
|
export declare function showAllFlowView(app: AppContext): void;
|
|
11
|
+
/**
|
|
12
|
+
* Stands the Flow view on the centers a step the way given reaches, through that
|
|
13
|
+
* same one channel: state alone. With nowhere to go it dispatches nothing, so a
|
|
14
|
+
* dimmed button or a chord pressed again wakes no sort and drops no set.
|
|
15
|
+
*/
|
|
16
|
+
export declare function stepFlowView(app: AppContext, step: CenterStep): void;
|
|
17
|
+
/** Whether a step the way given would move the Flow view, past the sets it would pass over. */
|
|
18
|
+
export declare function canStepFlowView(app: AppContext, step: CenterStep): boolean;
|
|
10
19
|
//# sourceMappingURL=flowCenters.d.ts.map
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import { RootState } from '../../engine/state';
|
|
1
2
|
import { I18n } from '../../i18n/translate';
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
type ViewSettings = Pick<RootState['settings'], 'nameViewMode'>;
|
|
4
|
+
/**
|
|
5
|
+
* A table's or column's name as Map Columns, the draw-target buttons and the
|
|
6
|
+
* check sheet write it: the one the name view shows, the name after the
|
|
7
|
+
* logical name in the view of both, and unnamed where it shows none.
|
|
8
|
+
*/
|
|
9
|
+
export declare function nameOf(entity: {
|
|
4
10
|
name: string;
|
|
5
|
-
|
|
11
|
+
logicalName: string;
|
|
12
|
+
} | undefined, { t }: Pick<I18n, 't'>, settings: ViewSettings): string;
|
|
13
|
+
export {};
|
|
6
14
|
//# sourceMappingURL=nameOf.d.ts.map
|
|
@@ -9,26 +9,31 @@ declare const LUCIDE_ICON: {
|
|
|
9
9
|
'arrow-right': IconNode;
|
|
10
10
|
'arrow-up': IconNode;
|
|
11
11
|
atom: IconNode;
|
|
12
|
+
'book-type': IconNode;
|
|
12
13
|
braces: IconNode;
|
|
13
14
|
brackets: IconNode;
|
|
14
15
|
'case-sensitive': IconNode;
|
|
16
|
+
'case-upper': IconNode;
|
|
15
17
|
check: IconNode;
|
|
16
18
|
'chevron-down': IconNode;
|
|
17
19
|
'chevron-right': IconNode;
|
|
20
|
+
'chevrons-down-up': IconNode;
|
|
18
21
|
code: IconNode;
|
|
19
|
-
'columns-2': IconNode;
|
|
20
22
|
contrast: IconNode;
|
|
21
23
|
copy: IconNode;
|
|
22
24
|
database: IconNode;
|
|
23
|
-
diff: IconNode;
|
|
24
25
|
download: IconNode;
|
|
26
|
+
ellipsis: IconNode;
|
|
25
27
|
'external-link': IconNode;
|
|
26
28
|
eye: IconNode;
|
|
27
29
|
'file-diff': IconNode;
|
|
28
30
|
'file-image': IconNode;
|
|
29
31
|
'file-input': IconNode;
|
|
30
32
|
'file-output': IconNode;
|
|
33
|
+
folder: IconNode;
|
|
34
|
+
'folder-open': IconNode;
|
|
31
35
|
fullscreen: IconNode;
|
|
36
|
+
'funnel-x': IconNode;
|
|
32
37
|
'grip-vertical': IconNode;
|
|
33
38
|
group: IconNode;
|
|
34
39
|
hand: IconNode;
|
|
@@ -36,9 +41,14 @@ declare const LUCIDE_ICON: {
|
|
|
36
41
|
'key-round': IconNode;
|
|
37
42
|
languages: IconNode;
|
|
38
43
|
link: IconNode;
|
|
44
|
+
list: IconNode;
|
|
45
|
+
'list-plus': IconNode;
|
|
46
|
+
'list-tree': IconNode;
|
|
47
|
+
'list-x': IconNode;
|
|
39
48
|
'loader-circle': IconNode;
|
|
40
49
|
lock: IconNode;
|
|
41
50
|
'lock-open': IconNode;
|
|
51
|
+
logs: IconNode;
|
|
42
52
|
maximize: IconNode;
|
|
43
53
|
'message-square': IconNode;
|
|
44
54
|
minimize: IconNode;
|
|
@@ -62,17 +72,16 @@ declare const LUCIDE_ICON: {
|
|
|
62
72
|
'rotate-ccw-clock': IconNode;
|
|
63
73
|
search: IconNode;
|
|
64
74
|
settings: IconNode;
|
|
65
|
-
'settings-2': IconNode;
|
|
66
75
|
'share-2': IconNode;
|
|
67
76
|
spline: IconNode;
|
|
68
77
|
'sticky-note': IconNode;
|
|
69
78
|
sun: IconNode;
|
|
70
79
|
'table-2': IconNode;
|
|
71
80
|
'table-properties': IconNode;
|
|
72
|
-
'text-search': IconNode;
|
|
73
81
|
'triangle-alert': IconNode;
|
|
74
82
|
'undo-2': IconNode;
|
|
75
83
|
ungroup: IconNode;
|
|
84
|
+
upload: IconNode;
|
|
76
85
|
'wand-sparkles': IconNode;
|
|
77
86
|
waypoints: IconNode;
|
|
78
87
|
'whole-word': IconNode;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DOMTemplateLiterals, FC } from '@dineug/r-html';
|
|
2
|
+
import { TreeRow } from './treeModel';
|
|
3
|
+
export declare const TREE_ROW_HEIGHT = 22;
|
|
4
|
+
export declare const TREE_OVERSCAN = 8;
|
|
5
|
+
export type TreeProps<T = any> = {
|
|
6
|
+
rows: ReadonlyArray<TreeRow<T>>;
|
|
7
|
+
/** The row the keyboard is on, named to a reader by aria-activedescendant. */
|
|
8
|
+
activeId: string | null;
|
|
9
|
+
/** The row a host marks as the current one, such as the match it jumped to. */
|
|
10
|
+
currentId?: string | null;
|
|
11
|
+
/** Scrolls this row into view each time a different id arrives; a null between two arrivals of one id scrolls it again. */
|
|
12
|
+
revealId?: string | null;
|
|
13
|
+
label: string;
|
|
14
|
+
dir?: 'ltr' | 'rtl';
|
|
15
|
+
/** Read once as the tree mounts, so a scroll position kept outside comes back. */
|
|
16
|
+
getScrollTop: () => number;
|
|
17
|
+
onScroll?: (top: number) => void;
|
|
18
|
+
onToggle?: (id: string, expanded: boolean) => void;
|
|
19
|
+
onActivate?: (row: TreeRow<T>) => void;
|
|
20
|
+
onActiveChange?: (id: string) => void;
|
|
21
|
+
renderRow: (row: TreeRow<T>) => DOMTemplateLiterals;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A virtualized tree with fixed-height rows. It renders the rows in view, the
|
|
25
|
+
* overscan and the active row, answers the tree keys and leaves every policy to
|
|
26
|
+
* its host: what a row shows, what activating one does, Escape and the chords.
|
|
27
|
+
*/
|
|
28
|
+
declare const Tree: FC<TreeProps>;
|
|
29
|
+
export default Tree;
|
|
30
|
+
//# sourceMappingURL=Tree.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const root: import('@dineug/r-html').CSSTemplateLiterals;
|
|
2
|
+
export declare const space: import('@dineug/r-html').CSSTemplateLiterals;
|
|
3
|
+
export declare const row: import('@dineug/r-html').CSSTemplateLiterals;
|
|
4
|
+
export declare const twisty: import('@dineug/r-html').CSSTemplateLiterals;
|
|
5
|
+
//# sourceMappingURL=Tree.styles.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One node of a tree a host builds. Its children are asked for only while it
|
|
3
|
+
* is expanded, so a host can hand over a large document without building rows
|
|
4
|
+
* for what stays folded.
|
|
5
|
+
*/
|
|
6
|
+
export type TreeNode<T = unknown> = {
|
|
7
|
+
id: string;
|
|
8
|
+
hasChildren: boolean;
|
|
9
|
+
children: () => ReadonlyArray<TreeNode<T>>;
|
|
10
|
+
data: T;
|
|
11
|
+
};
|
|
12
|
+
/** A node as the tree lays it out: its depth and its place among its siblings. */
|
|
13
|
+
export type TreeRow<T = unknown> = {
|
|
14
|
+
node: TreeNode<T>;
|
|
15
|
+
/** One for a root. */
|
|
16
|
+
level: number;
|
|
17
|
+
setSize: number;
|
|
18
|
+
/** One for the first sibling. */
|
|
19
|
+
posInSet: number;
|
|
20
|
+
expanded: boolean;
|
|
21
|
+
parentId: string | null;
|
|
22
|
+
};
|
|
23
|
+
export type ExpandedIds = Readonly<Record<string, true>>;
|
|
24
|
+
/** The rows a tree shows: every root, and the children of each expanded node, depth first. */
|
|
25
|
+
export declare function flattenTree<T>(roots: ReadonlyArray<TreeNode<T>>, expanded: ExpandedIds): TreeRow<T>[];
|
|
26
|
+
/** What a key asks of the tree: move the active row, or fold or unfold one. */
|
|
27
|
+
export type TreeMove = {
|
|
28
|
+
type: 'focus';
|
|
29
|
+
id: string;
|
|
30
|
+
index: number;
|
|
31
|
+
} | {
|
|
32
|
+
type: 'toggle';
|
|
33
|
+
id: string;
|
|
34
|
+
expanded: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Reads a tree key the way the WAI-ARIA tree pattern does. Up and Down step,
|
|
38
|
+
* Home and End go to either end, the inline end unfolds or steps into the
|
|
39
|
+
* first child and the inline start folds or steps out, mirrored right to left.
|
|
40
|
+
*/
|
|
41
|
+
export declare function moveFocus<T>(rows: ReadonlyArray<TreeRow<T>>, activeId: string | null, key: string, dir?: 'ltr' | 'rtl'): TreeMove | null;
|
|
42
|
+
//# sourceMappingURL=treeModel.d.ts.map
|
|
@@ -8,6 +8,7 @@ export declare const hintItem: import('@dineug/r-html').CSSTemplateLiterals;
|
|
|
8
8
|
export declare const empty: import('@dineug/r-html').CSSTemplateLiterals;
|
|
9
9
|
export declare const prefix: import('@dineug/r-html').CSSTemplateLiterals;
|
|
10
10
|
export declare const list: import('@dineug/r-html').CSSTemplateLiterals;
|
|
11
|
+
export declare const space: import('@dineug/r-html').CSSTemplateLiterals;
|
|
11
12
|
export declare const action: import('@dineug/r-html').CSSTemplateLiterals;
|
|
12
13
|
export declare const icon: import('@dineug/r-html').CSSTemplateLiterals;
|
|
13
14
|
export declare const name: import('@dineug/r-html').CSSTemplateLiterals;
|
|
@@ -5,7 +5,6 @@ import { LocaleOption } from '../../i18n/locales';
|
|
|
5
5
|
import { LabeledMenu } from '../../i18n/menuLabel';
|
|
6
6
|
import { I18n, PlainMessageKey } from '../../i18n/translate';
|
|
7
7
|
import { AppearanceOption } from '../../themes/radix-ui-theme';
|
|
8
|
-
import { FindReplaceQuery } from '../../utils/emitter';
|
|
9
8
|
import { FindMatch } from '../../utils/find-replace';
|
|
10
9
|
export type Action = {
|
|
11
10
|
icon?: DOMTemplateLiterals | null;
|
|
@@ -14,6 +13,8 @@ export type Action = {
|
|
|
14
13
|
shortcut?: string;
|
|
15
14
|
/** The table a row jumps to, whose keyword names the kind of row, not the table. */
|
|
16
15
|
tableId?: string;
|
|
16
|
+
/** A table row's own names, its name and logical name, which a search reads whatever the name view shows. */
|
|
17
|
+
tableNames?: string[];
|
|
17
18
|
/** What choosing the row types into the input, which stays open, instead of running a command. */
|
|
18
19
|
insert?: string;
|
|
19
20
|
/** The English of a translated name and keywords, each its own text, which a search also reads and the list never shows. */
|
|
@@ -65,9 +66,7 @@ export declare function createScopeActions(app: AppContext, i18n?: I18n, prefere
|
|
|
65
66
|
export declare function createPreferenceActions(i18n: I18n, { appearance, locale }: PalettePreferences): Action[];
|
|
66
67
|
/** The row for one field a search found, saying where it is, which stands the reader on it when chosen. */
|
|
67
68
|
export declare function createMatchAction(state: RootState, match: FindMatch, i18n?: I18n): Action;
|
|
68
|
-
/** The
|
|
69
|
-
export declare function createShowAllAction(count: number, payload: FindReplaceQuery, i18n?: I18n): Action;
|
|
70
|
-
/** The five tabs the Tab row opens, each but the one shown. */
|
|
69
|
+
/** The six tabs the Tab row opens, each but the one shown. */
|
|
71
70
|
export declare function createTabActions(i18n?: I18n): Action[];
|
|
72
71
|
export {};
|
|
73
72
|
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** The height of one palette row, which the list lays out every row at. */
|
|
2
|
+
export declare const PALETTE_ROW_HEIGHT = 45;
|
|
3
|
+
/** The tallest the list stands before it scrolls. */
|
|
4
|
+
export declare const PALETTE_LIST_MAX_HEIGHT = 400;
|
|
5
|
+
/** How tall the list stands for so many rows: all of them, up to its tallest. */
|
|
6
|
+
export declare const paletteListHeight: (count: number) => number;
|
|
7
|
+
//# sourceMappingURL=paletteList.d.ts.map
|