@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.
Files changed (347) hide show
  1. package/README.md +316 -147
  2. package/dist/components/appContext.d.ts +4 -0
  3. package/dist/components/erd/Erd.d.ts +3 -0
  4. package/dist/components/erd/automatic-table-placement/AutomaticTablePlacement.d.ts +2 -1
  5. package/dist/components/erd/automatic-table-placement/createAutomaticTablePlacement.d.ts +38 -2
  6. package/dist/components/erd/automatic-table-placement/elkPlacement.d.ts +42 -0
  7. package/dist/components/erd/automatic-table-placement/flowPlacement.d.ts +21 -0
  8. package/dist/components/erd/automatic-table-placement/placementActions.d.ts +14 -0
  9. package/dist/components/erd/automatic-table-placement/runElkPlacement.d.ts +0 -11
  10. package/dist/components/erd/canvas/SceneIcon.template.d.ts +2 -2
  11. package/dist/components/erd/canvas/entityDrag.d.ts +17 -1
  12. package/dist/components/erd/canvas/middleButtonPan.d.ts +11 -0
  13. package/dist/components/erd/canvas/sceneTokens.d.ts +38 -0
  14. package/dist/components/erd/canvas/table/Table.d.ts +9 -1
  15. package/dist/components/erd/canvas/table/doubleClick.d.ts +3 -4
  16. package/dist/components/erd/canvas/table-group/TableGroup.d.ts +17 -0
  17. package/dist/components/erd/canvas/table-group/TableGroupBody.d.ts +17 -0
  18. package/dist/components/erd/canvas/table-group/TableGroupDropTarget.d.ts +10 -0
  19. package/dist/components/erd/canvas/table-group/TableGroupSash.d.ts +35 -0
  20. package/dist/components/erd/canvas/table-group/TableGroups.d.ts +10 -0
  21. package/dist/components/erd/canvas/table-group/tableGroupBox.d.ts +40 -0
  22. package/dist/components/erd/canvas/table-group/titleLayout.d.ts +45 -0
  23. package/dist/components/erd/canvas/useMoveEntity.d.ts +2 -0
  24. package/dist/components/erd/draw-target/DrawTargetButtons.d.ts +16 -0
  25. package/dist/components/erd/draw-target/DrawTargetButtons.styles.d.ts +14 -0
  26. package/dist/components/erd/draw-target/drawTargetState.d.ts +26 -0
  27. package/dist/components/erd/draw-target/findDrawTarget.d.ts +29 -0
  28. package/dist/components/erd/draw-target/placePill.d.ts +49 -0
  29. package/dist/components/erd/erd-context-menu/ErdContextMenu.d.ts +6 -0
  30. package/dist/components/erd/erd-context-menu/menus/drawRelationshipMenus.d.ts +3 -0
  31. package/dist/components/erd/erd-context-menu/menus/exportMenus.d.ts +7 -2
  32. package/dist/components/erd/erd-context-menu/menus/importMenus.d.ts +5 -1
  33. package/dist/components/erd/erd-context-menu/menus/relationshipMenus.d.ts +6 -2
  34. package/dist/components/erd/erd-context-menu/menus/showMenus.d.ts +3 -1
  35. package/dist/components/erd/erd-context-menu/menus/tablePlacementMenus.d.ts +3 -0
  36. package/dist/components/erd/floating-toolbar/ToolbarCompass.template.d.ts +3 -1
  37. package/dist/components/erd/hitTest.d.ts +16 -1
  38. package/dist/components/erd/minimap/MinimapScene.d.ts +1 -1
  39. package/dist/components/erd/minimap/table/Table.d.ts +3 -3
  40. package/dist/components/erd/minimap/table-group/TableGroup.d.ts +17 -0
  41. package/dist/components/erd/table-group/TableGroupDraft.d.ts +15 -0
  42. package/dist/components/erd/table-group/TableGroupDraft.styles.d.ts +6 -0
  43. package/dist/components/erd/table-group/tableGroupName.d.ts +21 -0
  44. package/dist/components/erd/table-group/useTableGroupDraw.d.ts +25 -0
  45. package/dist/components/erd/table-properties/TableProperties.styles.d.ts +2 -2
  46. package/dist/components/erd/table-properties/table-properties-indexes/indexes-key/IndexesKey.d.ts +6 -0
  47. package/dist/components/erd/table-properties/table-properties-tabs/TablePropertiesTabs.d.ts +3 -0
  48. package/dist/components/erd/welcome-screen/WelcomeScreen.d.ts +17 -0
  49. package/dist/components/erd/welcome-screen/WelcomeScreen.styles.d.ts +17 -0
  50. package/dist/components/erd/welcome-screen/welcome-hints/WelcomeHints.d.ts +21 -0
  51. package/dist/components/erd/welcome-screen/welcome-hints/WelcomeHints.styles.d.ts +14 -0
  52. package/dist/components/erd/welcome-screen/welcome-hints/hintArrows.d.ts +10 -0
  53. package/dist/components/erd/welcome-screen/welcomeLayout.d.ts +87 -0
  54. package/dist/components/erd-editor/ErdEditor.d.ts +66 -6
  55. package/dist/components/erd-editor/useErdEditorAttachElement.d.ts +14 -1
  56. package/dist/components/export-image/ExportImage.d.ts +23 -0
  57. package/dist/components/export-image/ExportImage.styles.d.ts +34 -0
  58. package/dist/components/export-image/exportImageActions.d.ts +48 -0
  59. package/dist/components/find-replace/panelLayout.d.ts +4 -1
  60. package/dist/components/generator-code/GeneratorCode.d.ts +1 -0
  61. package/dist/components/generator-code/generator-code-context-menu/GeneratorCodeContextMenu.d.ts +3 -0
  62. package/dist/components/generator-code/generator-code-context-menu/menus/columnNameCaseMenus.d.ts +3 -0
  63. package/dist/components/generator-code/generator-code-context-menu/menus/languageMenus.d.ts +8 -0
  64. package/dist/components/generator-code/generator-code-context-menu/menus/tableNameCaseMenus.d.ts +3 -0
  65. package/dist/components/generator-code/generator-code-options/GeneratorCodeOptions.d.ts +17 -0
  66. package/dist/components/generator-code/generator-code-options/GeneratorCodeOptions.styles.d.ts +5 -0
  67. package/dist/components/generator-code/generatorCodeView.d.ts +12 -0
  68. package/dist/components/generator-code/languageSettings.d.ts +14 -0
  69. package/dist/components/locale-picker/LocalePicker.d.ts +13 -0
  70. package/dist/components/locale-picker/LocalePicker.styles.d.ts +19 -0
  71. package/dist/components/localeContext.d.ts +10 -0
  72. package/dist/components/localized/Localized.d.ts +18 -0
  73. package/dist/components/map-columns/MapColumnsBody.d.ts +24 -0
  74. package/dist/components/map-columns/MapColumnsDialog.d.ts +13 -0
  75. package/dist/components/map-columns/MapColumnsDialog.styles.d.ts +38 -0
  76. package/dist/components/map-columns/mapColumnsAction.d.ts +13 -0
  77. package/dist/components/map-columns/nameOf.d.ts +6 -0
  78. package/dist/components/map-columns/openMapColumns.d.ts +9 -0
  79. package/dist/components/primitives/code-block/CodeBlock.d.ts +6 -1
  80. package/dist/components/primitives/code-block/CodeBlock.styles.d.ts +2 -0
  81. package/dist/components/primitives/color-picker/ColorPicker.d.ts +10 -1
  82. package/dist/components/primitives/color-picker/ColorPicker.styles.d.ts +25 -0
  83. package/dist/components/primitives/color-picker/colorModel.d.ts +36 -0
  84. package/dist/components/primitives/color-picker/presetColors.d.ts +13 -0
  85. package/dist/components/primitives/color-picker/resolveColor.d.ts +7 -0
  86. package/dist/components/primitives/context-menu/ContextMenu.d.ts +2 -0
  87. package/dist/components/primitives/context-menu/context-menu-content/ContextMenuContent.d.ts +1 -0
  88. package/dist/components/primitives/context-menu/context-menu-content/fitMenu.d.ts +4 -4
  89. package/dist/components/primitives/context-menu/context-menu-separator/ContextMenuSeparator.d.ts +8 -0
  90. package/dist/components/primitives/context-menu/context-menu-separator/ContextMenuSeparator.styles.d.ts +2 -0
  91. package/dist/components/primitives/context-menu/menu/Menu.d.ts +2 -0
  92. package/dist/components/primitives/context-menu/submenu-chevron/SubmenuChevron.d.ts +5 -0
  93. package/dist/components/primitives/dialog/Dialog.d.ts +21 -0
  94. package/dist/components/primitives/dialog/Dialog.styles.d.ts +12 -0
  95. package/dist/components/primitives/highlighted-text/HighlightedText.d.ts +2 -5
  96. package/dist/components/primitives/icon/icons.d.ts +17 -0
  97. package/dist/components/primitives/select/Select.d.ts +18 -0
  98. package/dist/components/primitives/select/Select.styles.d.ts +13 -0
  99. package/dist/components/primitives/text-input/TextInput.d.ts +2 -0
  100. package/dist/components/primitives/toast/Toast.d.ts +5 -1
  101. package/dist/components/primitives/toast/Toast.styles.d.ts +2 -2
  102. package/dist/components/quick-search/QuickSearch.d.ts +2 -1
  103. package/dist/components/quick-search/actions.d.ts +40 -5
  104. package/dist/components/quick-search/hangul.d.ts +16 -10
  105. package/dist/components/quick-search/paletteQuery.d.ts +5 -4
  106. package/dist/components/quick-search/scopedActions.d.ts +6 -5
  107. package/dist/components/schema-sql/SchemaSQL.d.ts +2 -0
  108. package/dist/components/schema-sql/SchemaSQL.styles.d.ts +7 -0
  109. package/dist/components/schema-sql/schema-sql-context-menu/SchemaSQLContextMenu.d.ts +3 -0
  110. package/dist/components/schema-sql/schema-sql-context-menu/menus/bracketMenus.d.ts +3 -0
  111. package/dist/components/schema-sql/schema-sql-context-menu/menus/headerMenus.d.ts +29 -0
  112. package/dist/components/schema-sql/schema-sql-context-menu/menus/statementsMenus.d.ts +27 -0
  113. package/dist/components/schema-sql/schema-sql-options/SchemaSQLOptions.d.ts +24 -0
  114. package/dist/components/schema-sql/schema-sql-options/SchemaSQLOptions.styles.d.ts +45 -0
  115. package/dist/components/schema-sql/schema-sql-options/ScriptEditor.d.ts +20 -0
  116. package/dist/components/schema-sql/schema-sql-options/ScriptEditor.styles.d.ts +13 -0
  117. package/dist/components/schema-sql/schema-sql-options/dropWarning.d.ts +8 -0
  118. package/dist/components/schema-sql/schemaSQLView.d.ts +71 -0
  119. package/dist/components/settings/Settings.styles.d.ts +7 -0
  120. package/dist/components/settings/columnTypeLabels.d.ts +8 -0
  121. package/dist/components/settings/lockSettingRows.d.ts +16 -0
  122. package/dist/components/settings/settings-lnb/SettingsLnb.d.ts +3 -0
  123. package/dist/components/settings/settingsPage.d.ts +10 -0
  124. package/dist/components/theme-builder/ThemeBuilder.d.ts +9 -1
  125. package/dist/components/theme-builder/ThemeBuilder.styles.d.ts +8 -5
  126. package/dist/components/toast-container/openStatusToast.d.ts +29 -0
  127. package/dist/components/toast-container/openToastWhileRunning.d.ts +1 -1
  128. package/dist/components/toolbar/Toolbar.d.ts +1 -0
  129. package/dist/components/visualization/graph-node/GraphNode.d.ts +2 -2
  130. package/dist/components/visualization/graphPan.d.ts +12 -0
  131. package/dist/components/visualization/visualizationView.d.ts +2 -2
  132. package/dist/constants/language.d.ts +1 -1
  133. package/dist/constants/layout.d.ts +34 -0
  134. package/dist/constants/open.d.ts +3 -0
  135. package/dist/constants/schema.d.ts +25 -4
  136. package/dist/constants/sql/dataType/PostgreSQL.d.ts +2 -1
  137. package/dist/constants/sql/dataType/SQLite.d.ts +3 -1
  138. package/dist/engine/actions.d.ts +20 -2
  139. package/dist/engine/context.d.ts +6 -0
  140. package/dist/engine/index.js +26 -21
  141. package/dist/engine/modules/editor/actions.d.ts +10 -2
  142. package/dist/engine/modules/editor/atom.actions.d.ts +49 -11
  143. package/dist/engine/modules/editor/generator.actions.d.ts +107 -8
  144. package/dist/engine/modules/editor/state.d.ts +16 -3
  145. package/dist/engine/modules/editor/utils/color.d.ts +21 -0
  146. package/dist/engine/modules/editor/utils/duplicate.d.ts +28 -1
  147. package/dist/engine/modules/editor/utils/focus.d.ts +16 -0
  148. package/dist/engine/modules/editor/utils/releaseHidden.d.ts +16 -0
  149. package/dist/engine/modules/editor/utils/selection.d.ts +12 -0
  150. package/dist/engine/modules/relationship/actions.d.ts +6 -0
  151. package/dist/engine/modules/relationship/atom.actions.d.ts +57 -1
  152. package/dist/engine/modules/relationship/endFlags.d.ts +14 -0
  153. package/dist/engine/modules/relationship/fkColumns.d.ts +25 -6
  154. package/dist/engine/modules/relationship/history.d.ts +1 -0
  155. package/dist/engine/modules/relationship/hooks.d.ts +0 -11
  156. package/dist/engine/modules/relationship/referenceType.d.ts +12 -0
  157. package/dist/engine/modules/settings/actions.d.ts +17 -4
  158. package/dist/engine/modules/settings/atom.actions.d.ts +63 -19
  159. package/dist/engine/modules/settings/generator.actions.d.ts +7 -0
  160. package/dist/engine/modules/settings/history.d.ts +1 -0
  161. package/dist/engine/modules/table/actions.d.ts +8 -0
  162. package/dist/engine/modules/table/atom.actions.d.ts +31 -0
  163. package/dist/engine/modules/table/generator.actions.d.ts +3 -3
  164. package/dist/engine/modules/table/history.d.ts +1 -0
  165. package/dist/engine/modules/table-column/generator.actions.d.ts +8 -0
  166. package/dist/engine/modules/table-column/hooks.d.ts +0 -6
  167. package/dist/engine/modules/table-column/keys.d.ts +14 -0
  168. package/dist/engine/modules/table-column/utils/dataType.d.ts +19 -1
  169. package/dist/engine/modules/table-group/actions.d.ts +63 -0
  170. package/dist/engine/modules/table-group/atom.actions.d.ts +238 -0
  171. package/dist/engine/modules/table-group/generator.actions.d.ts +111 -0
  172. package/dist/engine/modules/table-group/history.d.ts +13 -0
  173. package/dist/engine/peer-store.d.ts +9 -3
  174. package/dist/engine/replication-store.d.ts +6 -3
  175. package/dist/engine/rx-operators/groupByStreamActions.d.ts +5 -1
  176. package/dist/engine/rx-operators/lockIgnoreFilter.d.ts +8 -0
  177. package/dist/engine/rx-store.d.ts +2 -0
  178. package/dist/engine/settle.d.ts +9 -0
  179. package/dist/engine/store-hooks.d.ts +0 -8
  180. package/dist/erd-editor.umd.js +2100 -4194
  181. package/dist/hooks/useNavigatorLanguages.d.ts +7 -0
  182. package/dist/i18n/locales.d.ts +126 -0
  183. package/dist/i18n/menuLabel.d.ts +12 -0
  184. package/dist/i18n/messages/ar-SA.d.ts +399 -0
  185. package/dist/i18n/messages/de-DE.d.ts +375 -0
  186. package/dist/i18n/messages/en/code.d.ts +17 -0
  187. package/dist/i18n/messages/en/colorPicker.d.ts +35 -0
  188. package/dist/i18n/messages/en/common.d.ts +65 -0
  189. package/dist/i18n/messages/en/contextMenu.d.ts +29 -0
  190. package/dist/i18n/messages/en/exportImage.d.ts +25 -0
  191. package/dist/i18n/messages/en/feedback.d.ts +11 -0
  192. package/dist/i18n/messages/en/findReplace.d.ts +36 -0
  193. package/dist/i18n/messages/en/floatingToolbar.d.ts +12 -0
  194. package/dist/i18n/messages/en/index.d.ts +378 -0
  195. package/dist/i18n/messages/en/mapColumns.d.ts +39 -0
  196. package/dist/i18n/messages/en/palette.d.ts +40 -0
  197. package/dist/i18n/messages/en/schemaSql.d.ts +28 -0
  198. package/dist/i18n/messages/en/settings.d.ts +22 -0
  199. package/dist/i18n/messages/en/shortcuts.d.ts +32 -0
  200. package/dist/i18n/messages/en/tableProperties.d.ts +34 -0
  201. package/dist/i18n/messages/en/themeBuilder.d.ts +7 -0
  202. package/dist/i18n/messages/en/toolbar.d.ts +9 -0
  203. package/dist/i18n/messages/en/visualization.d.ts +12 -0
  204. package/dist/i18n/messages/en/welcome.d.ts +13 -0
  205. package/dist/i18n/messages/es-ES.d.ts +381 -0
  206. package/dist/i18n/messages/eu-ES.d.ts +375 -0
  207. package/dist/i18n/messages/fa-IR.d.ts +375 -0
  208. package/dist/i18n/messages/fr-FR.d.ts +381 -0
  209. package/dist/i18n/messages/he-IL.d.ts +381 -0
  210. package/dist/i18n/messages/id-ID.d.ts +369 -0
  211. package/dist/i18n/messages/index.d.ts +11 -0
  212. package/dist/i18n/messages/it-IT.d.ts +381 -0
  213. package/dist/i18n/messages/ja-JP.d.ts +369 -0
  214. package/dist/i18n/messages/ko-KR.d.ts +369 -0
  215. package/dist/i18n/messages/nl-NL.d.ts +375 -0
  216. package/dist/i18n/messages/pl-PL.d.ts +387 -0
  217. package/dist/i18n/messages/pt-BR.d.ts +381 -0
  218. package/dist/i18n/messages/pt-PT.d.ts +381 -0
  219. package/dist/i18n/messages/ro-RO.d.ts +381 -0
  220. package/dist/i18n/messages/ru-RU.d.ts +387 -0
  221. package/dist/i18n/messages/sk-SK.d.ts +387 -0
  222. package/dist/i18n/messages/sl-SI.d.ts +387 -0
  223. package/dist/i18n/messages/sv-SE.d.ts +375 -0
  224. package/dist/i18n/messages/tr-TR.d.ts +375 -0
  225. package/dist/i18n/messages/uk-UA.d.ts +387 -0
  226. package/dist/i18n/messages/zh-CN.d.ts +369 -0
  227. package/dist/i18n/messages/zh-TW.d.ts +369 -0
  228. package/dist/i18n/resolveLocale.d.ts +11 -0
  229. package/dist/i18n/source.d.ts +7 -0
  230. package/dist/i18n/translate.d.ts +58 -0
  231. package/dist/index.d.ts +2 -0
  232. package/dist/index.js +29797 -13894
  233. package/dist/internal-types/index.d.ts +2 -4
  234. package/dist/konva/scene/contentBounds.d.ts +18 -12
  235. package/dist/konva/scene/metrics.d.ts +2 -0
  236. package/dist/konva/scene/renderScene.d.ts +10 -4
  237. package/dist/konva/scene/stacking.d.ts +21 -0
  238. package/dist/konva/scene/viewLayout.d.ts +2 -1
  239. package/dist/loadValue-B3EFSe9k.js +12925 -0
  240. package/dist/peer/index.d.ts +6 -3
  241. package/dist/peer/index.js +83 -76
  242. package/dist/services/elk-layout/elkGraph.d.ts +6 -4
  243. package/dist/services/elk-layout/elkLayoutOptions.d.ts +20 -0
  244. package/dist/services/elk-layout/elkLayoutService.d.ts +3 -3
  245. package/dist/services/export-png/ExportScene.d.ts +3 -3
  246. package/dist/services/export-png/documentScene.d.ts +14 -9
  247. package/dist/services/export-png/exportBox.d.ts +40 -5
  248. package/dist/services/export-png/exportPngService.d.ts +15 -0
  249. package/dist/services/export-png/exportTheme.d.ts +26 -0
  250. package/dist/services/export-png/index.d.ts +44 -11
  251. package/dist/services/export-png/renderPng.d.ts +18 -10
  252. package/dist/services/export-png/renderSvg.d.ts +22 -0
  253. package/dist/services/export-png/sceneSvg.d.ts +54 -0
  254. package/dist/services/shiki/graphqlGrammar.d.ts +8 -0
  255. package/dist/shared-store-fUggY7sI.js +1341 -0
  256. package/dist/themes/radix-ui-theme.d.ts +11 -3
  257. package/dist/themes/tokens.d.ts +9 -0
  258. package/dist/utils/calcTable.d.ts +9 -0
  259. package/dist/utils/clipboard.d.ts +9 -0
  260. package/dist/utils/collection/tableGroup.entity.d.ts +3 -0
  261. package/dist/utils/contrastText.d.ts +21 -0
  262. package/dist/utils/deepMerge.d.ts +8 -0
  263. package/dist/utils/device-detect/index.d.ts +2 -6
  264. package/dist/utils/domEvent.d.ts +18 -0
  265. package/dist/utils/dragSelect.d.ts +2 -0
  266. package/dist/utils/draw-relationship/bezier.d.ts +2 -0
  267. package/dist/utils/draw-relationship/corner.d.ts +9 -0
  268. package/dist/utils/draw-relationship/index.d.ts +18 -18
  269. package/dist/utils/draw-relationship/loop.d.ts +29 -0
  270. package/dist/utils/draw-relationship/pathFinding.d.ts +1 -1
  271. package/dist/utils/draw-relationship/sort.d.ts +8 -1
  272. package/dist/utils/draw-relationship/stub.d.ts +4 -3
  273. package/dist/utils/emitter.d.ts +53 -6
  274. package/dist/utils/file/exportFile.d.ts +15 -5
  275. package/dist/utils/file/importFile.d.ts +9 -5
  276. package/dist/utils/file/importSchema.d.ts +45 -0
  277. package/dist/utils/find-replace/findMatches.d.ts +1 -1
  278. package/dist/utils/find-replace/present.d.ts +5 -3
  279. package/dist/utils/generator-code/columnTypes.d.ts +99 -0
  280. package/dist/utils/generator-code/doctrine.d.ts +6 -0
  281. package/dist/utils/generator-code/doctrineReservedWords.d.ts +7 -0
  282. package/dist/utils/generator-code/graphql.d.ts +6 -0
  283. package/dist/utils/generator-code/heck.d.ts +5 -0
  284. package/dist/utils/generator-code/java.d.ts +28 -0
  285. package/dist/utils/generator-code/jsonSchema.d.ts +50 -0
  286. package/dist/utils/generator-code/jsonShape.d.ts +37 -0
  287. package/dist/utils/generator-code/kotlin.d.ts +1 -0
  288. package/dist/utils/generator-code/mermaid.d.ts +5 -0
  289. package/dist/utils/generator-code/php.d.ts +28 -0
  290. package/dist/utils/generator-code/rust.d.ts +13 -0
  291. package/dist/utils/generator-code/rustTypes.d.ts +44 -0
  292. package/dist/utils/generator-code/scala.d.ts +1 -0
  293. package/dist/utils/generator-code/seaorm.d.ts +22 -0
  294. package/dist/utils/generator-code/swift.d.ts +44 -0
  295. package/dist/utils/generator-code/utils.d.ts +19 -0
  296. package/dist/utils/generator-code/zod.d.ts +25 -0
  297. package/dist/utils/globalEventObservable.d.ts +10 -1
  298. package/dist/utils/highlightWords.d.ts +29 -0
  299. package/dist/utils/index.d.ts +1 -2
  300. package/dist/utils/keyboard-shortcut/bindKeys.d.ts +9 -0
  301. package/dist/utils/keyboard-shortcut/index.d.ts +11 -4
  302. package/dist/utils/keyboard-shortcut/utils.d.ts +21 -0
  303. package/dist/utils/map-columns/alignTypes.d.ts +37 -0
  304. package/dist/utils/map-columns/buildRows.d.ts +102 -0
  305. package/dist/utils/map-columns/candidateKeys.d.ts +24 -0
  306. package/dist/utils/map-columns/index.d.ts +8 -0
  307. package/dist/utils/map-columns/mapping.d.ts +67 -0
  308. package/dist/utils/map-columns/prefill.d.ts +26 -0
  309. package/dist/utils/map-columns/toMapColumnsActions.d.ts +10 -0
  310. package/dist/utils/map-columns/validate.d.ts +45 -0
  311. package/dist/utils/memo.d.ts +4 -0
  312. package/dist/utils/schema-aml-parser/types.d.ts +2 -0
  313. package/dist/utils/schema-dbml-parser/tokenizer.d.ts +2 -0
  314. package/dist/utils/schema-dbml-parser/types.d.ts +11 -0
  315. package/dist/utils/schema-sql/Databricks.d.ts +8 -3
  316. package/dist/utils/schema-sql/MSSQL.d.ts +14 -2
  317. package/dist/utils/schema-sql/MariaDB.d.ts +6 -5
  318. package/dist/utils/schema-sql/MySQL.d.ts +13 -4
  319. package/dist/utils/schema-sql/Oracle.d.ts +19 -5
  320. package/dist/utils/schema-sql/PostgreSQL.d.ts +16 -4
  321. package/dist/utils/schema-sql/SQLite.d.ts +16 -4
  322. package/dist/utils/schema-sql/Snowflake.d.ts +8 -3
  323. package/dist/utils/schema-sql/index.d.ts +16 -1
  324. package/dist/utils/schema-sql/options.d.ts +57 -0
  325. package/dist/utils/schema-sql/utils.d.ts +101 -2
  326. package/dist/utils/stageCursor.d.ts +20 -0
  327. package/dist/utils/table-clipboard/placement.d.ts +2 -0
  328. package/dist/utils/tableColor.d.ts +29 -0
  329. package/dist/utils/tableGroup.d.ts +142 -0
  330. package/dist/utils/tableKeys.d.ts +11 -3
  331. package/dist/workers/elkLayout.shared-worker.js +1 -1
  332. package/dist/workers/exportPng.shared-worker.js +30 -30
  333. package/dist/workers/shiki.shared-worker.js +1 -1
  334. package/dist/workers/spawn.d.ts +1 -2
  335. package/dist/workers/spawn.inline.d.ts +0 -1
  336. package/package.json +6 -13
  337. package/dist/components/generator-code/GeneratorCode.styles.d.ts +0 -2
  338. package/dist/loadValue-Mdc5K4qO.js +0 -10858
  339. package/dist/schemaGCService-CZtGFh2z.js +0 -42
  340. package/dist/services/schema-gc/index.d.ts +0 -18
  341. package/dist/services/schema-gc/procGC.d.ts +0 -4
  342. package/dist/services/schema-gc/schemaGC.shared-worker.d.ts +0 -2
  343. package/dist/services/schema-gc/schemaGCService.d.ts +0 -10
  344. package/dist/shared-store-D82WVL5a.js +0 -1129
  345. package/dist/styles/colorPicker.style.d.ts +0 -7
  346. package/dist/utils/draw-relationship/chamfer.d.ts +0 -3
  347. 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 { Column, Index, Relationship, Table } from '../../internal-types';
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): 1 | -1 | 0;
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
- /** One alternate key: a unique index of the table and the columns it keys, in key order. */
23
- export type AlternateKey = {
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 }: KeyState, table: Table): ColumnKey[];
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`},a={"elk.alignment":`LEFT`},o={"elk.aspectRatio":`0.5625`},s={"elk.spacing.nodeNode":`80`,"elk.separateConnectedComponents":`true`,"elk.spacing.componentComponent":`160`},c=e=>({...s,"elk.algorithm":`layered`,"elk.direction":e,"elk.layered.spacing.nodeNodeBetweenLayers":`160`,"elk.layered.cycleBreaking.strategy":`DEPTH_FIRST`});function l(e){switch(e){case t.layeredHorizontal:return c(`RIGHT`);case t.layeredVertical:return c(`DOWN`);case t.flow:return{...c(`RIGHT`),"elk.layered.nodePlacement.strategy":`SIMPLE`,"elk.layered.spacing.edgeNodeBetweenLayers":`80`};case t.viewLayered:return{...i}}}function u(e){return e===t.viewLayered?{...a}:null}const d=[...new Set(Object.values(t).filter(n).map(e=>l(e)[`elk.algorithm`]))],f=`EAST`,p=e=>`edge-${e}-source`,m=e=>`edge-${e}-target`;function h(e,t){return e.side===t.side?e.side===f?e.row-t.row:t.row-e.row:e.side===f?-1:1}function g(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:p(t),row:e.sourceRow,side:f}),n(e.target,{id:m(t),row:e.targetRow,side:`WEST`})}),new Map([...t].map(([e,t])=>[e,t.sort(h).map(({id:e,side:t})=>({id:e,width:8,height:8,layoutOptions:{"elk.port.side":t}}))]))}function _({placement:e,nodes:t,edges:n}){let i=r(e)?g(n):null;return{id:`root`,layoutOptions:l(e),children:t.map(t=>v(t,e,i)),edges:n.map(({source:e,target:t},n)=>({id:`edge-${n}`,sources:[i?p(n):e],targets:[i?m(n):t]}))}}function v({id:e,width:t,height:n,x:r,y:i,children:a},s,c){if(a?.length)return{id:e,width:t,height:n,layoutOptions:{...o},children:a.map(e=>v(e,s,c))};let l={...u(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(l).length?{layoutOptions:l}:{},...c?{ports:c.get(e)??[]}:{}}}function y(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?y(a,o,s):[{id:e,x:o,y:s}]})}let b=null;function x(){return b??=import(`elkjs/lib/elk.bundled.js`).then(({default:e})=>new e({algorithms:d})),b}const S=new class{async ready(){return await x(),!0}async layout(e){return y((await(await x()).layout(_(e))).children??[],0,0)}};self.onconnect=t=>{let n=t.ports[0];e.expose(S,n)};
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)};