@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,49 @@
1
+ import { Viewport } from '../../../engine/modules/editor/state';
2
+ import { Rect } from '../../../konva/scene/metrics';
3
+ /** The room between the buttons and the table, and between them and the canvas edge. */
4
+ export declare const PILL_MARGIN = 8;
5
+ /** How far past the buttons' outer edge the gutter beside them reaches. */
6
+ export declare const GUTTER_REACH = 4;
7
+ export type PillSide = 'left' | 'right';
8
+ export type PillSize = {
9
+ width: number;
10
+ height: number;
11
+ };
12
+ export type PillPlacement = {
13
+ x: number;
14
+ y: number;
15
+ side: PillSide;
16
+ };
17
+ export type PlacePillInput = {
18
+ /** The table's box on screen. */
19
+ card: Rect;
20
+ viewport: Viewport;
21
+ /** How far in from the left edge Find and Replace hides the canvas. */
22
+ covered: number;
23
+ /** The chrome drawn over the canvas that the buttons keep clear of. */
24
+ obstacles: readonly Rect[];
25
+ pill: PillSize;
26
+ };
27
+ /** The part of the table's height the canvas shows, a margin in from its edges. */
28
+ export declare function getVisibleSpan(card: Rect, viewport: Viewport): {
29
+ top: number;
30
+ bottom: number;
31
+ };
32
+ /**
33
+ * Left of the table, else right of it, else over its left edge; level with the
34
+ * top of its shown part and inside the canvas. Off the minimap and the floating
35
+ * toolbar by moving below or above it, then by the other side, else put.
36
+ */
37
+ export declare function placePill({ card, viewport, covered, obstacles, pill, }: PlacePillInput): PillPlacement;
38
+ /**
39
+ * The clear strip from a little past the buttons to the table, as tall as both,
40
+ * which takes a press that would reach a neighbour or the start table under it,
41
+ * so only the outlined table is drawn to. None where the buttons cover the table.
42
+ */
43
+ export declare function getGutterRect({ card, viewport, placement, pill, }: {
44
+ card: Rect;
45
+ viewport: Viewport;
46
+ placement: PillPlacement;
47
+ pill: PillSize;
48
+ }): Rect | null;
49
+ //# sourceMappingURL=placePill.d.ts.map
@@ -3,13 +3,19 @@ import { ValuesType } from '../../../internal-types';
3
3
  export declare const ErdContextMenuType: {
4
4
  readonly ERD: "ERD";
5
5
  readonly table: "table";
6
+ readonly memo: "memo";
6
7
  readonly relationship: "relationship";
8
+ readonly tableGroup: "tableGroup";
7
9
  };
8
10
  export type ErdContextMenuType = ValuesType<typeof ErdContextMenuType>;
9
11
  export type ErdContextMenuProps = {
10
12
  type: ErdContextMenuType;
11
13
  relationshipId?: string;
12
14
  tableId?: string;
15
+ /** The column whose row the press that raised a table menu landed on. */
16
+ columnId?: string;
17
+ memoId?: string;
18
+ tableGroupId?: string;
13
19
  onClose: () => void;
14
20
  };
15
21
  declare const ErdContextMenu: FC<ErdContextMenuProps>;
@@ -1,9 +1,11 @@
1
1
  import { AppContext } from '../../../appContext';
2
2
  import { NotationIconName } from '../../../primitives/icon/icons';
3
+ import { PlainMessageKey } from '../../../../i18n/translate';
3
4
  import { KeyBindingName } from '../../../../utils/keyboard-shortcut';
4
5
  type Menu = {
5
6
  iconName: NotationIconName;
6
7
  name: string;
8
+ labelKey?: PlainMessageKey;
7
9
  keyBindingName: KeyBindingName;
8
10
  relationshipType: number;
9
11
  };
@@ -11,6 +13,7 @@ export declare const menus: Menu[];
11
13
  export declare function createDrawRelationshipMenus({ store, keyBindingMap }: AppContext, onClose: () => void): {
12
14
  iconName: "ZeroOneN" | "ZeroOne" | "ZeroN" | "OneOnly" | "OneN" | "One" | "N";
13
15
  name: string;
16
+ labelKey: PlainMessageKey | undefined;
14
17
  shortcut: string;
15
18
  onClick: () => void;
16
19
  }[];
@@ -1,11 +1,16 @@
1
1
  import { AppContext } from '../../../appContext';
2
2
  import { IconName } from '../../../primitives/icon/icons';
3
- import { Theme } from '../../../../themes/tokens';
3
+ import { I18n } from '../../../../i18n/translate';
4
4
  type Menu = {
5
5
  icon: IconName;
6
6
  name: string;
7
7
  onClick: () => void;
8
8
  };
9
- export declare function createExportMenus(app: AppContext, onClose: () => void, theme: Theme): Menu[];
9
+ /**
10
+ * The Export rows: json by its format's name, Schema SQL and Image in the
11
+ * reader's language. Schema SQL saves nothing yet: it opens the tab, its
12
+ * options out, where Save file writes the text the reader settled on.
13
+ */
14
+ export declare function createExportMenus(app: AppContext, onClose: () => void, i18n?: Pick<I18n, 't'>): Menu[];
10
15
  export {};
11
16
  //# sourceMappingURL=exportMenus.d.ts.map
@@ -1,10 +1,14 @@
1
1
  import { AppContext } from '../../../appContext';
2
2
  import { IconName } from '../../../primitives/icon/icons';
3
+ import { PlainMessageKey } from '../../../../i18n/translate';
4
+ import { ImportMode } from '../../../../utils/file/importFile';
3
5
  type Menu = {
4
6
  icon: IconName;
5
7
  name: string;
8
+ labelKey?: PlainMessageKey;
6
9
  onClick: () => void;
7
10
  };
8
- export declare function createImportMenus(app: AppContext, onClose: () => void): Menu[];
11
+ /** The five formats of the Import menu, or of Import and Add for an append. */
12
+ export declare function createImportMenus(app: AppContext, onClose: () => void, mode?: ImportMode): Menu[];
9
13
  export {};
10
14
  //# sourceMappingURL=importMenus.d.ts.map
@@ -1,5 +1,9 @@
1
1
  import { AppContext } from '../../../appContext';
2
- export declare function createRelationshipMenus({ store }: AppContext, relationshipId?: string): {
2
+ import { I18n } from '../../../../i18n/translate';
3
+ /** A notation's name as this menu gives it, and none for a value it does not know. */
4
+ export declare function relationshipTypeName(relationshipType: number, { t }: Pick<I18n, 't'>): string;
5
+ /** The four types a relationship can take, its own one checked, named in the reader's language. */
6
+ export declare function createRelationshipMenus({ store }: AppContext, relationshipId?: string, i18n?: Pick<I18n, 't'>): {
3
7
  checked: boolean;
4
8
  iconName: "ZeroOneN" | "ZeroOne" | "ZeroN" | "OneOnly" | "OneN" | "One" | "N";
5
9
  name: string;
@@ -10,7 +14,7 @@ export type ReferentialActionField = 'onDelete' | 'onUpdate';
10
14
  * The ON DELETE or ON UPDATE choices of a relationship, its own one checked.
11
15
  * One the current database's DDL would drop stays choosable, with a note.
12
16
  */
13
- export declare function createReferentialActionMenus({ store }: AppContext, field: ReferentialActionField, relationshipId?: string): {
17
+ export declare function createReferentialActionMenus({ store }: AppContext, field: ReferentialActionField, relationshipId?: string, i18n?: Pick<I18n, 't'>): {
14
18
  checked: boolean;
15
19
  name: string;
16
20
  note: string | null;
@@ -1,5 +1,7 @@
1
1
  import { AppContext } from '../../../appContext';
2
- export declare function createShowMenus({ store }: AppContext): {
2
+ import { I18n } from '../../../../i18n/translate';
3
+ /** The View Option rows, each named in the reader's language and checked while it shows. */
4
+ export declare function createShowMenus({ store }: AppContext, i18n?: Pick<I18n, 't'>): {
3
5
  checked: boolean;
4
6
  name: string;
5
7
  onClick: () => void;
@@ -1,8 +1,10 @@
1
1
  import { AppContext } from '../../../appContext';
2
2
  import { IconName } from '../../../primitives/icon/icons';
3
3
  import { TablePlacement } from '../../../../constants/tablePlacement';
4
+ import { PlainMessageKey } from '../../../../i18n/translate';
4
5
  type Menu = {
5
6
  name: string;
7
+ labelKey?: PlainMessageKey;
6
8
  iconName: IconName;
7
9
  placement: TablePlacement;
8
10
  };
@@ -17,6 +19,7 @@ export declare const menus: Menu[];
17
19
  */
18
20
  export declare function createTablePlacementMenus({ emitter }: AppContext, onClose: () => void): {
19
21
  name: string;
22
+ labelKey: PlainMessageKey | undefined;
20
23
  iconName: IconName;
21
24
  onClick: () => void;
22
25
  }[];
@@ -2,6 +2,8 @@ import { DOMTemplateLiterals } from '@dineug/r-html';
2
2
  import { ContentCompass } from '../content-compass/compassGeometry';
3
3
  export type ToolbarCompassOptions = {
4
4
  compass: ContentCompass | null;
5
+ /** What the compass names itself, in the language of the bar it stands in. */
6
+ title: string;
5
7
  className?: string;
6
8
  onClick: () => void;
7
9
  };
@@ -10,5 +12,5 @@ export type ToolbarCompassOptions = {
10
12
  * lies and how far. A template rather than a component, so the label changes in
11
13
  * the same pass as the bar and a menu anchored over it moves with it.
12
14
  */
13
- export declare function toolbarCompass({ compass, className, onClick, }: ToolbarCompassOptions): DOMTemplateLiterals | null;
15
+ export declare function toolbarCompass({ compass, title, className, onClick, }: ToolbarCompassOptions): DOMTemplateLiterals | null;
14
16
  //# sourceMappingURL=ToolbarCompass.template.d.ts.map
@@ -1,9 +1,15 @@
1
1
  import { Stage } from 'konva/lib/Stage';
2
2
  /** The scene entities the erd routing tells apart from one another. */
3
- export type SceneEntityKind = 'table' | 'memo' | 'relationship';
3
+ export type SceneEntityKind = 'table' | 'memo' | 'relationship' | 'tableGroup';
4
+ /** The part of a table group a press landed on: its title bar, its body or a sash on its edge. */
5
+ export type TableGroupPart = 'title' | 'body' | 'sash';
4
6
  export type SceneHit = {
5
7
  kind: SceneEntityKind;
6
8
  id: string;
9
+ /** The column whose row a press inside a table landed on, absent off the rows. */
10
+ columnId?: string;
11
+ /** The part of a group a press landed on, for a group alone. */
12
+ part?: TableGroupPart;
7
13
  };
8
14
  /**
9
15
  * Records the entity konva hit for every press a stage dispatches, and returns
@@ -14,6 +20,15 @@ export type SceneHit = {
14
20
  * addUnsubscribe(trackSceneHits(stage));
15
21
  */
16
22
  export declare function trackSceneHits(stage: Stage): () => void;
23
+ /**
24
+ * Whether a press over the scene belongs to what it landed on, so the canvas
25
+ * under it neither pans, draws a marquee nor unselects: a table, a memo, a
26
+ * group's title bar or sash, and any part of a group for any other button.
27
+ *
28
+ * @example
29
+ * const canUnselectAll = !ownsPress(sceneHit(canvas, event), event);
30
+ */
31
+ export declare function ownsPress(hit: SceneHit | null, event: MouseEvent | TouchEvent): boolean;
17
32
  /**
18
33
  * The scene entity a pointer event landed on, or null for bare canvas and for a
19
34
  * target outside the stage. Konva resolved it as it dispatched that same event,
@@ -4,7 +4,7 @@ export type MinimapSceneProps = {};
4
4
  /**
5
5
  * The whole scene on one layer, with no culling: a thumbnail that dropped
6
6
  * what is off screen would stop being a map of where the rest of it is. Boxes
7
- * only, because a connector between two of them is noise at this size.
7
+ * only, the groups behind, because a connector between two is noise at this size.
8
8
  */
9
9
  declare const MinimapScene: FC<MinimapSceneProps>;
10
10
  /**
@@ -6,9 +6,9 @@ export type TableProps = {
6
6
  ratio: number;
7
7
  };
8
8
  /**
9
- * A table as the minimap draws it: the box and nothing in it, no smaller than a
10
- * mark however far the map is folded. The id stays off the node because two
11
- * stages spelling one id make an id scan ambiguous, so it is found by name and table.
9
+ * A table as the minimap draws it: the box in the table's own color and nothing in it, no smaller
10
+ * than a mark however far the map is folded. The id stays off the node because two stages
11
+ * spelling one id make an id scan ambiguous, so it is found by name and table.
12
12
  */
13
13
  declare const Table: FC<TableProps>;
14
14
  export default Table;
@@ -0,0 +1,17 @@
1
+ import { FC } from '@dineug/r-html';
2
+ import { Table, TableGroup } from '../../../../internal-types';
3
+ export type TableGroupProps = {
4
+ group: TableGroup;
5
+ /** The group's member tables, read once for every group by the minimap scene. */
6
+ members: ReadonlyArray<Table>;
7
+ /** Thumbnail pixels per scene unit, which is what the box is floored at. */
8
+ ratio: number;
9
+ };
10
+ /**
11
+ * A table group as the minimap draws it: the box the canvas draws it in,
12
+ * filled in its color, or the bar color of a group with none, at a low alpha
13
+ * behind the table marks.
14
+ */
15
+ declare const TableGroup: FC<TableGroupProps>;
16
+ export default TableGroup;
17
+ //# sourceMappingURL=TableGroup.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { FC } from '@dineug/r-html';
2
+ import { Rect } from '../../../konva/scene/metrics';
3
+ export type TableGroupDraftProps = {
4
+ /**
5
+ * The draw under way, whose box in the erd root's own pixels this reads
6
+ * itself, so a step of the draw re-renders the box alone and not the root.
7
+ */
8
+ draw: {
9
+ draft: Rect | null;
10
+ };
11
+ };
12
+ /** The box a table group draw spans while the pointer travels, the group it adds on release. */
13
+ declare const TableGroupDraft: FC<TableGroupDraftProps>;
14
+ export default TableGroupDraft;
15
+ //# sourceMappingURL=TableGroupDraft.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The box a table group draw spans, outlined in the focus color over a fill of
3
+ * it at the low alpha a group's body takes, so the canvas reads through.
4
+ */
5
+ export declare const root: import('@dineug/r-html').CSSTemplateLiterals;
6
+ //# sourceMappingURL=TableGroupDraft.styles.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { GeneratorAction } from '../../../engine/generator.actions';
2
+ import { RxStore } from '../../../engine/rx-store';
3
+ /**
4
+ * Opens the editor over a group's title bar, the table focus let go so Enter and the arrows are the
5
+ * name's. A readonly store opens nothing, nor do hidden groups, whose bar no editor stands over and
6
+ * which would leave the canvas shortcuts waiting on an editor that never opened.
7
+ *
8
+ * @example
9
+ * openTableGroupNameEditor(store, groupId);
10
+ */
11
+ export declare function openTableGroupNameEditor(store: RxStore, id: string): void;
12
+ /**
13
+ * Adds a group through the batch given and opens its name editor, so a name
14
+ * can be typed at once. The group is the one id the batch adds to the
15
+ * document, and nothing opens when it adds none.
16
+ *
17
+ * @example
18
+ * addTableGroupAndRename(store, addTableGroupFromTablesAction$());
19
+ */
20
+ export declare function addTableGroupAndRename(store: RxStore, action: GeneratorAction): void;
21
+ //# sourceMappingURL=tableGroupName.d.ts.map
@@ -0,0 +1,25 @@
1
+ import { Ref } from '@dineug/r-html';
2
+ import { AppContext } from '../../appContext';
3
+ import { Rect } from '../../../konva/scene/metrics';
4
+ export type TableGroupDrawOptions = {
5
+ /** The editor whose store the group lands in. */
6
+ app: () => AppContext;
7
+ /** The box the scene hangs in, which the draw is measured against. */
8
+ root: Ref<HTMLDivElement>;
9
+ };
10
+ /**
11
+ * The draw mode's gesture: from a press on the canvas, a box the travel spans,
12
+ * never under the least a group takes at the zoom, which the release adds as a
13
+ * group. A release with no travel adds a default-size group at the press.
14
+ *
15
+ * @example
16
+ * const draw = useTableGroupDraw({ app: () => app.value, root });
17
+ * draw.start(event);
18
+ */
19
+ export declare function useTableGroupDraw({ app, root }: TableGroupDrawOptions): {
20
+ state: {
21
+ draft: Rect | null;
22
+ };
23
+ start: (event: MouseEvent | TouchEvent) => void;
24
+ };
25
+ //# sourceMappingURL=useTableGroupDraw.d.ts.map
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Dims the canvas and hangs the dialog from the palette's line, so switching
3
- * tabs never moves its top edge.
2
+ * Dims the canvas and centres the dialog in it, whose fixed height keeps it
3
+ * still when the tabs switch.
4
4
  */
5
5
  export declare const root: import('@dineug/r-html').CSSTemplateLiterals;
6
6
  /**
@@ -1,10 +1,16 @@
1
1
  import { FC } from '@dineug/r-html';
2
+ import { PlainMessageKey } from '../../../../../i18n/translate';
2
3
  import { ColumnKey } from '../../../../../utils/tableKeys';
3
4
  export type IndexesKeyProps = {
4
5
  columnKey: ColumnKey;
5
6
  selected: boolean;
6
7
  onSelect: (columnKey: ColumnKey) => void;
7
8
  };
9
+ /** A key's tag, written as the diagram writes it in every language, and the key of the name it shows on hover. */
10
+ export declare const KIND_LABEL: Record<ColumnKey['kind'], {
11
+ text: string;
12
+ titleKey: PlainMessageKey;
13
+ }>;
8
14
  /**
9
15
  * A key the table's columns declare, listed beside the indexes so every key
10
16
  * shows in one place. A lock stands where an index has its remove button:
@@ -1,4 +1,5 @@
1
1
  import { FC } from '@dineug/r-html';
2
+ import { PlainMessageKey } from '../../../../i18n/translate';
2
3
  import { ValuesType } from '../../../../internal-types';
3
4
  export declare const Tab: {
4
5
  readonly Indexes: "Indexes";
@@ -6,6 +7,8 @@ export declare const Tab: {
6
7
  readonly GeneratorCode: "Code Generator";
7
8
  };
8
9
  export type Tab = ValuesType<typeof Tab>;
10
+ /** What each tab is called in the reader's language; its id stays the English name. */
11
+ export declare const TabLabelKey: Record<Tab, PlainMessageKey>;
9
12
  export type TablePropertiesTabsProps = {
10
13
  value: Tab;
11
14
  onChange: (value: Tab) => void;
@@ -0,0 +1,17 @@
1
+ import { FC } from '@dineug/r-html';
2
+ import { IconName } from '../../primitives/icon/icons';
3
+ import { TextDirection } from '../../../i18n/locales';
4
+ export type WelcomeScreenProps = {
5
+ enableThemeBuilder?: boolean;
6
+ enableLocalePicker?: boolean;
7
+ };
8
+ /** A row's icon as the text runs: the Back arrow points right in a right-to-left language. */
9
+ export declare const rowIcon: (icon: IconName, dir: TextDirection) => IconName;
10
+ /**
11
+ * What an empty diagram shows over its canvas: a heading and a menu of the
12
+ * ways to start, which Import swaps in place for its formats, with hints at
13
+ * the tools around it where the canvas has room.
14
+ */
15
+ declare const WelcomeScreen: FC<WelcomeScreenProps>;
16
+ export default WelcomeScreen;
17
+ //# sourceMappingURL=WelcomeScreen.d.ts.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The layer over the empty canvas, which lets every press and wheel through
3
+ * to the scene but the menu's, so a drag over the heading still pans. An open
4
+ * panel stands over it, as the theme builder does, and moves nothing.
5
+ */
6
+ export declare const root: import('@dineug/r-html').CSSTemplateLiterals;
7
+ /**
8
+ * The block centred in the room over the floating toolbar, whose top edge
9
+ * stands 60px over the canvas's bottom, so the last row never runs under it.
10
+ */
11
+ export declare const center: import('@dineug/r-html').CSSTemplateLiterals;
12
+ export declare const heading: import('@dineug/r-html').CSSTemplateLiterals;
13
+ /** The one part of the layer that takes the pointer, as a press on a row is no pan. */
14
+ export declare const menu: import('@dineug/r-html').CSSTemplateLiterals;
15
+ export declare const item: import('@dineug/r-html').CSSTemplateLiterals;
16
+ export declare const label: import('@dineug/r-html').CSSTemplateLiterals;
17
+ //# sourceMappingURL=WelcomeScreen.styles.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { FC } from '@dineug/r-html';
2
+ import { PlainMessageKey } from '../../../../i18n/translate';
3
+ export type WelcomeHintsProps = {
4
+ /** Where the toolbar's Search button stands across the welcome screen, or null. */
5
+ search: number | null;
6
+ /** Where the theme and language buttons stand between them, or null. */
7
+ preferences: number | null;
8
+ width: number;
9
+ enableThemeBuilder?: boolean;
10
+ enableLocalePicker?: boolean;
11
+ };
12
+ /** What the hint at the theme and language buttons says, by which of the two the toolbar shows. */
13
+ export declare function preferencesHintKey(theme: boolean, locale: boolean): PlainMessageKey | null;
14
+ /**
15
+ * The hand-drawn arrows at the tools an empty diagram starts from: the
16
+ * palette's Search button and the theme and language buttons on the toolbar,
17
+ * each labelled on its own side, and the floating toolbar at the bottom.
18
+ */
19
+ declare const WelcomeHints: FC<WelcomeHintsProps>;
20
+ export default WelcomeHints;
21
+ //# sourceMappingURL=WelcomeHints.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A hint under a toolbar button: its arrow climbs from the label to just
3
+ * under the bar, and the label hangs a little below the arrow's tail. Where it
4
+ * stands across the canvas is set inline, from the button it was measured at.
5
+ */
6
+ export declare const up: import('@dineug/r-html').CSSTemplateLiterals;
7
+ /**
8
+ * The hint over the floating toolbar, centred over it as the toolbar is, its
9
+ * arrow's tip clear of the bar's top edge.
10
+ */
11
+ export declare const down: import('@dineug/r-html').CSSTemplateLiterals;
12
+ /** A label a longer language wraps rather than run under the next hint, Japanese between phrases, never mid-word. */
13
+ export declare const label: import('@dineug/r-html').CSSTemplateLiterals;
14
+ //# sourceMappingURL=WelcomeHints.styles.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * A pen stroke that leaves the label low on the left and bows up to a tip
3
+ * near the top right, where both barbs meet it, at the tip ARROW_UP_BOX names.
4
+ */
5
+ export declare const ARROW_UP: readonly ["M6 69C3.5 50 13.5 31 27 17.5C30.5 13.5 33.6 8.7 36 3", "M27.6 8.6Q31.8 5.6 36 3Q36.9 7.9 38.4 12.6"];
6
+ /** A pen stroke that wavers down from under the label to a tip at the bottom middle. */
7
+ export declare const ARROW_DOWN: readonly ["M15 3C8.5 15.5 27.5 25 21.5 39C20.5 43.5 20.2 48 20 53", "M13.8 45.2Q17.2 48.8 20 53Q22.6 48.6 26.2 45"];
8
+ export declare const arrowUp: (mirrored: boolean) => import("@dineug/r-html/jsx-runtime").JSX.Element;
9
+ export declare const arrowDown: () => import("@dineug/r-html/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=hintArrows.d.ts.map
@@ -0,0 +1,87 @@
1
+ import { RootState } from '../../../engine/state';
2
+ import { TextDirection } from '../../../i18n/locales';
3
+ /** The narrowest canvas that shows the welcome screen at all. */
4
+ export declare const WELCOME_MIN_WIDTH = 320;
5
+ /**
6
+ * The least height that shows the heading over the menu: a heading of two
7
+ * lines over the six rows of Import's formats, clear of the floating toolbar.
8
+ */
9
+ export declare const WELCOME_FULL_MIN_HEIGHT = 342;
10
+ /** The least height that shows the menu alone: Import's six rows, clear of the floating toolbar. */
11
+ export declare const WELCOME_MENU_MIN_HEIGHT = 294;
12
+ /**
13
+ * The least canvas the hints at the tools take room on, beside the centre
14
+ * block: the height keeps them clear of the block, Import's formats in it, in
15
+ * the language whose labels wrap the most.
16
+ */
17
+ export declare const WELCOME_HINTS_MIN_WIDTH = 720;
18
+ export declare const WELCOME_HINTS_MIN_HEIGHT = 562;
19
+ /** The narrowest canvas whose menu rows still show their chords. */
20
+ export declare const WELCOME_KBD_MIN_WIDTH = 480;
21
+ /** The arrow that climbs to a toolbar button: its box, and its tip near the top right. */
22
+ export declare const ARROW_UP_BOX: {
23
+ readonly width: 44;
24
+ readonly height: 72;
25
+ readonly tipX: 36;
26
+ readonly tipY: 3;
27
+ };
28
+ /** The arrow that drops to the floating toolbar: its box, and its tip at the bottom middle. */
29
+ export declare const ARROW_DOWN_BOX: {
30
+ readonly width: 40;
31
+ readonly height: 56;
32
+ readonly tipX: 20;
33
+ readonly tipY: 53;
34
+ };
35
+ export type WelcomeCenter = 'full' | 'menu' | 'none';
36
+ /** What the room on the canvas lets the welcome screen show. */
37
+ export type WelcomeTiers = {
38
+ center: WelcomeCenter;
39
+ hints: boolean;
40
+ kbd: boolean;
41
+ };
42
+ export type WelcomeSize = {
43
+ width: number;
44
+ height: number;
45
+ };
46
+ /**
47
+ * The parts that fit: the whole centre block, the menu alone or nothing, the
48
+ * hints only on a canvas with room around the block, and the chords only where
49
+ * a row is wide enough to carry one beside its label.
50
+ */
51
+ export declare function welcomeTiers({ width, height }: WelcomeSize): WelcomeTiers;
52
+ /**
53
+ * A document with no table, no shown memo and no shown group, which is what
54
+ * the welcome screen stands over: the content bounds count the same, so the
55
+ * map and the scrollbars leave as the screen comes and come as it leaves.
56
+ */
57
+ export declare const isEmptyDocument: (state: RootState) => boolean;
58
+ /** Where along the welcome screen's width each hint points, or null where it has nothing to point at. */
59
+ export type WelcomeAnchors = {
60
+ search: number | null;
61
+ preferences: number | null;
62
+ };
63
+ /**
64
+ * Reads where the toolbar buttons the hints point at stand, from the left edge
65
+ * of the welcome screen. A button the toolbar left out, or clipped past the
66
+ * edge, has none; the theme and language buttons share one anchor between them.
67
+ */
68
+ export declare function measureAnchors(container: HTMLElement): WelcomeAnchors;
69
+ /** Which side of its arrow a hint's label takes, read in the direction the text runs. */
70
+ export type HintSide = 'before' | 'after';
71
+ /**
72
+ * Where a hint stands, as the distance of its outer edge from the left or the
73
+ * right of the welcome screen; labelFirst puts the label left of the arrow,
74
+ * which then climbs right to its tip, and otherwise the arrow is drawn mirrored.
75
+ */
76
+ export type HintPlacement = {
77
+ labelFirst: boolean;
78
+ left?: number;
79
+ right?: number;
80
+ };
81
+ /**
82
+ * Places a hint so the tip of its arrow meets the anchor, the label on the
83
+ * side it names: before is left in a left-to-right language and right in a
84
+ * right-to-left one, so the hints mirror with the toolbar they point at.
85
+ */
86
+ export declare function hintPlacement(anchorX: number, rootWidth: number, side: HintSide, dir: TextDirection): HintPlacement;
87
+ //# sourceMappingURL=welcomeLayout.d.ts.map