@nordcraft/runtime 1.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 (168) hide show
  1. package/README.md +5 -0
  2. package/dist/api/createAPI.d.ts +20 -0
  3. package/dist/api/createAPI.js +319 -0
  4. package/dist/api/createAPI.js.map +1 -0
  5. package/dist/api/createAPIv2.d.ts +7 -0
  6. package/dist/api/createAPIv2.js +686 -0
  7. package/dist/api/createAPIv2.js.map +1 -0
  8. package/dist/components/createComponent.d.ts +13 -0
  9. package/dist/components/createComponent.js +216 -0
  10. package/dist/components/createComponent.js.map +1 -0
  11. package/dist/components/createElement.d.ts +3 -0
  12. package/dist/components/createElement.js +208 -0
  13. package/dist/components/createElement.js.map +1 -0
  14. package/dist/components/createNode.d.ts +22 -0
  15. package/dist/components/createNode.js +272 -0
  16. package/dist/components/createNode.js.map +1 -0
  17. package/dist/components/createSlot.d.ts +3 -0
  18. package/dist/components/createSlot.js +49 -0
  19. package/dist/components/createSlot.js.map +1 -0
  20. package/dist/components/createText.d.ts +23 -0
  21. package/dist/components/createText.js +68 -0
  22. package/dist/components/createText.js.map +1 -0
  23. package/dist/components/createText.test.d.ts +1 -0
  24. package/dist/components/createText.test.js +113 -0
  25. package/dist/components/createText.test.js.map +1 -0
  26. package/dist/components/renderComponent.d.ts +34 -0
  27. package/dist/components/renderComponent.js +66 -0
  28. package/dist/components/renderComponent.js.map +1 -0
  29. package/dist/context/isContextProvider.d.ts +2 -0
  30. package/dist/context/isContextProvider.js +5 -0
  31. package/dist/context/isContextProvider.js.map +1 -0
  32. package/dist/context/subscribeToContext.d.ts +4 -0
  33. package/dist/context/subscribeToContext.js +93 -0
  34. package/dist/context/subscribeToContext.js.map +1 -0
  35. package/dist/custom-components/components.d.ts +1 -0
  36. package/dist/custom-components/components.js +2 -0
  37. package/dist/custom-components/components.js.map +1 -0
  38. package/dist/custom-components/toddle-portal.d.ts +6 -0
  39. package/dist/custom-components/toddle-portal.js +20 -0
  40. package/dist/custom-components/toddle-portal.js.map +1 -0
  41. package/dist/custom-element/ToddleComponent.d.ts +37 -0
  42. package/dist/custom-element/ToddleComponent.js +244 -0
  43. package/dist/custom-element/ToddleComponent.js.map +1 -0
  44. package/dist/custom-element/defineComponents.d.ts +26 -0
  45. package/dist/custom-element/defineComponents.js +42 -0
  46. package/dist/custom-element/defineComponents.js.map +1 -0
  47. package/dist/custom-element.main.d.ts +3 -0
  48. package/dist/custom-element.main.esm.js +266 -0
  49. package/dist/custom-element.main.esm.js.map +7 -0
  50. package/dist/custom-element.main.js +14 -0
  51. package/dist/custom-element.main.js.map +1 -0
  52. package/dist/debug/logState.d.ts +4 -0
  53. package/dist/debug/logState.js +19 -0
  54. package/dist/debug/logState.js.map +1 -0
  55. package/dist/editor/drag-drop/dragEnded.d.ts +2 -0
  56. package/dist/editor/drag-drop/dragEnded.js +56 -0
  57. package/dist/editor/drag-drop/dragEnded.js.map +1 -0
  58. package/dist/editor/drag-drop/dragMove.d.ts +3 -0
  59. package/dist/editor/drag-drop/dragMove.js +74 -0
  60. package/dist/editor/drag-drop/dragMove.js.map +1 -0
  61. package/dist/editor/drag-drop/dragReorder.d.ts +3 -0
  62. package/dist/editor/drag-drop/dragReorder.js +92 -0
  63. package/dist/editor/drag-drop/dragReorder.js.map +1 -0
  64. package/dist/editor/drag-drop/dragStarted.d.ts +9 -0
  65. package/dist/editor/drag-drop/dragStarted.js +100 -0
  66. package/dist/editor/drag-drop/dragStarted.js.map +1 -0
  67. package/dist/editor/drag-drop/dropHighlight.d.ts +16 -0
  68. package/dist/editor/drag-drop/dropHighlight.js +50 -0
  69. package/dist/editor/drag-drop/dropHighlight.js.map +1 -0
  70. package/dist/editor/drag-drop/getInsertAreas.d.ts +20 -0
  71. package/dist/editor/drag-drop/getInsertAreas.js +220 -0
  72. package/dist/editor/drag-drop/getInsertAreas.js.map +1 -0
  73. package/dist/editor-preview.main.d.ts +19 -0
  74. package/dist/editor-preview.main.js +1303 -0
  75. package/dist/editor-preview.main.js.map +1 -0
  76. package/dist/events/handleAction.d.ts +3 -0
  77. package/dist/events/handleAction.js +307 -0
  78. package/dist/events/handleAction.js.map +1 -0
  79. package/dist/page.main.d.ts +7 -0
  80. package/dist/page.main.esm.js +8 -0
  81. package/dist/page.main.esm.js.map +7 -0
  82. package/dist/page.main.js +395 -0
  83. package/dist/page.main.js.map +1 -0
  84. package/dist/signal/signal.d.ts +19 -0
  85. package/dist/signal/signal.js +65 -0
  86. package/dist/signal/signal.js.map +1 -0
  87. package/dist/styles/style.d.ts +4 -0
  88. package/dist/styles/style.js +196 -0
  89. package/dist/styles/style.js.map +1 -0
  90. package/dist/utils/BatchQueue.d.ts +10 -0
  91. package/dist/utils/BatchQueue.js +25 -0
  92. package/dist/utils/BatchQueue.js.map +1 -0
  93. package/dist/utils/createFormulaCache.d.ts +3 -0
  94. package/dist/utils/createFormulaCache.js +81 -0
  95. package/dist/utils/createFormulaCache.js.map +1 -0
  96. package/dist/utils/findNearestLine.d.ts +13 -0
  97. package/dist/utils/findNearestLine.js +74 -0
  98. package/dist/utils/findNearestLine.js.map +1 -0
  99. package/dist/utils/findNearestLine.test.d.ts +1 -0
  100. package/dist/utils/findNearestLine.test.js +59 -0
  101. package/dist/utils/findNearestLine.test.js.map +1 -0
  102. package/dist/utils/getDragData.d.ts +1 -0
  103. package/dist/utils/getDragData.js +10 -0
  104. package/dist/utils/getDragData.js.map +1 -0
  105. package/dist/utils/getElementTagName.d.ts +3 -0
  106. package/dist/utils/getElementTagName.js +7 -0
  107. package/dist/utils/getElementTagName.js.map +1 -0
  108. package/dist/utils/nodes.d.ts +21 -0
  109. package/dist/utils/nodes.js +89 -0
  110. package/dist/utils/nodes.js.map +1 -0
  111. package/dist/utils/omitStyle.d.ts +2 -0
  112. package/dist/utils/omitStyle.js +13 -0
  113. package/dist/utils/omitStyle.js.map +1 -0
  114. package/dist/utils/rectHasPoint.d.ts +2 -0
  115. package/dist/utils/rectHasPoint.js +4 -0
  116. package/dist/utils/rectHasPoint.js.map +1 -0
  117. package/dist/utils/setAttribute.d.ts +4 -0
  118. package/dist/utils/setAttribute.js +57 -0
  119. package/dist/utils/setAttribute.js.map +1 -0
  120. package/dist/utils/tryStartViewTransition.d.ts +5 -0
  121. package/dist/utils/tryStartViewTransition.js +14 -0
  122. package/dist/utils/tryStartViewTransition.js.map +1 -0
  123. package/dist/utils/url.d.ts +2 -0
  124. package/dist/utils/url.js +36 -0
  125. package/dist/utils/url.js.map +1 -0
  126. package/package.json +25 -0
  127. package/src/api/createAPI.ts +375 -0
  128. package/src/api/createAPIv2.ts +931 -0
  129. package/src/components/createComponent.ts +280 -0
  130. package/src/components/createElement.ts +240 -0
  131. package/src/components/createNode.ts +381 -0
  132. package/src/components/createSlot.ts +61 -0
  133. package/src/components/createText.test.ts +117 -0
  134. package/src/components/createText.ts +104 -0
  135. package/src/components/renderComponent.ts +145 -0
  136. package/src/context/isContextProvider.ts +12 -0
  137. package/src/context/subscribeToContext.ts +135 -0
  138. package/src/custom-components/components.ts +1 -0
  139. package/src/custom-components/toddle-portal.ts +19 -0
  140. package/src/custom-element/ToddleComponent.ts +315 -0
  141. package/src/custom-element/defineComponents.ts +65 -0
  142. package/src/custom-element.main.ts +24 -0
  143. package/src/debug/logState.ts +30 -0
  144. package/src/editor/drag-drop/dragEnded.ts +75 -0
  145. package/src/editor/drag-drop/dragMove.ts +95 -0
  146. package/src/editor/drag-drop/dragReorder.ts +137 -0
  147. package/src/editor/drag-drop/dragStarted.ts +145 -0
  148. package/src/editor/drag-drop/dropHighlight.ts +82 -0
  149. package/src/editor/drag-drop/getInsertAreas.ts +235 -0
  150. package/src/editor/types.d.ts +36 -0
  151. package/src/editor-preview.main.ts +1782 -0
  152. package/src/events/handleAction.ts +387 -0
  153. package/src/page.main.ts +489 -0
  154. package/src/signal/signal.ts +74 -0
  155. package/src/styles/style.ts +254 -0
  156. package/src/types.d.ts +93 -0
  157. package/src/utils/BatchQueue.ts +24 -0
  158. package/src/utils/createFormulaCache.ts +96 -0
  159. package/src/utils/findNearestLine.test.ts +65 -0
  160. package/src/utils/findNearestLine.ts +92 -0
  161. package/src/utils/getDragData.ts +11 -0
  162. package/src/utils/getElementTagName.ts +14 -0
  163. package/src/utils/nodes.ts +125 -0
  164. package/src/utils/omitStyle.ts +19 -0
  165. package/src/utils/rectHasPoint.ts +5 -0
  166. package/src/utils/setAttribute.ts +56 -0
  167. package/src/utils/tryStartViewTransition.ts +32 -0
  168. package/src/utils/url.ts +45 -0
@@ -0,0 +1,220 @@
1
+ import { getDOMNodeFromNodeId } from '../../editor-preview.main';
2
+ /**
3
+ * Somewhat convoluted function to calculate all possible drop insertion areas, as lines between elements.
4
+ *
5
+ * Drop locations follows the following rules:
6
+ * - All lines for a single container are either horizontal or vertical (block or inline layout)
7
+ * - If the next sibling of an element follows the expected layout (not wrapped) a line is drawn between the two (taking gap/margin into consideration),
8
+ * - If the next sibling is wrapped, a line is drawn both after and before the next element. Both lines inserts the dragged element at the same index.
9
+ */
10
+ export function getInsertAreas() {
11
+ const insertAreas = [];
12
+ Array.from(document.querySelectorAll('[data-id]:not([data-component])'))
13
+ .filter((e) => e.getAttribute('data-id')?.includes(')') === false)
14
+ .map((e) => e.getAttribute('data-id'))
15
+ .forEach((id) => {
16
+ const element = getDOMNodeFromNodeId(id);
17
+ if (!element) {
18
+ // eslint-disable-next-line no-console
19
+ console.warn(`Element with path ${id} not found`);
20
+ return;
21
+ }
22
+ const rect = element.getBoundingClientRect();
23
+ const parent = element.parentElement;
24
+ if (!parent) {
25
+ return;
26
+ }
27
+ const siblings = Array.from(parent.children).filter((c) => c.hasAttribute('data-node-id') &&
28
+ c.getAttribute('data-node-id')?.endsWith(')') === false);
29
+ const index = siblings.indexOf(element);
30
+ const nextRect = siblings[index + 1]?.getBoundingClientRect();
31
+ const prevRect = siblings[index - 1]?.getBoundingClientRect();
32
+ const isBlockLayout = siblings.length > 1 &&
33
+ siblings
34
+ .map((c) => c.getBoundingClientRect())
35
+ .every((r, i, rects) => i === 0 ||
36
+ r.width + r.height === 0 ||
37
+ rects[i - 1].bottom <= r.top);
38
+ if (isBlockLayout) {
39
+ if (prevRect) {
40
+ if (prevRect.bottom >= rect.top) {
41
+ insertAreas.push({
42
+ layout: 'block',
43
+ parent,
44
+ index,
45
+ center: {
46
+ x: rect.left + rect.width / 2,
47
+ y: rect.top,
48
+ },
49
+ size: rect.width,
50
+ direction: -1,
51
+ });
52
+ }
53
+ }
54
+ else if (siblings.length > 0) {
55
+ insertAreas.push({
56
+ layout: 'block',
57
+ parent,
58
+ index,
59
+ center: {
60
+ x: rect.left + rect.width / 2,
61
+ y: rect.top,
62
+ },
63
+ size: rect.width,
64
+ direction: -1,
65
+ });
66
+ }
67
+ if (nextRect) {
68
+ if (nextRect.top > rect.bottom) {
69
+ insertAreas.push({
70
+ layout: 'block',
71
+ parent,
72
+ index: index + 1,
73
+ center: {
74
+ x: rect.left + rect.width / 2,
75
+ y: (rect.bottom + nextRect.top) / 2,
76
+ },
77
+ size: rect.width,
78
+ direction: 1,
79
+ });
80
+ }
81
+ else {
82
+ insertAreas.push({
83
+ layout: 'block',
84
+ parent,
85
+ index: index + 1,
86
+ center: {
87
+ x: rect.left + rect.width / 2,
88
+ y: rect.bottom,
89
+ },
90
+ size: rect.width,
91
+ direction: 1,
92
+ });
93
+ }
94
+ }
95
+ else if (siblings.length > 0) {
96
+ insertAreas.push({
97
+ layout: 'block',
98
+ parent,
99
+ index: index + 1,
100
+ center: {
101
+ x: rect.left + rect.width / 2,
102
+ y: rect.bottom,
103
+ },
104
+ size: rect.width,
105
+ direction: 1,
106
+ });
107
+ }
108
+ }
109
+ else {
110
+ if (prevRect) {
111
+ if (prevRect.right >= rect.left) {
112
+ insertAreas.push({
113
+ layout: 'inline',
114
+ parent,
115
+ index,
116
+ center: {
117
+ x: rect.left,
118
+ y: rect.top + rect.height / 2,
119
+ },
120
+ size: rect.height,
121
+ direction: -1,
122
+ });
123
+ }
124
+ }
125
+ else if (siblings.length > 0) {
126
+ insertAreas.push({
127
+ layout: 'inline',
128
+ parent,
129
+ index,
130
+ center: {
131
+ x: rect.left,
132
+ y: rect.top + rect.height / 2,
133
+ },
134
+ size: rect.height,
135
+ direction: -1,
136
+ });
137
+ }
138
+ if (nextRect) {
139
+ if (nextRect.left > rect.right) {
140
+ insertAreas.push({
141
+ layout: 'inline',
142
+ parent,
143
+ index: index + 1,
144
+ center: {
145
+ x: (rect.right + nextRect.left) / 2,
146
+ y: nextRect.top + nextRect.height / 2,
147
+ },
148
+ size: rect.height,
149
+ direction: 1,
150
+ });
151
+ }
152
+ else {
153
+ insertAreas.push({
154
+ layout: 'inline',
155
+ parent,
156
+ index: index + 1,
157
+ center: {
158
+ x: rect.right,
159
+ y: rect.top + rect.height / 2,
160
+ },
161
+ size: rect.height,
162
+ direction: 1,
163
+ });
164
+ }
165
+ }
166
+ else if (siblings.length > 0) {
167
+ insertAreas.push({
168
+ layout: 'inline',
169
+ parent,
170
+ index: index + 1,
171
+ center: {
172
+ x: rect.right,
173
+ y: rect.top + rect.height / 2,
174
+ },
175
+ size: rect.height,
176
+ direction: 1,
177
+ });
178
+ }
179
+ }
180
+ });
181
+ return offsetDropLines(insertAreas);
182
+ }
183
+ /**
184
+ * As a post-effect, lines are moved towards their element if there are multiple overlapping lines.
185
+ * Pointing the cursor slightly outside a container will drop the element after the container, and
186
+ * dropping inside will add as the last child.
187
+ */
188
+ function offsetDropLines(insertAreas) {
189
+ return insertAreas.map((area) => {
190
+ if (area.layout === 'block') {
191
+ return {
192
+ ...area,
193
+ point: {
194
+ ...area.center,
195
+ y: area.center.y -
196
+ insertAreas.filter((area2) => area.parent !== area2.parent &&
197
+ area2.layout === 'block' &&
198
+ area2.center.y === area.center.y &&
199
+ area2.parent.contains(area.parent)).length *
200
+ area.direction,
201
+ },
202
+ };
203
+ }
204
+ else {
205
+ return {
206
+ ...area,
207
+ point: {
208
+ ...area.center,
209
+ x: area.center.x -
210
+ insertAreas.filter((area2) => area.parent !== area2.parent &&
211
+ area2.layout === 'inline' &&
212
+ area2.center.x === area.center.x &&
213
+ area2.parent.contains(area.parent)).length *
214
+ area.direction,
215
+ },
216
+ };
217
+ }
218
+ });
219
+ }
220
+ //# sourceMappingURL=getInsertAreas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInsertAreas.js","sourceRoot":"","sources":["../../../src/editor/drag-drop/getInsertAreas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { PluginFormula } from '@nordcraft/core/dist/formula/formulaTypes';
2
+ import type { FormulaHandlerV2, PluginActionV2 } from '@nordcraft/core/dist/types';
3
+ export declare const initGlobalObject: ({ formulas, actions, }: {
4
+ formulas: Record<string, Record<string, PluginFormula<FormulaHandlerV2>>>;
5
+ actions: Record<string, Record<string, PluginActionV2>>;
6
+ }) => void;
7
+ export declare const createRoot: (domNode?: HTMLElement | null) => void;
8
+ export declare function getDOMNodeFromNodeId(selectedNodeId: string | null | undefined): Element | null;
9
+ export declare function getRectData(selectedNode: Element | null | undefined): {
10
+ left: number;
11
+ right: number;
12
+ top: number;
13
+ bottom: number;
14
+ width: number;
15
+ height: number;
16
+ x: number;
17
+ y: number;
18
+ borderRadius: number[];
19
+ } | null;