@cntrl-site/sdk-nextjs 1.9.14 → 1.9.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ItemGeometry/GenericGeometryController.js +43 -0
- package/lib/ItemGeometry/ItemGeometryContext.js +6 -0
- package/lib/ItemGeometry/ItemGeometryController.js +2 -0
- package/lib/ItemGeometry/ItemGeometryService.js +34 -0
- package/lib/ItemGeometry/RichTextGeometryController.js +135 -0
- package/lib/ItemGeometry/useItemGeometry.js +25 -0
- package/lib/components/Page.js +4 -1
- package/lib/components/items/CodeEmbedItem/CodeEmbedItem.js +2 -0
- package/lib/components/items/ComponentItem/ComponentItem.js +2 -0
- package/lib/components/items/CompoundItem/CompoundItem.js +17 -0
- package/lib/components/items/CustomItem/CustomItem.js +2 -0
- package/lib/components/items/EmbedVideoItem/VimeoEmbed.js +2 -0
- package/lib/components/items/EmbedVideoItem/YoutubeEmbed.js +2 -0
- package/lib/components/items/FileItem/ImageItem.js +2 -0
- package/lib/components/items/FileItem/VideoItem.js +2 -0
- package/lib/components/items/GroupItem/GroupItem.js +17 -0
- package/lib/components/items/Item.js +8 -0
- package/lib/components/items/RectangleItem/RectangleItem.js +2 -0
- package/lib/components/items/RichTextItem/RichTextItem.js +5 -1
- package/lib/components/items/useRichTextItemValues.js +2 -1
- package/lib/interactions/InteractionsRegistry.js +113 -12
- package/lib/interactions/ItemInteractionCtrl.js +1 -1
- package/lib/interactions/getTransition.js +1 -1
- package/lib/provider/InteractionsContext.js +4 -2
- package/lib/utils/CSSNumeric.js +19 -0
- package/lib/utils/RichTextConverter/RichTextConverter.js +4 -4
- package/lib/utils/domDfs.js +15 -0
- package/package.json +2 -2
- package/src/ItemGeometry/GenericGeometryController.ts +59 -0
- package/src/ItemGeometry/ItemGeometryContext.ts +4 -0
- package/src/ItemGeometry/ItemGeometryController.ts +22 -0
- package/src/ItemGeometry/ItemGeometryService.ts +34 -0
- package/src/ItemGeometry/RichTextGeometryController.ts +166 -0
- package/src/ItemGeometry/useItemGeometry.ts +25 -0
- package/src/components/Page.tsx +8 -3
- package/src/components/items/CodeEmbedItem/CodeEmbedItem.tsx +2 -0
- package/src/components/items/ComponentItem/ComponentItem.tsx +2 -0
- package/src/components/items/CompoundItem/CompoundItem.tsx +18 -1
- package/src/components/items/CustomItem/CustomItem.tsx +2 -0
- package/src/components/items/EmbedVideoItem/VimeoEmbed.tsx +2 -0
- package/src/components/items/EmbedVideoItem/YoutubeEmbed.tsx +2 -0
- package/src/components/items/FileItem/ImageItem.tsx +2 -0
- package/src/components/items/FileItem/VideoItem.tsx +2 -0
- package/src/components/items/GroupItem/GroupItem.tsx +18 -1
- package/src/components/items/Item.tsx +11 -3
- package/src/components/items/RectangleItem/RectangleItem.tsx +3 -1
- package/src/components/items/RichTextItem/RichTextItem.tsx +6 -1
- package/src/components/items/useRichTextItemValues.ts +2 -1
- package/src/interactions/InteractionsRegistry.ts +120 -15
- package/src/interactions/ItemInteractionCtrl.ts +2 -2
- package/src/interactions/getTransition.ts +1 -1
- package/src/interactions/types.ts +2 -2
- package/src/provider/InteractionsContext.tsx +4 -2
- package/src/utils/CSSNumeric.ts +19 -0
- package/src/utils/RichTextConverter/RichTextConverter.tsx +20 -4
- package/src/utils/domDfs.ts +11 -0
- package/cntrl-site-sdk-nextjs-1.9.14-2.tgz +0 -0
- /package/lib/{interactions → ItemGeometry}/CSSPropertyNameMap.js +0 -0
- /package/src/{interactions → ItemGeometry}/CSSPropertyNameMap.ts +0 -0
|
@@ -103,12 +103,20 @@ export class RichTextConverter {
|
|
|
103
103
|
for (const entity of entitiesGroups) {
|
|
104
104
|
const entityKids: ReactNode[] = [];
|
|
105
105
|
if (offset < entity.start) {
|
|
106
|
-
kids.push(
|
|
106
|
+
kids.push(
|
|
107
|
+
<span>
|
|
108
|
+
{sliceSymbols(content, offset, entity.start)}
|
|
109
|
+
</span>
|
|
110
|
+
);
|
|
107
111
|
offset = entity.start;
|
|
108
112
|
}
|
|
109
113
|
for (const style of entity.stylesGroup) {
|
|
110
114
|
if (offset < style.start) {
|
|
111
|
-
entityKids.push(
|
|
115
|
+
entityKids.push(
|
|
116
|
+
<span>
|
|
117
|
+
{sliceSymbols(content, offset, style.start)}
|
|
118
|
+
</span>
|
|
119
|
+
);
|
|
112
120
|
}
|
|
113
121
|
entityKids.push(
|
|
114
122
|
<span key={style.start} className={`s-${style.start}-${style.end}`}>
|
|
@@ -118,7 +126,11 @@ export class RichTextConverter {
|
|
|
118
126
|
offset = style.end;
|
|
119
127
|
}
|
|
120
128
|
if (offset < entity.end) {
|
|
121
|
-
entityKids.push(
|
|
129
|
+
entityKids.push(
|
|
130
|
+
<span>
|
|
131
|
+
{sliceSymbols(content, offset, entity.end)}
|
|
132
|
+
</span>
|
|
133
|
+
);
|
|
122
134
|
offset = entity.end;
|
|
123
135
|
}
|
|
124
136
|
if (entity.link) {
|
|
@@ -128,7 +140,11 @@ export class RichTextConverter {
|
|
|
128
140
|
kids.push(...entityKids);
|
|
129
141
|
}
|
|
130
142
|
if (offset < getSymbolsCount(content)) {
|
|
131
|
-
kids.push(
|
|
143
|
+
kids.push(
|
|
144
|
+
<span>
|
|
145
|
+
{sliceSymbols(content, offset)}
|
|
146
|
+
</span>
|
|
147
|
+
);
|
|
132
148
|
}
|
|
133
149
|
for (const item of group) {
|
|
134
150
|
const { exemplary } = layouts.find(l => l.id === item.layout)!;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function domDfs(root: Element[], visitor: (element: Element) => void) {
|
|
2
|
+
const q: Element[] = root;
|
|
3
|
+
for (let i = 0; i < q.length; i += 1) {
|
|
4
|
+
if (q[i].children.length > 0) {
|
|
5
|
+
q.push(...q[i].children);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
for (let i = q.length - 1; i >= 0; i -= 1) {
|
|
9
|
+
visitor(q[i]);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
Binary file
|
|
File without changes
|
|
File without changes
|