@dineug/erd-editor 3.10.0 → 4.0.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 +316 -147
- package/dist/components/appContext.d.ts +4 -0
- package/dist/components/erd/Erd.d.ts +3 -0
- package/dist/components/erd/automatic-table-placement/AutomaticTablePlacement.d.ts +2 -1
- package/dist/components/erd/automatic-table-placement/createAutomaticTablePlacement.d.ts +38 -2
- package/dist/components/erd/automatic-table-placement/elkPlacement.d.ts +42 -0
- package/dist/components/erd/automatic-table-placement/flowPlacement.d.ts +21 -0
- package/dist/components/erd/automatic-table-placement/placementActions.d.ts +14 -0
- package/dist/components/erd/automatic-table-placement/runElkPlacement.d.ts +0 -11
- package/dist/components/erd/canvas/SceneIcon.template.d.ts +2 -2
- package/dist/components/erd/canvas/entityDrag.d.ts +17 -1
- package/dist/components/erd/canvas/middleButtonPan.d.ts +11 -0
- package/dist/components/erd/canvas/sceneTokens.d.ts +38 -0
- package/dist/components/erd/canvas/table/Table.d.ts +9 -1
- package/dist/components/erd/canvas/table/doubleClick.d.ts +3 -4
- package/dist/components/erd/canvas/table-group/TableGroup.d.ts +17 -0
- package/dist/components/erd/canvas/table-group/TableGroupBody.d.ts +17 -0
- package/dist/components/erd/canvas/table-group/TableGroupDropTarget.d.ts +10 -0
- package/dist/components/erd/canvas/table-group/TableGroupSash.d.ts +35 -0
- package/dist/components/erd/canvas/table-group/TableGroups.d.ts +10 -0
- package/dist/components/erd/canvas/table-group/tableGroupBox.d.ts +40 -0
- package/dist/components/erd/canvas/table-group/titleLayout.d.ts +45 -0
- package/dist/components/erd/canvas/useMoveEntity.d.ts +2 -0
- package/dist/components/erd/draw-target/DrawTargetButtons.d.ts +16 -0
- package/dist/components/erd/draw-target/DrawTargetButtons.styles.d.ts +14 -0
- package/dist/components/erd/draw-target/drawTargetState.d.ts +26 -0
- package/dist/components/erd/draw-target/findDrawTarget.d.ts +29 -0
- package/dist/components/erd/draw-target/placePill.d.ts +49 -0
- package/dist/components/erd/erd-context-menu/ErdContextMenu.d.ts +6 -0
- package/dist/components/erd/erd-context-menu/menus/drawRelationshipMenus.d.ts +3 -0
- package/dist/components/erd/erd-context-menu/menus/exportMenus.d.ts +7 -2
- package/dist/components/erd/erd-context-menu/menus/importMenus.d.ts +5 -1
- package/dist/components/erd/erd-context-menu/menus/relationshipMenus.d.ts +6 -2
- package/dist/components/erd/erd-context-menu/menus/showMenus.d.ts +3 -1
- package/dist/components/erd/erd-context-menu/menus/tablePlacementMenus.d.ts +3 -0
- package/dist/components/erd/floating-toolbar/ToolbarCompass.template.d.ts +3 -1
- package/dist/components/erd/hitTest.d.ts +16 -1
- package/dist/components/erd/minimap/MinimapScene.d.ts +1 -1
- package/dist/components/erd/minimap/table/Table.d.ts +3 -3
- package/dist/components/erd/minimap/table-group/TableGroup.d.ts +17 -0
- package/dist/components/erd/table-group/TableGroupDraft.d.ts +15 -0
- package/dist/components/erd/table-group/TableGroupDraft.styles.d.ts +6 -0
- package/dist/components/erd/table-group/tableGroupName.d.ts +21 -0
- package/dist/components/erd/table-group/useTableGroupDraw.d.ts +25 -0
- package/dist/components/erd/table-properties/TableProperties.styles.d.ts +2 -2
- package/dist/components/erd/table-properties/table-properties-indexes/indexes-key/IndexesKey.d.ts +6 -0
- package/dist/components/erd/table-properties/table-properties-tabs/TablePropertiesTabs.d.ts +3 -0
- package/dist/components/erd/welcome-screen/WelcomeScreen.d.ts +17 -0
- package/dist/components/erd/welcome-screen/WelcomeScreen.styles.d.ts +17 -0
- package/dist/components/erd/welcome-screen/welcome-hints/WelcomeHints.d.ts +21 -0
- package/dist/components/erd/welcome-screen/welcome-hints/WelcomeHints.styles.d.ts +14 -0
- package/dist/components/erd/welcome-screen/welcome-hints/hintArrows.d.ts +10 -0
- package/dist/components/erd/welcome-screen/welcomeLayout.d.ts +87 -0
- package/dist/components/erd-editor/ErdEditor.d.ts +66 -6
- package/dist/components/erd-editor/useErdEditorAttachElement.d.ts +14 -1
- package/dist/components/export-image/ExportImage.d.ts +23 -0
- package/dist/components/export-image/ExportImage.styles.d.ts +34 -0
- package/dist/components/export-image/exportImageActions.d.ts +48 -0
- package/dist/components/find-replace/panelLayout.d.ts +4 -1
- package/dist/components/generator-code/GeneratorCode.d.ts +1 -0
- package/dist/components/generator-code/generator-code-context-menu/GeneratorCodeContextMenu.d.ts +3 -0
- package/dist/components/generator-code/generator-code-context-menu/menus/columnNameCaseMenus.d.ts +3 -0
- package/dist/components/generator-code/generator-code-context-menu/menus/languageMenus.d.ts +8 -0
- package/dist/components/generator-code/generator-code-context-menu/menus/tableNameCaseMenus.d.ts +3 -0
- package/dist/components/generator-code/generator-code-options/GeneratorCodeOptions.d.ts +17 -0
- package/dist/components/generator-code/generator-code-options/GeneratorCodeOptions.styles.d.ts +5 -0
- package/dist/components/generator-code/generatorCodeView.d.ts +12 -0
- package/dist/components/generator-code/languageSettings.d.ts +14 -0
- package/dist/components/locale-picker/LocalePicker.d.ts +13 -0
- package/dist/components/locale-picker/LocalePicker.styles.d.ts +19 -0
- package/dist/components/localeContext.d.ts +10 -0
- package/dist/components/localized/Localized.d.ts +18 -0
- package/dist/components/map-columns/MapColumnsBody.d.ts +24 -0
- package/dist/components/map-columns/MapColumnsDialog.d.ts +13 -0
- package/dist/components/map-columns/MapColumnsDialog.styles.d.ts +38 -0
- package/dist/components/map-columns/mapColumnsAction.d.ts +13 -0
- package/dist/components/map-columns/nameOf.d.ts +6 -0
- package/dist/components/map-columns/openMapColumns.d.ts +9 -0
- package/dist/components/primitives/code-block/CodeBlock.d.ts +6 -1
- package/dist/components/primitives/code-block/CodeBlock.styles.d.ts +2 -0
- package/dist/components/primitives/color-picker/ColorPicker.d.ts +10 -1
- package/dist/components/primitives/color-picker/ColorPicker.styles.d.ts +25 -0
- package/dist/components/primitives/color-picker/colorModel.d.ts +36 -0
- package/dist/components/primitives/color-picker/presetColors.d.ts +13 -0
- package/dist/components/primitives/color-picker/resolveColor.d.ts +7 -0
- package/dist/components/primitives/context-menu/ContextMenu.d.ts +2 -0
- package/dist/components/primitives/context-menu/context-menu-content/ContextMenuContent.d.ts +1 -0
- package/dist/components/primitives/context-menu/context-menu-content/fitMenu.d.ts +4 -4
- package/dist/components/primitives/context-menu/context-menu-separator/ContextMenuSeparator.d.ts +8 -0
- package/dist/components/primitives/context-menu/context-menu-separator/ContextMenuSeparator.styles.d.ts +2 -0
- package/dist/components/primitives/context-menu/menu/Menu.d.ts +2 -0
- package/dist/components/primitives/context-menu/submenu-chevron/SubmenuChevron.d.ts +5 -0
- package/dist/components/primitives/dialog/Dialog.d.ts +21 -0
- package/dist/components/primitives/dialog/Dialog.styles.d.ts +12 -0
- package/dist/components/primitives/highlighted-text/HighlightedText.d.ts +2 -5
- package/dist/components/primitives/icon/icons.d.ts +17 -0
- package/dist/components/primitives/select/Select.d.ts +18 -0
- package/dist/components/primitives/select/Select.styles.d.ts +13 -0
- package/dist/components/primitives/text-input/TextInput.d.ts +2 -0
- package/dist/components/primitives/toast/Toast.d.ts +5 -1
- package/dist/components/primitives/toast/Toast.styles.d.ts +2 -2
- package/dist/components/quick-search/QuickSearch.d.ts +2 -1
- package/dist/components/quick-search/actions.d.ts +40 -5
- package/dist/components/quick-search/hangul.d.ts +16 -10
- package/dist/components/quick-search/paletteQuery.d.ts +5 -4
- package/dist/components/quick-search/scopedActions.d.ts +6 -5
- package/dist/components/schema-sql/SchemaSQL.d.ts +2 -0
- package/dist/components/schema-sql/SchemaSQL.styles.d.ts +7 -0
- package/dist/components/schema-sql/schema-sql-context-menu/SchemaSQLContextMenu.d.ts +3 -0
- package/dist/components/schema-sql/schema-sql-context-menu/menus/bracketMenus.d.ts +3 -0
- package/dist/components/schema-sql/schema-sql-context-menu/menus/headerMenus.d.ts +29 -0
- package/dist/components/schema-sql/schema-sql-context-menu/menus/statementsMenus.d.ts +27 -0
- package/dist/components/schema-sql/schema-sql-options/SchemaSQLOptions.d.ts +24 -0
- package/dist/components/schema-sql/schema-sql-options/SchemaSQLOptions.styles.d.ts +45 -0
- package/dist/components/schema-sql/schema-sql-options/ScriptEditor.d.ts +20 -0
- package/dist/components/schema-sql/schema-sql-options/ScriptEditor.styles.d.ts +13 -0
- package/dist/components/schema-sql/schema-sql-options/dropWarning.d.ts +8 -0
- package/dist/components/schema-sql/schemaSQLView.d.ts +71 -0
- package/dist/components/settings/Settings.styles.d.ts +7 -0
- package/dist/components/settings/columnTypeLabels.d.ts +8 -0
- package/dist/components/settings/lockSettingRows.d.ts +16 -0
- package/dist/components/settings/settings-lnb/SettingsLnb.d.ts +3 -0
- package/dist/components/settings/settingsPage.d.ts +10 -0
- package/dist/components/theme-builder/ThemeBuilder.d.ts +9 -1
- package/dist/components/theme-builder/ThemeBuilder.styles.d.ts +8 -5
- package/dist/components/toast-container/openStatusToast.d.ts +29 -0
- package/dist/components/toast-container/openToastWhileRunning.d.ts +1 -1
- package/dist/components/toolbar/Toolbar.d.ts +1 -0
- package/dist/components/visualization/graph-node/GraphNode.d.ts +2 -2
- package/dist/components/visualization/graphPan.d.ts +12 -0
- package/dist/components/visualization/visualizationView.d.ts +2 -2
- package/dist/constants/language.d.ts +1 -1
- package/dist/constants/layout.d.ts +34 -0
- package/dist/constants/open.d.ts +3 -0
- package/dist/constants/schema.d.ts +25 -4
- package/dist/constants/sql/dataType/PostgreSQL.d.ts +2 -1
- package/dist/constants/sql/dataType/SQLite.d.ts +3 -1
- package/dist/engine/actions.d.ts +20 -2
- package/dist/engine/context.d.ts +6 -0
- package/dist/engine/index.js +26 -21
- package/dist/engine/modules/editor/actions.d.ts +10 -2
- package/dist/engine/modules/editor/atom.actions.d.ts +49 -11
- package/dist/engine/modules/editor/generator.actions.d.ts +107 -8
- package/dist/engine/modules/editor/state.d.ts +16 -3
- package/dist/engine/modules/editor/utils/color.d.ts +21 -0
- package/dist/engine/modules/editor/utils/duplicate.d.ts +28 -1
- package/dist/engine/modules/editor/utils/focus.d.ts +16 -0
- package/dist/engine/modules/editor/utils/releaseHidden.d.ts +16 -0
- package/dist/engine/modules/editor/utils/selection.d.ts +12 -0
- package/dist/engine/modules/relationship/actions.d.ts +6 -0
- package/dist/engine/modules/relationship/atom.actions.d.ts +57 -1
- package/dist/engine/modules/relationship/endFlags.d.ts +14 -0
- package/dist/engine/modules/relationship/fkColumns.d.ts +25 -6
- package/dist/engine/modules/relationship/history.d.ts +1 -0
- package/dist/engine/modules/relationship/hooks.d.ts +0 -11
- package/dist/engine/modules/relationship/referenceType.d.ts +12 -0
- package/dist/engine/modules/settings/actions.d.ts +17 -4
- package/dist/engine/modules/settings/atom.actions.d.ts +63 -19
- package/dist/engine/modules/settings/generator.actions.d.ts +7 -0
- package/dist/engine/modules/settings/history.d.ts +1 -0
- package/dist/engine/modules/table/actions.d.ts +8 -0
- package/dist/engine/modules/table/atom.actions.d.ts +31 -0
- package/dist/engine/modules/table/generator.actions.d.ts +3 -3
- package/dist/engine/modules/table/history.d.ts +1 -0
- package/dist/engine/modules/table-column/generator.actions.d.ts +8 -0
- package/dist/engine/modules/table-column/hooks.d.ts +0 -6
- package/dist/engine/modules/table-column/keys.d.ts +14 -0
- package/dist/engine/modules/table-column/utils/dataType.d.ts +19 -1
- package/dist/engine/modules/table-group/actions.d.ts +63 -0
- package/dist/engine/modules/table-group/atom.actions.d.ts +238 -0
- package/dist/engine/modules/table-group/generator.actions.d.ts +111 -0
- package/dist/engine/modules/table-group/history.d.ts +13 -0
- package/dist/engine/peer-store.d.ts +9 -3
- package/dist/engine/replication-store.d.ts +6 -3
- package/dist/engine/rx-operators/groupByStreamActions.d.ts +5 -1
- package/dist/engine/rx-operators/lockIgnoreFilter.d.ts +8 -0
- package/dist/engine/rx-store.d.ts +2 -0
- package/dist/engine/settle.d.ts +9 -0
- package/dist/engine/store-hooks.d.ts +0 -8
- package/dist/erd-editor.umd.js +2100 -4194
- package/dist/hooks/useNavigatorLanguages.d.ts +7 -0
- package/dist/i18n/locales.d.ts +126 -0
- package/dist/i18n/menuLabel.d.ts +12 -0
- package/dist/i18n/messages/ar-SA.d.ts +399 -0
- package/dist/i18n/messages/de-DE.d.ts +375 -0
- package/dist/i18n/messages/en/code.d.ts +17 -0
- package/dist/i18n/messages/en/colorPicker.d.ts +35 -0
- package/dist/i18n/messages/en/common.d.ts +65 -0
- package/dist/i18n/messages/en/contextMenu.d.ts +29 -0
- package/dist/i18n/messages/en/exportImage.d.ts +25 -0
- package/dist/i18n/messages/en/feedback.d.ts +11 -0
- package/dist/i18n/messages/en/findReplace.d.ts +36 -0
- package/dist/i18n/messages/en/floatingToolbar.d.ts +12 -0
- package/dist/i18n/messages/en/index.d.ts +378 -0
- package/dist/i18n/messages/en/mapColumns.d.ts +39 -0
- package/dist/i18n/messages/en/palette.d.ts +40 -0
- package/dist/i18n/messages/en/schemaSql.d.ts +28 -0
- package/dist/i18n/messages/en/settings.d.ts +22 -0
- package/dist/i18n/messages/en/shortcuts.d.ts +32 -0
- package/dist/i18n/messages/en/tableProperties.d.ts +34 -0
- package/dist/i18n/messages/en/themeBuilder.d.ts +7 -0
- package/dist/i18n/messages/en/toolbar.d.ts +9 -0
- package/dist/i18n/messages/en/visualization.d.ts +12 -0
- package/dist/i18n/messages/en/welcome.d.ts +13 -0
- package/dist/i18n/messages/es-ES.d.ts +381 -0
- package/dist/i18n/messages/eu-ES.d.ts +375 -0
- package/dist/i18n/messages/fa-IR.d.ts +375 -0
- package/dist/i18n/messages/fr-FR.d.ts +381 -0
- package/dist/i18n/messages/he-IL.d.ts +381 -0
- package/dist/i18n/messages/id-ID.d.ts +369 -0
- package/dist/i18n/messages/index.d.ts +11 -0
- package/dist/i18n/messages/it-IT.d.ts +381 -0
- package/dist/i18n/messages/ja-JP.d.ts +369 -0
- package/dist/i18n/messages/ko-KR.d.ts +369 -0
- package/dist/i18n/messages/nl-NL.d.ts +375 -0
- package/dist/i18n/messages/pl-PL.d.ts +387 -0
- package/dist/i18n/messages/pt-BR.d.ts +381 -0
- package/dist/i18n/messages/pt-PT.d.ts +381 -0
- package/dist/i18n/messages/ro-RO.d.ts +381 -0
- package/dist/i18n/messages/ru-RU.d.ts +387 -0
- package/dist/i18n/messages/sk-SK.d.ts +387 -0
- package/dist/i18n/messages/sl-SI.d.ts +387 -0
- package/dist/i18n/messages/sv-SE.d.ts +375 -0
- package/dist/i18n/messages/tr-TR.d.ts +375 -0
- package/dist/i18n/messages/uk-UA.d.ts +387 -0
- package/dist/i18n/messages/zh-CN.d.ts +369 -0
- package/dist/i18n/messages/zh-TW.d.ts +369 -0
- package/dist/i18n/resolveLocale.d.ts +11 -0
- package/dist/i18n/source.d.ts +7 -0
- package/dist/i18n/translate.d.ts +58 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +29797 -13894
- package/dist/internal-types/index.d.ts +2 -4
- package/dist/konva/scene/contentBounds.d.ts +18 -12
- package/dist/konva/scene/metrics.d.ts +2 -0
- package/dist/konva/scene/renderScene.d.ts +10 -4
- package/dist/konva/scene/stacking.d.ts +21 -0
- package/dist/konva/scene/viewLayout.d.ts +2 -1
- package/dist/loadValue-B3EFSe9k.js +12925 -0
- package/dist/peer/index.d.ts +6 -3
- package/dist/peer/index.js +83 -76
- package/dist/services/elk-layout/elkGraph.d.ts +6 -4
- package/dist/services/elk-layout/elkLayoutOptions.d.ts +20 -0
- package/dist/services/elk-layout/elkLayoutService.d.ts +3 -3
- package/dist/services/export-png/ExportScene.d.ts +3 -3
- package/dist/services/export-png/documentScene.d.ts +14 -9
- package/dist/services/export-png/exportBox.d.ts +40 -5
- package/dist/services/export-png/exportPngService.d.ts +15 -0
- package/dist/services/export-png/exportTheme.d.ts +26 -0
- package/dist/services/export-png/index.d.ts +44 -11
- package/dist/services/export-png/renderPng.d.ts +18 -10
- package/dist/services/export-png/renderSvg.d.ts +22 -0
- package/dist/services/export-png/sceneSvg.d.ts +54 -0
- package/dist/services/shiki/graphqlGrammar.d.ts +8 -0
- package/dist/shared-store-fUggY7sI.js +1341 -0
- package/dist/themes/radix-ui-theme.d.ts +11 -3
- package/dist/themes/tokens.d.ts +9 -0
- package/dist/utils/calcTable.d.ts +9 -0
- package/dist/utils/clipboard.d.ts +9 -0
- package/dist/utils/collection/tableGroup.entity.d.ts +3 -0
- package/dist/utils/contrastText.d.ts +21 -0
- package/dist/utils/deepMerge.d.ts +8 -0
- package/dist/utils/device-detect/index.d.ts +2 -6
- package/dist/utils/domEvent.d.ts +18 -0
- package/dist/utils/dragSelect.d.ts +2 -0
- package/dist/utils/draw-relationship/bezier.d.ts +2 -0
- package/dist/utils/draw-relationship/corner.d.ts +9 -0
- package/dist/utils/draw-relationship/index.d.ts +18 -18
- package/dist/utils/draw-relationship/loop.d.ts +29 -0
- package/dist/utils/draw-relationship/pathFinding.d.ts +1 -1
- package/dist/utils/draw-relationship/sort.d.ts +8 -1
- package/dist/utils/draw-relationship/stub.d.ts +4 -3
- package/dist/utils/emitter.d.ts +53 -6
- package/dist/utils/file/exportFile.d.ts +15 -5
- package/dist/utils/file/importFile.d.ts +9 -5
- package/dist/utils/file/importSchema.d.ts +45 -0
- package/dist/utils/find-replace/findMatches.d.ts +1 -1
- package/dist/utils/find-replace/present.d.ts +5 -3
- package/dist/utils/generator-code/columnTypes.d.ts +99 -0
- package/dist/utils/generator-code/doctrine.d.ts +6 -0
- package/dist/utils/generator-code/doctrineReservedWords.d.ts +7 -0
- package/dist/utils/generator-code/graphql.d.ts +6 -0
- package/dist/utils/generator-code/heck.d.ts +5 -0
- package/dist/utils/generator-code/java.d.ts +28 -0
- package/dist/utils/generator-code/jsonSchema.d.ts +50 -0
- package/dist/utils/generator-code/jsonShape.d.ts +37 -0
- package/dist/utils/generator-code/kotlin.d.ts +1 -0
- package/dist/utils/generator-code/mermaid.d.ts +5 -0
- package/dist/utils/generator-code/php.d.ts +28 -0
- package/dist/utils/generator-code/rust.d.ts +13 -0
- package/dist/utils/generator-code/rustTypes.d.ts +44 -0
- package/dist/utils/generator-code/scala.d.ts +1 -0
- package/dist/utils/generator-code/seaorm.d.ts +22 -0
- package/dist/utils/generator-code/swift.d.ts +44 -0
- package/dist/utils/generator-code/utils.d.ts +19 -0
- package/dist/utils/generator-code/zod.d.ts +25 -0
- package/dist/utils/globalEventObservable.d.ts +10 -1
- package/dist/utils/highlightWords.d.ts +29 -0
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/keyboard-shortcut/bindKeys.d.ts +9 -0
- package/dist/utils/keyboard-shortcut/index.d.ts +11 -4
- package/dist/utils/keyboard-shortcut/utils.d.ts +21 -0
- package/dist/utils/map-columns/alignTypes.d.ts +37 -0
- package/dist/utils/map-columns/buildRows.d.ts +102 -0
- package/dist/utils/map-columns/candidateKeys.d.ts +24 -0
- package/dist/utils/map-columns/index.d.ts +8 -0
- package/dist/utils/map-columns/mapping.d.ts +67 -0
- package/dist/utils/map-columns/prefill.d.ts +26 -0
- package/dist/utils/map-columns/toMapColumnsActions.d.ts +10 -0
- package/dist/utils/map-columns/validate.d.ts +45 -0
- package/dist/utils/memo.d.ts +4 -0
- package/dist/utils/schema-aml-parser/types.d.ts +2 -0
- package/dist/utils/schema-dbml-parser/tokenizer.d.ts +2 -0
- package/dist/utils/schema-dbml-parser/types.d.ts +11 -0
- package/dist/utils/schema-sql/Databricks.d.ts +8 -3
- package/dist/utils/schema-sql/MSSQL.d.ts +14 -2
- package/dist/utils/schema-sql/MariaDB.d.ts +6 -5
- package/dist/utils/schema-sql/MySQL.d.ts +13 -4
- package/dist/utils/schema-sql/Oracle.d.ts +19 -5
- package/dist/utils/schema-sql/PostgreSQL.d.ts +16 -4
- package/dist/utils/schema-sql/SQLite.d.ts +16 -4
- package/dist/utils/schema-sql/Snowflake.d.ts +8 -3
- package/dist/utils/schema-sql/index.d.ts +16 -1
- package/dist/utils/schema-sql/options.d.ts +57 -0
- package/dist/utils/schema-sql/utils.d.ts +101 -2
- package/dist/utils/stageCursor.d.ts +20 -0
- package/dist/utils/table-clipboard/placement.d.ts +2 -0
- package/dist/utils/tableColor.d.ts +29 -0
- package/dist/utils/tableGroup.d.ts +142 -0
- package/dist/utils/tableKeys.d.ts +11 -3
- package/dist/workers/elkLayout.shared-worker.js +1 -1
- package/dist/workers/exportPng.shared-worker.js +30 -30
- package/dist/workers/shiki.shared-worker.js +1 -1
- package/dist/workers/spawn.d.ts +1 -2
- package/dist/workers/spawn.inline.d.ts +0 -1
- package/package.json +6 -13
- package/dist/components/generator-code/GeneratorCode.styles.d.ts +0 -2
- package/dist/loadValue-Mdc5K4qO.js +0 -10858
- package/dist/schemaGCService-CZtGFh2z.js +0 -42
- package/dist/services/schema-gc/index.d.ts +0 -18
- package/dist/services/schema-gc/procGC.d.ts +0 -4
- package/dist/services/schema-gc/schemaGC.shared-worker.d.ts +0 -2
- package/dist/services/schema-gc/schemaGCService.d.ts +0 -10
- package/dist/shared-store-D82WVL5a.js +0 -1129
- package/dist/styles/colorPicker.style.d.ts +0 -7
- package/dist/utils/draw-relationship/chamfer.d.ts +0 -3
- package/dist/workers/schemaGC.shared-worker.js +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ValuesType } from '../../internal-types';
|
|
2
|
+
export declare const SchemaSQLStatements: {
|
|
3
|
+
readonly create: "create";
|
|
4
|
+
readonly ifNotExists: "ifNotExists";
|
|
5
|
+
readonly recreate: "recreate";
|
|
6
|
+
};
|
|
7
|
+
export type SchemaSQLStatements = ValuesType<typeof SchemaSQLStatements>;
|
|
8
|
+
export declare const SchemaSQLStatementsList: ReadonlyArray<SchemaSQLStatements>;
|
|
9
|
+
export declare const SchemaSQLHeader: {
|
|
10
|
+
readonly none: "none";
|
|
11
|
+
readonly use: "use";
|
|
12
|
+
readonly createAndUse: "createAndUse";
|
|
13
|
+
};
|
|
14
|
+
export type SchemaSQLHeader = ValuesType<typeof SchemaSQLHeader>;
|
|
15
|
+
export declare const SchemaSQLHeaderList: ReadonlyArray<SchemaSQLHeader>;
|
|
16
|
+
/** What getSchemaSQL, an agent's SQL read and the Schema SQL tab pass: an intent, resolved per vendor. */
|
|
17
|
+
export type SchemaSQLOptions = {
|
|
18
|
+
/** create when left out. */
|
|
19
|
+
statements?: SchemaSQLStatements;
|
|
20
|
+
/** none when left out. */
|
|
21
|
+
header?: SchemaSQLHeader;
|
|
22
|
+
};
|
|
23
|
+
/** The name a header may write: a plain identifier, so no vendor needs it escaped. */
|
|
24
|
+
export declare const HEADER_NAME_PATTERN: RegExp;
|
|
25
|
+
export type HeaderName = 'valid' | 'empty' | 'invalid';
|
|
26
|
+
export type ResolvedSchemaSQLOptions = {
|
|
27
|
+
/** What the vendor writes for the statements asked for. */
|
|
28
|
+
statements: SchemaSQLStatements;
|
|
29
|
+
/** What the vendor writes for the header asked for, before the name is read. */
|
|
30
|
+
header: SchemaSQLHeader;
|
|
31
|
+
/** Whether settings.databaseName can name that header. */
|
|
32
|
+
headerName: HeaderName;
|
|
33
|
+
};
|
|
34
|
+
export type SchemaSQLSupport = {
|
|
35
|
+
ifNotExists: boolean;
|
|
36
|
+
headers: ReadonlyArray<Exclude<SchemaSQLHeader, 'none'>>;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Whether a database writes CREATE ... IF NOT EXISTS and which headers it has;
|
|
40
|
+
* every one of them writes drop and re-create.
|
|
41
|
+
*/
|
|
42
|
+
export declare function schemaSQLSupport(database: number): SchemaSQLSupport;
|
|
43
|
+
export declare function isSchemaSQLStatements(value: unknown): value is SchemaSQLStatements;
|
|
44
|
+
export declare function isSchemaSQLHeader(value: unknown): value is SchemaSQLHeader;
|
|
45
|
+
/**
|
|
46
|
+
* The statements and header a database writes for the ones asked for: one it
|
|
47
|
+
* lacks falls back to the nearest it has, so the choice outlives a change of
|
|
48
|
+
* database; an unknown value reads as create and none.
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveSchemaSQLOptions(database: number, options: SchemaSQLOptions | undefined, databaseName: string): ResolvedSchemaSQLOptions;
|
|
51
|
+
/**
|
|
52
|
+
* A before or after script as the DDL writes it: line breaks as LF, without the
|
|
53
|
+
* blank lines ahead of it or the whitespace after it, and on SQL Server ended
|
|
54
|
+
* with GO; the empty string when nothing is left.
|
|
55
|
+
*/
|
|
56
|
+
export declare function formatScript(text: string, database: number): string;
|
|
57
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1,7 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RootState } from '../../engine/state';
|
|
2
|
+
import { Collections, Column, Index, IndexColumn, Relationship, Table } from '../../internal-types';
|
|
3
|
+
import { SchemaSQLStatements } from './options';
|
|
4
|
+
/** What a script's DROP block and the Oracle name check read off the body just written. */
|
|
5
|
+
export interface WrittenObjects {
|
|
6
|
+
/** The tables in the order their CREATE TABLE is written. */
|
|
7
|
+
tables: Table[];
|
|
8
|
+
/** Oracle: each sequence name as written, its owner included. */
|
|
9
|
+
sequences: string[];
|
|
10
|
+
/** Oracle: each identifier written, unquoted, in the order written. */
|
|
11
|
+
identifiers: string[];
|
|
12
|
+
}
|
|
13
|
+
export declare function createWrittenObjects(): WrittenObjects;
|
|
14
|
+
export interface CreateSchemaOptions {
|
|
15
|
+
/** Already what the database writes (resolveSchemaSQLOptions); create when left out. */
|
|
16
|
+
statements?: SchemaSQLStatements;
|
|
17
|
+
written?: WrittenObjects;
|
|
18
|
+
}
|
|
2
19
|
export interface FormatTableOptions {
|
|
3
20
|
buffer: string[];
|
|
4
21
|
table: Table;
|
|
22
|
+
/** create when left out. */
|
|
23
|
+
statements?: SchemaSQLStatements;
|
|
24
|
+
written?: WrittenObjects;
|
|
5
25
|
}
|
|
6
26
|
export interface FormatColumnOptions {
|
|
7
27
|
buffer: string[];
|
|
@@ -13,11 +33,17 @@ export interface FormatRelationOptions {
|
|
|
13
33
|
buffer: string[];
|
|
14
34
|
relationship: Relationship;
|
|
15
35
|
fkNames: Name[];
|
|
36
|
+
/** create when left out. */
|
|
37
|
+
statements?: SchemaSQLStatements;
|
|
38
|
+
written?: WrittenObjects;
|
|
16
39
|
}
|
|
17
40
|
export interface FormatIndexOptions {
|
|
18
41
|
buffer: string[];
|
|
19
42
|
index: Index;
|
|
20
43
|
indexNames: Name[];
|
|
44
|
+
/** create when left out. */
|
|
45
|
+
statements?: SchemaSQLStatements;
|
|
46
|
+
written?: WrittenObjects;
|
|
21
47
|
}
|
|
22
48
|
export interface FormatCommentOptions {
|
|
23
49
|
buffer: string[];
|
|
@@ -31,6 +57,36 @@ export interface KeyColumn {
|
|
|
31
57
|
start: Column[];
|
|
32
58
|
end: Column[];
|
|
33
59
|
}
|
|
60
|
+
/** The columns of a foreign key, end[i] referencing start[i]. */
|
|
61
|
+
export interface ForeignKeyPairs extends KeyColumn {
|
|
62
|
+
startTable: Table;
|
|
63
|
+
endTable: Table;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A relationship read pair by pair: a pair whose start or end column has left
|
|
67
|
+
* its table is dropped whole, and pairs that reference the whole primary key
|
|
68
|
+
* follow its declaration order; null when a table or every pair is gone.
|
|
69
|
+
*/
|
|
70
|
+
export declare function toForeignKeyPairs({ doc: { tableIds }, collections }: Pick<RootState, 'doc' | 'collections'>, { start, end }: Relationship): ForeignKeyPairs | null;
|
|
71
|
+
/**
|
|
72
|
+
* The columns of an index its table still lists, in the index's order, each
|
|
73
|
+
* with the index column naming it: a column taken out of the table stays in
|
|
74
|
+
* the collection, but a saved file leaves it out of the index, as this does.
|
|
75
|
+
*/
|
|
76
|
+
export declare function selectIndexColumns(collections: Collections, table: Table, index: Index): Array<{
|
|
77
|
+
indexColumn: IndexColumn;
|
|
78
|
+
column: Column;
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* What one export writes: every table, relationship and index of the document,
|
|
82
|
+
* or the tables named, their indexes and the foreign keys they hold, whose
|
|
83
|
+
* parents stay in the document, so a reference out still shows; never an index of a removed table.
|
|
84
|
+
*/
|
|
85
|
+
export declare function toSchemaEntities({ doc, collections }: Pick<RootState, 'doc' | 'collections'>, tableIds?: readonly string[]): {
|
|
86
|
+
tables: Table[];
|
|
87
|
+
relationships: Relationship[];
|
|
88
|
+
indexes: Index[];
|
|
89
|
+
};
|
|
34
90
|
export declare function formatNames<T extends {
|
|
35
91
|
name: string;
|
|
36
92
|
}>(list: T[], backtick?: string, backtick2?: string): string;
|
|
@@ -45,13 +101,51 @@ export declare function primaryKeyColumns(columns: Column[]): Column[];
|
|
|
45
101
|
export declare function unique(columns: Column[]): boolean;
|
|
46
102
|
export declare function uniqueColumns(columns: Column[]): Column[];
|
|
47
103
|
export declare function getBracket(bracketType: number): string;
|
|
104
|
+
/**
|
|
105
|
+
* The words a CREATE TABLE or CREATE INDEX writes after its object type, and
|
|
106
|
+
* MariaDB after UNIQUE and FOREIGN KEY, under ifNotExists; nothing otherwise.
|
|
107
|
+
*/
|
|
108
|
+
export declare function ifNotExists(statements?: SchemaSQLStatements): string;
|
|
109
|
+
/**
|
|
110
|
+
* The parts of an unquoted name, split at each dot outside brackets or double
|
|
111
|
+
* quotes as SQL Server reads it, so [sales.v2].users is two parts.
|
|
112
|
+
*/
|
|
113
|
+
export declare function splitNameParts(name: string): string[];
|
|
114
|
+
/** Whether a name part is written in one pair of brackets or double quotes. */
|
|
115
|
+
export declare function isDelimitedPart(part: string): boolean;
|
|
116
|
+
/** The name a part in brackets or double quotes holds; any other part as is. */
|
|
117
|
+
export declare function unquoteNamePart(part: string): string;
|
|
118
|
+
/**
|
|
119
|
+
* A table name split at its last dot outside brackets or double quotes into
|
|
120
|
+
* schema and table, both as written, where it is unquoted; quoted, the whole
|
|
121
|
+
* name is one identifier and the schema is empty.
|
|
122
|
+
*/
|
|
123
|
+
export declare function splitTableName(name: string, bracketType: number): [schema: string, table: string];
|
|
124
|
+
/**
|
|
125
|
+
* The part of a table name that automatic constraint and index names take, one
|
|
126
|
+
* pair of brackets or quotes off where unquoted, so sales.users and
|
|
127
|
+
* [sales].[users] give PK_users, which every database reads as one identifier.
|
|
128
|
+
*/
|
|
129
|
+
export declare function tableNamePart(name: string, bracketType: number): string;
|
|
130
|
+
/**
|
|
131
|
+
* Whether a database's DDL builds automatic names from tableNamePart: the six
|
|
132
|
+
* generators that read an unquoted dot as a schema do, while Databricks and
|
|
133
|
+
* Snowflake write the whole table name into them.
|
|
134
|
+
*/
|
|
135
|
+
export declare function splitsTableName(database: number): boolean;
|
|
48
136
|
export declare function orderByNameASC<T extends {
|
|
49
137
|
name: string;
|
|
50
|
-
}>(a: T, b: T):
|
|
138
|
+
}>(a: T, b: T): 0 | 1 | -1;
|
|
51
139
|
export declare function autoName<T extends {
|
|
52
140
|
id: string;
|
|
53
141
|
name: string;
|
|
54
142
|
}>(list: T[], id: string, name: string, num?: number): string;
|
|
143
|
+
/**
|
|
144
|
+
* autoName for an automatic foreign key or index name, also numbering a name
|
|
145
|
+
* equal to an earlier one but for case, quoted or not, since the databases fold
|
|
146
|
+
* an unquoted name and MySQL and MariaDB a quoted index name too.
|
|
147
|
+
*/
|
|
148
|
+
export declare function autoNameIgnoreCase(names: Name[], name: string): string;
|
|
55
149
|
export declare function toOrderName(orderType: number): "" | "ASC" | "DESC";
|
|
56
150
|
/** The actions a vendor accepts after ON DELETE and after ON UPDATE. */
|
|
57
151
|
export type ReferentialActionSupport = {
|
|
@@ -72,4 +166,9 @@ export declare function referentialActionSupport(database: number): ReferentialA
|
|
|
72
166
|
*/
|
|
73
167
|
export declare function formatReferentialActions({ onDelete, onUpdate }: Pick<Relationship, 'onDelete' | 'onUpdate'>, support: ReferentialActionSupport): string[];
|
|
74
168
|
export declare function toStringLiteral(value: string): string;
|
|
169
|
+
/**
|
|
170
|
+
* A column default as the DDL of a database writes it after DEFAULT: in
|
|
171
|
+
* parentheses where its grammar reads that expression only inside them.
|
|
172
|
+
*/
|
|
173
|
+
export declare function formatDefault(value: string, database: number, dataType?: string): string;
|
|
75
174
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** The closed hand a pan shows for as long as it holds the canvas. */
|
|
2
|
+
export declare const CURSOR_GRABBING = "grabbing";
|
|
3
|
+
/**
|
|
4
|
+
* Points a stage container at a cursor. A konva node carries none of its own,
|
|
5
|
+
* so the container wears the one its hover asks for; under a hold the cursor
|
|
6
|
+
* is only noted, for the release to write back.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* setStageCursor(stage.container(), 'pointer');
|
|
10
|
+
*/
|
|
11
|
+
export declare function setStageCursor(container: HTMLElement, cursor: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* Keeps a stage container on a cursor for a gesture, whatever the pointer runs
|
|
14
|
+
* over, and hands back the release that shows what the last hover asked for.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* drag$.subscribe(handleMove).add(holdStageCursor(container, CURSOR_GRABBING));
|
|
18
|
+
*/
|
|
19
|
+
export declare function holdStageCursor(container: HTMLElement, cursor: string): () => void;
|
|
20
|
+
//# sourceMappingURL=stageCursor.d.ts.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Memo, Point, Settings, Table } from '../../internal-types';
|
|
2
2
|
export type PlacementEntity = {
|
|
3
3
|
sourceId: string;
|
|
4
|
+
/** A memo stacks over a table of the same z-index, as the scene paints them; a table if left out. */
|
|
5
|
+
kind?: 'table' | 'memo';
|
|
4
6
|
ui: {
|
|
5
7
|
x: number;
|
|
6
8
|
y: number;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** The colors AML names, each the 500 shade of its Tailwind palette, in AML's order. */
|
|
2
|
+
export declare const AML_COLORS: Readonly<Record<string, string>>;
|
|
3
|
+
/** A DBML headercolor kept as written when it is #rgb or #rrggbb, else ''. */
|
|
4
|
+
export declare function fromDBMLColor(value: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* One of AML's color names, in any letter case, as its hex; a #rgb, #rrggbb
|
|
7
|
+
* or #rrggbbaa as written; else ''.
|
|
8
|
+
*/
|
|
9
|
+
export declare function fromAMLColor(value: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* A table color as DBML's headercolor writes it, which takes #rgb or #rrggbb
|
|
12
|
+
* alone: a hex keeps its digits less any alpha, and an rgb() or hsl() becomes
|
|
13
|
+
* its hex. A color that reads as neither is null.
|
|
14
|
+
*/
|
|
15
|
+
export declare function toDBMLColor(color: string): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* The AML name of a table color, null for one it cannot read: gray under the
|
|
18
|
+
* gray chroma, else the other name nearest in OKLCH hue around the circle by
|
|
19
|
+
* its 500 shade, first in AML's order on a tie, so a named hex finds its name.
|
|
20
|
+
*/
|
|
21
|
+
export declare function toAMLColor(color: string): string | null;
|
|
22
|
+
/**
|
|
23
|
+
* A color as an opaque lower-case #rrggbb, any alpha dropped: a hex of 3, 4, 6
|
|
24
|
+
* or 8 digits, an rgb(), rgba(), hsl() or hsla(); null for one it cannot read.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toOpaqueHex(color: string): string | null;
|
|
27
|
+
/** An sRGB channel of 0 to 255 as linear light of 0 to 1. */
|
|
28
|
+
export declare function toLinear(channel: number): number;
|
|
29
|
+
//# sourceMappingURL=tableColor.d.ts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { RootState } from '../engine/state';
|
|
2
|
+
import { Point, Table, TableGroup } from '../internal-types';
|
|
3
|
+
import { Rect } from '../konva/scene/metrics';
|
|
4
|
+
import { GeometrySource } from './draw-relationship/geometrySource';
|
|
5
|
+
export type TableGroupRectOptions = {
|
|
6
|
+
/** Tables the box leaves out though they are members, the ones a drag holds. */
|
|
7
|
+
excludeTableIds?: ReadonlyArray<string>;
|
|
8
|
+
};
|
|
9
|
+
/** A group's box options, and the members it is read from when the caller holds them. */
|
|
10
|
+
export type TableGroupMemberOptions = TableGroupRectOptions & {
|
|
11
|
+
/** The group's member tables, which spares a walk over every table of the document. */
|
|
12
|
+
members?: ReadonlyArray<Table>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The group a table is in, or '' for none: a groupId naming no group the
|
|
16
|
+
* document lists reads as none, whatever the table saved.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getTableGroupId({ doc }: RootState, table: Table): string;
|
|
19
|
+
/** The ids of the tables a group holds, in document order; none for a group the document does not list. */
|
|
20
|
+
export declare function getTableGroupMemberIds(state: RootState, groupId: string): string[];
|
|
21
|
+
/**
|
|
22
|
+
* A rect grown by the padding on every side and by the title bar on top too,
|
|
23
|
+
* so the bar a group draws along the top of its box clears what it holds.
|
|
24
|
+
*/
|
|
25
|
+
export declare function padRect(rect: Rect, padding?: number): Rect;
|
|
26
|
+
/**
|
|
27
|
+
* The box a group is drawn and hit in: its stored rect united with each member
|
|
28
|
+
* table's rect and the padding around it, title bar included, so a member that
|
|
29
|
+
* grows never sticks out and nothing is written for it.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const box = getTableGroupRect(state, group, { excludeTableIds: dragged });
|
|
33
|
+
*/
|
|
34
|
+
export declare function getTableGroupRect(state: RootState, group: TableGroup, { excludeTableIds, members, }?: TableGroupMemberOptions): Rect;
|
|
35
|
+
/**
|
|
36
|
+
* Each group's box seeded at its stored rect, keyed by id, for one walk over
|
|
37
|
+
* the tables to grow with growTableGroupBox: every box out of one pass, where
|
|
38
|
+
* a box apiece walks every table once per group.
|
|
39
|
+
*/
|
|
40
|
+
export declare function seedTableGroupBoxes(groups: ReadonlyArray<TableGroup>): Map<string, Rect>;
|
|
41
|
+
/**
|
|
42
|
+
* Grows the box of the group a table names by the table's rect and padding; a
|
|
43
|
+
* table naming no seeded group, a removed one among them, grows none.
|
|
44
|
+
*/
|
|
45
|
+
export declare function growTableGroupBox(boxes: Map<string, Rect>, table: Table, rect: Rect): void;
|
|
46
|
+
/**
|
|
47
|
+
* The box of every group the document lists, keyed by id, each as
|
|
48
|
+
* getTableGroupRect reads it, out of one walk over the tables.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const boxes = getTableGroupRects(state, { excludeTableIds: dragged });
|
|
52
|
+
*/
|
|
53
|
+
export declare function getTableGroupRects(state: RootState, { excludeTableIds }?: TableGroupRectOptions): Map<string, Rect>;
|
|
54
|
+
/**
|
|
55
|
+
* The member tables of every group the document lists, keyed by id, each list
|
|
56
|
+
* in document order, out of one walk over the tables; a group with no member
|
|
57
|
+
* is left out.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getTableGroupMembers(state: RootState): Map<string, Table[]>;
|
|
60
|
+
/**
|
|
61
|
+
* The rect a group made from tables takes: their bounds and the padding around
|
|
62
|
+
* them, or null for no table the document lists.
|
|
63
|
+
*/
|
|
64
|
+
export declare function getTablesGroupRect(state: RootState, tableIds: ReadonlyArray<string>): Rect | null;
|
|
65
|
+
/** A group and the rect a placement gives it. */
|
|
66
|
+
export type TableGroupWrap = Rect & {
|
|
67
|
+
id: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* The rect each listed group with a member takes once every table named stands
|
|
71
|
+
* at its point: its members' bounds and the padding, what an automatic
|
|
72
|
+
* placement writes. A group with no member keeps its rect and is left out.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* const resizes = getTableGroupWraps(state, points).map(resizeTableGroupAction);
|
|
76
|
+
*/
|
|
77
|
+
export declare function getTableGroupWraps(state: RootState, points?: ReadonlyArray<Point & {
|
|
78
|
+
id: string;
|
|
79
|
+
}>): TableGroupWrap[];
|
|
80
|
+
/** The centre of a table's box, the point every membership test reads. */
|
|
81
|
+
export declare function getTableCenter(state: RootState, table: Table): Point;
|
|
82
|
+
/** Whether the point lies in the rect, its edges included. */
|
|
83
|
+
export declare function isPointInRect({ x, y }: Point, rect: Rect): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* The topmost group whose box holds the point: the highest zIndex, and of two
|
|
86
|
+
* at one the later in doc.tableGroupIds, the one drawn over the other. Null
|
|
87
|
+
* where no group's box reaches.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* const group = findTableGroupAt(state, getTableCenter(state, table));
|
|
91
|
+
*/
|
|
92
|
+
export declare function findTableGroupAt(state: RootState, point: Point, options?: TableGroupRectOptions): TableGroup | null;
|
|
93
|
+
/** Where findTableGroupsAt reads the boxes: built from the tables, or handed in built. */
|
|
94
|
+
export type TableGroupFindOptions = TableGroupRectOptions & {
|
|
95
|
+
/** Every group's box, keyed as getTableGroupRects keys them, read in place of building them. */
|
|
96
|
+
boxes?: ReadonlyMap<string, Rect>;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* The topmost group at each point, as findTableGroupAt finds it, every box
|
|
100
|
+
* read once for all of them, which a drag of many tables asks every step; no
|
|
101
|
+
* point, and no box is built.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* const groups = findTableGroupsAt(state, centers, { excludeTableIds: ids });
|
|
105
|
+
*/
|
|
106
|
+
export declare function findTableGroupsAt(state: RootState, points: ReadonlyArray<Point>, { boxes, ...options }?: TableGroupFindOptions): Array<TableGroup | null>;
|
|
107
|
+
/** The zIndex that lifts a group over every other group, tables and memos aside. */
|
|
108
|
+
export declare const nextTableGroupZIndex: (groups: TableGroup[]) => number;
|
|
109
|
+
/**
|
|
110
|
+
* Whether the document shows its groups, boxes and header colors alike. The
|
|
111
|
+
* bit hides them, so a document saved before groups existed shows them.
|
|
112
|
+
*/
|
|
113
|
+
export declare const isTableGroupShown: ({ settings }: RootState) => boolean;
|
|
114
|
+
/** A group's color as an opaque hex and the black or white text drawn over it. */
|
|
115
|
+
export type TableGroupColors = {
|
|
116
|
+
background: string;
|
|
117
|
+
foreground: string;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* The colors a group paints with, or null for a group with no color or one
|
|
121
|
+
* toOpaqueHex cannot read, which the neutral theme colors paint instead.
|
|
122
|
+
*/
|
|
123
|
+
export declare function getTableGroupColors(group: TableGroup): TableGroupColors | null;
|
|
124
|
+
/**
|
|
125
|
+
* The colors a member table's header takes from its group, or null where it
|
|
126
|
+
* keeps its own: in a view, while groups are hidden, out of any group, or in
|
|
127
|
+
* a group with no color it can read.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* const tint = getTableHeaderTint(state, table, source);
|
|
131
|
+
*/
|
|
132
|
+
export declare function getTableHeaderTint(state: RootState, table: Table, source?: GeometrySource): TableGroupColors | null;
|
|
133
|
+
/**
|
|
134
|
+
* The colors a header takes from the group named, one already read as listed ('' for none), as
|
|
135
|
+
* getTableHeaderTint decides them: a scene naming each table's group off one read of the list hands
|
|
136
|
+
* it here, so a group coming or going re-renders no table it does not reach.
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* const tint = getTableGroupTint(state, props.tableGroupId, source);
|
|
140
|
+
*/
|
|
141
|
+
export declare function getTableGroupTint(state: RootState, groupId: string, source?: GeometrySource): TableGroupColors | null;
|
|
142
|
+
//# sourceMappingURL=tableGroup.d.ts.map
|
|
@@ -19,17 +19,25 @@ export type ColumnKey = {
|
|
|
19
19
|
name: string;
|
|
20
20
|
columnIds: string[];
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
23
|
-
export type
|
|
22
|
+
/** A unique index of the table and the columns of the table it keys, in key order. */
|
|
23
|
+
export type UniqueIndexKey = {
|
|
24
24
|
indexId: string;
|
|
25
25
|
columnIds: string[];
|
|
26
26
|
};
|
|
27
|
+
/** One alternate key: a unique index over two or more of the table's columns. */
|
|
28
|
+
export type AlternateKey = UniqueIndexKey;
|
|
27
29
|
/**
|
|
28
30
|
* The keys a table's columns declare, primary key first and then each unique
|
|
29
31
|
* column in column order. Only the columns edit them, so a list showing them
|
|
30
32
|
* beside the index entities shows them read only.
|
|
31
33
|
*/
|
|
32
|
-
export declare function getColumnKeys({ collections }:
|
|
34
|
+
export declare function getColumnKeys({ collections, settings }: Pick<RootState, 'collections' | 'settings'>, table: Table): ColumnKey[];
|
|
35
|
+
/**
|
|
36
|
+
* Each unique index of the table in index list order, with the columns of the
|
|
37
|
+
* table it keys in key order: over two or more an alternate key, over one the
|
|
38
|
+
* unique key of that column.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getUniqueIndexKeys(state: KeyState, table: Table): UniqueIndexKey[];
|
|
33
41
|
/**
|
|
34
42
|
* The table's alternate keys, AK1 first: its unique indexes over two or more
|
|
35
43
|
* of its columns, ordered by where those columns stand in the table. Neither
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"comlink";typeof document>`u`&&Reflect.set(globalThis,`document`,{});const t={force:`force`,layeredHorizontal:`layeredHorizontal`,layeredVertical:`layeredVertical`,flow:`flow`,viewLayered:`viewLayered`};t.force;function n(e){return e!==t.force}function r(e){return e===t.flow}const i={"elk.algorithm":`layered`,"elk.layered.spacing.baseValue":`40`,"elk.spacing.componentComponent":`80`,"elk.layered.spacing.edgeNodeBetweenLayers":`120`,"elk.layered.considerModelOrder.strategy":`PREFER_EDGES`,"elk.layered.crossingMinimization.forceNodeModelOrder":`true`,"elk.layered.mergeEdges":`true`,"elk.layered.nodePlacement.strategy":`INTERACTIVE`,"elk.layered.layering.strategy":`INTERACTIVE`},
|
|
1
|
+
import*as e from"comlink";typeof document>`u`&&Reflect.set(globalThis,`document`,{});const t={force:`force`,layeredHorizontal:`layeredHorizontal`,layeredVertical:`layeredVertical`,flow:`flow`,viewLayered:`viewLayered`};t.force;function n(e){return e!==t.force}function r(e){return e===t.flow}const i={"elk.padding":`[top=52,left=24,bottom=24,right=24]`},a={"elk.padding":`[top=0,left=0,bottom=0,right=0]`,"elk.hierarchyHandling":`INCLUDE_CHILDREN`},o={"elk.algorithm":`layered`,"elk.layered.spacing.baseValue":`40`,"elk.spacing.componentComponent":`80`,"elk.layered.spacing.edgeNodeBetweenLayers":`120`,"elk.layered.considerModelOrder.strategy":`PREFER_EDGES`,"elk.layered.crossingMinimization.forceNodeModelOrder":`true`,"elk.layered.mergeEdges":`true`,"elk.layered.nodePlacement.strategy":`INTERACTIVE`,"elk.layered.layering.strategy":`INTERACTIVE`},s={"elk.alignment":`LEFT`},c={"elk.aspectRatio":`0.5625`},l={"elk.spacing.nodeNode":`80`,"elk.separateConnectedComponents":`true`,"elk.spacing.componentComponent":`160`},u=e=>({...l,"elk.algorithm":`layered`,"elk.direction":e,"elk.layered.spacing.nodeNodeBetweenLayers":`160`,"elk.layered.cycleBreaking.strategy":`DEPTH_FIRST`});function d(e){switch(e){case t.layeredHorizontal:return u(`RIGHT`);case t.layeredVertical:return u(`DOWN`);case t.flow:return{...u(`RIGHT`),"elk.layered.nodePlacement.strategy":`SIMPLE`,"elk.layered.spacing.edgeNodeBetweenLayers":`80`};case t.viewLayered:return{...o}}}function f(e){return e===t.viewLayered?{...s}:null}function p(e,t){switch(t){case`tableGroup`:return{...d(e),...i};case`component`:return{...d(e),...a};default:return{...c}}}const m=[...new Set(Object.values(t).filter(n).map(e=>d(e)[`elk.algorithm`]))],h=`EAST`,g=e=>`edge-${e}-source`,_=e=>`edge-${e}-target`;function v(e,t){return e.side===t.side?e.side===h?e.row-t.row:t.row-e.row:e.side===h?-1:1}function y(e){let t=/* @__PURE__ */ new Map,n=(e,n)=>{let r=t.get(e);r?r.push(n):t.set(e,[n])};return e.forEach((e,t)=>{n(e.source,{id:g(t),row:e.sourceRow,side:h}),n(e.target,{id:_(t),row:e.targetRow,side:`WEST`})}),new Map([...t].map(([e,t])=>[e,t.sort(v).map(({id:e,side:t})=>({id:e,width:8,height:8,layoutOptions:{"elk.port.side":t}}))]))}function b(e,t=/* @__PURE__ */ new Map){return e.forEach(({id:e,children:n=[]})=>{n.forEach(n=>t.set(n.id,e)),b(n,t)}),t}function x(e,t){let n=[];for(let r=e.get(t);r;r=e.get(r))n.push(r);return n}function S(e,t,n){let r=new Set(x(e,t));return x(e,n).find(e=>r.has(e))??null}function C({placement:e,nodes:t,edges:n}){let i=r(e)?y(n):null,a=b(t),o=/* @__PURE__ */ new Map;return n.forEach(({source:e,target:t},n)=>{let r=S(a,e,t),s={id:`edge-${n}`,sources:[i?g(n):e],targets:[i?_(n):t]},c=o.get(r);c?c.push(s):o.set(r,[s])}),{id:`root`,layoutOptions:d(e),children:t.map(t=>w(t,e,i,o)),edges:o.get(null)??[]}}function w({id:e,width:t,height:n,x:r,y:i,children:a,kind:o},s,c,l){if(a?.length){let r=l.get(e);return{id:e,width:t,height:n,layoutOptions:p(s,o),children:a.map(e=>w(e,s,c,l)),...r?{edges:r}:{}}}let u={...f(s),...c?{"elk.portConstraints":`FIXED_ORDER`}:{}};return{id:e,width:t,height:n,...r===void 0?{}:{x:r},...i===void 0?{}:{y:i},...Object.keys(u).length?{layoutOptions:u}:{},...c?{ports:c.get(e)??[]}:{}}}function T(e,t,n){return e.flatMap(({id:e,x:r,y:i,children:a})=>{let o=t+(r??0),s=n+(i??0);return a?.length?T(a,o,s):[{id:e,x:o,y:s}]})}let E=null;function D(){return E??=import(`elkjs/lib/elk.bundled.js`).then(({default:e})=>new e({algorithms:m})),E}const O=new class{async ready(){return await D(),!0}async layout(e){return T((await(await D()).layout(C(e))).children??[],0,0)}};self.onconnect=t=>{let n=t.ports[0];e.expose(O,n)};
|