@contentstack/live-preview-utils 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/legacy/cslp/cslpdata.cjs.map +1 -1
  4. package/dist/legacy/cslp/cslpdata.js.map +1 -1
  5. package/dist/legacy/livePreview/editButton/editButton.cjs +5 -2
  6. package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
  7. package/dist/legacy/livePreview/editButton/editButton.js +5 -2
  8. package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
  9. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  10. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  11. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +23 -4
  12. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  13. package/dist/legacy/preview/contentstack-live-preview-HOC.d.cts +2 -1
  14. package/dist/legacy/preview/contentstack-live-preview-HOC.d.ts +2 -1
  15. package/dist/legacy/preview/contentstack-live-preview-HOC.js +23 -4
  16. package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
  17. package/dist/legacy/timeline/compare/compare.cjs +2 -1
  18. package/dist/legacy/timeline/compare/compare.cjs.map +1 -1
  19. package/dist/legacy/timeline/compare/compare.js +2 -1
  20. package/dist/legacy/timeline/compare/compare.js.map +1 -1
  21. package/dist/legacy/types/types.cjs.map +1 -1
  22. package/dist/legacy/types/types.d.cts +2 -1
  23. package/dist/legacy/types/types.d.ts +2 -1
  24. package/dist/legacy/types/types.js.map +1 -1
  25. package/dist/legacy/utils/addLivePreviewQueryTags.cjs +49 -0
  26. package/dist/legacy/utils/addLivePreviewQueryTags.cjs.map +1 -0
  27. package/dist/legacy/utils/addLivePreviewQueryTags.d.cts +3 -0
  28. package/dist/legacy/utils/addLivePreviewQueryTags.d.ts +3 -0
  29. package/dist/legacy/utils/addLivePreviewQueryTags.js +26 -0
  30. package/dist/legacy/utils/addLivePreviewQueryTags.js.map +1 -0
  31. package/dist/legacy/utils/index.cjs +3 -21
  32. package/dist/legacy/utils/index.cjs.map +1 -1
  33. package/dist/legacy/utils/index.d.cts +4 -2
  34. package/dist/legacy/utils/index.d.ts +4 -2
  35. package/dist/legacy/utils/index.js +1 -19
  36. package/dist/legacy/utils/index.js.map +1 -1
  37. package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs +62 -15
  38. package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs.map +1 -1
  39. package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.d.cts +3 -2
  40. package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.d.ts +3 -2
  41. package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.js +63 -17
  42. package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.js.map +1 -1
  43. package/dist/legacy/visualBuilder/components/FieldRevert/useHandleOutsideClick.cjs +41 -0
  44. package/dist/legacy/visualBuilder/components/FieldRevert/useHandleOutsideClick.cjs.map +1 -0
  45. package/dist/legacy/visualBuilder/components/FieldRevert/useHandleOutsideClick.d.cts +3 -0
  46. package/dist/legacy/visualBuilder/components/FieldRevert/useHandleOutsideClick.d.ts +3 -0
  47. package/dist/legacy/visualBuilder/components/FieldRevert/useHandleOutsideClick.js +22 -0
  48. package/dist/legacy/visualBuilder/components/FieldRevert/useHandleOutsideClick.js.map +1 -0
  49. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +145 -147
  50. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  51. package/dist/legacy/visualBuilder/components/FieldToolbar.js +147 -149
  52. package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
  53. package/dist/legacy/visualBuilder/components/emptyBlock.cjs +1 -0
  54. package/dist/legacy/visualBuilder/components/emptyBlock.cjs.map +1 -1
  55. package/dist/legacy/visualBuilder/components/emptyBlock.js +1 -0
  56. package/dist/legacy/visualBuilder/components/emptyBlock.js.map +1 -1
  57. package/dist/legacy/visualBuilder/components/icons/variant.cjs +1 -1
  58. package/dist/legacy/visualBuilder/components/icons/variant.cjs.map +1 -1
  59. package/dist/legacy/visualBuilder/components/icons/variant.js +1 -1
  60. package/dist/legacy/visualBuilder/components/icons/variant.js.map +1 -1
  61. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +1 -1
  62. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  63. package/dist/legacy/visualBuilder/generators/generateToolbar.js +1 -1
  64. package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
  65. package/dist/legacy/visualBuilder/listeners/index.cjs +8 -2
  66. package/dist/legacy/visualBuilder/listeners/index.cjs.map +1 -1
  67. package/dist/legacy/visualBuilder/listeners/index.js +8 -2
  68. package/dist/legacy/visualBuilder/listeners/index.js.map +1 -1
  69. package/dist/legacy/visualBuilder/utils/constants.cjs +5 -2
  70. package/dist/legacy/visualBuilder/utils/constants.cjs.map +1 -1
  71. package/dist/legacy/visualBuilder/utils/constants.d.cts +2 -1
  72. package/dist/legacy/visualBuilder/utils/constants.d.ts +2 -1
  73. package/dist/legacy/visualBuilder/utils/constants.js +3 -1
  74. package/dist/legacy/visualBuilder/utils/constants.js.map +1 -1
  75. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.cjs +17 -2
  76. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.cjs.map +1 -1
  77. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.js +17 -2
  78. package/dist/legacy/visualBuilder/utils/getCsDataOfElement.js.map +1 -1
  79. package/dist/legacy/visualBuilder/utils/getFieldType.cjs +6 -5
  80. package/dist/legacy/visualBuilder/utils/getFieldType.cjs.map +1 -1
  81. package/dist/legacy/visualBuilder/utils/getFieldType.js +6 -5
  82. package/dist/legacy/visualBuilder/utils/getFieldType.js.map +1 -1
  83. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.cjs +10 -0
  84. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.cjs.map +1 -1
  85. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.js +10 -0
  86. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.js.map +1 -1
  87. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +63 -39
  88. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  89. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +53 -39
  90. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  91. package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.cjs +44 -0
  92. package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.cjs.map +1 -0
  93. package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.d.cts +3 -0
  94. package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.d.ts +3 -0
  95. package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.js +21 -0
  96. package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.js.map +1 -0
  97. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs +1 -1
  98. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  99. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js +1 -1
  100. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  101. package/dist/legacy/visualBuilder/visualBuilder.style.cjs +3 -0
  102. package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
  103. package/dist/legacy/visualBuilder/visualBuilder.style.js +3 -0
  104. package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
  105. package/dist/modern/cslp/cslpdata.cjs.map +1 -1
  106. package/dist/modern/cslp/cslpdata.js.map +1 -1
  107. package/dist/modern/livePreview/editButton/editButton.cjs +4 -1
  108. package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
  109. package/dist/modern/livePreview/editButton/editButton.js +4 -1
  110. package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
  111. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  112. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  113. package/dist/modern/preview/contentstack-live-preview-HOC.cjs +23 -4
  114. package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  115. package/dist/modern/preview/contentstack-live-preview-HOC.d.cts +2 -1
  116. package/dist/modern/preview/contentstack-live-preview-HOC.d.ts +2 -1
  117. package/dist/modern/preview/contentstack-live-preview-HOC.js +23 -4
  118. package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
  119. package/dist/modern/timeline/compare/compare.cjs +2 -1
  120. package/dist/modern/timeline/compare/compare.cjs.map +1 -1
  121. package/dist/modern/timeline/compare/compare.js +2 -1
  122. package/dist/modern/timeline/compare/compare.js.map +1 -1
  123. package/dist/modern/types/types.cjs.map +1 -1
  124. package/dist/modern/types/types.d.cts +2 -1
  125. package/dist/modern/types/types.d.ts +2 -1
  126. package/dist/modern/types/types.js.map +1 -1
  127. package/dist/modern/utils/addLivePreviewQueryTags.cjs +49 -0
  128. package/dist/modern/utils/addLivePreviewQueryTags.cjs.map +1 -0
  129. package/dist/modern/utils/addLivePreviewQueryTags.d.cts +3 -0
  130. package/dist/modern/utils/addLivePreviewQueryTags.d.ts +3 -0
  131. package/dist/modern/utils/addLivePreviewQueryTags.js +26 -0
  132. package/dist/modern/utils/addLivePreviewQueryTags.js.map +1 -0
  133. package/dist/modern/utils/index.cjs +3 -21
  134. package/dist/modern/utils/index.cjs.map +1 -1
  135. package/dist/modern/utils/index.d.cts +4 -2
  136. package/dist/modern/utils/index.d.ts +4 -2
  137. package/dist/modern/utils/index.js +1 -19
  138. package/dist/modern/utils/index.js.map +1 -1
  139. package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs +62 -15
  140. package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs.map +1 -1
  141. package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.d.cts +3 -2
  142. package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.d.ts +3 -2
  143. package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.js +63 -17
  144. package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.js.map +1 -1
  145. package/dist/modern/visualBuilder/components/FieldRevert/useHandleOutsideClick.cjs +41 -0
  146. package/dist/modern/visualBuilder/components/FieldRevert/useHandleOutsideClick.cjs.map +1 -0
  147. package/dist/modern/visualBuilder/components/FieldRevert/useHandleOutsideClick.d.cts +3 -0
  148. package/dist/modern/visualBuilder/components/FieldRevert/useHandleOutsideClick.d.ts +3 -0
  149. package/dist/modern/visualBuilder/components/FieldRevert/useHandleOutsideClick.js +22 -0
  150. package/dist/modern/visualBuilder/components/FieldRevert/useHandleOutsideClick.js.map +1 -0
  151. package/dist/modern/visualBuilder/components/FieldToolbar.cjs +144 -146
  152. package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  153. package/dist/modern/visualBuilder/components/FieldToolbar.js +146 -148
  154. package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
  155. package/dist/modern/visualBuilder/components/emptyBlock.cjs +1 -0
  156. package/dist/modern/visualBuilder/components/emptyBlock.cjs.map +1 -1
  157. package/dist/modern/visualBuilder/components/emptyBlock.js +1 -0
  158. package/dist/modern/visualBuilder/components/emptyBlock.js.map +1 -1
  159. package/dist/modern/visualBuilder/components/icons/variant.cjs +1 -1
  160. package/dist/modern/visualBuilder/components/icons/variant.cjs.map +1 -1
  161. package/dist/modern/visualBuilder/components/icons/variant.js +1 -1
  162. package/dist/modern/visualBuilder/components/icons/variant.js.map +1 -1
  163. package/dist/modern/visualBuilder/generators/generateToolbar.cjs +1 -1
  164. package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  165. package/dist/modern/visualBuilder/generators/generateToolbar.js +1 -1
  166. package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
  167. package/dist/modern/visualBuilder/listeners/index.cjs +8 -2
  168. package/dist/modern/visualBuilder/listeners/index.cjs.map +1 -1
  169. package/dist/modern/visualBuilder/listeners/index.js +8 -2
  170. package/dist/modern/visualBuilder/listeners/index.js.map +1 -1
  171. package/dist/modern/visualBuilder/utils/constants.cjs +5 -2
  172. package/dist/modern/visualBuilder/utils/constants.cjs.map +1 -1
  173. package/dist/modern/visualBuilder/utils/constants.d.cts +2 -1
  174. package/dist/modern/visualBuilder/utils/constants.d.ts +2 -1
  175. package/dist/modern/visualBuilder/utils/constants.js +3 -1
  176. package/dist/modern/visualBuilder/utils/constants.js.map +1 -1
  177. package/dist/modern/visualBuilder/utils/getCsDataOfElement.cjs +17 -2
  178. package/dist/modern/visualBuilder/utils/getCsDataOfElement.cjs.map +1 -1
  179. package/dist/modern/visualBuilder/utils/getCsDataOfElement.js +17 -2
  180. package/dist/modern/visualBuilder/utils/getCsDataOfElement.js.map +1 -1
  181. package/dist/modern/visualBuilder/utils/getFieldType.cjs +5 -5
  182. package/dist/modern/visualBuilder/utils/getFieldType.cjs.map +1 -1
  183. package/dist/modern/visualBuilder/utils/getFieldType.js +5 -5
  184. package/dist/modern/visualBuilder/utils/getFieldType.js.map +1 -1
  185. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.cjs +10 -0
  186. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.cjs.map +1 -1
  187. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.js +10 -0
  188. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.js.map +1 -1
  189. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +62 -39
  190. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  191. package/dist/modern/visualBuilder/utils/handleIndividualFields.js +52 -39
  192. package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  193. package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.cjs +44 -0
  194. package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.cjs.map +1 -0
  195. package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.d.cts +3 -0
  196. package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.d.ts +3 -0
  197. package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.js +21 -0
  198. package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.js.map +1 -0
  199. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs +1 -1
  200. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  201. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js +1 -1
  202. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  203. package/dist/modern/visualBuilder/visualBuilder.style.cjs +3 -0
  204. package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
  205. package/dist/modern/visualBuilder/visualBuilder.style.js +3 -0
  206. package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
  207. package/package.json +18 -6
@@ -17,7 +17,8 @@ interface FieldRevertComponentProps {
17
17
  variantStatus?: IVariantStatus;
18
18
  }
19
19
  declare const BASE_VARIANT_STATUS: IVariantStatus;
20
- declare function getFieldVariantStatus(fieldPathWithIndex: string): Promise<IVariantStatus | undefined>;
20
+ declare function getFieldVariantStatus(fieldMetadata: CslpData): Promise<IVariantStatus | undefined>;
21
21
  declare const FieldRevertComponent: (props: FieldRevertComponentProps) => react_jsx_runtime.JSX.Element;
22
+ declare const VariantRevertDropdown: (props: any) => react_jsx_runtime.JSX.Element;
22
23
 
23
- export { BASE_VARIANT_STATUS, FieldRevertComponent, type IVariantStatus, type TFieldRevertActionCallback, getFieldVariantStatus };
24
+ export { BASE_VARIANT_STATUS, FieldRevertComponent, type IVariantStatus, type TFieldRevertActionCallback, VariantRevertDropdown, getFieldVariantStatus };
@@ -2,10 +2,13 @@ import "../../../chunk-5WRI5ZAA.js";
2
2
 
3
3
  // src/visualBuilder/components/FieldRevert/FieldRevertComponent.tsx
4
4
  import classNames from "classnames";
5
- import { useRef, useEffect } from "preact/compat";
5
+ import { useRef } from "preact/compat";
6
6
  import { visualBuilderStyles } from "../../visualBuilder.style.js";
7
7
  import visualBuilderPostMessage from "../../utils/visualBuilderPostMessage.js";
8
- import { jsx } from "preact/jsx-runtime";
8
+ import { VariantIcon } from "../icons/variant.js";
9
+ import { CaretIcon } from "../icons/index.js";
10
+ import useHandleOutsideClick from "./useHandleOutsideClick.js";
11
+ import { jsx, jsxs } from "preact/jsx-runtime";
9
12
  var BASE_VARIANT_STATUS = {
10
13
  isAddedInstances: false,
11
14
  isBaseModified: false,
@@ -13,11 +16,11 @@ var BASE_VARIANT_STATUS = {
13
16
  isOrderChanged: false,
14
17
  fieldLevelCustomizations: false
15
18
  };
16
- async function getFieldVariantStatus(fieldPathWithIndex) {
19
+ async function getFieldVariantStatus(fieldMetadata) {
17
20
  try {
18
21
  const result = await visualBuilderPostMessage?.send(
19
22
  "get-field-variant-status",
20
- fieldPathWithIndex
23
+ fieldMetadata
21
24
  );
22
25
  return result;
23
26
  } catch (error) {
@@ -32,18 +35,6 @@ var FieldRevertComponent = (props) => {
32
35
  isOpen,
33
36
  closeDropdown
34
37
  } = props;
35
- const dropdownRef = useRef(null);
36
- useEffect(() => {
37
- const handleClickOutside = (event) => {
38
- if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
39
- closeDropdown();
40
- }
41
- };
42
- document.addEventListener("mousedown", handleClickOutside);
43
- return () => {
44
- document.removeEventListener("mousedown", handleClickOutside);
45
- };
46
- }, []);
47
38
  const getDropdownItems = () => {
48
39
  const {
49
40
  isAddedInstances,
@@ -118,11 +109,11 @@ var FieldRevertComponent = (props) => {
118
109
  "variant-field-revert-component",
119
110
  visualBuilderStyles()["variant-field-revert-component"]
120
111
  ),
121
- ref: dropdownRef,
122
112
  onClick: (e) => e.stopPropagation(),
123
113
  children: isOpen && /* @__PURE__ */ jsx(
124
114
  "div",
125
115
  {
116
+ "data-testid": "variant-field-revert-component__dropdown-content",
126
117
  className: classNames(
127
118
  "variant-field-revert-component__dropdown-content",
128
119
  visualBuilderStyles()["variant-field-revert-component__dropdown-content"]
@@ -149,9 +140,64 @@ var FieldRevertComponent = (props) => {
149
140
  }
150
141
  );
151
142
  };
143
+ var VariantRevertDropdown = (props) => {
144
+ const {
145
+ closeDropdown,
146
+ invertTooltipPosition,
147
+ toggleVariantDropdown,
148
+ variantStatus = BASE_VARIANT_STATUS
149
+ } = props;
150
+ const dropdownRef = useRef(null);
151
+ useHandleOutsideClick(dropdownRef, closeDropdown);
152
+ const hasDropdownItems = Object.values(variantStatus).some(
153
+ (value) => value
154
+ );
155
+ const buttonClassNames = classNames(
156
+ "visual-builder__button visual-builder__button--secondary",
157
+ visualBuilderStyles()["visual-builder__button"],
158
+ visualBuilderStyles()["visual-builder__button--secondary"],
159
+ visualBuilderStyles()["visual-builder__tooltip"],
160
+ {
161
+ "visual-builder__tooltip--bottom": invertTooltipPosition,
162
+ [visualBuilderStyles()["visual-builder__tooltip--bottom"]]: invertTooltipPosition
163
+ }
164
+ );
165
+ if (!hasDropdownItems) {
166
+ return /* @__PURE__ */ jsx(
167
+ "button",
168
+ {
169
+ className: classNames(buttonClassNames),
170
+ style: { padding: "6px" },
171
+ "data-tooltip": "Variant",
172
+ "data-testid": `visual-builder-canvas-variant-icon`,
173
+ children: /* @__PURE__ */ jsx(VariantIcon, {})
174
+ }
175
+ );
176
+ }
177
+ return /* @__PURE__ */ jsxs("div", { ref: dropdownRef, children: [
178
+ /* @__PURE__ */ jsxs(
179
+ "button",
180
+ {
181
+ className: classNames(
182
+ buttonClassNames,
183
+ visualBuilderStyles()["visual-builder__variant-button"]
184
+ ),
185
+ "data-tooltip": "Variant Revert",
186
+ "data-testid": `visual-builder-canvas-variant-revert`,
187
+ onClick: toggleVariantDropdown,
188
+ children: [
189
+ /* @__PURE__ */ jsx(VariantIcon, {}),
190
+ /* @__PURE__ */ jsx(CaretIcon, { open: props.isOpen })
191
+ ]
192
+ }
193
+ ),
194
+ /* @__PURE__ */ jsx(FieldRevertComponent, { ...props })
195
+ ] });
196
+ };
152
197
  export {
153
198
  BASE_VARIANT_STATUS,
154
199
  FieldRevertComponent,
200
+ VariantRevertDropdown,
155
201
  getFieldVariantStatus
156
202
  };
157
203
  //# sourceMappingURL=FieldRevertComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/visualBuilder/components/FieldRevert/FieldRevertComponent.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React, { useRef, useEffect } from \"preact/compat\";\nimport { visualBuilderStyles } from \"../../visualBuilder.style\";\nimport visualBuilderPostMessage from \"../../utils/visualBuilderPostMessage\";\nimport { CslpData } from \"../../../cslp/types/cslp.types\";\n\nexport interface IVariantStatus {\n fieldLevelCustomizations: boolean;\n isBaseModified: boolean;\n isAddedInstances: boolean;\n isDeletedInstances: boolean;\n isOrderChanged: boolean;\n}\n\nexport type TFieldRevertActionCallback =\n | \"revert_to_base_entry_value\"\n | \"revert_added_instances\"\n | \"restore_deleted_instances\"\n | \"reset_field_level_customizations\"\n | \"restore_sorted_instances\";\n\ninterface FieldRevertComponentProps {\n fieldDataName: string;\n fieldMetadata: CslpData;\n isOpen: boolean;\n closeDropdown: () => void;\n variantStatus?: IVariantStatus;\n}\n\ninterface IItem {\n label: string;\n action: TFieldRevertActionCallback;\n id: string;\n testId: string;\n fieldDataName: string;\n}\n\nexport const BASE_VARIANT_STATUS: IVariantStatus = {\n isAddedInstances: false,\n isBaseModified: false,\n isDeletedInstances: false,\n isOrderChanged: false,\n fieldLevelCustomizations: false,\n};\n\nexport async function getFieldVariantStatus(\n fieldPathWithIndex: string\n): Promise<IVariantStatus | undefined> {\n try {\n const result = await visualBuilderPostMessage?.send<IVariantStatus>(\n \"get-field-variant-status\",\n fieldPathWithIndex\n );\n return result;\n } catch (error) {\n console.error(\"Failed to get field variant status:\", error);\n }\n}\n\nexport const FieldRevertComponent = (props: FieldRevertComponentProps) => {\n const {\n fieldDataName,\n fieldMetadata,\n variantStatus = BASE_VARIANT_STATUS,\n isOpen,\n closeDropdown,\n } = props;\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n closeDropdown();\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, []);\n\n const getDropdownItems = () => {\n const {\n isAddedInstances,\n isDeletedInstances,\n isBaseModified,\n isOrderChanged,\n fieldLevelCustomizations,\n } = variantStatus;\n\n const dropdownItems: IItem[] = [];\n\n if (isBaseModified) {\n dropdownItems.push({\n label: \"Revert to base entry value\",\n action: \"revert_to_base_entry_value\",\n id: `iframe-cs-variant-field-${fieldDataName}-revert`,\n testId: `iframe-cs-variant-field-${fieldDataName}-revert`,\n fieldDataName,\n });\n }\n\n if (isAddedInstances) {\n dropdownItems.push({\n label: \"Revert added instances\",\n action: \"revert_added_instances\",\n id: `iframe-cs-variant-field-${fieldDataName}-revert-added-instances`,\n testId: `iframe-cs-variant-field-${fieldDataName}-revert-added-instances`,\n fieldDataName,\n });\n }\n\n if (isDeletedInstances) {\n dropdownItems.push({\n label: \"Restore deleted instances\",\n action: \"restore_deleted_instances\",\n id: `iframe-cs-variant-field-${fieldDataName}-restore-deleted-instances`,\n testId: `iframe-cs-variant-field-${fieldDataName}-restore-deleted-instances`,\n fieldDataName,\n });\n }\n\n if (fieldLevelCustomizations) {\n dropdownItems.push({\n label: \"Reset field-level customizations\",\n action: \"reset_field_level_customizations\",\n id: `iframe-cs-variant-field-${fieldDataName}-reset-field-level-customizations`,\n testId: `iframe-cs-variant-field-${fieldDataName}-reset-field-level-customizations`,\n fieldDataName,\n });\n }\n\n if (isOrderChanged) {\n dropdownItems.push({\n label: \"Restore sorted instances\",\n action: \"restore_sorted_instances\",\n id: `iframe-cs-variant-field-${fieldDataName}-restore-sorted-instances`,\n testId: `iframe-cs-variant-field-${fieldDataName}-restore-sorted-instances`,\n fieldDataName,\n });\n }\n\n return dropdownItems;\n };\n\n const dropdownItems = getDropdownItems();\n\n function handleOnClick(item: IItem) {\n const { fieldDataName, action } = item;\n visualBuilderPostMessage?.send(\"send-variant-revert-action-trigger\", {\n fieldDataName,\n action,\n euid: fieldMetadata.entry_uid,\n ct_uid: fieldMetadata.content_type_uid,\n locale: fieldMetadata.locale,\n });\n }\n\n return (\n <div\n className={classNames(\n \"variant-field-revert-component\",\n visualBuilderStyles()[\"variant-field-revert-component\"]\n )}\n ref={dropdownRef}\n onClick={(e) => e.stopPropagation()}\n >\n {isOpen && (\n <div\n className={classNames(\n \"variant-field-revert-component__dropdown-content\",\n visualBuilderStyles()[\n \"variant-field-revert-component__dropdown-content\"\n ]\n )}\n >\n {dropdownItems.map((item) => (\n <div\n className={classNames(\n \"variant-field-revert-component__dropdown-content__list-item\",\n visualBuilderStyles()[\n \"variant-field-revert-component__dropdown-content__list-item\"\n ]\n )}\n onClick={(e) => {\n e.preventDefault();\n handleOnClick(item);\n closeDropdown();\n }}\n key={item.id}\n data-testid={item.testId}\n >\n <span>{item.label}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;AAAA,OAAO,gBAAgB;AACvB,SAAgB,QAAQ,iBAAiB;AACzC,SAAS,2BAA2B;AACpC,OAAO,8BAA8B;AAiMT;AA/JrB,IAAM,sBAAsC;AAAA,EAC/C,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,0BAA0B;AAC9B;AAEA,eAAsB,sBAClB,oBACmC;AACnC,MAAI;AACA,UAAM,SAAS,MAAM,0BAA0B;AAAA,MAC3C;AAAA,MACA;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAAS,OAAO;AACZ,YAAQ,MAAM,uCAAuC,KAAK;AAAA,EAC9D;AACJ;AAEO,IAAM,uBAAuB,CAAC,UAAqC;AACtE,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,EACJ,IAAI;AACJ,QAAM,cAAc,OAAuB,IAAI;AAE/C,YAAU,MAAM;AACZ,UAAM,qBAAqB,CAAC,UAAsB;AAC9C,UACI,YAAY,WACZ,CAAC,YAAY,QAAQ,SAAS,MAAM,MAAc,GACpD;AACE,sBAAc;AAAA,MAClB;AAAA,IACJ;AAEA,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACT,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAChE;AAAA,EACJ,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAmB,MAAM;AAC3B,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI;AAEJ,UAAMA,iBAAyB,CAAC;AAEhC,QAAI,gBAAgB;AAChB,MAAAA,eAAc,KAAK;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,IAAI,2BAA2B,aAAa;AAAA,QAC5C,QAAQ,2BAA2B,aAAa;AAAA,QAChD;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,QAAI,kBAAkB;AAClB,MAAAA,eAAc,KAAK;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,IAAI,2BAA2B,aAAa;AAAA,QAC5C,QAAQ,2BAA2B,aAAa;AAAA,QAChD;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,QAAI,oBAAoB;AACpB,MAAAA,eAAc,KAAK;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,IAAI,2BAA2B,aAAa;AAAA,QAC5C,QAAQ,2BAA2B,aAAa;AAAA,QAChD;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,QAAI,0BAA0B;AAC1B,MAAAA,eAAc,KAAK;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,IAAI,2BAA2B,aAAa;AAAA,QAC5C,QAAQ,2BAA2B,aAAa;AAAA,QAChD;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,QAAI,gBAAgB;AAChB,MAAAA,eAAc,KAAK;AAAA,QACf,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,IAAI,2BAA2B,aAAa;AAAA,QAC5C,QAAQ,2BAA2B,aAAa;AAAA,QAChD;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,WAAOA;AAAA,EACX;AAEA,QAAM,gBAAgB,iBAAiB;AAEvC,WAAS,cAAc,MAAa;AAChC,UAAM,EAAE,eAAAC,gBAAe,OAAO,IAAI;AAClC,8BAA0B,KAAK,sCAAsC;AAAA,MACjE,eAAAA;AAAA,MACA;AAAA,MACA,MAAM,cAAc;AAAA,MACpB,QAAQ,cAAc;AAAA,MACtB,QAAQ,cAAc;AAAA,IAC1B,CAAC;AAAA,EACL;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,oBAAoB,EAAE,gCAAgC;AAAA,MAC1D;AAAA,MACA,KAAK;AAAA,MACL,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAEjC,oBACG;AAAA,QAAC;AAAA;AAAA,UACG,WAAW;AAAA,YACP;AAAA,YACA,oBAAoB,EAChB,kDACJ;AAAA,UACJ;AAAA,UAEC,wBAAc,IAAI,CAAC,SAChB;AAAA,YAAC;AAAA;AAAA,cACG,WAAW;AAAA,gBACP;AAAA,gBACA,oBAAoB,EAChB,6DACJ;AAAA,cACJ;AAAA,cACA,SAAS,CAAC,MAAM;AACZ,kBAAE,eAAe;AACjB,8BAAc,IAAI;AAClB,8BAAc;AAAA,cAClB;AAAA,cAEA,eAAa,KAAK;AAAA,cAElB,8BAAC,UAAM,eAAK,OAAM;AAAA;AAAA,YAHb,KAAK;AAAA,UAId,CACH;AAAA;AAAA,MACL;AAAA;AAAA,EAER;AAER;","names":["dropdownItems","fieldDataName"]}
1
+ {"version":3,"sources":["../../../../../src/visualBuilder/components/FieldRevert/FieldRevertComponent.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React, { useRef, useEffect } from \"preact/compat\";\nimport { visualBuilderStyles } from \"../../visualBuilder.style\";\nimport visualBuilderPostMessage from \"../../utils/visualBuilderPostMessage\";\nimport { CslpData } from \"../../../cslp/types/cslp.types\";\nimport { VariantIcon } from \"../icons/variant\";\nimport { CaretIcon } from \"../icons\";\nimport useHandleOutsideClick from \"./useHandleOutsideClick\";\n\nexport interface IVariantStatus {\n fieldLevelCustomizations: boolean;\n isBaseModified: boolean;\n isAddedInstances: boolean;\n isDeletedInstances: boolean;\n isOrderChanged: boolean;\n}\n\nexport type TFieldRevertActionCallback =\n | \"revert_to_base_entry_value\"\n | \"revert_added_instances\"\n | \"restore_deleted_instances\"\n | \"reset_field_level_customizations\"\n | \"restore_sorted_instances\";\n\ninterface FieldRevertComponentProps {\n fieldDataName: string;\n fieldMetadata: CslpData;\n isOpen: boolean;\n closeDropdown: () => void;\n variantStatus?: IVariantStatus;\n}\n\ninterface IItem {\n label: string;\n action: TFieldRevertActionCallback;\n id: string;\n testId: string;\n fieldDataName: string;\n}\n\nexport const BASE_VARIANT_STATUS: IVariantStatus = {\n isAddedInstances: false,\n isBaseModified: false,\n isDeletedInstances: false,\n isOrderChanged: false,\n fieldLevelCustomizations: false,\n};\n\nexport async function getFieldVariantStatus(\n fieldMetadata: CslpData\n): Promise<IVariantStatus | undefined> {\n try {\n const result = await visualBuilderPostMessage?.send<IVariantStatus>(\n \"get-field-variant-status\",\n fieldMetadata\n );\n return result;\n } catch (error) {\n console.error(\"Failed to get field variant status:\", error);\n }\n}\n\nexport const FieldRevertComponent = (props: FieldRevertComponentProps) => {\n const {\n fieldDataName,\n fieldMetadata,\n variantStatus = BASE_VARIANT_STATUS,\n isOpen,\n closeDropdown,\n } = props;\n\n const getDropdownItems = () => {\n const {\n isAddedInstances,\n isDeletedInstances,\n isBaseModified,\n isOrderChanged,\n fieldLevelCustomizations,\n } = variantStatus;\n\n const dropdownItems: IItem[] = [];\n\n if (isBaseModified) {\n dropdownItems.push({\n label: \"Revert to base entry value\",\n action: \"revert_to_base_entry_value\",\n id: `iframe-cs-variant-field-${fieldDataName}-revert`,\n testId: `iframe-cs-variant-field-${fieldDataName}-revert`,\n fieldDataName,\n });\n }\n\n if (isAddedInstances) {\n dropdownItems.push({\n label: \"Revert added instances\",\n action: \"revert_added_instances\",\n id: `iframe-cs-variant-field-${fieldDataName}-revert-added-instances`,\n testId: `iframe-cs-variant-field-${fieldDataName}-revert-added-instances`,\n fieldDataName,\n });\n }\n\n if (isDeletedInstances) {\n dropdownItems.push({\n label: \"Restore deleted instances\",\n action: \"restore_deleted_instances\",\n id: `iframe-cs-variant-field-${fieldDataName}-restore-deleted-instances`,\n testId: `iframe-cs-variant-field-${fieldDataName}-restore-deleted-instances`,\n fieldDataName,\n });\n }\n\n if (fieldLevelCustomizations) {\n dropdownItems.push({\n label: \"Reset field-level customizations\",\n action: \"reset_field_level_customizations\",\n id: `iframe-cs-variant-field-${fieldDataName}-reset-field-level-customizations`,\n testId: `iframe-cs-variant-field-${fieldDataName}-reset-field-level-customizations`,\n fieldDataName,\n });\n }\n\n if (isOrderChanged) {\n dropdownItems.push({\n label: \"Restore sorted instances\",\n action: \"restore_sorted_instances\",\n id: `iframe-cs-variant-field-${fieldDataName}-restore-sorted-instances`,\n testId: `iframe-cs-variant-field-${fieldDataName}-restore-sorted-instances`,\n fieldDataName,\n });\n }\n\n return dropdownItems;\n };\n\n const dropdownItems = getDropdownItems();\n\n function handleOnClick(item: IItem) {\n const { fieldDataName, action } = item;\n visualBuilderPostMessage?.send(\"send-variant-revert-action-trigger\", {\n fieldDataName,\n action,\n euid: fieldMetadata.entry_uid,\n ct_uid: fieldMetadata.content_type_uid,\n locale: fieldMetadata.locale,\n });\n }\n\n return (\n <div\n className={classNames(\n \"variant-field-revert-component\",\n visualBuilderStyles()[\"variant-field-revert-component\"]\n )}\n onClick={(e) => e.stopPropagation()}\n >\n {isOpen && (\n <div\n data-testid=\"variant-field-revert-component__dropdown-content\"\n className={classNames(\n \"variant-field-revert-component__dropdown-content\",\n visualBuilderStyles()[\n \"variant-field-revert-component__dropdown-content\"\n ]\n )}\n >\n {dropdownItems.map((item) => (\n <div\n className={classNames(\n \"variant-field-revert-component__dropdown-content__list-item\",\n visualBuilderStyles()[\n \"variant-field-revert-component__dropdown-content__list-item\"\n ]\n )}\n onClick={(e) => {\n e.preventDefault();\n handleOnClick(item);\n closeDropdown();\n }}\n key={item.id}\n data-testid={item.testId}\n >\n <span>{item.label}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport const VariantRevertDropdown = (props: any) => {\n const {\n closeDropdown,\n invertTooltipPosition,\n toggleVariantDropdown,\n variantStatus = BASE_VARIANT_STATUS,\n } = props;\n const dropdownRef = useRef<HTMLDivElement>(null);\n useHandleOutsideClick(dropdownRef, closeDropdown);\n const hasDropdownItems = Object.values(variantStatus).some(\n (value) => value\n );\n\n const buttonClassNames = classNames(\n \"visual-builder__button visual-builder__button--secondary\",\n visualBuilderStyles()[\"visual-builder__button\"],\n visualBuilderStyles()[\"visual-builder__button--secondary\"],\n visualBuilderStyles()[\"visual-builder__tooltip\"],\n {\n \"visual-builder__tooltip--bottom\": invertTooltipPosition,\n [visualBuilderStyles()[\"visual-builder__tooltip--bottom\"]]:\n invertTooltipPosition,\n }\n );\n\n if (!hasDropdownItems) {\n return (\n <button\n className={classNames(buttonClassNames)}\n style={{ padding: \"6px\" }}\n data-tooltip={\"Variant\"}\n data-testid={`visual-builder-canvas-variant-icon`}\n >\n <VariantIcon />\n </button>\n );\n }\n return (\n <div ref={dropdownRef}>\n <button\n className={classNames(\n buttonClassNames,\n visualBuilderStyles()[\"visual-builder__variant-button\"]\n )}\n data-tooltip={\"Variant Revert\"}\n data-testid={`visual-builder-canvas-variant-revert`}\n onClick={toggleVariantDropdown}\n >\n <VariantIcon />\n <CaretIcon open={props.isOpen} />\n </button>\n <FieldRevertComponent {...props} />\n </div>\n );\n};\n"],"mappings":"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","names":["dropdownItems","fieldDataName"]}
@@ -0,0 +1,41 @@
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/components/FieldRevert/useHandleOutsideClick.ts
21
+ var useHandleOutsideClick_exports = {};
22
+ __export(useHandleOutsideClick_exports, {
23
+ default: () => useHandleOutsideClick_default
24
+ });
25
+ module.exports = __toCommonJS(useHandleOutsideClick_exports);
26
+ var import_compat = require("preact/compat");
27
+ var useHandleOutsideClick = (ref, callback) => {
28
+ (0, import_compat.useEffect)(() => {
29
+ const handleClickOutside = (event) => {
30
+ if (ref.current && !ref.current.contains(event.target)) {
31
+ callback();
32
+ }
33
+ };
34
+ document.addEventListener("mousedown", handleClickOutside);
35
+ return () => {
36
+ document.removeEventListener("mousedown", handleClickOutside);
37
+ };
38
+ }, [ref, callback]);
39
+ };
40
+ var useHandleOutsideClick_default = useHandleOutsideClick;
41
+ //# sourceMappingURL=useHandleOutsideClick.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/visualBuilder/components/FieldRevert/useHandleOutsideClick.ts"],"sourcesContent":["import { useEffect } from \"preact/compat\";\n\nconst useHandleOutsideClick = (\n ref: React.RefObject<HTMLElement>,\n callback: () => void\n) => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, callback]);\n};\n\nexport default useHandleOutsideClick;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAE1B,IAAM,wBAAwB,CAC1B,KACA,aACC;AACD,+BAAU,MAAM;AACZ,UAAM,qBAAqB,CAAC,UAAsB;AAC9C,UAAI,IAAI,WAAW,CAAC,IAAI,QAAQ,SAAS,MAAM,MAAc,GAAG;AAC5D,iBAAS;AAAA,MACb;AAAA,IACJ;AAEA,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACT,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAChE;AAAA,EACJ,GAAG,CAAC,KAAK,QAAQ,CAAC;AACtB;AAEA,IAAO,gCAAQ;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare const useHandleOutsideClick: (ref: React.RefObject<HTMLElement>, callback: () => void) => void;
2
+
3
+ export { useHandleOutsideClick as default };
@@ -0,0 +1,3 @@
1
+ declare const useHandleOutsideClick: (ref: React.RefObject<HTMLElement>, callback: () => void) => void;
2
+
3
+ export { useHandleOutsideClick as default };
@@ -0,0 +1,22 @@
1
+ import "../../../chunk-5WRI5ZAA.js";
2
+
3
+ // src/visualBuilder/components/FieldRevert/useHandleOutsideClick.ts
4
+ import { useEffect } from "preact/compat";
5
+ var useHandleOutsideClick = (ref, callback) => {
6
+ useEffect(() => {
7
+ const handleClickOutside = (event) => {
8
+ if (ref.current && !ref.current.contains(event.target)) {
9
+ callback();
10
+ }
11
+ };
12
+ document.addEventListener("mousedown", handleClickOutside);
13
+ return () => {
14
+ document.removeEventListener("mousedown", handleClickOutside);
15
+ };
16
+ }, [ref, callback]);
17
+ };
18
+ var useHandleOutsideClick_default = useHandleOutsideClick;
19
+ export {
20
+ useHandleOutsideClick_default as default
21
+ };
22
+ //# sourceMappingURL=useHandleOutsideClick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/visualBuilder/components/FieldRevert/useHandleOutsideClick.ts"],"sourcesContent":["import { useEffect } from \"preact/compat\";\n\nconst useHandleOutsideClick = (\n ref: React.RefObject<HTMLElement>,\n callback: () => void\n) => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, callback]);\n};\n\nexport default useHandleOutsideClick;\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAE1B,IAAM,wBAAwB,CAC1B,KACA,aACC;AACD,YAAU,MAAM;AACZ,UAAM,qBAAqB,CAAC,UAAsB;AAC9C,UAAI,IAAI,WAAW,CAAC,IAAI,QAAQ,SAAS,MAAM,MAAc,GAAG;AAC5D,iBAAS;AAAA,MACb;AAAA,IACJ;AAEA,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACT,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAChE;AAAA,EACJ,GAAG,CAAC,KAAK,QAAQ,CAAC;AACtB;AAEA,IAAO,gCAAQ;","names":[]}
@@ -33,7 +33,6 @@ __export(FieldToolbar_exports, {
33
33
  default: () => FieldToolbar_default
34
34
  });
35
35
  module.exports = __toCommonJS(FieldToolbar_exports);
36
- var import_signals = require("@preact/signals");
37
36
  var import_getChildrenDirection = __toESM(require("../utils/getChildrenDirection.cjs"), 1);
38
37
  var import_constants = require("../utils/constants.cjs");
39
38
  var import_getFieldType = require("../utils/getFieldType.cjs");
@@ -86,23 +85,23 @@ function handleEdit(fieldMetadata) {
86
85
  }
87
86
  function handleFormFieldFocus(eventDetails) {
88
87
  const { editableElement, fieldMetadata, cslpData } = eventDetails;
89
- import_visualBuilderPostMessage.default?.send(
90
- import_postMessage.VisualBuilderPostMessageEvents.TOGGLE_FORM,
91
- {
92
- fieldMetadata,
93
- cslpData
94
- }
95
- ).then(() => {
96
- import_visualBuilderPostMessage.default?.send(import_postMessage.VisualBuilderPostMessageEvents.FOCUS_FIELD, {
97
- DOMEditStack: (0, import_getCsDataOfElement.getDOMEditStack)(editableElement)
98
- });
88
+ import_visualBuilderPostMessage.default?.send(import_postMessage.VisualBuilderPostMessageEvents.TOGGLE_FORM, {
89
+ fieldMetadata,
90
+ cslpData
91
+ }).then(() => {
92
+ import_visualBuilderPostMessage.default?.send(
93
+ import_postMessage.VisualBuilderPostMessageEvents.FOCUS_FIELD,
94
+ {
95
+ DOMEditStack: (0, import_getCsDataOfElement.getDOMEditStack)(editableElement)
96
+ }
97
+ );
99
98
  });
100
99
  }
101
100
  function FieldToolbarComponent(props) {
102
101
  const { eventDetails } = props;
103
102
  const { fieldMetadata, editableElement: targetElement } = eventDetails;
104
- const direction = (0, import_signals.useSignal)("");
105
103
  const parentPath = fieldMetadata?.multipleFieldMetadata?.parentDetails?.parentCslpValue || "";
104
+ const direction = (0, import_getChildrenDirection.default)(targetElement, parentPath);
106
105
  const isVariant = !!fieldMetadata?.variant;
107
106
  const [fieldSchema, setFieldSchema] = (0, import_compat.useState)(
108
107
  null
@@ -116,13 +115,10 @@ function FieldToolbarComponent(props) {
116
115
  let fieldType = null;
117
116
  let isWholeMultipleField = false;
118
117
  if (fieldSchema) {
119
- const { isDisabled } = (0, import_isFieldDisabled.isFieldDisabled)(
120
- fieldSchema,
121
- {
122
- editableElement: targetElement,
123
- fieldMetadata
124
- }
125
- );
118
+ const { isDisabled } = (0, import_isFieldDisabled.isFieldDisabled)(fieldSchema, {
119
+ editableElement: targetElement,
120
+ fieldMetadata
121
+ });
126
122
  if (isDisabled) {
127
123
  return null;
128
124
  }
@@ -138,7 +134,6 @@ function FieldToolbarComponent(props) {
138
134
  return null;
139
135
  }
140
136
  }
141
- direction.value = (0, import_getChildrenDirection.default)(targetElement, parentPath);
142
137
  const invertTooltipPosition = targetElement.getBoundingClientRect().top <= TOOLTIP_TOP_EDGE_BUFFER;
143
138
  const editButton = Icon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
144
139
  "button",
@@ -256,19 +251,23 @@ function FieldToolbarComponent(props) {
256
251
  if (fieldSchema2) {
257
252
  setFieldSchema(fieldSchema2);
258
253
  }
259
- const variantStatus = await (0, import_FieldRevertComponent.getFieldVariantStatus)(
260
- fieldMetadata.fieldPathWithIndex
261
- );
254
+ const variantStatus = await (0, import_FieldRevertComponent.getFieldVariantStatus)(fieldMetadata);
262
255
  setFieldVariantStatus(variantStatus ?? import_FieldRevertComponent.BASE_VARIANT_STATUS);
263
256
  }
264
257
  fetchFieldSchema();
265
258
  }, [fieldMetadata]);
266
259
  (0, import_compat.useEffect)(() => {
267
- import_visualBuilderPostMessage.default?.on(import_postMessage.VisualBuilderPostMessageEvents.DELETE_INSTANCE, (args) => {
268
- if (args.data?.path === fieldMetadata.instance.fieldPathWithIndex) {
269
- props.hideOverlay();
260
+ const event = import_visualBuilderPostMessage.default?.on(
261
+ import_postMessage.VisualBuilderPostMessageEvents.DELETE_INSTANCE,
262
+ (args) => {
263
+ if (args.data?.path === fieldMetadata.instance.fieldPathWithIndex) {
264
+ props.hideOverlay();
265
+ }
270
266
  }
271
- });
267
+ );
268
+ return () => {
269
+ event?.unregister();
270
+ };
272
271
  }, []);
273
272
  const multipleFieldToolbarButtonClasses = (0, import_classnames.default)(
274
273
  "visual-builder__button visual-builder__button--secondary",
@@ -280,132 +279,131 @@ function FieldToolbarComponent(props) {
280
279
  [(0, import_visualBuilder.visualBuilderStyles)()["visual-builder__tooltip--bottom"]]: invertTooltipPosition
281
280
  }
282
281
  );
283
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
282
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
284
283
  "div",
285
284
  {
286
285
  className: (0, import_classnames.default)(
287
286
  "visual-builder__field-toolbar-container",
288
287
  (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__field-toolbar-container"]
289
288
  ),
290
- children: [
291
- isVariant && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
292
- import_FieldRevertComponent.FieldRevertComponent,
293
- {
294
- fieldDataName: fieldMetadata.fieldPathWithIndex,
295
- fieldMetadata,
296
- variantStatus: fieldVariantStatus,
297
- isOpen: isOpenVariantRevert,
298
- closeDropdown: closeVariantDropdown
299
- }
300
- ),
301
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
302
- "div",
303
- {
304
- className: (0, import_classnames.default)(
305
- "visual-builder__focused-toolbar__multiple-field-toolbar",
306
- (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__focused-toolbar__multiple-field-toolbar"]
307
- ),
308
- "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar",
309
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
310
- "div",
311
- {
312
- className: (0, import_classnames.default)(
313
- "visual-builder__focused-toolbar__button-group",
314
- (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__focused-toolbar__button-group"]
315
- ),
316
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
317
- isVariant ? variantButton : null,
318
- isMultiple && !isWholeMultipleField ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
319
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
320
- "button",
321
- {
322
- "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar__move-left-button",
323
- className: multipleFieldToolbarButtonClasses,
324
- "data-tooltip": direction.value === "vertical" ? "Move up" : "Move left",
325
- onClick: (e) => {
326
- e.preventDefault();
327
- e.stopPropagation();
328
- (0, import_instanceHandlers.handleMoveInstance)(
329
- fieldMetadata,
330
- "previous"
331
- );
332
- },
333
- disabled: disableMoveLeft,
334
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
335
- import_icons.MoveLeftIcon,
336
- {
337
- className: (0, import_classnames.default)({
338
- "visual-builder__rotate--90": direction.value === "vertical",
339
- [(0, import_visualBuilder.visualBuilderStyles)()["visual-builder__rotate--90"]]: direction.value === "vertical"
340
- }),
341
- disabled: disableMoveLeft
342
- }
343
- )
344
- }
345
- ),
346
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
347
- "button",
348
- {
349
- "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar__move-right-button",
350
- className: multipleFieldToolbarButtonClasses,
351
- "data-tooltip": direction.value === "vertical" ? "Move down" : "Move right",
352
- onClick: (e) => {
353
- e.preventDefault();
354
- e.stopPropagation();
355
- (0, import_instanceHandlers.handleMoveInstance)(
356
- fieldMetadata,
357
- "next"
358
- );
359
- },
360
- disabled: disableMoveRight,
361
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
362
- import_icons.MoveRightIcon,
363
- {
364
- className: (0, import_classnames.default)({
365
- "visual-builder__rotate--90": direction.value === "vertical",
366
- [(0, import_visualBuilder.visualBuilderStyles)()["visual-builder__rotate--90"]]: direction.value === "vertical"
367
- }),
368
- disabled: disableMoveRight
369
- }
370
- )
371
- }
372
- ),
373
- isModalEditable ? editButton : null,
374
- formButton,
375
- isReplaceAllowed ? replaceButton : null,
376
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
377
- "button",
378
- {
379
- "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar__delete-button",
380
- className: multipleFieldToolbarButtonClasses,
381
- "data-tooltip": "Delete",
382
- onClick: (e) => {
383
- e.preventDefault();
384
- e.stopPropagation();
385
- (0, import_instanceHandlers.handleDeleteInstance)(fieldMetadata);
386
- },
387
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.DeleteIcon, {})
388
- }
389
- )
390
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
391
- isModalEditable ? editButton : null,
392
- isReplaceAllowed ? replaceButton : null,
393
- formButton,
394
- fieldSchema ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
395
- import_CommentIcon.default,
396
- {
397
- fieldMetadata,
398
- fieldSchema,
399
- invertTooltipPosition
400
- }
401
- ) : null
402
- ] })
289
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
290
+ "div",
291
+ {
292
+ className: (0, import_classnames.default)(
293
+ "visual-builder__focused-toolbar__multiple-field-toolbar",
294
+ (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__focused-toolbar__multiple-field-toolbar"]
295
+ ),
296
+ "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar",
297
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
298
+ "div",
299
+ {
300
+ className: (0, import_classnames.default)(
301
+ "visual-builder__focused-toolbar__button-group",
302
+ (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__focused-toolbar__button-group"]
303
+ ),
304
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
305
+ isVariant ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
306
+ import_FieldRevertComponent.VariantRevertDropdown,
307
+ {
308
+ fieldDataName: fieldMetadata.fieldPathWithIndex,
309
+ fieldMetadata,
310
+ variantStatus: fieldVariantStatus,
311
+ isOpen: isOpenVariantRevert,
312
+ closeDropdown: closeVariantDropdown,
313
+ invertTooltipPosition,
314
+ toggleVariantDropdown
315
+ }
316
+ ) : null,
317
+ isMultiple && !isWholeMultipleField ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
318
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
319
+ "button",
320
+ {
321
+ "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar__move-left-button",
322
+ className: multipleFieldToolbarButtonClasses,
323
+ "data-tooltip": direction === "vertical" ? "Move up" : "Move left",
324
+ onClick: (e) => {
325
+ e.preventDefault();
326
+ e.stopPropagation();
327
+ (0, import_instanceHandlers.handleMoveInstance)(
328
+ fieldMetadata,
329
+ "previous"
330
+ );
331
+ },
332
+ disabled: disableMoveLeft,
333
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
334
+ import_icons.MoveLeftIcon,
335
+ {
336
+ className: (0, import_classnames.default)({
337
+ "visual-builder__rotate--90": direction === "vertical",
338
+ [(0, import_visualBuilder.visualBuilderStyles)()["visual-builder__rotate--90"]]: direction === "vertical"
339
+ }),
340
+ disabled: disableMoveLeft
341
+ }
342
+ )
343
+ }
344
+ ),
345
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
346
+ "button",
347
+ {
348
+ "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar__move-right-button",
349
+ className: multipleFieldToolbarButtonClasses,
350
+ "data-tooltip": direction === "vertical" ? "Move down" : "Move right",
351
+ onClick: (e) => {
352
+ e.preventDefault();
353
+ e.stopPropagation();
354
+ (0, import_instanceHandlers.handleMoveInstance)(
355
+ fieldMetadata,
356
+ "next"
357
+ );
358
+ },
359
+ disabled: disableMoveRight,
360
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
361
+ import_icons.MoveRightIcon,
362
+ {
363
+ className: (0, import_classnames.default)({
364
+ "visual-builder__rotate--90": direction === "vertical",
365
+ [(0, import_visualBuilder.visualBuilderStyles)()["visual-builder__rotate--90"]]: direction === "vertical"
366
+ }),
367
+ disabled: disableMoveRight
368
+ }
369
+ )
370
+ }
371
+ ),
372
+ isModalEditable ? editButton : null,
373
+ formButton,
374
+ isReplaceAllowed ? replaceButton : null,
375
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
376
+ "button",
377
+ {
378
+ "data-testid": "visual-builder__focused-toolbar__multiple-field-toolbar__delete-button",
379
+ className: multipleFieldToolbarButtonClasses,
380
+ "data-tooltip": "Delete",
381
+ onClick: (e) => {
382
+ e.preventDefault();
383
+ e.stopPropagation();
384
+ (0, import_instanceHandlers.handleDeleteInstance)(fieldMetadata);
385
+ },
386
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.DeleteIcon, {})
387
+ }
388
+ )
389
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
390
+ isModalEditable ? editButton : null,
391
+ isReplaceAllowed ? replaceButton : null,
392
+ formButton,
393
+ fieldSchema ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
394
+ import_CommentIcon.default,
395
+ {
396
+ fieldMetadata,
397
+ fieldSchema,
398
+ invertTooltipPosition
399
+ }
400
+ ) : null
403
401
  ] })
404
- }
405
- )
406
- }
407
- )
408
- ]
402
+ ] })
403
+ }
404
+ )
405
+ }
406
+ )
409
407
  }
410
408
  );
411
409
  }