@contentstack/live-preview-utils 3.1.1 → 3.1.3

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 (254) hide show
  1. package/README.md +2 -2
  2. package/dist/legacy/configManager/config.default.cjs +8 -0
  3. package/dist/legacy/configManager/config.default.cjs.map +1 -1
  4. package/dist/legacy/configManager/config.default.js +8 -0
  5. package/dist/legacy/configManager/config.default.js.map +1 -1
  6. package/dist/legacy/configManager/handleUserConfig.cjs +7 -3
  7. package/dist/legacy/configManager/handleUserConfig.cjs.map +1 -1
  8. package/dist/legacy/configManager/handleUserConfig.js +7 -3
  9. package/dist/legacy/configManager/handleUserConfig.js.map +1 -1
  10. package/dist/legacy/livePreview/editButton/editButton.cjs +86 -1
  11. package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
  12. package/dist/legacy/livePreview/editButton/editButton.d.cts +14 -1
  13. package/dist/legacy/livePreview/editButton/editButton.d.ts +14 -1
  14. package/dist/legacy/livePreview/editButton/editButton.js +85 -1
  15. package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
  16. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  17. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  18. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +6 -2
  19. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  20. package/dist/legacy/preview/contentstack-live-preview-HOC.js +6 -2
  21. package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
  22. package/dist/legacy/types/types.cjs.map +1 -1
  23. package/dist/legacy/types/types.d.cts +7 -1
  24. package/dist/legacy/types/types.d.ts +7 -1
  25. package/dist/legacy/types/types.js.map +1 -1
  26. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +28 -22
  27. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  28. package/dist/legacy/visualBuilder/components/FieldToolbar.d.cts +1 -0
  29. package/dist/legacy/visualBuilder/components/FieldToolbar.d.ts +1 -0
  30. package/dist/legacy/visualBuilder/components/FieldToolbar.js +29 -24
  31. package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
  32. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs +39 -11
  33. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  34. package/dist/legacy/visualBuilder/components/addInstanceButton.d.cts +5 -0
  35. package/dist/legacy/visualBuilder/components/addInstanceButton.d.ts +5 -0
  36. package/dist/legacy/visualBuilder/components/addInstanceButton.js +39 -11
  37. package/dist/legacy/visualBuilder/components/addInstanceButton.js.map +1 -1
  38. package/dist/legacy/visualBuilder/components/startEditingButton.cjs +38 -11
  39. package/dist/legacy/visualBuilder/components/startEditingButton.cjs.map +1 -1
  40. package/dist/legacy/visualBuilder/components/startEditingButton.d.cts +6 -2
  41. package/dist/legacy/visualBuilder/components/startEditingButton.d.ts +6 -2
  42. package/dist/legacy/visualBuilder/components/startEditingButton.js +34 -11
  43. package/dist/legacy/visualBuilder/components/startEditingButton.js.map +1 -1
  44. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  45. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  46. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  47. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  48. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  49. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  50. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  51. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  52. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  53. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  54. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs +5 -0
  55. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  56. package/dist/legacy/visualBuilder/generators/generateOverlay.js +5 -0
  57. package/dist/legacy/visualBuilder/generators/generateOverlay.js.map +1 -1
  58. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +13 -5
  59. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  60. package/dist/legacy/visualBuilder/generators/generateToolbar.d.cts +2 -2
  61. package/dist/legacy/visualBuilder/generators/generateToolbar.d.ts +2 -2
  62. package/dist/legacy/visualBuilder/generators/generateToolbar.js +13 -5
  63. package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
  64. package/dist/legacy/visualBuilder/index.cjs +4 -2
  65. package/dist/legacy/visualBuilder/index.cjs.map +1 -1
  66. package/dist/legacy/visualBuilder/index.d.cts +1 -0
  67. package/dist/legacy/visualBuilder/index.d.ts +1 -0
  68. package/dist/legacy/visualBuilder/index.js +4 -2
  69. package/dist/legacy/visualBuilder/index.js.map +1 -1
  70. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs +79 -21
  71. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  72. package/dist/legacy/visualBuilder/listeners/mouseClick.d.cts +4 -1
  73. package/dist/legacy/visualBuilder/listeners/mouseClick.d.ts +4 -1
  74. package/dist/legacy/visualBuilder/listeners/mouseClick.js +79 -21
  75. package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
  76. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  77. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  78. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  79. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  80. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js +74 -0
  81. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  82. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  83. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  84. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  85. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  86. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js +8 -0
  87. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  88. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +24 -112
  89. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  90. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  91. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  92. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +22 -116
  93. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  94. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  95. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  96. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  97. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  98. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js +58 -0
  99. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  100. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  101. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  102. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  103. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  104. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js +12 -0
  105. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  106. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs +14 -20
  107. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  108. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  109. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  110. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js +14 -20
  111. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  112. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  113. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  114. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  115. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  116. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js +21 -0
  117. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  118. package/dist/legacy/visualBuilder/utils/types/index.types.cjs.map +1 -1
  119. package/dist/legacy/visualBuilder/utils/types/index.types.d.cts +6 -1
  120. package/dist/legacy/visualBuilder/utils/types/index.types.d.ts +6 -1
  121. package/dist/legacy/visualBuilder/utils/types/index.types.js.map +1 -1
  122. package/dist/legacy/visualBuilder/visualBuilder.style.cjs +27 -5
  123. package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
  124. package/dist/legacy/visualBuilder/visualBuilder.style.d.cts +6 -1
  125. package/dist/legacy/visualBuilder/visualBuilder.style.d.ts +6 -1
  126. package/dist/legacy/visualBuilder/visualBuilder.style.js +27 -5
  127. package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
  128. package/dist/modern/configManager/config.default.cjs +8 -0
  129. package/dist/modern/configManager/config.default.cjs.map +1 -1
  130. package/dist/modern/configManager/config.default.js +8 -0
  131. package/dist/modern/configManager/config.default.js.map +1 -1
  132. package/dist/modern/configManager/handleUserConfig.cjs +4 -0
  133. package/dist/modern/configManager/handleUserConfig.cjs.map +1 -1
  134. package/dist/modern/configManager/handleUserConfig.js +4 -0
  135. package/dist/modern/configManager/handleUserConfig.js.map +1 -1
  136. package/dist/modern/livePreview/editButton/editButton.cjs +85 -1
  137. package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
  138. package/dist/modern/livePreview/editButton/editButton.d.cts +14 -1
  139. package/dist/modern/livePreview/editButton/editButton.d.ts +14 -1
  140. package/dist/modern/livePreview/editButton/editButton.js +84 -1
  141. package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
  142. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  143. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  144. package/dist/modern/preview/contentstack-live-preview-HOC.cjs +6 -2
  145. package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  146. package/dist/modern/preview/contentstack-live-preview-HOC.js +6 -2
  147. package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
  148. package/dist/modern/types/types.cjs.map +1 -1
  149. package/dist/modern/types/types.d.cts +7 -1
  150. package/dist/modern/types/types.d.ts +7 -1
  151. package/dist/modern/types/types.js.map +1 -1
  152. package/dist/modern/visualBuilder/components/FieldToolbar.cjs +28 -21
  153. package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  154. package/dist/modern/visualBuilder/components/FieldToolbar.d.cts +1 -0
  155. package/dist/modern/visualBuilder/components/FieldToolbar.d.ts +1 -0
  156. package/dist/modern/visualBuilder/components/FieldToolbar.js +29 -23
  157. package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
  158. package/dist/modern/visualBuilder/components/addInstanceButton.cjs +38 -11
  159. package/dist/modern/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  160. package/dist/modern/visualBuilder/components/addInstanceButton.d.cts +5 -0
  161. package/dist/modern/visualBuilder/components/addInstanceButton.d.ts +5 -0
  162. package/dist/modern/visualBuilder/components/addInstanceButton.js +38 -11
  163. package/dist/modern/visualBuilder/components/addInstanceButton.js.map +1 -1
  164. package/dist/modern/visualBuilder/components/startEditingButton.cjs +38 -11
  165. package/dist/modern/visualBuilder/components/startEditingButton.cjs.map +1 -1
  166. package/dist/modern/visualBuilder/components/startEditingButton.d.cts +6 -2
  167. package/dist/modern/visualBuilder/components/startEditingButton.d.ts +6 -2
  168. package/dist/modern/visualBuilder/components/startEditingButton.js +34 -11
  169. package/dist/modern/visualBuilder/components/startEditingButton.js.map +1 -1
  170. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  171. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  172. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  173. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  174. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  175. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  176. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  177. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  178. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  179. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  180. package/dist/modern/visualBuilder/generators/generateOverlay.cjs +5 -0
  181. package/dist/modern/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  182. package/dist/modern/visualBuilder/generators/generateOverlay.js +5 -0
  183. package/dist/modern/visualBuilder/generators/generateOverlay.js.map +1 -1
  184. package/dist/modern/visualBuilder/generators/generateToolbar.cjs +13 -5
  185. package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  186. package/dist/modern/visualBuilder/generators/generateToolbar.d.cts +2 -2
  187. package/dist/modern/visualBuilder/generators/generateToolbar.d.ts +2 -2
  188. package/dist/modern/visualBuilder/generators/generateToolbar.js +13 -5
  189. package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
  190. package/dist/modern/visualBuilder/index.cjs +4 -2
  191. package/dist/modern/visualBuilder/index.cjs.map +1 -1
  192. package/dist/modern/visualBuilder/index.d.cts +1 -0
  193. package/dist/modern/visualBuilder/index.d.ts +1 -0
  194. package/dist/modern/visualBuilder/index.js +4 -2
  195. package/dist/modern/visualBuilder/index.js.map +1 -1
  196. package/dist/modern/visualBuilder/listeners/mouseClick.cjs +76 -19
  197. package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  198. package/dist/modern/visualBuilder/listeners/mouseClick.d.cts +4 -1
  199. package/dist/modern/visualBuilder/listeners/mouseClick.d.ts +4 -1
  200. package/dist/modern/visualBuilder/listeners/mouseClick.js +76 -19
  201. package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
  202. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  203. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  204. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  205. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  206. package/dist/modern/visualBuilder/utils/enableInlineEditing.js +74 -0
  207. package/dist/modern/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  208. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  209. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  210. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  211. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  212. package/dist/modern/visualBuilder/utils/getChildrenDirection.js +8 -0
  213. package/dist/modern/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  214. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +23 -111
  215. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  216. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  217. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  218. package/dist/modern/visualBuilder/utils/handleIndividualFields.js +21 -115
  219. package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  220. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  221. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  222. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  223. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  224. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js +58 -0
  225. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  226. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  227. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  228. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  229. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  230. package/dist/modern/visualBuilder/utils/isFieldMultiple.js +12 -0
  231. package/dist/modern/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  232. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs +14 -18
  233. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  234. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  235. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  236. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js +14 -18
  237. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  238. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  239. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  240. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  241. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  242. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js +21 -0
  243. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  244. package/dist/modern/visualBuilder/utils/types/index.types.cjs.map +1 -1
  245. package/dist/modern/visualBuilder/utils/types/index.types.d.cts +6 -1
  246. package/dist/modern/visualBuilder/utils/types/index.types.d.ts +6 -1
  247. package/dist/modern/visualBuilder/utils/types/index.types.js.map +1 -1
  248. package/dist/modern/visualBuilder/visualBuilder.style.cjs +27 -5
  249. package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
  250. package/dist/modern/visualBuilder/visualBuilder.style.d.cts +6 -1
  251. package/dist/modern/visualBuilder/visualBuilder.style.d.ts +6 -1
  252. package/dist/modern/visualBuilder/visualBuilder.style.js +27 -5
  253. package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
  254. package/package.json +3 -2
@@ -29,7 +29,7 @@ declare function removeAddInstanceButtons(elements: {
29
29
  eventTarget: EventTarget | null;
30
30
  }, forceRemoveAll?: boolean): void;
31
31
  /**
32
- * This function that observes the parent element and focuses the newly added instance.
32
+ * This function observes the parent element and focuses the newly added instance.
33
33
  *
34
34
  * @param parentCslp The parent cslp value.
35
35
  * @param index The index of the new instance.
@@ -5,11 +5,10 @@ import {
5
5
  generateAddInstanceButton,
6
6
  getAddInstanceButtons
7
7
  } from "../generators/generateAddInstanceButtons.js";
8
- import visualBuilderPostMessage from "./visualBuilderPostMessage.js";
9
- import { VisualBuilderPostMessageEvents } from "./types/postMessage.types.js";
10
8
  import getChildrenDirection from "./getChildrenDirection.js";
11
9
  import { hideOverlay } from "../generators/generateOverlay.js";
12
10
  import { hideHoverOutline } from "../listeners/mouseHover.js";
11
+ import { signal } from "@preact/signals";
13
12
  var WAIT_FOR_NEW_INSTANCE_TIMEOUT = 4e3;
14
13
  function handleAddButtonsForMultiple(eventDetails, elements, config) {
15
14
  var _a, _b;
@@ -61,29 +60,24 @@ function handleAddButtonsForMultiple(eventDetails, elements, config) {
61
60
  index
62
61
  });
63
62
  };
63
+ const loading = signal(false);
64
64
  const previousButton = generateAddInstanceButton({
65
- onClick: () => {
66
- var _a2;
67
- (_a2 = visualBuilderPostMessage) == null ? void 0 : _a2.send(VisualBuilderPostMessageEvents.ADD_INSTANCE, {
68
- fieldMetadata: eventDetails.fieldMetadata,
69
- index: prevIndex
70
- }).then(onMessageSent.bind(null, prevIndex));
71
- },
72
- label,
73
65
  fieldSchema,
74
- value: expectedFieldData
66
+ value: expectedFieldData,
67
+ fieldMetadata: eventDetails.fieldMetadata,
68
+ index: prevIndex,
69
+ onClick: onMessageSent.bind(null, prevIndex),
70
+ loading,
71
+ label
75
72
  });
76
73
  const nextButton = generateAddInstanceButton({
77
- onClick: () => {
78
- var _a2;
79
- (_a2 = visualBuilderPostMessage) == null ? void 0 : _a2.send(VisualBuilderPostMessageEvents.ADD_INSTANCE, {
80
- fieldMetadata: eventDetails.fieldMetadata,
81
- index: nextIndex
82
- }).then(onMessageSent.bind(null, nextIndex));
83
- },
84
- label,
85
74
  fieldSchema,
86
- value: expectedFieldData
75
+ value: expectedFieldData,
76
+ fieldMetadata: eventDetails.fieldMetadata,
77
+ index: nextIndex,
78
+ onClick: onMessageSent.bind(null, nextIndex),
79
+ loading,
80
+ label
87
81
  });
88
82
  if (!visualBuilderContainer.contains(previousButton)) {
89
83
  visualBuilderContainer.appendChild(previousButton);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/utils/multipleElementAddButton.ts"],"sourcesContent":["import { VisualBuilderCslpEventDetails } from \"../types/visualBuilder.types\";\nimport {\n generateAddInstanceButton,\n getAddInstanceButtons,\n} from \"../generators/generateAddInstanceButtons\";\nimport visualBuilderPostMessage from \"./visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"./types/postMessage.types\";\nimport getChildrenDirection from \"./getChildrenDirection\";\nimport { hideOverlay } from \"../generators/generateOverlay\";\nimport { hideHoverOutline } from \"../listeners/mouseHover\";\nimport { ISchemaFieldMap } from \"./types/index.types\";\n\nconst WAIT_FOR_NEW_INSTANCE_TIMEOUT = 4000;\n\n/**\n * The function that handles the add instance buttons for multiple fields.\n * @param eventDetails The details containing the field metadata and cslp value.\n * @param elements The elements object that contain the editable element and visual builder wrapper.\n * @param config The configuration object that contains the expected field data and disabled state.\n * @returns void\n */\nexport function handleAddButtonsForMultiple(\n eventDetails: VisualBuilderCslpEventDetails,\n elements: {\n editableElement: Element | null;\n visualBuilderContainer: HTMLDivElement | null;\n resizeObserver: ResizeObserver;\n },\n config: {\n fieldSchema: ISchemaFieldMap;\n /**\n * expectedFieldData is the value of the whole multiple field (an array)\n */\n expectedFieldData: any;\n disabled: boolean;\n label: string | undefined;\n }\n): void {\n const { editableElement, visualBuilderContainer, resizeObserver } =\n elements;\n const { expectedFieldData, fieldSchema, disabled, label } = config;\n\n const parentCslpValue =\n eventDetails.fieldMetadata.multipleFieldMetadata?.parentDetails\n ?.parentCslpValue;\n\n if (!editableElement || !parentCslpValue) {\n return;\n }\n\n const direction = getChildrenDirection(editableElement, parentCslpValue);\n if (direction === \"none\" || !visualBuilderContainer) {\n return;\n }\n\n const targetDOMDimension = editableElement.getBoundingClientRect();\n removeAddInstanceButtons(\n {\n visualBuilderContainer: visualBuilderContainer,\n eventTarget: null,\n overlayWrapper: null,\n },\n true\n );\n\n const overlayWrapper = visualBuilderContainer.querySelector(\n \".visual-builder__overlay__wrapper\"\n );\n const focusedToolbar = visualBuilderContainer.querySelector(\n \".visual-builder__focused-toolbar\"\n );\n\n const hideOverlayAndHoverOutline = () => {\n hideHoverOutline(visualBuilderContainer);\n hideOverlay({\n visualBuilderContainer: visualBuilderContainer,\n visualBuilderOverlayWrapper: overlayWrapper as HTMLDivElement,\n focusedToolbar: focusedToolbar as HTMLDivElement,\n resizeObserver,\n });\n };\n\n if (disabled) {\n return;\n }\n\n // is whole field and not a single instance of the multiple field\n const isField =\n eventDetails.fieldMetadata.instance.fieldPathWithIndex ===\n eventDetails.fieldMetadata.fieldPathWithIndex;\n\n const prevIndex = isField\n ? 0\n : eventDetails.fieldMetadata.multipleFieldMetadata.index;\n const nextIndex = isField\n ? expectedFieldData.length\n : eventDetails.fieldMetadata.multipleFieldMetadata.index + 1;\n\n const parentCslp = isField ? eventDetails.cslpData : parentCslpValue;\n\n const onMessageSent = (index: number) => {\n hideOverlayAndHoverOutline();\n observeParentAndFocusNewInstance({\n parentCslp,\n index,\n });\n };\n\n const previousButton = generateAddInstanceButton({\n onClick: () => {\n visualBuilderPostMessage\n ?.send(VisualBuilderPostMessageEvents.ADD_INSTANCE, {\n fieldMetadata: eventDetails.fieldMetadata,\n index: prevIndex,\n })\n .then(onMessageSent.bind(null, prevIndex));\n },\n label,\n fieldSchema,\n value: expectedFieldData,\n });\n\n const nextButton = generateAddInstanceButton({\n onClick: () => {\n visualBuilderPostMessage\n ?.send(VisualBuilderPostMessageEvents.ADD_INSTANCE, {\n fieldMetadata: eventDetails.fieldMetadata,\n index: nextIndex,\n })\n .then(onMessageSent.bind(null, nextIndex));\n },\n label,\n fieldSchema,\n value: expectedFieldData,\n });\n\n if (!visualBuilderContainer.contains(previousButton)) {\n visualBuilderContainer.appendChild(previousButton);\n }\n\n if (!visualBuilderContainer.contains(nextButton)) {\n visualBuilderContainer.appendChild(nextButton);\n }\n\n if (direction === \"horizontal\") {\n const middleHeight =\n targetDOMDimension.top +\n (targetDOMDimension.bottom - targetDOMDimension.top) / 2 +\n window.scrollY;\n previousButton.style.left = `${targetDOMDimension.left}px`;\n previousButton.style.top = `${middleHeight}px`;\n\n nextButton.style.left = `${targetDOMDimension.right}px`;\n nextButton.style.top = `${middleHeight}px`;\n } else {\n const middleWidth =\n targetDOMDimension.left +\n (targetDOMDimension.right - targetDOMDimension.left) / 2;\n previousButton.style.left = `${middleWidth}px`;\n previousButton.style.top = `${\n targetDOMDimension.top + window.scrollY\n }px`;\n\n nextButton.style.left = `${middleWidth}px`;\n nextButton.style.top = `${\n targetDOMDimension.bottom + window.scrollY\n }px`;\n }\n}\n\nexport function removeAddInstanceButtons(\n elements: {\n visualBuilderContainer: HTMLDivElement | null;\n overlayWrapper: HTMLDivElement | null;\n eventTarget: EventTarget | null;\n },\n forceRemoveAll = false\n): void {\n const { visualBuilderContainer, overlayWrapper, eventTarget } = elements;\n\n if (!visualBuilderContainer) {\n return;\n }\n\n if (forceRemoveAll) {\n const addInstanceButtons = getAddInstanceButtons(\n visualBuilderContainer,\n true\n );\n\n addInstanceButtons?.forEach((button) => button.remove());\n }\n\n const addInstanceButtons = getAddInstanceButtons(visualBuilderContainer);\n\n if (!addInstanceButtons) {\n return;\n }\n\n const [previousButton, nextButton] = addInstanceButtons;\n\n if (overlayWrapper?.classList.contains(\"visible\")) {\n return;\n }\n\n if (\n eventTarget &&\n (previousButton.contains(eventTarget as Node) ||\n nextButton.contains(eventTarget as Node))\n ) {\n return;\n }\n\n nextButton.remove();\n previousButton.remove();\n}\n\n/**\n * This function that observes the parent element and focuses the newly added instance.\n *\n * @param parentCslp The parent cslp value.\n * @param index The index of the new instance.\n * @returns void\n *\n * We can evolve the retry logic, as different use cases arise.\n * Currently, if the new element is not found after the first mutation, we until\n * WAIT_FOR_NEW_INSTANCE_TIMEOUT, expecting that the new instance/block will be\n * found in later mutations and we can focus + disconnect then.\n * We also ensure there is only one setTimeout scheduled.\n */\nexport function observeParentAndFocusNewInstance({\n parentCslp,\n index,\n}: {\n parentCslp: string;\n index: number;\n}): void {\n const parent = document.querySelector(\n `[data-cslp='${parentCslp}']`\n ) as HTMLElement;\n\n if (parent) {\n const expectedCslp = [parentCslp, index].join(\".\");\n\n let hasObserverDisconnected = false;\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n const mutationObserver = new MutationObserver(\n (_mutations, observer) => {\n const newInstance = parent.querySelector(\n `[data-cslp='${expectedCslp}']`\n ) as HTMLElement | null;\n if (newInstance) {\n // this is how we also navigate to parent elements, but parent elements\n // are never primitive fields, the instances can be and this steals\n // focus from the form and puts it on the canvas.\n // So currently for a singleline multiple field, the form opens but we\n // come back to the canvas.\n // TODO - maybe we should not focus the content-editable\n // TODO - temp fix. We remove our empty block div once the new block arrives\n // but we focus the element before that and then the block shifts.\n // For some reason, the window resize event also does not trigger\n setTimeout(() => newInstance.click(), 350);\n observer.disconnect();\n hasObserverDisconnected = true;\n return;\n }\n if (!hasObserverDisconnected && !timeoutId) {\n // disconnect the observer whether we found the new instance or not\n // after timeout\n timeoutId = setTimeout(() => {\n observer.disconnect();\n hasObserverDisconnected = false;\n }, WAIT_FOR_NEW_INSTANCE_TIMEOUT);\n }\n }\n );\n mutationObserver.observe(parent, {\n childList: true,\n // watch subtrees as there may be wrapper elements\n subtree: true,\n // we don't need to watch for attribute changes\n attributes: false,\n });\n }\n}\n"],"mappings":"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","names":["_a","addInstanceButtons"]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/utils/multipleElementAddButton.ts"],"sourcesContent":["import { VisualBuilderCslpEventDetails } from \"../types/visualBuilder.types\";\nimport {\n generateAddInstanceButton,\n getAddInstanceButtons,\n} from \"../generators/generateAddInstanceButtons\";\nimport getChildrenDirection from \"./getChildrenDirection\";\nimport { hideOverlay } from \"../generators/generateOverlay\";\nimport { hideHoverOutline } from \"../listeners/mouseHover\";\nimport { ISchemaFieldMap } from \"./types/index.types\";\nimport { signal } from \"@preact/signals\";\n\nconst WAIT_FOR_NEW_INSTANCE_TIMEOUT = 4000;\n\n/**\n * The function that handles the add instance buttons for multiple fields.\n * @param eventDetails The details containing the field metadata and cslp value.\n * @param elements The elements object that contain the editable element and visual builder wrapper.\n * @param config The configuration object that contains the expected field data and disabled state.\n * @returns void\n */\nexport function handleAddButtonsForMultiple(\n eventDetails: VisualBuilderCslpEventDetails,\n elements: {\n editableElement: Element | null;\n visualBuilderContainer: HTMLDivElement | null;\n resizeObserver: ResizeObserver;\n },\n config: {\n fieldSchema: ISchemaFieldMap;\n /**\n * expectedFieldData is the value of the whole multiple field (an array)\n */\n expectedFieldData: any;\n disabled: boolean;\n label: string | undefined;\n }\n): void {\n const { editableElement, visualBuilderContainer, resizeObserver } =\n elements;\n const { expectedFieldData, fieldSchema, disabled, label } = config;\n\n const parentCslpValue =\n eventDetails.fieldMetadata.multipleFieldMetadata?.parentDetails\n ?.parentCslpValue;\n\n if (!editableElement || !parentCslpValue) {\n return;\n }\n\n const direction = getChildrenDirection(editableElement, parentCslpValue);\n if (direction === \"none\" || !visualBuilderContainer) {\n return;\n }\n\n const targetDOMDimension = editableElement.getBoundingClientRect();\n removeAddInstanceButtons(\n {\n visualBuilderContainer: visualBuilderContainer,\n eventTarget: null,\n overlayWrapper: null,\n },\n true\n );\n\n const overlayWrapper = visualBuilderContainer.querySelector(\n \".visual-builder__overlay__wrapper\"\n );\n const focusedToolbar = visualBuilderContainer.querySelector(\n \".visual-builder__focused-toolbar\"\n );\n\n const hideOverlayAndHoverOutline = () => {\n hideHoverOutline(visualBuilderContainer);\n hideOverlay({\n visualBuilderContainer: visualBuilderContainer,\n visualBuilderOverlayWrapper: overlayWrapper as HTMLDivElement,\n focusedToolbar: focusedToolbar as HTMLDivElement,\n resizeObserver,\n });\n };\n\n if (disabled) {\n return;\n }\n\n // is whole field and not a single instance of the multiple field\n const isField =\n eventDetails.fieldMetadata.instance.fieldPathWithIndex ===\n eventDetails.fieldMetadata.fieldPathWithIndex;\n\n const prevIndex = isField\n ? 0\n : eventDetails.fieldMetadata.multipleFieldMetadata.index;\n const nextIndex = isField\n ? expectedFieldData.length\n : eventDetails.fieldMetadata.multipleFieldMetadata.index + 1;\n\n const parentCslp = isField ? eventDetails.cslpData : parentCslpValue;\n\n const onMessageSent = (index: number) => {\n hideOverlayAndHoverOutline();\n observeParentAndFocusNewInstance({\n parentCslp,\n index,\n });\n };\n\n // this is a shared loading state between the\n // next and previous button for the duration\n // between the add-instance post message being\n // sent and receiving a response for it.\n const loading = signal(false);\n\n const previousButton = generateAddInstanceButton({\n fieldSchema,\n value: expectedFieldData,\n fieldMetadata: eventDetails.fieldMetadata,\n index: prevIndex,\n onClick: onMessageSent.bind(null, prevIndex),\n loading,\n label,\n });\n\n const nextButton = generateAddInstanceButton({\n fieldSchema,\n value: expectedFieldData,\n fieldMetadata: eventDetails.fieldMetadata,\n index: nextIndex,\n onClick: onMessageSent.bind(null, nextIndex),\n loading,\n label,\n });\n\n if (!visualBuilderContainer.contains(previousButton)) {\n visualBuilderContainer.appendChild(previousButton);\n }\n\n if (!visualBuilderContainer.contains(nextButton)) {\n visualBuilderContainer.appendChild(nextButton);\n }\n\n if (direction === \"horizontal\") {\n const middleHeight =\n targetDOMDimension.top +\n (targetDOMDimension.bottom - targetDOMDimension.top) / 2 +\n window.scrollY;\n previousButton.style.left = `${targetDOMDimension.left}px`;\n previousButton.style.top = `${middleHeight}px`;\n\n nextButton.style.left = `${targetDOMDimension.right}px`;\n nextButton.style.top = `${middleHeight}px`;\n } else {\n const middleWidth =\n targetDOMDimension.left +\n (targetDOMDimension.right - targetDOMDimension.left) / 2;\n previousButton.style.left = `${middleWidth}px`;\n previousButton.style.top = `${\n targetDOMDimension.top + window.scrollY\n }px`;\n\n nextButton.style.left = `${middleWidth}px`;\n nextButton.style.top = `${\n targetDOMDimension.bottom + window.scrollY\n }px`;\n }\n}\n\nexport function removeAddInstanceButtons(\n elements: {\n visualBuilderContainer: HTMLDivElement | null;\n overlayWrapper: HTMLDivElement | null;\n eventTarget: EventTarget | null;\n },\n forceRemoveAll = false\n): void {\n const { visualBuilderContainer, overlayWrapper, eventTarget } = elements;\n\n if (!visualBuilderContainer) {\n return;\n }\n\n if (forceRemoveAll) {\n const addInstanceButtons = getAddInstanceButtons(\n visualBuilderContainer,\n true\n );\n\n addInstanceButtons?.forEach((button) => button.remove());\n }\n\n const addInstanceButtons = getAddInstanceButtons(visualBuilderContainer);\n\n if (!addInstanceButtons) {\n return;\n }\n\n const [previousButton, nextButton] = addInstanceButtons;\n\n if (overlayWrapper?.classList.contains(\"visible\")) {\n return;\n }\n\n if (\n eventTarget &&\n (previousButton.contains(eventTarget as Node) ||\n nextButton.contains(eventTarget as Node))\n ) {\n return;\n }\n\n nextButton.remove();\n previousButton.remove();\n}\n\n/**\n * This function observes the parent element and focuses the newly added instance.\n *\n * @param parentCslp The parent cslp value.\n * @param index The index of the new instance.\n * @returns void\n *\n * We can evolve the retry logic, as different use cases arise.\n * Currently, if the new element is not found after the first mutation, we until\n * WAIT_FOR_NEW_INSTANCE_TIMEOUT, expecting that the new instance/block will be\n * found in later mutations and we can focus + disconnect then.\n * We also ensure there is only one setTimeout scheduled.\n */\nexport function observeParentAndFocusNewInstance({\n parentCslp,\n index,\n}: {\n parentCslp: string;\n index: number;\n}): void {\n const parent = document.querySelector(\n `[data-cslp='${parentCslp}']`\n ) as HTMLElement;\n\n if (parent) {\n const expectedCslp = [parentCslp, index].join(\".\");\n\n let hasObserverDisconnected = false;\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n const mutationObserver = new MutationObserver(\n (_mutations, observer) => {\n const newInstance = parent.querySelector(\n `[data-cslp='${expectedCslp}']`\n ) as HTMLElement | null;\n if (newInstance) {\n // this is how we also navigate to parent elements, but parent elements\n // are never primitive fields, the instances can be and this steals\n // focus from the form and puts it on the canvas.\n // So currently for a singleline multiple field, the form opens but we\n // come back to the canvas.\n // TODO - maybe we should not focus the content-editable\n // TODO - temp fix. We remove our empty block div once the new block arrives\n // but we focus the element before that and then the block shifts.\n // For some reason, the window resize event also does not trigger\n setTimeout(() => newInstance.click(), 350);\n observer.disconnect();\n hasObserverDisconnected = true;\n return;\n }\n if (!hasObserverDisconnected && !timeoutId) {\n // disconnect the observer whether we found the new instance or not\n // after timeout\n timeoutId = setTimeout(() => {\n observer.disconnect();\n hasObserverDisconnected = false;\n }, WAIT_FOR_NEW_INSTANCE_TIMEOUT);\n }\n }\n );\n mutationObserver.observe(parent, {\n childList: true,\n // watch subtrees as there may be wrapper elements\n subtree: true,\n // we don't need to watch for attribute changes\n attributes: false,\n });\n }\n}\n"],"mappings":"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","names":["addInstanceButtons"]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/visualBuilder/utils/pasteAsPlainText.ts
21
+ var pasteAsPlainText_exports = {};
22
+ __export(pasteAsPlainText_exports, {
23
+ pasteAsPlainText: () => pasteAsPlainText
24
+ });
25
+ module.exports = __toCommonJS(pasteAsPlainText_exports);
26
+ var import_lodash_es = require("lodash-es");
27
+ var pasteAsPlainText = (0, import_lodash_es.debounce)(
28
+ (e) => {
29
+ e.preventDefault();
30
+ const clipboardData = e.clipboardData;
31
+ document.execCommand(
32
+ "inserttext",
33
+ false,
34
+ clipboardData == null ? void 0 : clipboardData.getData("text/plain")
35
+ );
36
+ },
37
+ 100,
38
+ { leading: true }
39
+ );
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ pasteAsPlainText
43
+ });
44
+ //# sourceMappingURL=pasteAsPlainText.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/visualBuilder/utils/pasteAsPlainText.ts"],"sourcesContent":["import { debounce } from \"lodash-es\";\n\nexport const pasteAsPlainText = debounce(\n (e: Event) => {\n e.preventDefault();\n const clipboardData = (e as ClipboardEvent).clipboardData;\n document.execCommand(\n \"inserttext\",\n false,\n clipboardData?.getData(\"text/plain\")\n );\n },\n 100,\n { leading: true }\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB;AAElB,IAAM,uBAAmB;AAAA,EAC5B,CAAC,MAAa;AACV,MAAE,eAAe;AACjB,UAAM,gBAAiB,EAAqB;AAC5C,aAAS;AAAA,MACL;AAAA,MACA;AAAA,MACA,+CAAe,QAAQ;AAAA,IAC3B;AAAA,EACJ;AAAA,EACA;AAAA,EACA,EAAE,SAAS,KAAK;AACpB;","names":[]}
@@ -0,0 +1,5 @@
1
+ import * as lodash from 'lodash';
2
+
3
+ declare const pasteAsPlainText: lodash.DebouncedFuncLeading<(e: Event) => void>;
4
+
5
+ export { pasteAsPlainText };
@@ -0,0 +1,5 @@
1
+ import * as lodash from 'lodash';
2
+
3
+ declare const pasteAsPlainText: lodash.DebouncedFuncLeading<(e: Event) => void>;
4
+
5
+ export { pasteAsPlainText };
@@ -0,0 +1,21 @@
1
+ import "../../chunk-5WRI5ZAA.js";
2
+
3
+ // src/visualBuilder/utils/pasteAsPlainText.ts
4
+ import { debounce } from "lodash-es";
5
+ var pasteAsPlainText = debounce(
6
+ (e) => {
7
+ e.preventDefault();
8
+ const clipboardData = e.clipboardData;
9
+ document.execCommand(
10
+ "inserttext",
11
+ false,
12
+ clipboardData == null ? void 0 : clipboardData.getData("text/plain")
13
+ );
14
+ },
15
+ 100,
16
+ { leading: true }
17
+ );
18
+ export {
19
+ pasteAsPlainText
20
+ };
21
+ //# sourceMappingURL=pasteAsPlainText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/visualBuilder/utils/pasteAsPlainText.ts"],"sourcesContent":["import { debounce } from \"lodash-es\";\n\nexport const pasteAsPlainText = debounce(\n (e: Event) => {\n e.preventDefault();\n const clipboardData = (e as ClipboardEvent).clipboardData;\n document.execCommand(\n \"inserttext\",\n false,\n clipboardData?.getData(\"text/plain\")\n );\n },\n 100,\n { leading: true }\n);\n"],"mappings":";;;AAAA,SAAS,gBAAgB;AAElB,IAAM,mBAAmB;AAAA,EAC5B,CAAC,MAAa;AACV,MAAE,eAAe;AACjB,UAAM,gBAAiB,EAAqB;AAC5C,aAAS;AAAA,MACL;AAAA,MACA;AAAA,MACA,+CAAe,QAAQ;AAAA,IAC3B;AAAA,EACJ;AAAA,EACA;AAAA,EACA,EAAE,SAAS,KAAK;AACpB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/visualBuilder/utils/types/index.types.ts"],"sourcesContent":["import {\n IContentTypeRootBlocks,\n IModularBlockSingleBlock,\n} from \"../../../cms/types/contentTypeSchema.types\";\n\nexport type ISchemaIndividualFieldMap = Record<string, ISchemaFieldMap>;\n\nexport type ISchemaFieldMap = (\n | IContentTypeRootBlocks\n | (IModularBlockSingleBlock & {\n data_type: \"block\";\n display_name: string;\n })\n) & {\n non_localizable?: boolean;\n multiple?: boolean;\n field_metadata?: {\n updateRestrict?: boolean;\n isUnlinkedVariant?: boolean;\n };\n};\n\nexport interface ITraverseSchemaVisitor {\n should_visit: (\n fieldSchema: IContentTypeRootBlocks,\n path: string\n ) => boolean;\n visit: (fieldSchema: IContentTypeRootBlocks, path: string) => void;\n\n /**\n * A flat list of all the fields with its schema\n */\n fieldMap: ISchemaIndividualFieldMap;\n}\n\nexport enum FieldDataType {\n CUSTOM_FIELD = \"custom_field\",\n MULTILINE = \"multiline\",\n HTML_RTE = \"html_rte\",\n MARKDOWN_RTE = \"markdown_rte\",\n SELECT = \"select\",\n URL = \"url\",\n SINGLELINE = \"singleline\",\n JSON_RTE = \"json_rte\",\n MODULAR_BLOCK = \"modular_block\",\n LINK = \"link\",\n ISODATE = \"isodate\",\n BOOLEAN = \"boolean\",\n BLOCK = \"block\",\n NUMBER = \"number\",\n REFERENCE = \"reference\",\n GROUP = \"group\",\n EXPERIENCE_CONTAINER = \"experience_container\",\n FILE = \"file\",\n GLOBAL_FIELD = \"global_field\",\n TAXONOMY = \"taxonomy\",\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCO,IAAK,gBAAL,kBAAKA,mBAAL;AACH,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,0BAAuB;AACvB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,cAAW;AApBH,SAAAA;AAAA,GAAA;","names":["FieldDataType"]}
1
+ {"version":3,"sources":["../../../../../src/visualBuilder/utils/types/index.types.ts"],"sourcesContent":["import {\n IContentTypeRootBlocks,\n IModularBlockSingleBlock,\n} from \"../../../cms/types/contentTypeSchema.types\";\n\nexport type ISchemaIndividualFieldMap = Record<string, ISchemaFieldMap>;\n\nexport type ISchemaFieldMap = (\n | IContentTypeRootBlocks\n | (IModularBlockSingleBlock & {\n data_type: \"block\";\n display_name: string;\n })\n) & {\n non_localizable?: boolean;\n multiple?: boolean;\n field_metadata?: {\n updateRestrict?: boolean;\n isUnlinkedVariant?: boolean;\n };\n};\n\nexport interface ITraverseSchemaVisitor {\n should_visit: (\n fieldSchema: IContentTypeRootBlocks,\n path: string\n ) => boolean;\n visit: (fieldSchema: IContentTypeRootBlocks, path: string) => void;\n\n /**\n * A flat list of all the fields with its schema\n */\n fieldMap: ISchemaIndividualFieldMap;\n}\n\nexport enum FieldDataType {\n CUSTOM_FIELD = \"custom_field\",\n MULTILINE = \"multiline\",\n HTML_RTE = \"html_rte\",\n MARKDOWN_RTE = \"markdown_rte\",\n SELECT = \"select\",\n URL = \"url\",\n SINGLELINE = \"singleline\",\n JSON_RTE = \"json_rte\",\n MODULAR_BLOCK = \"modular_block\",\n LINK = \"link\",\n ISODATE = \"isodate\",\n BOOLEAN = \"boolean\",\n BLOCK = \"block\",\n NUMBER = \"number\",\n REFERENCE = \"reference\",\n GROUP = \"group\",\n EXPERIENCE_CONTAINER = \"experience_container\",\n FILE = \"file\",\n GLOBAL_FIELD = \"global_field\",\n TAXONOMY = \"taxonomy\",\n}\n\nexport interface VisualBuilderEditContext {\n visualBuilderContainer: HTMLDivElement;\n resizeObserver: ResizeObserver;\n lastEditedField: Element | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCO,IAAK,gBAAL,kBAAKA,mBAAL;AACH,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,0BAAuB;AACvB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,cAAW;AApBH,SAAAA;AAAA,GAAA;","names":["FieldDataType"]}
@@ -42,5 +42,10 @@ declare enum FieldDataType {
42
42
  GLOBAL_FIELD = "global_field",
43
43
  TAXONOMY = "taxonomy"
44
44
  }
45
+ interface VisualBuilderEditContext {
46
+ visualBuilderContainer: HTMLDivElement;
47
+ resizeObserver: ResizeObserver;
48
+ lastEditedField: Element | null;
49
+ }
45
50
 
46
- export { FieldDataType, type ISchemaFieldMap, type ISchemaIndividualFieldMap, type ITraverseSchemaVisitor };
51
+ export { FieldDataType, type ISchemaFieldMap, type ISchemaIndividualFieldMap, type ITraverseSchemaVisitor, type VisualBuilderEditContext };
@@ -42,5 +42,10 @@ declare enum FieldDataType {
42
42
  GLOBAL_FIELD = "global_field",
43
43
  TAXONOMY = "taxonomy"
44
44
  }
45
+ interface VisualBuilderEditContext {
46
+ visualBuilderContainer: HTMLDivElement;
47
+ resizeObserver: ResizeObserver;
48
+ lastEditedField: Element | null;
49
+ }
45
50
 
46
- export { FieldDataType, type ISchemaFieldMap, type ISchemaIndividualFieldMap, type ITraverseSchemaVisitor };
51
+ export { FieldDataType, type ISchemaFieldMap, type ISchemaIndividualFieldMap, type ITraverseSchemaVisitor, type VisualBuilderEditContext };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/visualBuilder/utils/types/index.types.ts"],"sourcesContent":["import {\n IContentTypeRootBlocks,\n IModularBlockSingleBlock,\n} from \"../../../cms/types/contentTypeSchema.types\";\n\nexport type ISchemaIndividualFieldMap = Record<string, ISchemaFieldMap>;\n\nexport type ISchemaFieldMap = (\n | IContentTypeRootBlocks\n | (IModularBlockSingleBlock & {\n data_type: \"block\";\n display_name: string;\n })\n) & {\n non_localizable?: boolean;\n multiple?: boolean;\n field_metadata?: {\n updateRestrict?: boolean;\n isUnlinkedVariant?: boolean;\n };\n};\n\nexport interface ITraverseSchemaVisitor {\n should_visit: (\n fieldSchema: IContentTypeRootBlocks,\n path: string\n ) => boolean;\n visit: (fieldSchema: IContentTypeRootBlocks, path: string) => void;\n\n /**\n * A flat list of all the fields with its schema\n */\n fieldMap: ISchemaIndividualFieldMap;\n}\n\nexport enum FieldDataType {\n CUSTOM_FIELD = \"custom_field\",\n MULTILINE = \"multiline\",\n HTML_RTE = \"html_rte\",\n MARKDOWN_RTE = \"markdown_rte\",\n SELECT = \"select\",\n URL = \"url\",\n SINGLELINE = \"singleline\",\n JSON_RTE = \"json_rte\",\n MODULAR_BLOCK = \"modular_block\",\n LINK = \"link\",\n ISODATE = \"isodate\",\n BOOLEAN = \"boolean\",\n BLOCK = \"block\",\n NUMBER = \"number\",\n REFERENCE = \"reference\",\n GROUP = \"group\",\n EXPERIENCE_CONTAINER = \"experience_container\",\n FILE = \"file\",\n GLOBAL_FIELD = \"global_field\",\n TAXONOMY = \"taxonomy\",\n}\n"],"mappings":";;;AAmCO,IAAK,gBAAL,kBAAKA,mBAAL;AACH,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,0BAAuB;AACvB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,cAAW;AApBH,SAAAA;AAAA,GAAA;","names":["FieldDataType"]}
1
+ {"version":3,"sources":["../../../../../src/visualBuilder/utils/types/index.types.ts"],"sourcesContent":["import {\n IContentTypeRootBlocks,\n IModularBlockSingleBlock,\n} from \"../../../cms/types/contentTypeSchema.types\";\n\nexport type ISchemaIndividualFieldMap = Record<string, ISchemaFieldMap>;\n\nexport type ISchemaFieldMap = (\n | IContentTypeRootBlocks\n | (IModularBlockSingleBlock & {\n data_type: \"block\";\n display_name: string;\n })\n) & {\n non_localizable?: boolean;\n multiple?: boolean;\n field_metadata?: {\n updateRestrict?: boolean;\n isUnlinkedVariant?: boolean;\n };\n};\n\nexport interface ITraverseSchemaVisitor {\n should_visit: (\n fieldSchema: IContentTypeRootBlocks,\n path: string\n ) => boolean;\n visit: (fieldSchema: IContentTypeRootBlocks, path: string) => void;\n\n /**\n * A flat list of all the fields with its schema\n */\n fieldMap: ISchemaIndividualFieldMap;\n}\n\nexport enum FieldDataType {\n CUSTOM_FIELD = \"custom_field\",\n MULTILINE = \"multiline\",\n HTML_RTE = \"html_rte\",\n MARKDOWN_RTE = \"markdown_rte\",\n SELECT = \"select\",\n URL = \"url\",\n SINGLELINE = \"singleline\",\n JSON_RTE = \"json_rte\",\n MODULAR_BLOCK = \"modular_block\",\n LINK = \"link\",\n ISODATE = \"isodate\",\n BOOLEAN = \"boolean\",\n BLOCK = \"block\",\n NUMBER = \"number\",\n REFERENCE = \"reference\",\n GROUP = \"group\",\n EXPERIENCE_CONTAINER = \"experience_container\",\n FILE = \"file\",\n GLOBAL_FIELD = \"global_field\",\n TAXONOMY = \"taxonomy\",\n}\n\nexport interface VisualBuilderEditContext {\n visualBuilderContainer: HTMLDivElement;\n resizeObserver: ResizeObserver;\n lastEditedField: Element | null;\n}\n"],"mappings":";;;AAmCO,IAAK,gBAAL,kBAAKA,mBAAL;AACH,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,0BAAuB;AACvB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,cAAW;AApBH,SAAAA;AAAA,GAAA;","names":["FieldDataType"]}
@@ -135,7 +135,7 @@ function visualBuilderStyles() {
135
135
  color: #6c5ce7;
136
136
  overflow: hidden;
137
137
 
138
- z-index: 2147483647 !important;
138
+ z-index: 2147483646 !important;
139
139
 
140
140
  display: grid;
141
141
  grid-template-columns: min-content 0fr;
@@ -172,12 +172,17 @@ function visualBuilderStyles() {
172
172
  overflow: hidden;
173
173
  text-overflow: ellipsis;
174
174
  `,
175
+ "visual-builder__add-button--loading": import_goober.css`
176
+ cursor: wait;
177
+ /* we have not-allowed on disabled, so we need this */
178
+ &:disabled {
179
+ cursor: wait;
180
+ }
181
+ `,
175
182
  "visual-builder__start-editing-btn": import_goober.css`
176
183
  z-index: 1000;
177
184
  text-decoration: none;
178
185
  position: fixed;
179
- bottom: 30px;
180
- right: 30px;
181
186
  box-shadow:
182
187
  0px 4px 15px 0px rgba(108, 92, 231, 0.2),
183
188
  0px 3px 14px 3px rgba(0, 0, 0, 0.12),
@@ -225,6 +230,22 @@ function visualBuilderStyles() {
225
230
  text-transform: capitalize;
226
231
  }
227
232
  `,
233
+ "visual-builder__start-editing-btn__bottom-right": import_goober.css`
234
+ bottom: 30px;
235
+ right: 30px;
236
+ `,
237
+ "visual-builder__start-editing-btn__bottom-left": import_goober.css`
238
+ bottom: 30px;
239
+ left: 30px;
240
+ `,
241
+ "visual-builder__start-editing-btn__top-right": import_goober.css`
242
+ top: 30px;
243
+ right: 30px;
244
+ `,
245
+ "visual-builder__start-editing-btn__top-left": import_goober.css`
246
+ top: 30px;
247
+ left: 30px;
248
+ `,
228
249
  "visual-builder__cursor-icon": import_goober.css`
229
250
  height: 40px;
230
251
  width: 40px;
@@ -358,6 +379,7 @@ function visualBuilderStyles() {
358
379
  }
359
380
  `,
360
381
  "visual-builder__button--comment-loader": import_goober.css`
382
+ cursor: wait !important;
361
383
  svg.loader {
362
384
  height: 16px;
363
385
  width: 16px;
@@ -516,7 +538,7 @@ function visualBuilderStyles() {
516
538
  position: absolute;
517
539
  outline: 2px dashed #6c5ce7;
518
540
  transition: var(--outline-transition);
519
- z-index: 2147483647 !important;
541
+ z-index: 2147483646 !important;
520
542
  `,
521
543
  "visual-builder__hover-outline--hidden": import_goober.css`
522
544
  visibility: hidden;
@@ -674,7 +696,7 @@ var VisualBuilderGlobalStyles = `
674
696
  [data-cslp] [contenteditable="true"] {
675
697
  outline: none;
676
698
  }
677
-
699
+
678
700
  @keyframes visual-builder__spinner {
679
701
  0% {
680
702
  transform: rotate(0deg);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/visualBuilder/visualBuilder.style.ts"],"sourcesContent":["import { css } from \"goober\";\n\nconst tooltipBaseStyle = `\n pointer-events: all;\n svg {\n pointer-events: none;\n }\n &:before {\n content: attr(data-tooltip);\n position: absolute;\n bottom: 20px;\n margin-bottom: 24px;\n padding: 12px;\n border-radius: 4px;\n width: max-content;\n max-width: 200px;\n color: #fff;\n font-family: Inter;\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 132%; /* 0.99rem */\n letter-spacing: 0.015rem;\n background: #767676;\n }\n &:after {\n content: \"\";\n position: absolute;\n bottom: 28px;\n /* the arrow */\n border: 10px solid #000;\n border-color: #767676 transparent transparent transparent;\n }\n`;\n\nexport function visualBuilderStyles() {\n return {\n \"visual-builder__container\": css`\n --outline-transition: all 0.15s ease-in;\n font-family: \"Inter\", sans-serif;\n `,\n \"visual-builder__cursor\": css`\n visibility: hidden;\n height: 0;\n\n &.visible {\n visibility: visible;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2147483647 !important;\n\n color: #fff;\n\n height: auto;\n padding: 0 10px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n pointer-events: none !important;\n position: fixed !important;\n cursor: none;\n }\n `,\n \"visual-builder__overlay__wrapper\": css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n visibility: hidden;\n z-index: 99999;\n\n pointer-events: none;\n\n &.visible {\n visibility: visible;\n }\n `,\n \"visual-builder__overlay--outline\": css`\n position: absolute;\n outline: 4px solid #715cdd;\n transition: var(--outline-transition);\n `,\n \"visual-builder__overlay\": css`\n background: rgba(0, 0, 0, 0.3);\n box-sizing: content-box;\n pointer-events: all;\n position: absolute;\n transition: var(--outline-transition);\n `,\n \"visual-builder__add-button\": css`\n position: absolute;\n pointer-events: all;\n\n background: #ffffff;\n color: #475161;\n\n border-radius: 4px;\n border: 1px solid #6c5ce7;\n\n height: 32px;\n min-width: 32px;\n max-width: 180px;\n padding: 8px 6px;\n transform: translate(-50%, -50%);\n\n font-weight: 600;\n color: #6c5ce7;\n overflow: hidden;\n\n z-index: 2147483647 !important;\n\n display: grid;\n grid-template-columns: min-content 0fr;\n align-content: center;\n gap: 0;\n\n transition:\n grid-template-columns 0.25s,\n left 0.15s ease-in,\n top 0.15s ease-in,\n gap 0.15s ease-in;\n\n &:has(.visual-builder__add-button-label):hover {\n grid-template-columns: min-content 1fr;\n gap: 8px;\n padding: 8px 16px;\n }\n\n svg {\n fill: #6c5ce7;\n }\n\n &:disabled {\n border-color: #bbbec3;\n cursor: not-allowed;\n }\n\n &:disabled svg {\n fill: #bbbec3;\n }\n `,\n \"visual-builder__add-button-label\": css`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n \"visual-builder__start-editing-btn\": css`\n z-index: 1000;\n text-decoration: none;\n position: fixed;\n bottom: 30px;\n right: 30px;\n box-shadow:\n 0px 4px 15px 0px rgba(108, 92, 231, 0.2),\n 0px 3px 14px 3px rgba(0, 0, 0, 0.12),\n 0px 8px 10px 1px rgba(0, 0, 0, 0.14);\n display: inline-flex;\n padding: 0.5rem 1rem;\n justify-content: center;\n align-items: center;\n gap: 0.5rem;\n\n border-radius: 4px;\n border: 1px solid transparent;\n background: #6c5ce7;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out,\n -webkit-box-shadow 0.15s ease-in-out;\n\n &:hover {\n background-color: #5d50be;\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px #ada4f4;\n }\n & > span {\n color: #fff;\n /* Body/P1 Bold */\n font-size: 1rem;\n font-family: Inter;\n font-weight: 600;\n line-height: 150%;\n letter-spacing: 0.01rem;\n text-transform: capitalize;\n }\n\n & > svg {\n color: #fff;\n font-size: 1rem;\n font-family: Inter;\n font-weight: 600;\n line-height: 150%;\n letter-spacing: 0.01rem;\n text-transform: capitalize;\n }\n `,\n \"visual-builder__cursor-icon\": css`\n height: 40px;\n width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #5d50be;\n border-radius: 50%;\n position: absolute;\n top: 0;\n left: 0;\n `,\n \"visual-builder__cursor-pointer\": css`\n position: absolute;\n top: -8px;\n left: -8px;\n `,\n \"visual-builder__cursor-icon--loader\": css`\n animation: visual-builder__spinner 1s linear infinite;\n `,\n \"visual-builder__focused-toolbar\": css`\n position: absolute;\n transform: translateY(-100%);\n z-index: 100000;\n gap: 8px;\n width: 0;\n display: flex;\n align-items: end;\n transition: var(--outline-transition);\n `,\n \"visual-builder__focused-toolbar__field-label-wrapper__current-field\": css`\n padding: 4px 8px !important;\n background: #6c5ce7;\n color: #fff;\n z-index: 1;\n border-radius: 2px !important;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: fit-content;\n\n &:disabled {\n filter: contrast(0.7);\n }\n\n .visual-builder__focused-toolbar__text {\n padding-right: 3px;\n height: 16px;\n }\n `,\n \"visual-builder__focused-toolbar__field-label-wrapper__parent-field\": css`\n pointer-events: none;\n color: #5d50be;\n padding: 4px !important;\n margin-bottom: 3px;\n display: none;\n width: fit-content;\n position: absolute;\n z-index: 100000;\n `,\n \"field-label-dropdown-open\": css`\n .visual-builder__focused-toolbar__field-label-wrapper__parent-field {\n pointer-events: all;\n visibility: visible;\n display: initial;\n }\n\n .visual-builder__button--secondary:hover {\n background-color: #6c5ce7;\n color: #f9f8ff;\n }\n `,\n \"visual-builder__focused-toolbar__field-label-wrapper\": css`\n display: flex;\n flex-direction: column-reverse;\n position: relative;\n `,\n \"visual-builder__focused-toolbar__field-label-container\": css`\n display: flex;\n column-gap: 0.5rem;\n align-items: center;\n `,\n \"visual-builder__button\": css`\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 4px;\n font-size: 16px;\n font-weight: 600;\n line-height: 100%;\n padding: 8px 16px;\n text-align: center;\n z-index: 2147483647 !important;\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n // vertical-align: middle;\n `,\n \"visual-builder__button--primary\": css`\n background-color: #6c5ce7;\n color: #fff;\n\n &:hover {\n background-color: #5d50be;\n }\n `,\n \"visual-builder__button--secondary\": css`\n background-color: #f9f8ff;\n border: 1px solid #6c5ce7;\n color: #6c5ce7;\n `,\n \"visual-builder__button--edit\": css`\n svg {\n height: 16px;\n width: 16px;\n\n path {\n fill: #475161;\n }\n }\n `,\n \"visual-builder__button-loader\": css`\n svg.loader {\n height: 16px;\n width: 16px;\n\n path {\n fill: #ffffff;\n }\n }\n `,\n \"visual-builder__button--comment-loader\": css`\n svg.loader {\n height: 16px;\n width: 16px;\n\n path {\n fill: #475161;\n }\n }\n `,\n \"visual-builder__field-icon\": css`\n svg {\n height: 16px;\n width: 16px;\n margin-right: 5px;\n }\n `,\n \"visual-builder__focused-toolbar__button-group\": css`\n display: flex;\n background: #fff;\n border-radius: 2px;\n height: 100%;\n padding: 4px !important;\n z-index: 2147483647 !important;\n\n &:has(.visual-builder__button) {\n padding: 2px;\n gap: 8px;\n }\n\n .visual-builder__button:hover {\n background-color: #f5f5f5;\n\n svg {\n color: #5d50be;\n }\n }\n\n .visual-builder__button {\n background-color: #fff;\n border-color: transparent;\n color: #475161;\n padding: 4px;\n min-width: 32px;\n min-height: 32px;\n }\n `,\n \"visual-builder__focused-toolbar__text\": css`\n font-family: Inter, \"sans-serif\";\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n letter-spacing: 0.015rem;\n max-width: 150px;\n overflow: hidden;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n `,\n \"visual-builder__focused-toolbar__multiple-field-toolbar\": css`\n height: 40px;\n z-index: 2147483647 !important;\n\n svg {\n height: 100%;\n width: 100%;\n }\n `,\n \"visual-builder__rotate--90\": css`\n transform: rotate(90deg);\n `,\n \"visual-builder__focused-toolbar--field-disabled\": css`\n pointer-events: none;\n cursor: not-allowed;\n .visual-builder__focused-toolbar__field-label-wrapper__current-field {\n background: #909090;\n }\n `,\n \"visual-builder__cursor-disabled\": css`\n .visual-builder__cursor-icon {\n background: #909090;\n }\n\n .visual-builder__cursor-pointer path {\n fill: #909090;\n }\n `,\n \"visual-builder__tooltip\": css`\n ${tooltipBaseStyle}\n\n &:before {\n display: none;\n }\n\n &:hover:before,\n &:hover:after {\n display: block;\n z-index: 2147483647 !important;\n }\n\n &:after {\n display: none;\n }\n `,\n \"visual-builder__tooltip--bottom\": css`\n &:before {\n bottom: -66px;\n }\n &:after {\n bottom: -6px;\n transform: rotate(180deg);\n }\n `,\n\n \"visual-builder__tooltip--persistent\": css`\n ${tooltipBaseStyle}\n\n &:before {\n display: block;\n }\n\n &:after {\n display: block;\n }\n `,\n \"visual-builder__empty-block\": css`\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 1rem;\n min-height: 100px;\n `,\n \"visual-builder__empty-block-title\": css`\n font-size: 0.95rem;\n font-family: Inter;\n font-weight: 400;\n line-height: 100%;\n color: #647696;\n `,\n \"visual-builder__empty-block-add-button\": css`\n height: 32px;\n border-radius: 4px;\n background: #f9f8ff;\n border-color: #6c5ce7;\n border-width: 1px;\n padding: 8px 16px 8px 16px;\n font-size: 0.9rem;\n font-family: Inter;\n font-weight: 600;\n color: #6c5ce7;\n padding-block: 0px;\n letter-spacing: 0.01rem;\n `,\n \"visual-builder__hover-outline\": css`\n position: absolute;\n outline: 2px dashed #6c5ce7;\n transition: var(--outline-transition);\n z-index: 2147483647 !important;\n `,\n \"visual-builder__hover-outline--hidden\": css`\n visibility: hidden;\n `,\n \"visual-builder__hover-outline--unclickable\": css`\n pointer-events: none;\n `,\n \"visual-builder__hover-outline--disabled\": css`\n outline: 2px dashed #909090;\n `,\n \"visual-builder__default-cursor--disabled\": css`\n cursor: none;\n `,\n \"visual-builder__draft-field\": css`\n outline: 2px dashed #eb5646;\n `,\n \"visual-builder__variant-field\": css`\n outline: 2px solid #bd59fa;\n `,\n \"visual-builder__pseudo-editable-element\": css`\n z-index: 99999 !important;\n `,\n // cslp error styles\n \"visual-builder__button-error\": css`\n background-color: #ffeeeb;\n padding: 0px !important;\n &:hover {\n background-color: #ffeeeb;\n }\n `,\n \"visual-builder__focused-toolbar__error\": css`\n display: flex;\n justify-content: center;\n align-items: center;\n column-gap: 3px;\n padding: 4px 8px;\n `,\n \"visual-builder__focused-toolbar__error-text\": css`\n font-weight: 400;\n font-size: 12px;\n line-height: 18px;\n color: #a31b00;\n `,\n \"visual-builder__focused-toolbar__error-toolip\": css`\n position: absolute;\n width: 400px;\n background-color: red;\n left: 0;\n top: -7px;\n transform: translateY(-100%);\n background-color: #767676;\n border-radius: 4px;\n box-shadow:\n 0px 1px 10px 0px #6c5ce733,\n 0px 5px 5px 0px #0000001f,\n 0px 2px 4px 0px #00000024;\n padding: 12px;\n text-align: left;\n\n &:before {\n content: \"\";\n position: absolute;\n bottom: -3px;\n left: 4%;\n transform: translateX(-50%) rotate(45deg);\n width: 10px;\n height: 10px;\n background-color: #767676;\n }\n\n > p {\n margin: 0;\n color: #ffffff;\n font-size: 14px;\n font-weight: 600;\n line-height: 21px;\n margin-bottom: 4px;\n }\n\n > span {\n color: #ffffff;\n font-size: 12px;\n font-weight: 400;\n line-height: 18px;\n }\n `,\n \"variant-field-revert-component\": css`\n position: relative;\n display: inline-block;\n z-index: 2147483647 !important;\n `,\n \"variant-field-revert-component__dropdown-content\": css`\n position: absolute;\n top: -12px;\n left: -4px;\n background-color: #ffffff;\n min-width: max-content;\n box-shadow:\n 0 4px 15px 0 rgba(108, 92, 231, 0.2),\n 0 3px 14px 3px rgba(0, 0, 0, 0.12),\n 0 8px 10px 1px rgba(0, 0, 0, 0.14);\n z-index: 2147483647 !important;\n margin-top: 4px;\n padding: 4px 0px;\n border-radius: 2px;\n `,\n \"variant-field-revert-component__dropdown-content__list-item\": css`\n color: black;\n font-weight: 400;\n padding: 9.6px 16px;\n text-decoration: none;\n display: block;\n font-size: 0.75rem;\n height: 32px;\n line-height: 2rem;\n display: flex;\n align-items: center;\n z-index: 2147483647 !important;\n cursor: pointer;\n &:hover {\n background-color: #f1f1f1;\n }\n &:hover > span {\n color: #5d50be;\n }\n & > span {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n `,\n \"visual-builder__no-cursor-style\": css`\n cursor: none !important;\n `,\n \"visual-builder__field-toolbar-container\": css`\n display: flex;\n flex-direction: column-reverse;\n z-index: 2147483647 !important;\n `,\n \"visual-builder__variant-button\": css`\n display: flex;\n min-width: 3rem !important;\n gap: 0.25rem;\n align-items: center;\n justify-content: center;\n display: flex;\n & svg path {\n fill: #475161;\n }\n `,\n };\n}\n\nexport const VisualBuilderGlobalStyles = `\n @import url(\"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap\");\n\n [data-cslp] [contenteditable=\"true\"] {\n outline: none;\n }\n \n @keyframes visual-builder__spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n`;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/visualBuilder/visualBuilder.style.ts"],"sourcesContent":["import { css } from \"goober\";\n\nconst tooltipBaseStyle = `\n pointer-events: all;\n svg {\n pointer-events: none;\n }\n &:before {\n content: attr(data-tooltip);\n position: absolute;\n bottom: 20px;\n margin-bottom: 24px;\n padding: 12px;\n border-radius: 4px;\n width: max-content;\n max-width: 200px;\n color: #fff;\n font-family: Inter;\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 132%; /* 0.99rem */\n letter-spacing: 0.015rem;\n background: #767676;\n }\n &:after {\n content: \"\";\n position: absolute;\n bottom: 28px;\n /* the arrow */\n border: 10px solid #000;\n border-color: #767676 transparent transparent transparent;\n }\n`;\n\nexport function visualBuilderStyles() {\n return {\n \"visual-builder__container\": css`\n --outline-transition: all 0.15s ease-in;\n font-family: \"Inter\", sans-serif;\n `,\n \"visual-builder__cursor\": css`\n visibility: hidden;\n height: 0;\n\n &.visible {\n visibility: visible;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2147483647 !important;\n\n color: #fff;\n\n height: auto;\n padding: 0 10px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n pointer-events: none !important;\n position: fixed !important;\n cursor: none;\n }\n `,\n \"visual-builder__overlay__wrapper\": css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n visibility: hidden;\n z-index: 99999;\n\n pointer-events: none;\n\n &.visible {\n visibility: visible;\n }\n `,\n \"visual-builder__overlay--outline\": css`\n position: absolute;\n outline: 4px solid #715cdd;\n transition: var(--outline-transition);\n `,\n \"visual-builder__overlay\": css`\n background: rgba(0, 0, 0, 0.3);\n box-sizing: content-box;\n pointer-events: all;\n position: absolute;\n transition: var(--outline-transition);\n `,\n \"visual-builder__add-button\": css`\n position: absolute;\n pointer-events: all;\n\n background: #ffffff;\n color: #475161;\n\n border-radius: 4px;\n border: 1px solid #6c5ce7;\n\n height: 32px;\n min-width: 32px;\n max-width: 180px;\n padding: 8px 6px;\n transform: translate(-50%, -50%);\n\n font-weight: 600;\n color: #6c5ce7;\n overflow: hidden;\n\n z-index: 2147483646 !important;\n\n display: grid;\n grid-template-columns: min-content 0fr;\n align-content: center;\n gap: 0;\n\n transition:\n grid-template-columns 0.25s,\n left 0.15s ease-in,\n top 0.15s ease-in,\n gap 0.15s ease-in;\n\n &:has(.visual-builder__add-button-label):hover {\n grid-template-columns: min-content 1fr;\n gap: 8px;\n padding: 8px 16px;\n }\n\n svg {\n fill: #6c5ce7;\n }\n\n &:disabled {\n border-color: #bbbec3;\n cursor: not-allowed;\n }\n\n &:disabled svg {\n fill: #bbbec3;\n }\n `,\n \"visual-builder__add-button-label\": css`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n \"visual-builder__add-button--loading\": css`\n cursor: wait;\n /* we have not-allowed on disabled, so we need this */\n &:disabled {\n cursor: wait;\n }\n `,\n \"visual-builder__start-editing-btn\": css`\n z-index: 1000;\n text-decoration: none;\n position: fixed;\n box-shadow:\n 0px 4px 15px 0px rgba(108, 92, 231, 0.2),\n 0px 3px 14px 3px rgba(0, 0, 0, 0.12),\n 0px 8px 10px 1px rgba(0, 0, 0, 0.14);\n display: inline-flex;\n padding: 0.5rem 1rem;\n justify-content: center;\n align-items: center;\n gap: 0.5rem;\n\n border-radius: 4px;\n border: 1px solid transparent;\n background: #6c5ce7;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out,\n -webkit-box-shadow 0.15s ease-in-out;\n\n &:hover {\n background-color: #5d50be;\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px #ada4f4;\n }\n & > span {\n color: #fff;\n /* Body/P1 Bold */\n font-size: 1rem;\n font-family: Inter;\n font-weight: 600;\n line-height: 150%;\n letter-spacing: 0.01rem;\n text-transform: capitalize;\n }\n\n & > svg {\n color: #fff;\n font-size: 1rem;\n font-family: Inter;\n font-weight: 600;\n line-height: 150%;\n letter-spacing: 0.01rem;\n text-transform: capitalize;\n }\n `,\n \"visual-builder__start-editing-btn__bottom-right\": css`\n bottom: 30px;\n right: 30px;\n `,\n \"visual-builder__start-editing-btn__bottom-left\": css`\n bottom: 30px;\n left: 30px;\n `,\n \"visual-builder__start-editing-btn__top-right\": css`\n top: 30px;\n right: 30px;\n `,\n \"visual-builder__start-editing-btn__top-left\": css`\n top: 30px;\n left: 30px;\n `,\n \"visual-builder__cursor-icon\": css`\n height: 40px;\n width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #5d50be;\n border-radius: 50%;\n position: absolute;\n top: 0;\n left: 0;\n `,\n \"visual-builder__cursor-pointer\": css`\n position: absolute;\n top: -8px;\n left: -8px;\n `,\n \"visual-builder__cursor-icon--loader\": css`\n animation: visual-builder__spinner 1s linear infinite;\n `,\n \"visual-builder__focused-toolbar\": css`\n position: absolute;\n transform: translateY(-100%);\n z-index: 100000;\n gap: 8px;\n width: 0;\n display: flex;\n align-items: end;\n transition: var(--outline-transition);\n `,\n \"visual-builder__focused-toolbar__field-label-wrapper__current-field\": css`\n padding: 4px 8px !important;\n background: #6c5ce7;\n color: #fff;\n z-index: 1;\n border-radius: 2px !important;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: fit-content;\n\n &:disabled {\n filter: contrast(0.7);\n }\n\n .visual-builder__focused-toolbar__text {\n padding-right: 3px;\n height: 16px;\n }\n `,\n \"visual-builder__focused-toolbar__field-label-wrapper__parent-field\": css`\n pointer-events: none;\n color: #5d50be;\n padding: 4px !important;\n margin-bottom: 3px;\n display: none;\n width: fit-content;\n position: absolute;\n z-index: 100000;\n `,\n \"field-label-dropdown-open\": css`\n .visual-builder__focused-toolbar__field-label-wrapper__parent-field {\n pointer-events: all;\n visibility: visible;\n display: initial;\n }\n\n .visual-builder__button--secondary:hover {\n background-color: #6c5ce7;\n color: #f9f8ff;\n }\n `,\n \"visual-builder__focused-toolbar__field-label-wrapper\": css`\n display: flex;\n flex-direction: column-reverse;\n position: relative;\n `,\n \"visual-builder__focused-toolbar__field-label-container\": css`\n display: flex;\n column-gap: 0.5rem;\n align-items: center;\n `,\n \"visual-builder__button\": css`\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 4px;\n font-size: 16px;\n font-weight: 600;\n line-height: 100%;\n padding: 8px 16px;\n text-align: center;\n z-index: 2147483647 !important;\n transition:\n color 0.15s ease-in-out,\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n // vertical-align: middle;\n `,\n \"visual-builder__button--primary\": css`\n background-color: #6c5ce7;\n color: #fff;\n\n &:hover {\n background-color: #5d50be;\n }\n `,\n \"visual-builder__button--secondary\": css`\n background-color: #f9f8ff;\n border: 1px solid #6c5ce7;\n color: #6c5ce7;\n `,\n \"visual-builder__button--edit\": css`\n svg {\n height: 16px;\n width: 16px;\n\n path {\n fill: #475161;\n }\n }\n `,\n \"visual-builder__button-loader\": css`\n svg.loader {\n height: 16px;\n width: 16px;\n\n path {\n fill: #ffffff;\n }\n }\n `,\n \"visual-builder__button--comment-loader\": css`\n cursor: wait !important;\n svg.loader {\n height: 16px;\n width: 16px;\n\n path {\n fill: #475161;\n }\n }\n `,\n \"visual-builder__field-icon\": css`\n svg {\n height: 16px;\n width: 16px;\n margin-right: 5px;\n }\n `,\n \"visual-builder__focused-toolbar__button-group\": css`\n display: flex;\n background: #fff;\n border-radius: 2px;\n height: 100%;\n padding: 4px !important;\n z-index: 2147483647 !important;\n\n &:has(.visual-builder__button) {\n padding: 2px;\n gap: 8px;\n }\n\n .visual-builder__button:hover {\n background-color: #f5f5f5;\n\n svg {\n color: #5d50be;\n }\n }\n\n .visual-builder__button {\n background-color: #fff;\n border-color: transparent;\n color: #475161;\n padding: 4px;\n min-width: 32px;\n min-height: 32px;\n }\n `,\n \"visual-builder__focused-toolbar__text\": css`\n font-family: Inter, \"sans-serif\";\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n letter-spacing: 0.015rem;\n max-width: 150px;\n overflow: hidden;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n `,\n \"visual-builder__focused-toolbar__multiple-field-toolbar\": css`\n height: 40px;\n z-index: 2147483647 !important;\n\n svg {\n height: 100%;\n width: 100%;\n }\n `,\n \"visual-builder__rotate--90\": css`\n transform: rotate(90deg);\n `,\n \"visual-builder__focused-toolbar--field-disabled\": css`\n pointer-events: none;\n cursor: not-allowed;\n .visual-builder__focused-toolbar__field-label-wrapper__current-field {\n background: #909090;\n }\n `,\n \"visual-builder__cursor-disabled\": css`\n .visual-builder__cursor-icon {\n background: #909090;\n }\n\n .visual-builder__cursor-pointer path {\n fill: #909090;\n }\n `,\n \"visual-builder__tooltip\": css`\n ${tooltipBaseStyle}\n\n &:before {\n display: none;\n }\n\n &:hover:before,\n &:hover:after {\n display: block;\n z-index: 2147483647 !important;\n }\n\n &:after {\n display: none;\n }\n `,\n \"visual-builder__tooltip--bottom\": css`\n &:before {\n bottom: -66px;\n }\n &:after {\n bottom: -6px;\n transform: rotate(180deg);\n }\n `,\n\n \"visual-builder__tooltip--persistent\": css`\n ${tooltipBaseStyle}\n\n &:before {\n display: block;\n }\n\n &:after {\n display: block;\n }\n `,\n \"visual-builder__empty-block\": css`\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 1rem;\n min-height: 100px;\n `,\n \"visual-builder__empty-block-title\": css`\n font-size: 0.95rem;\n font-family: Inter;\n font-weight: 400;\n line-height: 100%;\n color: #647696;\n `,\n \"visual-builder__empty-block-add-button\": css`\n height: 32px;\n border-radius: 4px;\n background: #f9f8ff;\n border-color: #6c5ce7;\n border-width: 1px;\n padding: 8px 16px 8px 16px;\n font-size: 0.9rem;\n font-family: Inter;\n font-weight: 600;\n color: #6c5ce7;\n padding-block: 0px;\n letter-spacing: 0.01rem;\n `,\n \"visual-builder__hover-outline\": css`\n position: absolute;\n outline: 2px dashed #6c5ce7;\n transition: var(--outline-transition);\n z-index: 2147483646 !important;\n `,\n \"visual-builder__hover-outline--hidden\": css`\n visibility: hidden;\n `,\n \"visual-builder__hover-outline--unclickable\": css`\n pointer-events: none;\n `,\n \"visual-builder__hover-outline--disabled\": css`\n outline: 2px dashed #909090;\n `,\n \"visual-builder__default-cursor--disabled\": css`\n cursor: none;\n `,\n \"visual-builder__draft-field\": css`\n outline: 2px dashed #eb5646;\n `,\n \"visual-builder__variant-field\": css`\n outline: 2px solid #bd59fa;\n `,\n \"visual-builder__pseudo-editable-element\": css`\n z-index: 99999 !important;\n `,\n // cslp error styles\n \"visual-builder__button-error\": css`\n background-color: #ffeeeb;\n padding: 0px !important;\n &:hover {\n background-color: #ffeeeb;\n }\n `,\n \"visual-builder__focused-toolbar__error\": css`\n display: flex;\n justify-content: center;\n align-items: center;\n column-gap: 3px;\n padding: 4px 8px;\n `,\n \"visual-builder__focused-toolbar__error-text\": css`\n font-weight: 400;\n font-size: 12px;\n line-height: 18px;\n color: #a31b00;\n `,\n \"visual-builder__focused-toolbar__error-toolip\": css`\n position: absolute;\n width: 400px;\n background-color: red;\n left: 0;\n top: -7px;\n transform: translateY(-100%);\n background-color: #767676;\n border-radius: 4px;\n box-shadow:\n 0px 1px 10px 0px #6c5ce733,\n 0px 5px 5px 0px #0000001f,\n 0px 2px 4px 0px #00000024;\n padding: 12px;\n text-align: left;\n\n &:before {\n content: \"\";\n position: absolute;\n bottom: -3px;\n left: 4%;\n transform: translateX(-50%) rotate(45deg);\n width: 10px;\n height: 10px;\n background-color: #767676;\n }\n\n > p {\n margin: 0;\n color: #ffffff;\n font-size: 14px;\n font-weight: 600;\n line-height: 21px;\n margin-bottom: 4px;\n }\n\n > span {\n color: #ffffff;\n font-size: 12px;\n font-weight: 400;\n line-height: 18px;\n }\n `,\n \"variant-field-revert-component\": css`\n position: relative;\n display: inline-block;\n z-index: 2147483647 !important;\n `,\n \"variant-field-revert-component__dropdown-content\": css`\n position: absolute;\n top: -12px;\n left: -4px;\n background-color: #ffffff;\n min-width: max-content;\n box-shadow:\n 0 4px 15px 0 rgba(108, 92, 231, 0.2),\n 0 3px 14px 3px rgba(0, 0, 0, 0.12),\n 0 8px 10px 1px rgba(0, 0, 0, 0.14);\n z-index: 2147483647 !important;\n margin-top: 4px;\n padding: 4px 0px;\n border-radius: 2px;\n `,\n \"variant-field-revert-component__dropdown-content__list-item\": css`\n color: black;\n font-weight: 400;\n padding: 9.6px 16px;\n text-decoration: none;\n display: block;\n font-size: 0.75rem;\n height: 32px;\n line-height: 2rem;\n display: flex;\n align-items: center;\n z-index: 2147483647 !important;\n cursor: pointer;\n &:hover {\n background-color: #f1f1f1;\n }\n &:hover > span {\n color: #5d50be;\n }\n & > span {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n `,\n \"visual-builder__no-cursor-style\": css`\n cursor: none !important;\n `,\n \"visual-builder__field-toolbar-container\": css`\n display: flex;\n flex-direction: column-reverse;\n z-index: 2147483647 !important;\n `,\n \"visual-builder__variant-button\": css`\n display: flex;\n min-width: 3rem !important;\n gap: 0.25rem;\n align-items: center;\n justify-content: center;\n display: flex;\n & svg path {\n fill: #475161;\n }\n `,\n };\n}\n\nexport const VisualBuilderGlobalStyles = `\n @import url(\"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap\");\n\n [data-cslp] [contenteditable=\"true\"] {\n outline: none;\n }\n\n @keyframes visual-builder__spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n`;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AAEpB,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiClB,SAAS,sBAAsB;AAClC,SAAO;AAAA,IACH,6BAA6B;AAAA;AAAA;AAAA;AAAA,IAI7B,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAyB1B,oCAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepC,oCAAoC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKpC,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO3B,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoD9B,oCAAoC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKpC,uCAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOvC,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmDrC,mDAAmD;AAAA;AAAA;AAAA;AAAA,IAInD,kDAAkD;AAAA;AAAA;AAAA;AAAA,IAIlD,gDAAgD;AAAA;AAAA;AAAA;AAAA,IAIhD,+CAA+C;AAAA;AAAA;AAAA;AAAA,IAI/C,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY/B,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKlC,uCAAuC;AAAA;AAAA;AAAA,IAGvC,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUnC,uEAAuE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBvE,sEAAsE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUtE,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY7B,wDAAwD;AAAA;AAAA;AAAA;AAAA;AAAA,IAKxD,0DAA0D;AAAA;AAAA;AAAA;AAAA;AAAA,IAK1D,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiB1B,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQnC,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKrC,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUhC,iCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUjC,0CAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW1C,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO9B,iDAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA8BjD,yCAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYzC,2DAA2D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS3D,8BAA8B;AAAA;AAAA;AAAA,IAG9B,mDAAmD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOnD,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASnC,2BAA2B;AAAA,cACrB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBtB,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUnC,uCAAuC;AAAA,cACjC,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUtB,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAU/B,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOrC,0CAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAc1C,iCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMjC,yCAAyC;AAAA;AAAA;AAAA,IAGzC,8CAA8C;AAAA;AAAA;AAAA,IAG9C,2CAA2C;AAAA;AAAA;AAAA,IAG3C,4CAA4C;AAAA;AAAA;AAAA,IAG5C,+BAA+B;AAAA;AAAA;AAAA,IAG/B,iCAAiC;AAAA;AAAA;AAAA,IAGjC,2CAA2C;AAAA;AAAA;AAAA;AAAA,IAI3C,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOhC,0CAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO1C,+CAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/C,iDAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA2CjD,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKlC,oDAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAepD,+DAA+D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwB/D,mCAAmC;AAAA;AAAA;AAAA,IAGnC,2CAA2C;AAAA;AAAA;AAAA;AAAA;AAAA,IAK3C,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWtC;AACJ;AAEO,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
@@ -6,7 +6,12 @@ declare function visualBuilderStyles(): {
6
6
  "visual-builder__overlay": string;
7
7
  "visual-builder__add-button": string;
8
8
  "visual-builder__add-button-label": string;
9
+ "visual-builder__add-button--loading": string;
9
10
  "visual-builder__start-editing-btn": string;
11
+ "visual-builder__start-editing-btn__bottom-right": string;
12
+ "visual-builder__start-editing-btn__bottom-left": string;
13
+ "visual-builder__start-editing-btn__top-right": string;
14
+ "visual-builder__start-editing-btn__top-left": string;
10
15
  "visual-builder__cursor-icon": string;
11
16
  "visual-builder__cursor-pointer": string;
12
17
  "visual-builder__cursor-icon--loader": string;
@@ -54,6 +59,6 @@ declare function visualBuilderStyles(): {
54
59
  "visual-builder__field-toolbar-container": string;
55
60
  "visual-builder__variant-button": string;
56
61
  };
57
- declare const VisualBuilderGlobalStyles = "\n @import url(\"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap\");\n\n [data-cslp] [contenteditable=\"true\"] {\n outline: none;\n }\n \n @keyframes visual-builder__spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n";
62
+ declare const VisualBuilderGlobalStyles = "\n @import url(\"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap\");\n\n [data-cslp] [contenteditable=\"true\"] {\n outline: none;\n }\n\n @keyframes visual-builder__spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n";
58
63
 
59
64
  export { VisualBuilderGlobalStyles, visualBuilderStyles };
@@ -6,7 +6,12 @@ declare function visualBuilderStyles(): {
6
6
  "visual-builder__overlay": string;
7
7
  "visual-builder__add-button": string;
8
8
  "visual-builder__add-button-label": string;
9
+ "visual-builder__add-button--loading": string;
9
10
  "visual-builder__start-editing-btn": string;
11
+ "visual-builder__start-editing-btn__bottom-right": string;
12
+ "visual-builder__start-editing-btn__bottom-left": string;
13
+ "visual-builder__start-editing-btn__top-right": string;
14
+ "visual-builder__start-editing-btn__top-left": string;
10
15
  "visual-builder__cursor-icon": string;
11
16
  "visual-builder__cursor-pointer": string;
12
17
  "visual-builder__cursor-icon--loader": string;
@@ -54,6 +59,6 @@ declare function visualBuilderStyles(): {
54
59
  "visual-builder__field-toolbar-container": string;
55
60
  "visual-builder__variant-button": string;
56
61
  };
57
- declare const VisualBuilderGlobalStyles = "\n @import url(\"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap\");\n\n [data-cslp] [contenteditable=\"true\"] {\n outline: none;\n }\n \n @keyframes visual-builder__spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n";
62
+ declare const VisualBuilderGlobalStyles = "\n @import url(\"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap\");\n\n [data-cslp] [contenteditable=\"true\"] {\n outline: none;\n }\n\n @keyframes visual-builder__spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n";
58
63
 
59
64
  export { VisualBuilderGlobalStyles, visualBuilderStyles };
@@ -112,7 +112,7 @@ function visualBuilderStyles() {
112
112
  color: #6c5ce7;
113
113
  overflow: hidden;
114
114
 
115
- z-index: 2147483647 !important;
115
+ z-index: 2147483646 !important;
116
116
 
117
117
  display: grid;
118
118
  grid-template-columns: min-content 0fr;
@@ -149,12 +149,17 @@ function visualBuilderStyles() {
149
149
  overflow: hidden;
150
150
  text-overflow: ellipsis;
151
151
  `,
152
+ "visual-builder__add-button--loading": css`
153
+ cursor: wait;
154
+ /* we have not-allowed on disabled, so we need this */
155
+ &:disabled {
156
+ cursor: wait;
157
+ }
158
+ `,
152
159
  "visual-builder__start-editing-btn": css`
153
160
  z-index: 1000;
154
161
  text-decoration: none;
155
162
  position: fixed;
156
- bottom: 30px;
157
- right: 30px;
158
163
  box-shadow:
159
164
  0px 4px 15px 0px rgba(108, 92, 231, 0.2),
160
165
  0px 3px 14px 3px rgba(0, 0, 0, 0.12),
@@ -202,6 +207,22 @@ function visualBuilderStyles() {
202
207
  text-transform: capitalize;
203
208
  }
204
209
  `,
210
+ "visual-builder__start-editing-btn__bottom-right": css`
211
+ bottom: 30px;
212
+ right: 30px;
213
+ `,
214
+ "visual-builder__start-editing-btn__bottom-left": css`
215
+ bottom: 30px;
216
+ left: 30px;
217
+ `,
218
+ "visual-builder__start-editing-btn__top-right": css`
219
+ top: 30px;
220
+ right: 30px;
221
+ `,
222
+ "visual-builder__start-editing-btn__top-left": css`
223
+ top: 30px;
224
+ left: 30px;
225
+ `,
205
226
  "visual-builder__cursor-icon": css`
206
227
  height: 40px;
207
228
  width: 40px;
@@ -335,6 +356,7 @@ function visualBuilderStyles() {
335
356
  }
336
357
  `,
337
358
  "visual-builder__button--comment-loader": css`
359
+ cursor: wait !important;
338
360
  svg.loader {
339
361
  height: 16px;
340
362
  width: 16px;
@@ -493,7 +515,7 @@ function visualBuilderStyles() {
493
515
  position: absolute;
494
516
  outline: 2px dashed #6c5ce7;
495
517
  transition: var(--outline-transition);
496
- z-index: 2147483647 !important;
518
+ z-index: 2147483646 !important;
497
519
  `,
498
520
  "visual-builder__hover-outline--hidden": css`
499
521
  visibility: hidden;
@@ -651,7 +673,7 @@ var VisualBuilderGlobalStyles = `
651
673
  [data-cslp] [contenteditable="true"] {
652
674
  outline: none;
653
675
  }
654
-
676
+
655
677
  @keyframes visual-builder__spinner {
656
678
  0% {
657
679
  transform: rotate(0deg);