@dineug/erd-editor 3.3.0 → 3.4.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 (119) hide show
  1. package/README.md +197 -17
  2. package/dist/components/erd/canvas/altDragDuplicate.d.ts +3 -0
  3. package/dist/components/erd/canvas/duplicate-ghost/DuplicateGhost.d.ts +4 -0
  4. package/dist/components/erd/canvas/duplicate-ghost/DuplicateGhost.styles.d.ts +2 -0
  5. package/dist/components/erd/canvas/shared-drag-select/SharedDragSelect.d.ts +4 -0
  6. package/dist/components/erd/canvas/table/column/Column.d.ts +7 -0
  7. package/dist/components/erd/canvas/table/column/column-data-type/ColumnDataType.d.ts +3 -3
  8. package/dist/components/erd/canvas/table/column/column-not-null/ColumnNotNull.d.ts +1 -1
  9. package/dist/components/erd/canvas/table/column/column-option/ColumnOption.d.ts +1 -1
  10. package/dist/components/erd/canvas/table/useSharedFocusTable.d.ts +6 -0
  11. package/dist/components/erd/canvas/useSharedSelectEntity.d.ts +4 -0
  12. package/dist/components/erd/erd-context-menu/menus/drawRelationshipMenus.d.ts +3 -2
  13. package/dist/components/erd/erd-context-menu/menus/exportMenus.d.ts +6 -6
  14. package/dist/components/erd/erd-context-menu/menus/importMenus.d.ts +6 -6
  15. package/dist/components/erd/erd-context-menu/menus/relationshipMenus.d.ts +1 -1
  16. package/dist/components/erd/table-properties/table-properties-indexes/indexes-checkbox-column/IndexesCheckboxColumn.d.ts +1 -1
  17. package/dist/components/erd-editor/ErdEditor.d.ts +4 -0
  18. package/dist/components/erd-editor/ErdEditor.stories.d.ts +1 -1
  19. package/dist/components/global-styles/GlobalStyles.d.ts +14 -0
  20. package/dist/components/primitives/button/Button.stories.d.ts +4 -4
  21. package/dist/components/primitives/code-block/CodeBlock.stories.d.ts +4 -4
  22. package/dist/components/primitives/code-block/CodeBlock.styles.d.ts +6 -1
  23. package/dist/components/primitives/color-picker/ColorPicker.d.ts +1 -1
  24. package/dist/components/primitives/color-picker/ColorPicker.stories.d.ts +1 -1
  25. package/dist/components/primitives/context-menu/ContextMenu.stories.d.ts +1 -1
  26. package/dist/components/primitives/context-menu/context-menu-item/ContextMenuItem.d.ts +1 -1
  27. package/dist/components/primitives/context-menu/menu/Menu.d.ts +2 -2
  28. package/dist/components/primitives/edit-input/EditInput.d.ts +2 -2
  29. package/dist/components/primitives/edit-input/EditInput.stories.d.ts +6 -6
  30. package/dist/components/primitives/highlighted-text/HighlightedText.stories.d.ts +1 -1
  31. package/dist/components/primitives/icon/Icon.d.ts +2 -3
  32. package/dist/components/primitives/icon/Icon.stories.d.ts +3 -1
  33. package/dist/components/primitives/icon/icons.d.ts +59 -15
  34. package/dist/components/primitives/kbd/Kbd.stories.d.ts +3 -3
  35. package/dist/components/primitives/sash/Sash.stories.d.ts +5 -5
  36. package/dist/components/primitives/separator/Separator.stories.d.ts +3 -3
  37. package/dist/components/primitives/slider/Slider.stories.d.ts +4 -4
  38. package/dist/components/primitives/switch/Switch.stories.d.ts +3 -3
  39. package/dist/components/primitives/text-input/TextInput.d.ts +1 -1
  40. package/dist/components/primitives/text-input/TextInput.stories.d.ts +7 -7
  41. package/dist/components/primitives/toast/Toast.stories.d.ts +4 -4
  42. package/dist/constants/language.d.ts +7 -1
  43. package/dist/constants/layout.d.ts +20 -0
  44. package/dist/constants/schema.d.ts +11 -2
  45. package/dist/constants/sql/dataType/Databricks.d.ts +5 -0
  46. package/dist/constants/sql/dataType/MSSQL.d.ts +1 -1
  47. package/dist/constants/sql/dataType/MySQL.d.ts +1 -1
  48. package/dist/constants/sql/dataType/Oracle.d.ts +1 -1
  49. package/dist/constants/sql/dataType/Snowflake.d.ts +5 -0
  50. package/dist/constants/sql/database.d.ts +2 -0
  51. package/dist/engine/history.d.ts +5 -3
  52. package/dist/engine/hooks.d.ts +3 -3
  53. package/dist/engine/modules/editor/actions.d.ts +18 -1
  54. package/dist/engine/modules/editor/atom.actions.d.ts +78 -0
  55. package/dist/engine/modules/editor/generator.actions.d.ts +18 -0
  56. package/dist/engine/modules/editor/state.d.ts +23 -0
  57. package/dist/engine/modules/editor/utils/duplicate.d.ts +13 -0
  58. package/dist/engine/modules/memo/actions.d.ts +3 -0
  59. package/dist/engine/modules/memo/atom.actions.d.ts +12 -0
  60. package/dist/engine/modules/table/actions.d.ts +1 -0
  61. package/dist/engine/modules/table/atom.actions.d.ts +4 -0
  62. package/dist/engine.js +40 -51
  63. package/dist/erd-editor.js +30677 -26598
  64. package/dist/schemaGCService-DAGNq0wk.js +17092 -0
  65. package/dist/services/shikiService.d.ts +1 -1
  66. package/dist/styles/colorPicker.style.d.ts +10 -1
  67. package/dist/styles/fonts.styles.d.ts +2 -1
  68. package/dist/styles/reset.styles.d.ts +5 -1
  69. package/dist/styles/scrollbar.styles.d.ts +6 -1
  70. package/dist/styles/typography.styles.d.ts +2 -1
  71. package/dist/themes/radix-ui-theme.d.ts +1 -1
  72. package/dist/themes/tokens.d.ts +2 -2
  73. package/dist/utils/calcTable.d.ts +7 -0
  74. package/dist/utils/draw-relationship/chamfer.d.ts +2 -0
  75. package/dist/utils/draw-relationship/index.d.ts +73 -14
  76. package/dist/utils/draw-relationship/nudge.d.ts +3 -0
  77. package/dist/utils/draw-relationship/pathFinding.d.ts +9 -1
  78. package/dist/utils/draw-relationship/route.d.ts +32 -0
  79. package/dist/utils/draw-relationship/stub.d.ts +47 -0
  80. package/dist/utils/emitter.d.ts +16 -0
  81. package/dist/utils/file/importFile.d.ts +4 -1
  82. package/dist/utils/focus.d.ts +4 -2
  83. package/dist/utils/generator-code/aml.d.ts +4 -0
  84. package/dist/utils/generator-code/dbml.d.ts +4 -0
  85. package/dist/utils/generator-code/drizzle.d.ts +4 -0
  86. package/dist/utils/generator-code/go.d.ts +4 -0
  87. package/dist/utils/generator-code/sequelize.d.ts +4 -0
  88. package/dist/utils/generator-code/sqlalchemy.d.ts +4 -0
  89. package/dist/utils/generator-code/typeorm.d.ts +4 -0
  90. package/dist/utils/keyboard-shortcut/index.d.ts +1 -1
  91. package/dist/utils/promise.d.ts +1 -0
  92. package/dist/utils/schema-aml-parser/convert.d.ts +4 -0
  93. package/dist/utils/schema-aml-parser/dataType.d.ts +13 -0
  94. package/dist/utils/schema-aml-parser/index.d.ts +3 -0
  95. package/dist/utils/schema-aml-parser/parser.d.ts +2 -0
  96. package/dist/utils/schema-aml-parser/tokenizer.d.ts +25 -0
  97. package/dist/utils/schema-aml-parser/types.d.ts +79 -0
  98. package/dist/utils/schema-dbml-parser/convert.d.ts +4 -0
  99. package/dist/utils/schema-dbml-parser/dataType.d.ts +7 -0
  100. package/dist/utils/schema-dbml-parser/index.d.ts +3 -0
  101. package/dist/utils/schema-dbml-parser/parser.d.ts +2 -0
  102. package/dist/utils/schema-dbml-parser/tokenizer.d.ts +16 -0
  103. package/dist/utils/schema-dbml-parser/types.d.ts +62 -0
  104. package/dist/utils/schema-graphql-parser/convert.d.ts +4 -0
  105. package/dist/utils/schema-graphql-parser/dataType.d.ts +7 -0
  106. package/dist/utils/schema-graphql-parser/index.d.ts +3 -0
  107. package/dist/utils/schema-graphql-parser/parser.d.ts +2 -0
  108. package/dist/utils/schema-graphql-parser/types.d.ts +58 -0
  109. package/dist/utils/schema-sql/Databricks.d.ts +5 -0
  110. package/dist/utils/schema-sql/Snowflake.d.ts +5 -0
  111. package/dist/utils/sharedColor.d.ts +2 -0
  112. package/dist/utils/table-clipboard/copy.d.ts +7 -0
  113. package/dist/utils/table-clipboard/index.d.ts +2 -0
  114. package/dist/utils/table-clipboard/paste.d.ts +3 -0
  115. package/dist/utils/table-clipboard/payload.d.ts +83 -0
  116. package/dist/utils/table-clipboard/placement.d.ts +30 -0
  117. package/dist/utils/validation.d.ts +1 -0
  118. package/package.json +29 -25
  119. package/dist/schemaGCService-CLe8cLsy.js +0 -15866
@@ -1,4 +1,5 @@
1
1
  import { Point, ValuesType } from '../../../internal-types';
2
+ import { Rect } from '../../../utils/dragSelect';
2
3
  export type Editor = {
3
4
  id: string;
4
5
  selectedMap: Record<string, SelectType>;
@@ -13,6 +14,10 @@ export type Editor = {
13
14
  draggableColumn: DraggableColumn | null;
14
15
  draggingColumnMap: Record<string, boolean>;
15
16
  sharedMouseTrackerMap: Record<string, SharedMouseTracker>;
17
+ sharedFocusTrackerMap: Record<string, SharedFocusTracker>;
18
+ sharedSelectionTrackerMap: Record<string, SharedSelectionTracker>;
19
+ sharedDragSelectTrackerMap: Record<string, SharedDragSelectTracker>;
20
+ dragSelect: Rect | null;
16
21
  };
17
22
  export type Viewport = {
18
23
  width: number;
@@ -44,6 +49,24 @@ export type SharedMouseTracker = {
44
49
  nickname: string;
45
50
  timeoutId: any;
46
51
  };
52
+ export type SharedFocus = {
53
+ tableId: string;
54
+ columnId: string | null;
55
+ focusType: FocusType;
56
+ };
57
+ export type SharedFocusTracker = SharedFocus & {
58
+ id: string;
59
+ timeoutId: any;
60
+ };
61
+ export type SharedSelectionTracker = {
62
+ id: string;
63
+ selectedIds: string[];
64
+ timeoutId: any;
65
+ };
66
+ export type SharedDragSelectTracker = Rect & {
67
+ id: string;
68
+ timeoutId: any;
69
+ };
47
70
  export declare const SelectType: {
48
71
  readonly table: "table";
49
72
  readonly memo: "memo";
@@ -0,0 +1,13 @@
1
+ import { AnyAction } from '@dineug/r-html';
2
+ import { ClipboardColumn, ClipboardMemo, ClipboardTable, PlacementPoint } from '../../../../utils/table-clipboard';
3
+ export type CreateEntityInput = {
4
+ tables: ClipboardTable[];
5
+ columns: ClipboardColumn[];
6
+ memos: ClipboardMemo[];
7
+ };
8
+ export type CreateEntityActions = {
9
+ actions: AnyAction[];
10
+ tableIds: string[];
11
+ memoIds: string[];
12
+ };
13
+ export declare function toCreateEntityActions({ tables, columns, memos }: CreateEntityInput, placement: Map<string, PlacementPoint>): CreateEntityActions;
@@ -20,6 +20,9 @@ export type ActionMap = {
20
20
  x: number;
21
21
  y: number;
22
22
  zIndex: number;
23
+ color?: string;
24
+ width?: number;
25
+ height?: number;
23
26
  };
24
27
  };
25
28
  [ActionType.moveMemo]: {
@@ -6,6 +6,9 @@ export declare const addMemoAction: {
6
6
  x: number;
7
7
  y: number;
8
8
  zIndex: number;
9
+ color?: string;
10
+ width?: number;
11
+ height?: number;
9
12
  };
10
13
  }): import('@dineug/r-html').AnyAction<{
11
14
  id: string;
@@ -13,6 +16,9 @@ export declare const addMemoAction: {
13
16
  x: number;
14
17
  y: number;
15
18
  zIndex: number;
19
+ color?: string;
20
+ width?: number;
21
+ height?: number;
16
22
  };
17
23
  }>;
18
24
  toString(): string;
@@ -123,6 +129,9 @@ export declare const actions: {
123
129
  x: number;
124
130
  y: number;
125
131
  zIndex: number;
132
+ color?: string;
133
+ width?: number;
134
+ height?: number;
126
135
  };
127
136
  }): import('@dineug/r-html').AnyAction<{
128
137
  id: string;
@@ -130,6 +139,9 @@ export declare const actions: {
130
139
  x: number;
131
140
  y: number;
132
141
  zIndex: number;
142
+ color?: string;
143
+ width?: number;
144
+ height?: number;
133
145
  };
134
146
  }>;
135
147
  toString(): string;
@@ -21,6 +21,7 @@ export type ActionMap = {
21
21
  x: number;
22
22
  y: number;
23
23
  zIndex: number;
24
+ color?: string;
24
25
  };
25
26
  };
26
27
  [ActionType.moveTable]: {
@@ -6,6 +6,7 @@ export declare const addTableAction: {
6
6
  x: number;
7
7
  y: number;
8
8
  zIndex: number;
9
+ color?: string;
9
10
  };
10
11
  }): import('@dineug/r-html').AnyAction<{
11
12
  id: string;
@@ -13,6 +14,7 @@ export declare const addTableAction: {
13
14
  x: number;
14
15
  y: number;
15
16
  zIndex: number;
17
+ color?: string;
16
18
  };
17
19
  }>;
18
20
  toString(): string;
@@ -123,6 +125,7 @@ export declare const actions: {
123
125
  x: number;
124
126
  y: number;
125
127
  zIndex: number;
128
+ color?: string;
126
129
  };
127
130
  }): import('@dineug/r-html').AnyAction<{
128
131
  id: string;
@@ -130,6 +133,7 @@ export declare const actions: {
130
133
  x: number;
131
134
  y: number;
132
135
  zIndex: number;
136
+ color?: string;
133
137
  };
134
138
  }>;
135
139
  toString(): string;
package/dist/engine.js CHANGED
@@ -1,53 +1,42 @@
1
- import { Z as x, D as w, E as A, w as E, O as G, F as d, J as I, s as O, bv as h, I as l, Y as T, V, d6 as $, bu as j, aB as k, cX as F, da as J, db as R, dc as z } from "./schemaGCService-CLe8cLsy.js";
2
1
  /*!
3
- * @dineug/erd-editor
4
- * @version 3.3.0 | Wed May 07 2025
5
- * @author SeungHwan-Lee <dineug2@gmail.com>
6
- * @license MIT
7
- */
8
- const B = {
9
- change: "change"
10
- };
11
- function H(p) {
12
- const o = /* @__PURE__ */ new Set(), b = x(p), t = w(b, !1), u = A(t), c = new E(), m = new G(
13
- (e) => t.subscribe((n) => e.next(n))
14
- ).pipe(d(l), I(200)), a = /* @__PURE__ */ new Set(), S = new F(), g = (e) => (a.has(e) || a.add(e), () => {
15
- a.delete(e);
16
- }), f = (e, n) => {
17
- a.forEach((s) => {
18
- const r = Reflect.get(s, e);
19
- T(r, n);
20
- });
21
- }, y = (e) => {
22
- const n = $(e);
23
- t.dispatchSync(
24
- j(k(n) ? "{}" : n)
25
- ), S.run(h(t.state)).then((s) => {
26
- (s.tableIds.length || s.tableColumnIds.length || s.relationshipIds.length || s.indexIds.length || s.indexColumnIds.length || s.memoIds.length) && (J(t.state, s), t.dispatchSync(R()));
27
- });
28
- }, i = (e) => {
29
- c.next([e].flat());
30
- }, C = (e) => {
31
- V(() => i(e));
32
- }, v = () => {
33
- Array.from(o).forEach((e) => e.unsubscribe()), o.clear(), a.clear(), t.destroy(), u.destroy();
34
- };
35
- return o.add(m.subscribe(() => f(B.change, void 0))).add(
36
- c.pipe(
37
- d(l),
38
- O((e) => e.map((n) => z(n, "tags")))
39
- ).subscribe(t.dispatchSync)
40
- ), Object.freeze({
41
- get value() {
42
- return h(t.state);
43
- },
44
- on: g,
45
- setInitialValue: y,
46
- dispatch: C,
47
- dispatchSync: i,
48
- destroy: v
49
- });
2
+ * @dineug/erd-editor
3
+ * @version 3.4.0 | Sat Aug 29 2026
4
+ * @author SeungHwan-Lee <dineug2@gmail.com>
5
+ * @license MIT
6
+ */
7
+ import { $ as e, C as t, Di as n, E as r, Fr as i, Jn as a, Rr as o, Vr as s, g as c, i as l, ii as u, n as d, pi as f, sr as p, t as m, ti as h, vi as g, x as _, xi as v } from "./schemaGCService-DAGNq0wk.js";
8
+ //#region src/engine/replication-store.ts
9
+ var y = { change: "change" };
10
+ function b(b) {
11
+ let x = /* @__PURE__ */ new Set(), S = t(b), C = c(S, !1), w = l(C), T = new h(), E = new u((e) => C.subscribe((t) => e.next(t))).pipe(_(r), o(200)), D = /* @__PURE__ */ new Set(), O = new m(), k = (e) => (D.has(e) || D.add(e), () => {
12
+ D.delete(e);
13
+ }), A = (e, t) => {
14
+ D.forEach((n) => {
15
+ let r = Reflect.get(n, e);
16
+ v(r, t);
17
+ });
18
+ }, j = (t) => {
19
+ let n = p(t);
20
+ C.dispatchSync(e(i(n) ? "{}" : n)), O.run(f(C.state)).then((e) => {
21
+ (e.tableIds.length || e.tableColumnIds.length || e.relationshipIds.length || e.indexIds.length || e.indexColumnIds.length || e.memoIds.length) && (d(C.state, e), C.dispatchSync(a()));
22
+ });
23
+ }, M = (e) => {
24
+ T.next([e].flat());
25
+ };
26
+ return x.add(E.subscribe(() => A(y.change, void 0))).add(T.pipe(_(r), s((e) => e.map((e) => n(e, ["tags"])))).subscribe(C.dispatchSync)), Object.freeze({
27
+ get value() {
28
+ return f(C.state);
29
+ },
30
+ on: k,
31
+ setInitialValue: j,
32
+ dispatch: (e) => {
33
+ g(() => M(e));
34
+ },
35
+ dispatchSync: M,
36
+ destroy: () => {
37
+ Array.from(x).forEach((e) => e.unsubscribe()), x.clear(), D.clear(), C.destroy(), w.destroy();
38
+ }
39
+ });
50
40
  }
51
- export {
52
- H as createReplicationStore
53
- };
41
+ //#endregion
42
+ export { b as createReplicationStore };