@contentstack/live-preview-utils 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/legacy/cslp/cslpdata.cjs.map +1 -1
- package/dist/legacy/cslp/cslpdata.js.map +1 -1
- package/dist/legacy/livePreview/editButton/editButton.cjs +2 -2
- package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
- package/dist/legacy/livePreview/editButton/editButton.js +2 -2
- package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
- package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +1 -1
- package/dist/legacy/preview/contentstack-live-preview-HOC.js +1 -1
- package/dist/legacy/timeline/compare/compare.cjs +2 -1
- package/dist/legacy/timeline/compare/compare.cjs.map +1 -1
- package/dist/legacy/timeline/compare/compare.js +2 -1
- package/dist/legacy/timeline/compare/compare.js.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs +2 -2
- package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.d.cts +1 -1
- package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.d.ts +1 -1
- package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.js +2 -2
- package/dist/legacy/visualBuilder/components/FieldRevert/FieldRevertComponent.js.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +33 -34
- package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/FieldToolbar.js +33 -34
- package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
- package/dist/legacy/visualBuilder/components/emptyBlock.cjs +1 -0
- package/dist/legacy/visualBuilder/components/emptyBlock.cjs.map +1 -1
- package/dist/legacy/visualBuilder/components/emptyBlock.js +1 -0
- package/dist/legacy/visualBuilder/components/emptyBlock.js.map +1 -1
- package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +1 -1
- package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
- package/dist/legacy/visualBuilder/generators/generateToolbar.js +1 -1
- package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
- package/dist/legacy/visualBuilder/listeners/index.cjs +8 -2
- package/dist/legacy/visualBuilder/listeners/index.cjs.map +1 -1
- package/dist/legacy/visualBuilder/listeners/index.js +8 -2
- package/dist/legacy/visualBuilder/listeners/index.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/constants.cjs +5 -2
- package/dist/legacy/visualBuilder/utils/constants.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/constants.d.cts +2 -1
- package/dist/legacy/visualBuilder/utils/constants.d.ts +2 -1
- package/dist/legacy/visualBuilder/utils/constants.js +3 -1
- package/dist/legacy/visualBuilder/utils/constants.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/getFieldType.cjs +6 -5
- package/dist/legacy/visualBuilder/utils/getFieldType.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/getFieldType.js +6 -5
- package/dist/legacy/visualBuilder/utils/getFieldType.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.cjs +10 -0
- package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.js +10 -0
- package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +63 -39
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +53 -39
- package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
- package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.cjs +44 -0
- package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.cjs.map +1 -0
- package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.d.cts +3 -0
- package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.d.ts +3 -0
- package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.js +21 -0
- package/dist/legacy/visualBuilder/utils/insertSpaceAtCursor.js.map +1 -0
- package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs +1 -1
- package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
- package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js +1 -1
- package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
- package/dist/modern/cslp/cslpdata.cjs.map +1 -1
- package/dist/modern/cslp/cslpdata.js.map +1 -1
- package/dist/modern/livePreview/editButton/editButton.cjs +1 -1
- package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
- package/dist/modern/livePreview/editButton/editButton.js +1 -1
- package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
- package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.cjs +1 -1
- package/dist/modern/preview/contentstack-live-preview-HOC.js +1 -1
- package/dist/modern/timeline/compare/compare.cjs +2 -1
- package/dist/modern/timeline/compare/compare.cjs.map +1 -1
- package/dist/modern/timeline/compare/compare.js +2 -1
- package/dist/modern/timeline/compare/compare.js.map +1 -1
- package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs +2 -2
- package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.d.cts +1 -1
- package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.d.ts +1 -1
- package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.js +2 -2
- package/dist/modern/visualBuilder/components/FieldRevert/FieldRevertComponent.js.map +1 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.cjs +32 -33
- package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/FieldToolbar.js +32 -33
- package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
- package/dist/modern/visualBuilder/components/emptyBlock.cjs +1 -0
- package/dist/modern/visualBuilder/components/emptyBlock.cjs.map +1 -1
- package/dist/modern/visualBuilder/components/emptyBlock.js +1 -0
- package/dist/modern/visualBuilder/components/emptyBlock.js.map +1 -1
- package/dist/modern/visualBuilder/generators/generateToolbar.cjs +1 -1
- package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
- package/dist/modern/visualBuilder/generators/generateToolbar.js +1 -1
- package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
- package/dist/modern/visualBuilder/listeners/index.cjs +8 -2
- package/dist/modern/visualBuilder/listeners/index.cjs.map +1 -1
- package/dist/modern/visualBuilder/listeners/index.js +8 -2
- package/dist/modern/visualBuilder/listeners/index.js.map +1 -1
- package/dist/modern/visualBuilder/utils/constants.cjs +5 -2
- package/dist/modern/visualBuilder/utils/constants.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/constants.d.cts +2 -1
- package/dist/modern/visualBuilder/utils/constants.d.ts +2 -1
- package/dist/modern/visualBuilder/utils/constants.js +3 -1
- package/dist/modern/visualBuilder/utils/constants.js.map +1 -1
- package/dist/modern/visualBuilder/utils/getFieldType.cjs +5 -5
- package/dist/modern/visualBuilder/utils/getFieldType.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/getFieldType.js +5 -5
- package/dist/modern/visualBuilder/utils/getFieldType.js.map +1 -1
- package/dist/modern/visualBuilder/utils/handleFieldMouseDown.cjs +10 -0
- package/dist/modern/visualBuilder/utils/handleFieldMouseDown.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/handleFieldMouseDown.js +10 -0
- package/dist/modern/visualBuilder/utils/handleFieldMouseDown.js.map +1 -1
- package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +62 -39
- package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/handleIndividualFields.js +52 -39
- package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
- package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.cjs +44 -0
- package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.cjs.map +1 -0
- package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.d.cts +3 -0
- package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.d.ts +3 -0
- package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.js +21 -0
- package/dist/modern/visualBuilder/utils/insertSpaceAtCursor.js.map +1 -0
- package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs +1 -1
- package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
- package/dist/modern/visualBuilder/utils/multipleElementAddButton.js +1 -1
- package/dist/modern/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/listeners/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/listeners/index.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport handleBuilderInteraction from \"./mouseClick\";\nimport handleMouseHover, {\n hideCustomCursor,\n hideHoverOutline,\n showCustomCursor,\n} from \"./mouseHover\";\nimport EventListenerHandlerParams from \"./types\";\n\ntype AddEventListenersParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\"\n>;\n\ntype RemoveEventListenersParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\"\n>;\nconst eventHandlers = {\n click: (params: AddEventListenersParams) => (event: MouseEvent) => {\n handleBuilderInteraction({\n event: event,\n overlayWrapper: params.overlayWrapper,\n visualBuilderContainer: params.visualBuilderContainer,\n previousSelectedEditableDOM:\n VisualBuilder.VisualBuilderGlobalState.value\n .previousSelectedEditableDOM,\n focusedToolbar: params.focusedToolbar,\n resizeObserver: params.resizeObserver,\n });\n },\n mousemove: (params: AddEventListenersParams) => (event: MouseEvent) => {\n handleMouseHover({\n event: event,\n overlayWrapper: params.overlayWrapper,\n visualBuilderContainer: params.visualBuilderContainer,\n customCursor: params.customCursor,\n });\n },\n mouseleave: (params: AddEventListenersParams) => () => {\n hideCustomCursor(params.customCursor);\n hideHoverOutline(params.visualBuilderContainer);\n },\n mouseenter: (params: AddEventListenersParams) => () => {\n showCustomCursor(params.customCursor);\n },\n};\nconst eventListenersMap = new Map<string, EventListener>();\nexport function addEventListeners(params: AddEventListenersParams): void {\n const clickHandler = eventHandlers.click(params);\n const mousemoveHandler = eventHandlers.mousemove(params);\n const mouseleaveHandler = eventHandlers.mouseleave(params);\n const mouseenterHandler = eventHandlers.mouseenter(params);\n\n eventListenersMap.set(\"click\", clickHandler as EventListener);\n eventListenersMap.set(\"mousemove\", mousemoveHandler as EventListener);\n eventListenersMap.set(\"mouseleave\", mouseleaveHandler);\n eventListenersMap.set(\"mouseenter\", mouseenterHandler);\n\n window.addEventListener(\"click\", clickHandler, { capture: true });\n window.addEventListener(\"mousemove\", mousemoveHandler);\n document.documentElement.addEventListener(\"mouseleave\", mouseleaveHandler);\n document.documentElement.addEventListener(\"mouseenter\", mouseenterHandler);\n}\n\nexport function removeEventListeners(params: RemoveEventListenersParams): void {\n const clickHandler = eventListenersMap.get(\"click\");\n const mousemoveHandler = eventListenersMap.get(\"mousemove\");\n const mouseleaveHandler = eventListenersMap.get(\"mouseleave\");\n const mouseenterHandler = eventListenersMap.get(\"mouseenter\");\n\n if (clickHandler) {\n window.removeEventListener(\"click\", clickHandler, { capture: true });\n }\n if (mousemoveHandler) {\n window.removeEventListener(\"mousemove\", mousemoveHandler);\n }\n if (mouseleaveHandler) {\n document.documentElement.removeEventListener(\n \"mouseleave\",\n mouseleaveHandler\n );\n }\n if (mouseenterHandler) {\n document.documentElement.removeEventListener(\n \"mouseenter\",\n mouseenterHandler\n );\n }\n\n eventListenersMap.clear();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA8B;AAC9B,wBAAqC;AACrC,wBAIO;AAYP,IAAM,gBAAgB;AAAA,EAClB,OAAO,CAAC,WAAoC,CAAC,UAAsB;AAC/D,0BAAAA,SAAyB;AAAA,MACrB;AAAA,MACA,gBAAgB,OAAO;AAAA,MACvB,wBAAwB,OAAO;AAAA,MAC/B,6BACI,uBAAc,yBAAyB,MAClC;AAAA,MACT,gBAAgB,OAAO;AAAA,MACvB,gBAAgB,OAAO;AAAA,IAC3B,CAAC;AAAA,EACL;AAAA,EACA,WAAW,CAAC,WAAoC,CAAC,UAAsB;AACnE,0BAAAC,SAAiB;AAAA,MACb;AAAA,MACA,gBAAgB,OAAO;AAAA,MACvB,wBAAwB,OAAO;AAAA,MAC/B,cAAc,OAAO;AAAA,IACzB,CAAC;AAAA,EACL;AAAA,EACA,YAAY,CAAC,WAAoC,MAAM;AACnD,4CAAiB,OAAO,YAAY;AACpC,4CAAiB,OAAO,sBAAsB;AAAA,EAClD;AAAA,EACA,YAAY,CAAC,WAAoC,MAAM;AACnD,4CAAiB,OAAO,YAAY;AAAA,EACxC;AACJ;AACA,IAAM,oBAAoB,oBAAI,IAA2B;AAClD,SAAS,kBAAkB,QAAuC;AACrE,QAAM,eAAe,cAAc,MAAM,MAAM;AAC/C,QAAM,mBAAmB,cAAc,UAAU,MAAM;AACvD,QAAM,oBAAoB,cAAc,WAAW,MAAM;AACzD,QAAM,oBAAoB,cAAc,WAAW,MAAM;AAEzD,oBAAkB,IAAI,SAAS,YAA6B;AAC5D,oBAAkB,IAAI,aAAa,gBAAiC;AACpE,oBAAkB,IAAI,cAAc,iBAAiB;AACrD,oBAAkB,IAAI,cAAc,iBAAiB;AAErD,SAAO,iBAAiB,SAAS,cAAc,EAAE,SAAS,KAAK,CAAC;AAChE,SAAO,iBAAiB,aAAa,gBAAgB;AACrD,WAAS,gBAAgB,iBAAiB,cAAc,iBAAiB;AACzE,WAAS,gBAAgB,iBAAiB,cAAc,iBAAiB;AAC7E;AAEO,SAAS,qBAAqB,QAA0C;AAC3E,QAAM,eAAe,kBAAkB,IAAI,OAAO;AAClD,QAAM,mBAAmB,kBAAkB,IAAI,WAAW;AAC1D,QAAM,oBAAoB,kBAAkB,IAAI,YAAY;AAC5D,QAAM,oBAAoB,kBAAkB,IAAI,YAAY;AAE5D,MAAI,cAAc;AACd,WAAO,oBAAoB,SAAS,cAAc,EAAE,SAAS,KAAK,CAAC;AAAA,EACvE;AACA,MAAI,kBAAkB;AAClB,WAAO,oBAAoB,aAAa,gBAAgB;AAAA,EAC5D;AACA,MAAI,mBAAmB;AACnB,aAAS,gBAAgB;AAAA,MACrB;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,MAAI,mBAAmB;AACnB,aAAS,gBAAgB;AAAA,MACrB;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,oBAAkB,MAAM;AAC5B;","names":["handleBuilderInteraction","handleMouseHover"]}
|
|
@@ -62,10 +62,16 @@ function removeEventListeners(params) {
|
|
|
62
62
|
window.removeEventListener("mousemove", mousemoveHandler);
|
|
63
63
|
}
|
|
64
64
|
if (mouseleaveHandler) {
|
|
65
|
-
document.documentElement.removeEventListener(
|
|
65
|
+
document.documentElement.removeEventListener(
|
|
66
|
+
"mouseleave",
|
|
67
|
+
mouseleaveHandler
|
|
68
|
+
);
|
|
66
69
|
}
|
|
67
70
|
if (mouseenterHandler) {
|
|
68
|
-
document.documentElement.removeEventListener(
|
|
71
|
+
document.documentElement.removeEventListener(
|
|
72
|
+
"mouseenter",
|
|
73
|
+
mouseenterHandler
|
|
74
|
+
);
|
|
69
75
|
}
|
|
70
76
|
eventListenersMap.clear();
|
|
71
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/listeners/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/listeners/index.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport handleBuilderInteraction from \"./mouseClick\";\nimport handleMouseHover, {\n hideCustomCursor,\n hideHoverOutline,\n showCustomCursor,\n} from \"./mouseHover\";\nimport EventListenerHandlerParams from \"./types\";\n\ntype AddEventListenersParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\"\n>;\n\ntype RemoveEventListenersParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\"\n>;\nconst eventHandlers = {\n click: (params: AddEventListenersParams) => (event: MouseEvent) => {\n handleBuilderInteraction({\n event: event,\n overlayWrapper: params.overlayWrapper,\n visualBuilderContainer: params.visualBuilderContainer,\n previousSelectedEditableDOM:\n VisualBuilder.VisualBuilderGlobalState.value\n .previousSelectedEditableDOM,\n focusedToolbar: params.focusedToolbar,\n resizeObserver: params.resizeObserver,\n });\n },\n mousemove: (params: AddEventListenersParams) => (event: MouseEvent) => {\n handleMouseHover({\n event: event,\n overlayWrapper: params.overlayWrapper,\n visualBuilderContainer: params.visualBuilderContainer,\n customCursor: params.customCursor,\n });\n },\n mouseleave: (params: AddEventListenersParams) => () => {\n hideCustomCursor(params.customCursor);\n hideHoverOutline(params.visualBuilderContainer);\n },\n mouseenter: (params: AddEventListenersParams) => () => {\n showCustomCursor(params.customCursor);\n },\n};\nconst eventListenersMap = new Map<string, EventListener>();\nexport function addEventListeners(params: AddEventListenersParams): void {\n const clickHandler = eventHandlers.click(params);\n const mousemoveHandler = eventHandlers.mousemove(params);\n const mouseleaveHandler = eventHandlers.mouseleave(params);\n const mouseenterHandler = eventHandlers.mouseenter(params);\n\n eventListenersMap.set(\"click\", clickHandler as EventListener);\n eventListenersMap.set(\"mousemove\", mousemoveHandler as EventListener);\n eventListenersMap.set(\"mouseleave\", mouseleaveHandler);\n eventListenersMap.set(\"mouseenter\", mouseenterHandler);\n\n window.addEventListener(\"click\", clickHandler, { capture: true });\n window.addEventListener(\"mousemove\", mousemoveHandler);\n document.documentElement.addEventListener(\"mouseleave\", mouseleaveHandler);\n document.documentElement.addEventListener(\"mouseenter\", mouseenterHandler);\n}\n\nexport function removeEventListeners(params: RemoveEventListenersParams): void {\n const clickHandler = eventListenersMap.get(\"click\");\n const mousemoveHandler = eventListenersMap.get(\"mousemove\");\n const mouseleaveHandler = eventListenersMap.get(\"mouseleave\");\n const mouseenterHandler = eventListenersMap.get(\"mouseenter\");\n\n if (clickHandler) {\n window.removeEventListener(\"click\", clickHandler, { capture: true });\n }\n if (mousemoveHandler) {\n window.removeEventListener(\"mousemove\", mousemoveHandler);\n }\n if (mouseleaveHandler) {\n document.documentElement.removeEventListener(\n \"mouseleave\",\n mouseleaveHandler\n );\n }\n if (mouseenterHandler) {\n document.documentElement.removeEventListener(\n \"mouseenter\",\n mouseenterHandler\n );\n }\n\n eventListenersMap.clear();\n}\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAC9B,OAAO,8BAA8B;AACrC,OAAO;AAAA,EACH;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAYP,IAAM,gBAAgB;AAAA,EAClB,OAAO,CAAC,WAAoC,CAAC,UAAsB;AAC/D,6BAAyB;AAAA,MACrB;AAAA,MACA,gBAAgB,OAAO;AAAA,MACvB,wBAAwB,OAAO;AAAA,MAC/B,6BACI,cAAc,yBAAyB,MAClC;AAAA,MACT,gBAAgB,OAAO;AAAA,MACvB,gBAAgB,OAAO;AAAA,IAC3B,CAAC;AAAA,EACL;AAAA,EACA,WAAW,CAAC,WAAoC,CAAC,UAAsB;AACnE,qBAAiB;AAAA,MACb;AAAA,MACA,gBAAgB,OAAO;AAAA,MACvB,wBAAwB,OAAO;AAAA,MAC/B,cAAc,OAAO;AAAA,IACzB,CAAC;AAAA,EACL;AAAA,EACA,YAAY,CAAC,WAAoC,MAAM;AACnD,qBAAiB,OAAO,YAAY;AACpC,qBAAiB,OAAO,sBAAsB;AAAA,EAClD;AAAA,EACA,YAAY,CAAC,WAAoC,MAAM;AACnD,qBAAiB,OAAO,YAAY;AAAA,EACxC;AACJ;AACA,IAAM,oBAAoB,oBAAI,IAA2B;AAClD,SAAS,kBAAkB,QAAuC;AACrE,QAAM,eAAe,cAAc,MAAM,MAAM;AAC/C,QAAM,mBAAmB,cAAc,UAAU,MAAM;AACvD,QAAM,oBAAoB,cAAc,WAAW,MAAM;AACzD,QAAM,oBAAoB,cAAc,WAAW,MAAM;AAEzD,oBAAkB,IAAI,SAAS,YAA6B;AAC5D,oBAAkB,IAAI,aAAa,gBAAiC;AACpE,oBAAkB,IAAI,cAAc,iBAAiB;AACrD,oBAAkB,IAAI,cAAc,iBAAiB;AAErD,SAAO,iBAAiB,SAAS,cAAc,EAAE,SAAS,KAAK,CAAC;AAChE,SAAO,iBAAiB,aAAa,gBAAgB;AACrD,WAAS,gBAAgB,iBAAiB,cAAc,iBAAiB;AACzE,WAAS,gBAAgB,iBAAiB,cAAc,iBAAiB;AAC7E;AAEO,SAAS,qBAAqB,QAA0C;AAC3E,QAAM,eAAe,kBAAkB,IAAI,OAAO;AAClD,QAAM,mBAAmB,kBAAkB,IAAI,WAAW;AAC1D,QAAM,oBAAoB,kBAAkB,IAAI,YAAY;AAC5D,QAAM,oBAAoB,kBAAkB,IAAI,YAAY;AAE5D,MAAI,cAAc;AACd,WAAO,oBAAoB,SAAS,cAAc,EAAE,SAAS,KAAK,CAAC;AAAA,EACvE;AACA,MAAI,kBAAkB;AAClB,WAAO,oBAAoB,aAAa,gBAAgB;AAAA,EAC5D;AACA,MAAI,mBAAmB;AACnB,aAAS,gBAAgB;AAAA,MACrB;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,MAAI,mBAAmB;AACnB,aAAS,gBAAgB;AAAA,MACrB;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,oBAAkB,MAAM;AAC5B;","names":[]}
|
|
@@ -31,7 +31,8 @@ __export(constants_exports, {
|
|
|
31
31
|
TOP_EDGE_BUFFER: () => TOP_EDGE_BUFFER,
|
|
32
32
|
VISUAL_BUILDER_CHANNEL_ID: () => VISUAL_BUILDER_CHANNEL_ID,
|
|
33
33
|
VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY: () => VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
34
|
-
numericInputRegex: () => numericInputRegex
|
|
34
|
+
numericInputRegex: () => numericInputRegex,
|
|
35
|
+
unicodeNonBreakingSpace: () => unicodeNonBreakingSpace
|
|
35
36
|
});
|
|
36
37
|
module.exports = __toCommonJS(constants_exports);
|
|
37
38
|
var import_types = require("./types/index.types.cjs");
|
|
@@ -66,6 +67,7 @@ var DEFAULT_MULTIPLE_FIELDS = [
|
|
|
66
67
|
import_types.FieldDataType.GROUP,
|
|
67
68
|
import_types.FieldDataType.BLOCK
|
|
68
69
|
];
|
|
70
|
+
var unicodeNonBreakingSpace = "\xA0";
|
|
69
71
|
// Annotate the CommonJS export names for ESM import in node:
|
|
70
72
|
0 && (module.exports = {
|
|
71
73
|
ALLOWED_INLINE_EDITABLE_FIELD,
|
|
@@ -79,6 +81,7 @@ var DEFAULT_MULTIPLE_FIELDS = [
|
|
|
79
81
|
TOP_EDGE_BUFFER,
|
|
80
82
|
VISUAL_BUILDER_CHANNEL_ID,
|
|
81
83
|
VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
82
|
-
numericInputRegex
|
|
84
|
+
numericInputRegex,
|
|
85
|
+
unicodeNonBreakingSpace
|
|
83
86
|
});
|
|
84
87
|
//# sourceMappingURL=constants.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/constants.ts"],"sourcesContent":["import { FieldDataType } from \"./types/index.types\";\n\nexport const numericInputRegex = /^-?\\d*(\\.\\d*)?([eE][-+]?\\d*)?$/;\n\nexport const VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY = \"data-cslp-field-type\";\n\nexport const VISUAL_BUILDER_CHANNEL_ID = \"visual-builder\";\n\nexport const LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX = 2;\n\n// Minimum distance from top edge to prevent toolbar from being hidden\nexport const TOP_EDGE_BUFFER = 42;\nexport const RIGHT_EDGE_BUFFER = 180;\n\nexport const TOOLBAR_EDGE_BUFFER = 8;\n\nexport const DATA_CSLP_ATTR_SELECTOR = \"data-cslp\";\n\n/**\n * The field that can be directly modified using contenteditable=true.\n * This includes all text fields like title and numbers.\n */\nexport const ALLOWED_INLINE_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.SINGLELINE,\n FieldDataType.MULTILINE,\n FieldDataType.NUMBER,\n];\n\nexport const ALLOWED_MODAL_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.HTML_RTE,\n FieldDataType.MARKDOWN_RTE,\n FieldDataType.JSON_RTE,\n FieldDataType.CUSTOM_FIELD,\n FieldDataType.LINK,\n FieldDataType.ISODATE,\n FieldDataType.URL,\n];\n\nexport const ALLOWED_REPLACE_FIELDS: FieldDataType[] = [\n FieldDataType.REFERENCE,\n FieldDataType.FILE,\n];\n\nexport const DEFAULT_MULTIPLE_FIELDS: FieldDataType[] = [\n FieldDataType.GLOBAL_FIELD,\n FieldDataType.GROUP,\n FieldDataType.BLOCK,\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAEvB,IAAM,oBAAoB;AAE1B,IAAM,0CAA0C;AAEhD,IAAM,4BAA4B;AAElC,IAAM,mCAAmC;AAGzC,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAE1B,IAAM,sBAAsB;AAE5B,IAAM,0BAA0B;AAMhC,IAAM,gCAAiD;AAAA,EAC1D,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,+BAAgD;AAAA,EACzD,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,yBAA0C;AAAA,EACnD,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,0BAA2C;AAAA,EACpD,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAClB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/constants.ts"],"sourcesContent":["import { FieldDataType } from \"./types/index.types\";\n\nexport const numericInputRegex = /^-?\\d*(\\.\\d*)?([eE][-+]?\\d*)?$/;\n\nexport const VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY = \"data-cslp-field-type\";\n\nexport const VISUAL_BUILDER_CHANNEL_ID = \"visual-builder\";\n\nexport const LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX = 2;\n\n// Minimum distance from top edge to prevent toolbar from being hidden\nexport const TOP_EDGE_BUFFER = 42;\nexport const RIGHT_EDGE_BUFFER = 180;\n\nexport const TOOLBAR_EDGE_BUFFER = 8;\n\nexport const DATA_CSLP_ATTR_SELECTOR = \"data-cslp\";\n\n/**\n * The field that can be directly modified using contenteditable=true.\n * This includes all text fields like title and numbers.\n */\nexport const ALLOWED_INLINE_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.SINGLELINE,\n FieldDataType.MULTILINE,\n FieldDataType.NUMBER,\n];\n\nexport const ALLOWED_MODAL_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.HTML_RTE,\n FieldDataType.MARKDOWN_RTE,\n FieldDataType.JSON_RTE,\n FieldDataType.CUSTOM_FIELD,\n FieldDataType.LINK,\n FieldDataType.ISODATE,\n FieldDataType.URL,\n];\n\nexport const ALLOWED_REPLACE_FIELDS: FieldDataType[] = [\n FieldDataType.REFERENCE,\n FieldDataType.FILE,\n];\n\nexport const DEFAULT_MULTIPLE_FIELDS: FieldDataType[] = [\n FieldDataType.GLOBAL_FIELD,\n FieldDataType.GROUP,\n FieldDataType.BLOCK,\n];\n\nexport const unicodeNonBreakingSpace = \"\\u00A0\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAEvB,IAAM,oBAAoB;AAE1B,IAAM,0CAA0C;AAEhD,IAAM,4BAA4B;AAElC,IAAM,mCAAmC;AAGzC,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAE1B,IAAM,sBAAsB;AAE5B,IAAM,0BAA0B;AAMhC,IAAM,gCAAiD;AAAA,EAC1D,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,+BAAgD;AAAA,EACzD,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,yBAA0C;AAAA,EACnD,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,0BAA2C;AAAA,EACpD,2BAAc;AAAA,EACd,2BAAc;AAAA,EACd,2BAAc;AAClB;AAEO,IAAM,0BAA0B;","names":[]}
|
|
@@ -17,5 +17,6 @@ declare const ALLOWED_INLINE_EDITABLE_FIELD: FieldDataType[];
|
|
|
17
17
|
declare const ALLOWED_MODAL_EDITABLE_FIELD: FieldDataType[];
|
|
18
18
|
declare const ALLOWED_REPLACE_FIELDS: FieldDataType[];
|
|
19
19
|
declare const DEFAULT_MULTIPLE_FIELDS: FieldDataType[];
|
|
20
|
+
declare const unicodeNonBreakingSpace = "\u00A0";
|
|
20
21
|
|
|
21
|
-
export { ALLOWED_INLINE_EDITABLE_FIELD, ALLOWED_MODAL_EDITABLE_FIELD, ALLOWED_REPLACE_FIELDS, DATA_CSLP_ATTR_SELECTOR, DEFAULT_MULTIPLE_FIELDS, LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX, RIGHT_EDGE_BUFFER, TOOLBAR_EDGE_BUFFER, TOP_EDGE_BUFFER, VISUAL_BUILDER_CHANNEL_ID, VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY, numericInputRegex };
|
|
22
|
+
export { ALLOWED_INLINE_EDITABLE_FIELD, ALLOWED_MODAL_EDITABLE_FIELD, ALLOWED_REPLACE_FIELDS, DATA_CSLP_ATTR_SELECTOR, DEFAULT_MULTIPLE_FIELDS, LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX, RIGHT_EDGE_BUFFER, TOOLBAR_EDGE_BUFFER, TOP_EDGE_BUFFER, VISUAL_BUILDER_CHANNEL_ID, VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY, numericInputRegex, unicodeNonBreakingSpace };
|
|
@@ -17,5 +17,6 @@ declare const ALLOWED_INLINE_EDITABLE_FIELD: FieldDataType[];
|
|
|
17
17
|
declare const ALLOWED_MODAL_EDITABLE_FIELD: FieldDataType[];
|
|
18
18
|
declare const ALLOWED_REPLACE_FIELDS: FieldDataType[];
|
|
19
19
|
declare const DEFAULT_MULTIPLE_FIELDS: FieldDataType[];
|
|
20
|
+
declare const unicodeNonBreakingSpace = "\u00A0";
|
|
20
21
|
|
|
21
|
-
export { ALLOWED_INLINE_EDITABLE_FIELD, ALLOWED_MODAL_EDITABLE_FIELD, ALLOWED_REPLACE_FIELDS, DATA_CSLP_ATTR_SELECTOR, DEFAULT_MULTIPLE_FIELDS, LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX, RIGHT_EDGE_BUFFER, TOOLBAR_EDGE_BUFFER, TOP_EDGE_BUFFER, VISUAL_BUILDER_CHANNEL_ID, VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY, numericInputRegex };
|
|
22
|
+
export { ALLOWED_INLINE_EDITABLE_FIELD, ALLOWED_MODAL_EDITABLE_FIELD, ALLOWED_REPLACE_FIELDS, DATA_CSLP_ATTR_SELECTOR, DEFAULT_MULTIPLE_FIELDS, LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX, RIGHT_EDGE_BUFFER, TOOLBAR_EDGE_BUFFER, TOP_EDGE_BUFFER, VISUAL_BUILDER_CHANNEL_ID, VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY, numericInputRegex, unicodeNonBreakingSpace };
|
|
@@ -33,6 +33,7 @@ var DEFAULT_MULTIPLE_FIELDS = [
|
|
|
33
33
|
FieldDataType.GROUP,
|
|
34
34
|
FieldDataType.BLOCK
|
|
35
35
|
];
|
|
36
|
+
var unicodeNonBreakingSpace = "\xA0";
|
|
36
37
|
export {
|
|
37
38
|
ALLOWED_INLINE_EDITABLE_FIELD,
|
|
38
39
|
ALLOWED_MODAL_EDITABLE_FIELD,
|
|
@@ -45,6 +46,7 @@ export {
|
|
|
45
46
|
TOP_EDGE_BUFFER,
|
|
46
47
|
VISUAL_BUILDER_CHANNEL_ID,
|
|
47
48
|
VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
48
|
-
numericInputRegex
|
|
49
|
+
numericInputRegex,
|
|
50
|
+
unicodeNonBreakingSpace
|
|
49
51
|
};
|
|
50
52
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/constants.ts"],"sourcesContent":["import { FieldDataType } from \"./types/index.types\";\n\nexport const numericInputRegex = /^-?\\d*(\\.\\d*)?([eE][-+]?\\d*)?$/;\n\nexport const VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY = \"data-cslp-field-type\";\n\nexport const VISUAL_BUILDER_CHANNEL_ID = \"visual-builder\";\n\nexport const LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX = 2;\n\n// Minimum distance from top edge to prevent toolbar from being hidden\nexport const TOP_EDGE_BUFFER = 42;\nexport const RIGHT_EDGE_BUFFER = 180;\n\nexport const TOOLBAR_EDGE_BUFFER = 8;\n\nexport const DATA_CSLP_ATTR_SELECTOR = \"data-cslp\";\n\n/**\n * The field that can be directly modified using contenteditable=true.\n * This includes all text fields like title and numbers.\n */\nexport const ALLOWED_INLINE_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.SINGLELINE,\n FieldDataType.MULTILINE,\n FieldDataType.NUMBER,\n];\n\nexport const ALLOWED_MODAL_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.HTML_RTE,\n FieldDataType.MARKDOWN_RTE,\n FieldDataType.JSON_RTE,\n FieldDataType.CUSTOM_FIELD,\n FieldDataType.LINK,\n FieldDataType.ISODATE,\n FieldDataType.URL,\n];\n\nexport const ALLOWED_REPLACE_FIELDS: FieldDataType[] = [\n FieldDataType.REFERENCE,\n FieldDataType.FILE,\n];\n\nexport const DEFAULT_MULTIPLE_FIELDS: FieldDataType[] = [\n FieldDataType.GLOBAL_FIELD,\n FieldDataType.GROUP,\n FieldDataType.BLOCK,\n];\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAEvB,IAAM,oBAAoB;AAE1B,IAAM,0CAA0C;AAEhD,IAAM,4BAA4B;AAElC,IAAM,mCAAmC;AAGzC,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAE1B,IAAM,sBAAsB;AAE5B,IAAM,0BAA0B;AAMhC,IAAM,gCAAiD;AAAA,EAC1D,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,+BAAgD;AAAA,EACzD,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,yBAA0C;AAAA,EACnD,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,0BAA2C;AAAA,EACpD,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAClB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/constants.ts"],"sourcesContent":["import { FieldDataType } from \"./types/index.types\";\n\nexport const numericInputRegex = /^-?\\d*(\\.\\d*)?([eE][-+]?\\d*)?$/;\n\nexport const VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY = \"data-cslp-field-type\";\n\nexport const VISUAL_BUILDER_CHANNEL_ID = \"visual-builder\";\n\nexport const LIVE_PREVIEW_OUTLINE_WIDTH_IN_PX = 2;\n\n// Minimum distance from top edge to prevent toolbar from being hidden\nexport const TOP_EDGE_BUFFER = 42;\nexport const RIGHT_EDGE_BUFFER = 180;\n\nexport const TOOLBAR_EDGE_BUFFER = 8;\n\nexport const DATA_CSLP_ATTR_SELECTOR = \"data-cslp\";\n\n/**\n * The field that can be directly modified using contenteditable=true.\n * This includes all text fields like title and numbers.\n */\nexport const ALLOWED_INLINE_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.SINGLELINE,\n FieldDataType.MULTILINE,\n FieldDataType.NUMBER,\n];\n\nexport const ALLOWED_MODAL_EDITABLE_FIELD: FieldDataType[] = [\n FieldDataType.HTML_RTE,\n FieldDataType.MARKDOWN_RTE,\n FieldDataType.JSON_RTE,\n FieldDataType.CUSTOM_FIELD,\n FieldDataType.LINK,\n FieldDataType.ISODATE,\n FieldDataType.URL,\n];\n\nexport const ALLOWED_REPLACE_FIELDS: FieldDataType[] = [\n FieldDataType.REFERENCE,\n FieldDataType.FILE,\n];\n\nexport const DEFAULT_MULTIPLE_FIELDS: FieldDataType[] = [\n FieldDataType.GLOBAL_FIELD,\n FieldDataType.GROUP,\n FieldDataType.BLOCK,\n];\n\nexport const unicodeNonBreakingSpace = \"\\u00A0\";\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAEvB,IAAM,oBAAoB;AAE1B,IAAM,0CAA0C;AAEhD,IAAM,4BAA4B;AAElC,IAAM,mCAAmC;AAGzC,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAE1B,IAAM,sBAAsB;AAE5B,IAAM,0BAA0B;AAMhC,IAAM,gCAAiD;AAAA,EAC1D,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,+BAAgD;AAAA,EACzD,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,yBAA0C;AAAA,EACnD,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,0BAA2C;AAAA,EACpD,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAClB;AAEO,IAAM,0BAA0B;","names":[]}
|
|
@@ -31,22 +31,22 @@ function getFieldType(fieldSchema) {
|
|
|
31
31
|
}
|
|
32
32
|
switch (fieldSchema.data_type) {
|
|
33
33
|
case "text": {
|
|
34
|
-
if (fieldSchema?.
|
|
34
|
+
if (fieldSchema.field_metadata?.multiline) {
|
|
35
35
|
return import_types.FieldDataType.MULTILINE;
|
|
36
|
-
} else if (fieldSchema?.
|
|
36
|
+
} else if (fieldSchema.field_metadata?.allow_rich_text) {
|
|
37
37
|
return import_types.FieldDataType.HTML_RTE;
|
|
38
|
-
} else if (fieldSchema?.
|
|
38
|
+
} else if (fieldSchema.field_metadata?.markdown) {
|
|
39
39
|
return import_types.FieldDataType.MARKDOWN_RTE;
|
|
40
40
|
} else if (fieldSchema.enum) {
|
|
41
41
|
return import_types.FieldDataType.SELECT;
|
|
42
|
-
} else if (fieldSchema.uid === "url" && fieldSchema.field_metadata
|
|
42
|
+
} else if (fieldSchema.uid === "url" && fieldSchema.field_metadata?._default) {
|
|
43
43
|
return import_types.FieldDataType.URL;
|
|
44
44
|
} else {
|
|
45
45
|
return import_types.FieldDataType.SINGLELINE;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
case "json": {
|
|
49
|
-
if (fieldSchema.field_metadata
|
|
49
|
+
if (fieldSchema.field_metadata?.allow_json_rte) {
|
|
50
50
|
return import_types.FieldDataType.JSON_RTE;
|
|
51
51
|
}
|
|
52
52
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/getFieldType.ts"],"sourcesContent":["// @ts-nocheck\nimport { ISchemaFieldMap, FieldDataType } from \"./types/index.types\";\n\nexport function getFieldType(fieldSchema: ISchemaFieldMap): FieldDataType {\n if(!fieldSchema) return;\n if (Object.hasOwnProperty.call(fieldSchema, \"extension_uid\")) {\n return FieldDataType.CUSTOM_FIELD;\n }\n\n switch (fieldSchema.data_type) {\n case \"text\": {\n if (fieldSchema?.
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/getFieldType.ts"],"sourcesContent":["// @ts-nocheck\nimport { ISchemaFieldMap, FieldDataType } from \"./types/index.types\";\n\nexport function getFieldType(fieldSchema: ISchemaFieldMap): FieldDataType {\n if (!fieldSchema) return;\n if (Object.hasOwnProperty.call(fieldSchema, \"extension_uid\")) {\n return FieldDataType.CUSTOM_FIELD;\n }\n\n switch (fieldSchema.data_type) {\n case \"text\": {\n if (fieldSchema.field_metadata?.multiline) {\n return FieldDataType.MULTILINE;\n } else if (fieldSchema.field_metadata?.allow_rich_text) {\n return FieldDataType.HTML_RTE;\n } else if (fieldSchema.field_metadata?.markdown) {\n return FieldDataType.MARKDOWN_RTE;\n } else if (fieldSchema.enum) {\n return FieldDataType.SELECT;\n } else if (\n fieldSchema.uid === \"url\" &&\n fieldSchema.field_metadata?._default\n ) {\n return FieldDataType.URL;\n } else {\n return FieldDataType.SINGLELINE;\n }\n }\n case \"json\": {\n if (fieldSchema.field_metadata?.allow_json_rte) {\n return FieldDataType.JSON_RTE;\n }\n break;\n }\n\n case \"blocks\": {\n return \"modular_block\";\n }\n case \"link\":\n case \"isodate\":\n case \"boolean\":\n case \"block\":\n case \"number\":\n case \"reference\":\n case \"group\":\n case \"experience_container\":\n case \"file\":\n case \"taxonomy\":\n case \"global_field\": {\n return FieldDataType[fieldSchema.data_type.toUpperCase()];\n }\n }\n\n return \"\";\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA+C;AAExC,SAAS,aAAa,aAA6C;AACtE,MAAI,CAAC,YAAa;AAClB,MAAI,OAAO,eAAe,KAAK,aAAa,eAAe,GAAG;AAC1D,WAAO,2BAAc;AAAA,EACzB;AAEA,UAAQ,YAAY,WAAW;AAAA,IAC3B,KAAK,QAAQ;AACT,UAAI,YAAY,gBAAgB,WAAW;AACvC,eAAO,2BAAc;AAAA,MACzB,WAAW,YAAY,gBAAgB,iBAAiB;AACpD,eAAO,2BAAc;AAAA,MACzB,WAAW,YAAY,gBAAgB,UAAU;AAC7C,eAAO,2BAAc;AAAA,MACzB,WAAW,YAAY,MAAM;AACzB,eAAO,2BAAc;AAAA,MACzB,WACI,YAAY,QAAQ,SACpB,YAAY,gBAAgB,UAC9B;AACE,eAAO,2BAAc;AAAA,MACzB,OAAO;AACH,eAAO,2BAAc;AAAA,MACzB;AAAA,IACJ;AAAA,IACA,KAAK,QAAQ;AACT,UAAI,YAAY,gBAAgB,gBAAgB;AAC5C,eAAO,2BAAc;AAAA,MACzB;AACA;AAAA,IACJ;AAAA,IAEA,KAAK,UAAU;AACX,aAAO;AAAA,IACX;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,gBAAgB;AACjB,aAAO,2BAAc,YAAY,UAAU,YAAY,CAAC;AAAA,IAC5D;AAAA,EACJ;AAEA,SAAO;AACX;","names":[]}
|
|
@@ -9,22 +9,22 @@ function getFieldType(fieldSchema) {
|
|
|
9
9
|
}
|
|
10
10
|
switch (fieldSchema.data_type) {
|
|
11
11
|
case "text": {
|
|
12
|
-
if (fieldSchema?.
|
|
12
|
+
if (fieldSchema.field_metadata?.multiline) {
|
|
13
13
|
return FieldDataType.MULTILINE;
|
|
14
|
-
} else if (fieldSchema?.
|
|
14
|
+
} else if (fieldSchema.field_metadata?.allow_rich_text) {
|
|
15
15
|
return FieldDataType.HTML_RTE;
|
|
16
|
-
} else if (fieldSchema?.
|
|
16
|
+
} else if (fieldSchema.field_metadata?.markdown) {
|
|
17
17
|
return FieldDataType.MARKDOWN_RTE;
|
|
18
18
|
} else if (fieldSchema.enum) {
|
|
19
19
|
return FieldDataType.SELECT;
|
|
20
|
-
} else if (fieldSchema.uid === "url" && fieldSchema.field_metadata
|
|
20
|
+
} else if (fieldSchema.uid === "url" && fieldSchema.field_metadata?._default) {
|
|
21
21
|
return FieldDataType.URL;
|
|
22
22
|
} else {
|
|
23
23
|
return FieldDataType.SINGLELINE;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
case "json": {
|
|
27
|
-
if (fieldSchema.field_metadata
|
|
27
|
+
if (fieldSchema.field_metadata?.allow_json_rte) {
|
|
28
28
|
return FieldDataType.JSON_RTE;
|
|
29
29
|
}
|
|
30
30
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/getFieldType.ts"],"sourcesContent":["// @ts-nocheck\nimport { ISchemaFieldMap, FieldDataType } from \"./types/index.types\";\n\nexport function getFieldType(fieldSchema: ISchemaFieldMap): FieldDataType {\n if(!fieldSchema) return;\n if (Object.hasOwnProperty.call(fieldSchema, \"extension_uid\")) {\n return FieldDataType.CUSTOM_FIELD;\n }\n\n switch (fieldSchema.data_type) {\n case \"text\": {\n if (fieldSchema?.
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/getFieldType.ts"],"sourcesContent":["// @ts-nocheck\nimport { ISchemaFieldMap, FieldDataType } from \"./types/index.types\";\n\nexport function getFieldType(fieldSchema: ISchemaFieldMap): FieldDataType {\n if (!fieldSchema) return;\n if (Object.hasOwnProperty.call(fieldSchema, \"extension_uid\")) {\n return FieldDataType.CUSTOM_FIELD;\n }\n\n switch (fieldSchema.data_type) {\n case \"text\": {\n if (fieldSchema.field_metadata?.multiline) {\n return FieldDataType.MULTILINE;\n } else if (fieldSchema.field_metadata?.allow_rich_text) {\n return FieldDataType.HTML_RTE;\n } else if (fieldSchema.field_metadata?.markdown) {\n return FieldDataType.MARKDOWN_RTE;\n } else if (fieldSchema.enum) {\n return FieldDataType.SELECT;\n } else if (\n fieldSchema.uid === \"url\" &&\n fieldSchema.field_metadata?._default\n ) {\n return FieldDataType.URL;\n } else {\n return FieldDataType.SINGLELINE;\n }\n }\n case \"json\": {\n if (fieldSchema.field_metadata?.allow_json_rte) {\n return FieldDataType.JSON_RTE;\n }\n break;\n }\n\n case \"blocks\": {\n return \"modular_block\";\n }\n case \"link\":\n case \"isodate\":\n case \"boolean\":\n case \"block\":\n case \"number\":\n case \"reference\":\n case \"group\":\n case \"experience_container\":\n case \"file\":\n case \"taxonomy\":\n case \"global_field\": {\n return FieldDataType[fieldSchema.data_type.toUpperCase()];\n }\n }\n\n return \"\";\n}\n"],"mappings":";;;AACA,SAA0B,qBAAqB;AAExC,SAAS,aAAa,aAA6C;AACtE,MAAI,CAAC,YAAa;AAClB,MAAI,OAAO,eAAe,KAAK,aAAa,eAAe,GAAG;AAC1D,WAAO,cAAc;AAAA,EACzB;AAEA,UAAQ,YAAY,WAAW;AAAA,IAC3B,KAAK,QAAQ;AACT,UAAI,YAAY,gBAAgB,WAAW;AACvC,eAAO,cAAc;AAAA,MACzB,WAAW,YAAY,gBAAgB,iBAAiB;AACpD,eAAO,cAAc;AAAA,MACzB,WAAW,YAAY,gBAAgB,UAAU;AAC7C,eAAO,cAAc;AAAA,MACzB,WAAW,YAAY,MAAM;AACzB,eAAO,cAAc;AAAA,MACzB,WACI,YAAY,QAAQ,SACpB,YAAY,gBAAgB,UAC9B;AACE,eAAO,cAAc;AAAA,MACzB,OAAO;AACH,eAAO,cAAc;AAAA,MACzB;AAAA,IACJ;AAAA,IACA,KAAK,QAAQ;AACT,UAAI,YAAY,gBAAgB,gBAAgB;AAC5C,eAAO,cAAc;AAAA,MACzB;AACA;AAAA,IACJ;AAAA,IAEA,KAAK,UAAU;AACX,aAAO;AAAA,IACX;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK,gBAAgB;AACjB,aAAO,cAAc,YAAY,UAAU,YAAY,CAAC;AAAA,IAC5D;AAAA,EACJ;AAEA,SAAO;AACX;","names":[]}
|
|
@@ -29,6 +29,7 @@ var import_generateOverlay = require("../generators/generateOverlay.cjs");
|
|
|
29
29
|
var import_constants = require("./constants.cjs");
|
|
30
30
|
var import_types = require("./types/index.types.cjs");
|
|
31
31
|
var import_postMessage = require("./types/postMessage.types.cjs");
|
|
32
|
+
var import_insertSpaceAtCursor = require("./insertSpaceAtCursor.cjs");
|
|
32
33
|
function handleFieldInput(e) {
|
|
33
34
|
const event = e;
|
|
34
35
|
const targetElement = event.target;
|
|
@@ -59,12 +60,21 @@ function handleFieldKeyDown(e) {
|
|
|
59
60
|
const fieldType = targetElement.getAttribute(
|
|
60
61
|
import_constants.VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY
|
|
61
62
|
);
|
|
63
|
+
if (targetElement.tagName === "BUTTON") {
|
|
64
|
+
handleKeyDownOnButton(event);
|
|
65
|
+
}
|
|
62
66
|
if (fieldType === import_types.FieldDataType.NUMBER) {
|
|
63
67
|
handleNumericFieldKeyDown(event);
|
|
64
68
|
} else if (fieldType === import_types.FieldDataType.SINGLELINE) {
|
|
65
69
|
handleSingleLineFieldKeyDown(event);
|
|
66
70
|
}
|
|
67
71
|
}
|
|
72
|
+
function handleKeyDownOnButton(e) {
|
|
73
|
+
if (e.code === "Space" && e.target) {
|
|
74
|
+
e.preventDefault();
|
|
75
|
+
(0, import_insertSpaceAtCursor.insertSpaceAtCursor)(e.target);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
68
78
|
function handleSingleLineFieldKeyDown(e) {
|
|
69
79
|
if (e.code === "Enter") {
|
|
70
80
|
e.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleFieldMouseDown.ts"],"sourcesContent":["import { throttle } from \"lodash-es\";\nimport { sendFieldEvent } from \"../generators/generateOverlay\";\nimport {\n ALLOWED_INLINE_EDITABLE_FIELD,\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,\n numericInputRegex,\n} from \"./constants\";\nimport { FieldDataType } from \"./types/index.types\";\nimport { VisualBuilderPostMessageEvents } from \"./types/postMessage.types\";\n\nexport function handleFieldInput(e: Event): void {\n const event = e as InputEvent;\n const targetElement = event.target as HTMLElement;\n const fieldType = targetElement.getAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n ) as FieldDataType | null;\n if (event.type === \"input\"
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleFieldMouseDown.ts"],"sourcesContent":["import { throttle } from \"lodash-es\";\nimport { sendFieldEvent } from \"../generators/generateOverlay\";\nimport {\n ALLOWED_INLINE_EDITABLE_FIELD,\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,\n numericInputRegex,\n} from \"./constants\";\nimport { FieldDataType } from \"./types/index.types\";\nimport { VisualBuilderPostMessageEvents } from \"./types/postMessage.types\";\nimport { insertSpaceAtCursor } from \"./insertSpaceAtCursor\";\n\nexport function handleFieldInput(e: Event): void {\n const event = e as InputEvent;\n const targetElement = event.target as HTMLElement;\n const fieldType = targetElement.getAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n ) as FieldDataType | null;\n if (\n event.type === \"input\" &&\n ALLOWED_INLINE_EDITABLE_FIELD.includes(fieldType as FieldDataType)\n ) {\n throttledFieldSync();\n }\n}\nconst throttledFieldSync = throttle(() => {\n try {\n const visualBuilderContainer = document.querySelector(\n \".visual-builder__container\"\n ) as HTMLElement;\n if (!visualBuilderContainer) return;\n sendFieldEvent({\n visualBuilderContainer,\n eventType: VisualBuilderPostMessageEvents.SYNC_FIELD,\n });\n } catch (error) {\n console.error(\"Error in throttledFieldSync\", error);\n }\n}, 300);\n\nexport function handleFieldKeyDown(e: Event): void {\n const event = e as KeyboardEvent;\n const targetElement = event.target as HTMLElement;\n const fieldType = targetElement.getAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n ) as FieldDataType | null;\n\n if (targetElement.tagName === \"BUTTON\") {\n handleKeyDownOnButton(event);\n }\n if (fieldType === FieldDataType.NUMBER) {\n handleNumericFieldKeyDown(event);\n } else if (fieldType === FieldDataType.SINGLELINE) {\n handleSingleLineFieldKeyDown(event);\n }\n}\n\n// spaces do not work inside a button content-editable\n// this adds a space and moves the cursor ahead, the\n// button press event is also prevented\nfunction handleKeyDownOnButton(e: KeyboardEvent) {\n if (e.code === \"Space\" && e.target) {\n e.preventDefault();\n insertSpaceAtCursor(e.target as HTMLElement);\n }\n}\n\nfunction handleSingleLineFieldKeyDown(e: KeyboardEvent) {\n if (e.code === \"Enter\") {\n e.preventDefault();\n }\n}\n\nfunction handleNumericFieldKeyDown(event: KeyboardEvent): void {\n const targetElement = event.target as HTMLElement;\n\n const allowedKeys = [\n \"Backspace\",\n \"Tab\",\n \"Enter\",\n \"End\",\n \"Home\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Delete\",\n ];\n\n if (\n event.ctrlKey ||\n event.metaKey ||\n event.altKey ||\n allowedKeys.includes(event.code)\n ) {\n // Allow Ctrl, Cmd, Alt, and special keys\n return;\n }\n\n if (event.code.includes(\"Digit\")) {\n return;\n }\n\n const nonNumericAllowedCharacters = [\"-\", \".\", \"e\", \"E\"];\n\n if (!nonNumericAllowedCharacters.includes(event.key)) {\n event.preventDefault();\n return;\n }\n\n const selection = {\n startOffset: window.getSelection()?.getRangeAt(0).startOffset || 0,\n endOffset: window.getSelection()?.getRangeAt(0).endOffset || 0,\n };\n\n const existingInput = targetElement.textContent || \"\";\n const currentOutputArr = existingInput.split(\"\");\n currentOutputArr.splice(\n selection.startOffset,\n selection.endOffset - selection.startOffset,\n event.key\n );\n const currentInput = currentOutputArr.join(\"\");\n\n if (!numericInputRegex.test(currentInput)) {\n event.preventDefault();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB;AACzB,6BAA+B;AAC/B,uBAIO;AACP,mBAA8B;AAC9B,yBAA+C;AAC/C,iCAAoC;AAE7B,SAAS,iBAAiB,GAAgB;AAC7C,QAAM,QAAQ;AACd,QAAM,gBAAgB,MAAM;AAC5B,QAAM,YAAY,cAAc;AAAA,IAC5B;AAAA,EACJ;AACA,MACI,MAAM,SAAS,WACf,+CAA8B,SAAS,SAA0B,GACnE;AACE,uBAAmB;AAAA,EACvB;AACJ;AACA,IAAM,yBAAqB,2BAAS,MAAM;AACtC,MAAI;AACA,UAAM,yBAAyB,SAAS;AAAA,MACpC;AAAA,IACJ;AACA,QAAI,CAAC,uBAAwB;AAC7B,+CAAe;AAAA,MACX;AAAA,MACA,WAAW,kDAA+B;AAAA,IAC9C,CAAC;AAAA,EACL,SAAS,OAAO;AACZ,YAAQ,MAAM,+BAA+B,KAAK;AAAA,EACtD;AACJ,GAAG,GAAG;AAEC,SAAS,mBAAmB,GAAgB;AAC/C,QAAM,QAAQ;AACd,QAAM,gBAAgB,MAAM;AAC5B,QAAM,YAAY,cAAc;AAAA,IAC5B;AAAA,EACJ;AAEA,MAAI,cAAc,YAAY,UAAU;AACpC,0BAAsB,KAAK;AAAA,EAC/B;AACA,MAAI,cAAc,2BAAc,QAAQ;AACpC,8BAA0B,KAAK;AAAA,EACnC,WAAW,cAAc,2BAAc,YAAY;AAC/C,iCAA6B,KAAK;AAAA,EACtC;AACJ;AAKA,SAAS,sBAAsB,GAAkB;AAC7C,MAAI,EAAE,SAAS,WAAW,EAAE,QAAQ;AAChC,MAAE,eAAe;AACjB,wDAAoB,EAAE,MAAqB;AAAA,EAC/C;AACJ;AAEA,SAAS,6BAA6B,GAAkB;AACpD,MAAI,EAAE,SAAS,SAAS;AACpB,MAAE,eAAe;AAAA,EACrB;AACJ;AAEA,SAAS,0BAA0B,OAA4B;AAC3D,QAAM,gBAAgB,MAAM;AAE5B,QAAM,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,MACI,MAAM,WACN,MAAM,WACN,MAAM,UACN,YAAY,SAAS,MAAM,IAAI,GACjC;AAEE;AAAA,EACJ;AAEA,MAAI,MAAM,KAAK,SAAS,OAAO,GAAG;AAC9B;AAAA,EACJ;AAEA,QAAM,8BAA8B,CAAC,KAAK,KAAK,KAAK,GAAG;AAEvD,MAAI,CAAC,4BAA4B,SAAS,MAAM,GAAG,GAAG;AAClD,UAAM,eAAe;AACrB;AAAA,EACJ;AAEA,QAAM,YAAY;AAAA,IACd,aAAa,OAAO,aAAa,GAAG,WAAW,CAAC,EAAE,eAAe;AAAA,IACjE,WAAW,OAAO,aAAa,GAAG,WAAW,CAAC,EAAE,aAAa;AAAA,EACjE;AAEA,QAAM,gBAAgB,cAAc,eAAe;AACnD,QAAM,mBAAmB,cAAc,MAAM,EAAE;AAC/C,mBAAiB;AAAA,IACb,UAAU;AAAA,IACV,UAAU,YAAY,UAAU;AAAA,IAChC,MAAM;AAAA,EACV;AACA,QAAM,eAAe,iBAAiB,KAAK,EAAE;AAE7C,MAAI,CAAC,mCAAkB,KAAK,YAAY,GAAG;AACvC,UAAM,eAAe;AAAA,EACzB;AACJ;","names":[]}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
} from "./constants.js";
|
|
11
11
|
import { FieldDataType } from "./types/index.types.js";
|
|
12
12
|
import { VisualBuilderPostMessageEvents } from "./types/postMessage.types.js";
|
|
13
|
+
import { insertSpaceAtCursor } from "./insertSpaceAtCursor.js";
|
|
13
14
|
function handleFieldInput(e) {
|
|
14
15
|
const event = e;
|
|
15
16
|
const targetElement = event.target;
|
|
@@ -40,12 +41,21 @@ function handleFieldKeyDown(e) {
|
|
|
40
41
|
const fieldType = targetElement.getAttribute(
|
|
41
42
|
VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY
|
|
42
43
|
);
|
|
44
|
+
if (targetElement.tagName === "BUTTON") {
|
|
45
|
+
handleKeyDownOnButton(event);
|
|
46
|
+
}
|
|
43
47
|
if (fieldType === FieldDataType.NUMBER) {
|
|
44
48
|
handleNumericFieldKeyDown(event);
|
|
45
49
|
} else if (fieldType === FieldDataType.SINGLELINE) {
|
|
46
50
|
handleSingleLineFieldKeyDown(event);
|
|
47
51
|
}
|
|
48
52
|
}
|
|
53
|
+
function handleKeyDownOnButton(e) {
|
|
54
|
+
if (e.code === "Space" && e.target) {
|
|
55
|
+
e.preventDefault();
|
|
56
|
+
insertSpaceAtCursor(e.target);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
49
59
|
function handleSingleLineFieldKeyDown(e) {
|
|
50
60
|
if (e.code === "Enter") {
|
|
51
61
|
e.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleFieldMouseDown.ts"],"sourcesContent":["import { throttle } from \"lodash-es\";\nimport { sendFieldEvent } from \"../generators/generateOverlay\";\nimport {\n ALLOWED_INLINE_EDITABLE_FIELD,\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,\n numericInputRegex,\n} from \"./constants\";\nimport { FieldDataType } from \"./types/index.types\";\nimport { VisualBuilderPostMessageEvents } from \"./types/postMessage.types\";\n\nexport function handleFieldInput(e: Event): void {\n const event = e as InputEvent;\n const targetElement = event.target as HTMLElement;\n const fieldType = targetElement.getAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n ) as FieldDataType | null;\n if (event.type === \"input\"
|
|
1
|
+
{"version":3,"sources":["../../../../src/visualBuilder/utils/handleFieldMouseDown.ts"],"sourcesContent":["import { throttle } from \"lodash-es\";\nimport { sendFieldEvent } from \"../generators/generateOverlay\";\nimport {\n ALLOWED_INLINE_EDITABLE_FIELD,\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,\n numericInputRegex,\n} from \"./constants\";\nimport { FieldDataType } from \"./types/index.types\";\nimport { VisualBuilderPostMessageEvents } from \"./types/postMessage.types\";\nimport { insertSpaceAtCursor } from \"./insertSpaceAtCursor\";\n\nexport function handleFieldInput(e: Event): void {\n const event = e as InputEvent;\n const targetElement = event.target as HTMLElement;\n const fieldType = targetElement.getAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n ) as FieldDataType | null;\n if (\n event.type === \"input\" &&\n ALLOWED_INLINE_EDITABLE_FIELD.includes(fieldType as FieldDataType)\n ) {\n throttledFieldSync();\n }\n}\nconst throttledFieldSync = throttle(() => {\n try {\n const visualBuilderContainer = document.querySelector(\n \".visual-builder__container\"\n ) as HTMLElement;\n if (!visualBuilderContainer) return;\n sendFieldEvent({\n visualBuilderContainer,\n eventType: VisualBuilderPostMessageEvents.SYNC_FIELD,\n });\n } catch (error) {\n console.error(\"Error in throttledFieldSync\", error);\n }\n}, 300);\n\nexport function handleFieldKeyDown(e: Event): void {\n const event = e as KeyboardEvent;\n const targetElement = event.target as HTMLElement;\n const fieldType = targetElement.getAttribute(\n VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY\n ) as FieldDataType | null;\n\n if (targetElement.tagName === \"BUTTON\") {\n handleKeyDownOnButton(event);\n }\n if (fieldType === FieldDataType.NUMBER) {\n handleNumericFieldKeyDown(event);\n } else if (fieldType === FieldDataType.SINGLELINE) {\n handleSingleLineFieldKeyDown(event);\n }\n}\n\n// spaces do not work inside a button content-editable\n// this adds a space and moves the cursor ahead, the\n// button press event is also prevented\nfunction handleKeyDownOnButton(e: KeyboardEvent) {\n if (e.code === \"Space\" && e.target) {\n e.preventDefault();\n insertSpaceAtCursor(e.target as HTMLElement);\n }\n}\n\nfunction handleSingleLineFieldKeyDown(e: KeyboardEvent) {\n if (e.code === \"Enter\") {\n e.preventDefault();\n }\n}\n\nfunction handleNumericFieldKeyDown(event: KeyboardEvent): void {\n const targetElement = event.target as HTMLElement;\n\n const allowedKeys = [\n \"Backspace\",\n \"Tab\",\n \"Enter\",\n \"End\",\n \"Home\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Delete\",\n ];\n\n if (\n event.ctrlKey ||\n event.metaKey ||\n event.altKey ||\n allowedKeys.includes(event.code)\n ) {\n // Allow Ctrl, Cmd, Alt, and special keys\n return;\n }\n\n if (event.code.includes(\"Digit\")) {\n return;\n }\n\n const nonNumericAllowedCharacters = [\"-\", \".\", \"e\", \"E\"];\n\n if (!nonNumericAllowedCharacters.includes(event.key)) {\n event.preventDefault();\n return;\n }\n\n const selection = {\n startOffset: window.getSelection()?.getRangeAt(0).startOffset || 0,\n endOffset: window.getSelection()?.getRangeAt(0).endOffset || 0,\n };\n\n const existingInput = targetElement.textContent || \"\";\n const currentOutputArr = existingInput.split(\"\");\n currentOutputArr.splice(\n selection.startOffset,\n selection.endOffset - selection.startOffset,\n event.key\n );\n const currentInput = currentOutputArr.join(\"\");\n\n if (!numericInputRegex.test(currentInput)) {\n event.preventDefault();\n }\n}\n"],"mappings":";;;AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,qBAAqB;AAC9B,SAAS,sCAAsC;AAC/C,SAAS,2BAA2B;AAE7B,SAAS,iBAAiB,GAAgB;AAC7C,QAAM,QAAQ;AACd,QAAM,gBAAgB,MAAM;AAC5B,QAAM,YAAY,cAAc;AAAA,IAC5B;AAAA,EACJ;AACA,MACI,MAAM,SAAS,WACf,8BAA8B,SAAS,SAA0B,GACnE;AACE,uBAAmB;AAAA,EACvB;AACJ;AACA,IAAM,qBAAqB,SAAS,MAAM;AACtC,MAAI;AACA,UAAM,yBAAyB,SAAS;AAAA,MACpC;AAAA,IACJ;AACA,QAAI,CAAC,uBAAwB;AAC7B,mBAAe;AAAA,MACX;AAAA,MACA,WAAW,+BAA+B;AAAA,IAC9C,CAAC;AAAA,EACL,SAAS,OAAO;AACZ,YAAQ,MAAM,+BAA+B,KAAK;AAAA,EACtD;AACJ,GAAG,GAAG;AAEC,SAAS,mBAAmB,GAAgB;AAC/C,QAAM,QAAQ;AACd,QAAM,gBAAgB,MAAM;AAC5B,QAAM,YAAY,cAAc;AAAA,IAC5B;AAAA,EACJ;AAEA,MAAI,cAAc,YAAY,UAAU;AACpC,0BAAsB,KAAK;AAAA,EAC/B;AACA,MAAI,cAAc,cAAc,QAAQ;AACpC,8BAA0B,KAAK;AAAA,EACnC,WAAW,cAAc,cAAc,YAAY;AAC/C,iCAA6B,KAAK;AAAA,EACtC;AACJ;AAKA,SAAS,sBAAsB,GAAkB;AAC7C,MAAI,EAAE,SAAS,WAAW,EAAE,QAAQ;AAChC,MAAE,eAAe;AACjB,wBAAoB,EAAE,MAAqB;AAAA,EAC/C;AACJ;AAEA,SAAS,6BAA6B,GAAkB;AACpD,MAAI,EAAE,SAAS,SAAS;AACpB,MAAE,eAAe;AAAA,EACrB;AACJ;AAEA,SAAS,0BAA0B,OAA4B;AAC3D,QAAM,gBAAgB,MAAM;AAE5B,QAAM,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,MACI,MAAM,WACN,MAAM,WACN,MAAM,UACN,YAAY,SAAS,MAAM,IAAI,GACjC;AAEE;AAAA,EACJ;AAEA,MAAI,MAAM,KAAK,SAAS,OAAO,GAAG;AAC9B;AAAA,EACJ;AAEA,QAAM,8BAA8B,CAAC,KAAK,KAAK,KAAK,GAAG;AAEvD,MAAI,CAAC,4BAA4B,SAAS,MAAM,GAAG,GAAG;AAClD,UAAM,eAAe;AACrB;AAAA,EACJ;AAEA,QAAM,YAAY;AAAA,IACd,aAAa,OAAO,aAAa,GAAG,WAAW,CAAC,EAAE,eAAe;AAAA,IACjE,WAAW,OAAO,aAAa,GAAG,WAAW,CAAC,EAAE,aAAa;AAAA,EACjE;AAEA,QAAM,gBAAgB,cAAc,eAAe;AACnD,QAAM,mBAAmB,cAAc,MAAM,EAAE;AAC/C,mBAAiB;AAAA,IACb,UAAU;AAAA,IACV,UAAU,YAAY,UAAU;AAAA,IAChC,MAAM;AAAA,EACV;AACA,QAAM,eAAe,iBAAiB,KAAK,EAAE;AAE7C,MAAI,CAAC,kBAAkB,KAAK,YAAY,GAAG;AACvC,UAAM,eAAe;AAAA,EACzB;AACJ;","names":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
29
|
|
|
20
30
|
// src/visualBuilder/utils/handleIndividualFields.ts
|
|
@@ -37,6 +47,8 @@ var import_multipleElementAddButton = require("./multipleElementAddButton.cjs");
|
|
|
37
47
|
var import_updateFocussedState = require("./updateFocussedState.cjs");
|
|
38
48
|
var import_types = require("./types/index.types.cjs");
|
|
39
49
|
var import_getMultilinePlaintext = require("./getMultilinePlaintext.cjs");
|
|
50
|
+
var import_postMessage = require("./types/postMessage.types.cjs");
|
|
51
|
+
var import_visualBuilderPostMessage = __toESM(require("./visualBuilderPostMessage.cjs"), 1);
|
|
40
52
|
async function handleIndividualFields(eventDetails, elements) {
|
|
41
53
|
const { fieldMetadata, editableElement } = eventDetails;
|
|
42
54
|
const { visualBuilderContainer, lastEditedField, resizeObserver } = elements;
|
|
@@ -54,15 +66,13 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
54
66
|
fieldPathWithIndex
|
|
55
67
|
)
|
|
56
68
|
]);
|
|
57
|
-
const expectedFieldInstanceData = Array.isArray(expectedFieldData) ? expectedFieldData.at(fieldMetadata.multipleFieldMetadata.index) : void 0;
|
|
58
69
|
const fieldType = (0, import_getFieldType.getFieldType)(fieldSchema);
|
|
59
70
|
const { isDisabled: disabled } = (0, import_isFieldDisabled.isFieldDisabled)(fieldSchema, eventDetails);
|
|
60
71
|
editableElement.setAttribute(
|
|
61
72
|
import_constants.VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
62
73
|
fieldType
|
|
63
74
|
);
|
|
64
|
-
if (
|
|
65
|
-
fieldSchema?.field_metadata.ref_multiple)) {
|
|
75
|
+
if (isFieldMultiple(fieldSchema)) {
|
|
66
76
|
if (lastEditedField !== editableElement) {
|
|
67
77
|
const addButtonLabel = fieldSchema.data_type === "blocks" ? (
|
|
68
78
|
// ? `Add ${fieldSchema.display_name ?? "Modular Block"}`
|
|
@@ -83,70 +93,75 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
83
93
|
}
|
|
84
94
|
);
|
|
85
95
|
}
|
|
86
|
-
if (eventDetails.fieldMetadata.multipleFieldMetadata.index > -1) {
|
|
87
|
-
handleSingleField(
|
|
88
|
-
{
|
|
89
|
-
editableElement,
|
|
90
|
-
visualBuilderContainer,
|
|
91
|
-
resizeObserver: elements.resizeObserver
|
|
92
|
-
},
|
|
93
|
-
{ expectedFieldData: expectedFieldInstanceData, disabled }
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
|
-
} else {
|
|
97
|
-
handleSingleField(
|
|
98
|
-
{
|
|
99
|
-
editableElement,
|
|
100
|
-
visualBuilderContainer,
|
|
101
|
-
resizeObserver: elements.resizeObserver
|
|
102
|
-
},
|
|
103
|
-
{ expectedFieldData, disabled }
|
|
104
|
-
);
|
|
105
96
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (
|
|
109
|
-
|
|
97
|
+
!disabled && handleInlineEditing();
|
|
98
|
+
function handleInlineEditing() {
|
|
99
|
+
if (!import_constants.ALLOWED_INLINE_EDITABLE_FIELD.includes(fieldType)) return;
|
|
100
|
+
const index = Number(fieldMetadata.instance.fieldPathWithIndex.split(".").at(-1));
|
|
101
|
+
const isInstance = Number.isFinite(index);
|
|
102
|
+
if (isFieldMultiple(fieldSchema)) {
|
|
103
|
+
let expectedFieldInstanceData = null;
|
|
104
|
+
if (Array.isArray(expectedFieldData)) {
|
|
105
|
+
if (!isInstance) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (index >= expectedFieldData.length) {
|
|
109
|
+
} else {
|
|
110
|
+
expectedFieldInstanceData = expectedFieldData.at(index);
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
expectedFieldInstanceData = expectedFieldData;
|
|
114
|
+
}
|
|
115
|
+
enableInlineEditing(expectedFieldInstanceData);
|
|
116
|
+
} else {
|
|
117
|
+
let expectedFieldInstanceData = null;
|
|
118
|
+
if (isInstance) {
|
|
119
|
+
if (index !== 0) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
expectedFieldInstanceData = Array.isArray(expectedFieldData) ? expectedFieldData.at(0) : expectedFieldData;
|
|
123
|
+
}
|
|
124
|
+
enableInlineEditing(expectedFieldInstanceData ?? expectedFieldData);
|
|
110
125
|
}
|
|
111
|
-
|
|
112
|
-
let actualEditableField =
|
|
126
|
+
function enableInlineEditing(expectedFieldData2) {
|
|
127
|
+
let actualEditableField = editableElement;
|
|
113
128
|
import__.VisualBuilder.VisualBuilderGlobalState.value.focusFieldValue = actualEditableField?.innerText;
|
|
114
129
|
const elementComputedDisplay = window.getComputedStyle(actualEditableField).display;
|
|
115
|
-
let textContent =
|
|
130
|
+
let textContent = editableElement.innerText || editableElement.textContent || "";
|
|
116
131
|
if (fieldType === import_types.FieldDataType.MULTILINE) {
|
|
117
132
|
textContent = (0, import_getMultilinePlaintext.getMultilinePlaintext)(actualEditableField);
|
|
118
133
|
actualEditableField.addEventListener("paste", pasteAsPlainText);
|
|
119
134
|
}
|
|
120
|
-
const expectedTextContent =
|
|
121
|
-
if (textContent !== expectedTextContent || (0, import_generatePseudoEditableField.isEllipsisActive)(
|
|
135
|
+
const expectedTextContent = expectedFieldData2;
|
|
136
|
+
if (expectedTextContent && textContent !== expectedTextContent || (0, import_generatePseudoEditableField.isEllipsisActive)(editableElement)) {
|
|
122
137
|
const pseudoEditableField = (0, import_generatePseudoEditableField.generatePseudoEditableElement)(
|
|
123
|
-
{ editableElement
|
|
124
|
-
{ textContent:
|
|
138
|
+
{ editableElement },
|
|
139
|
+
{ textContent: expectedFieldData2 }
|
|
125
140
|
);
|
|
126
|
-
|
|
141
|
+
editableElement.style.visibility = "hidden";
|
|
127
142
|
pseudoEditableField.setAttribute(
|
|
128
143
|
import_constants.VISUAL_BUILDER_FIELD_TYPE_ATTRIBUTE_KEY,
|
|
129
144
|
fieldType
|
|
130
145
|
);
|
|
131
|
-
|
|
146
|
+
visualBuilderContainer.appendChild(pseudoEditableField);
|
|
132
147
|
actualEditableField = pseudoEditableField;
|
|
133
148
|
if (fieldType === import_types.FieldDataType.MULTILINE)
|
|
134
149
|
actualEditableField.addEventListener(
|
|
135
150
|
"paste",
|
|
136
151
|
pasteAsPlainText
|
|
137
152
|
);
|
|
138
|
-
|
|
153
|
+
elements.resizeObserver.observe(pseudoEditableField);
|
|
139
154
|
} else if (elementComputedDisplay === "inline") {
|
|
140
155
|
const onInlineElementInput = (0, import_lodash_es.throttle)(() => {
|
|
141
|
-
const overlayWrapper =
|
|
156
|
+
const overlayWrapper = visualBuilderContainer.querySelector(
|
|
142
157
|
".visual-builder__overlay__wrapper"
|
|
143
158
|
);
|
|
144
|
-
const focusedToolbar =
|
|
159
|
+
const focusedToolbar = visualBuilderContainer.querySelector(
|
|
145
160
|
".visual-builder__focused-toolbar"
|
|
146
161
|
);
|
|
147
162
|
(0, import_updateFocussedState.updateFocussedState)({
|
|
148
163
|
editableElement: actualEditableField,
|
|
149
|
-
visualBuilderContainer
|
|
164
|
+
visualBuilderContainer,
|
|
150
165
|
overlayWrapper,
|
|
151
166
|
focusedToolbar,
|
|
152
167
|
resizeObserver
|
|
@@ -165,6 +180,10 @@ async function handleIndividualFields(eventDetails, elements) {
|
|
|
165
180
|
}
|
|
166
181
|
}
|
|
167
182
|
}
|
|
183
|
+
function isFieldMultiple(fieldSchema) {
|
|
184
|
+
return fieldSchema && (fieldSchema.multiple || fieldSchema.data_type === "reference" && // @ts-ignore
|
|
185
|
+
fieldSchema.field_metadata.ref_multiple);
|
|
186
|
+
}
|
|
168
187
|
function cleanIndividualFieldResidual(elements) {
|
|
169
188
|
const { overlayWrapper, visualBuilderContainer, focusedToolbar } = elements;
|
|
170
189
|
(0, import_multipleElementAddButton.removeAddInstanceButtons)(
|
|
@@ -210,6 +229,10 @@ function cleanIndividualFieldResidual(elements) {
|
|
|
210
229
|
}
|
|
211
230
|
if (focusedToolbar) {
|
|
212
231
|
focusedToolbar.innerHTML = "";
|
|
232
|
+
const toolbarEvents = [import_postMessage.VisualBuilderPostMessageEvents.DELETE_INSTANCE, import_postMessage.VisualBuilderPostMessageEvents.UPDATE_DISCUSSION_ID];
|
|
233
|
+
toolbarEvents.forEach((event) => {
|
|
234
|
+
import_visualBuilderPostMessage.default?.unregisterEvent?.(event);
|
|
235
|
+
});
|
|
213
236
|
}
|
|
214
237
|
}
|
|
215
238
|
var pasteAsPlainText = (0, import_lodash_es.debounce)(
|