@cntrl-site/sdk-nextjs 1.9.14 → 1.9.16

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 (59) hide show
  1. package/lib/ItemGeometry/GenericGeometryController.js +43 -0
  2. package/lib/ItemGeometry/ItemGeometryContext.js +6 -0
  3. package/lib/ItemGeometry/ItemGeometryController.js +2 -0
  4. package/lib/ItemGeometry/ItemGeometryService.js +34 -0
  5. package/lib/ItemGeometry/RichTextGeometryController.js +135 -0
  6. package/lib/ItemGeometry/useItemGeometry.js +25 -0
  7. package/lib/components/Page.js +4 -1
  8. package/lib/components/items/CodeEmbedItem/CodeEmbedItem.js +2 -0
  9. package/lib/components/items/ComponentItem/ComponentItem.js +2 -0
  10. package/lib/components/items/CompoundItem/CompoundItem.js +17 -0
  11. package/lib/components/items/CustomItem/CustomItem.js +2 -0
  12. package/lib/components/items/EmbedVideoItem/VimeoEmbed.js +2 -0
  13. package/lib/components/items/EmbedVideoItem/YoutubeEmbed.js +2 -0
  14. package/lib/components/items/FileItem/ImageItem.js +2 -0
  15. package/lib/components/items/FileItem/VideoItem.js +2 -0
  16. package/lib/components/items/GroupItem/GroupItem.js +17 -0
  17. package/lib/components/items/Item.js +8 -0
  18. package/lib/components/items/RectangleItem/RectangleItem.js +2 -0
  19. package/lib/components/items/RichTextItem/RichTextItem.js +5 -1
  20. package/lib/components/items/useRichTextItemValues.js +2 -1
  21. package/lib/interactions/InteractionsRegistry.js +113 -12
  22. package/lib/interactions/ItemInteractionCtrl.js +1 -1
  23. package/lib/interactions/getTransition.js +1 -1
  24. package/lib/provider/InteractionsContext.js +4 -2
  25. package/lib/utils/CSSNumeric.js +19 -0
  26. package/lib/utils/RichTextConverter/RichTextConverter.js +4 -4
  27. package/lib/utils/domDfs.js +15 -0
  28. package/package.json +2 -2
  29. package/src/ItemGeometry/GenericGeometryController.ts +59 -0
  30. package/src/ItemGeometry/ItemGeometryContext.ts +4 -0
  31. package/src/ItemGeometry/ItemGeometryController.ts +22 -0
  32. package/src/ItemGeometry/ItemGeometryService.ts +34 -0
  33. package/src/ItemGeometry/RichTextGeometryController.ts +166 -0
  34. package/src/ItemGeometry/useItemGeometry.ts +25 -0
  35. package/src/components/Page.tsx +8 -3
  36. package/src/components/items/CodeEmbedItem/CodeEmbedItem.tsx +2 -0
  37. package/src/components/items/ComponentItem/ComponentItem.tsx +2 -0
  38. package/src/components/items/CompoundItem/CompoundItem.tsx +18 -1
  39. package/src/components/items/CustomItem/CustomItem.tsx +2 -0
  40. package/src/components/items/EmbedVideoItem/VimeoEmbed.tsx +2 -0
  41. package/src/components/items/EmbedVideoItem/YoutubeEmbed.tsx +2 -0
  42. package/src/components/items/FileItem/ImageItem.tsx +2 -0
  43. package/src/components/items/FileItem/VideoItem.tsx +2 -0
  44. package/src/components/items/GroupItem/GroupItem.tsx +18 -1
  45. package/src/components/items/Item.tsx +11 -3
  46. package/src/components/items/RectangleItem/RectangleItem.tsx +3 -1
  47. package/src/components/items/RichTextItem/RichTextItem.tsx +6 -1
  48. package/src/components/items/useRichTextItemValues.ts +2 -1
  49. package/src/interactions/InteractionsRegistry.ts +120 -15
  50. package/src/interactions/ItemInteractionCtrl.ts +2 -2
  51. package/src/interactions/getTransition.ts +1 -1
  52. package/src/interactions/types.ts +2 -2
  53. package/src/provider/InteractionsContext.tsx +4 -2
  54. package/src/utils/CSSNumeric.ts +19 -0
  55. package/src/utils/RichTextConverter/RichTextConverter.tsx +20 -4
  56. package/src/utils/domDfs.ts +11 -0
  57. package/cntrl-site-sdk-nextjs-1.9.14-2.tgz +0 -0
  58. /package/lib/{interactions → ItemGeometry}/CSSPropertyNameMap.js +0 -0
  59. /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(sliceSymbols(content, offset, entity.start));
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(sliceSymbols(content, offset, style.start));
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(sliceSymbols(content, offset, entity.end));
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(sliceSymbols(content, offset));
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