@makeswift/runtime 0.15.0 → 0.16.0-canary.1
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/dist/cjs/builder/serialization/control-serialization.js +38 -37
- package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
- package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
- package/dist/cjs/components/builtin/Box/register.js +25 -24
- package/dist/cjs/components/builtin/Box/register.js.map +1 -1
- package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
- package/dist/cjs/components/builtin/Button/register.js +13 -12
- package/dist/cjs/components/builtin/Button/register.js.map +1 -1
- package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
- package/dist/cjs/components/builtin/Carousel/register.js +26 -14
- package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
- package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
- package/dist/cjs/components/builtin/Countdown/register.js +4 -3
- package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
- package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/builtin/Divider/register.js +3 -2
- package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
- package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
- package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
- package/dist/cjs/components/builtin/Form/register.js +6 -5
- package/dist/cjs/components/builtin/Form/register.js.map +1 -1
- package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
- package/dist/cjs/components/builtin/Image/register.js +6 -5
- package/dist/cjs/components/builtin/Image/register.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/register.js +32 -16
- package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
- package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
- package/dist/cjs/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
- package/dist/cjs/components/builtin/SocialLinks/register.js +3 -2
- package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
- package/dist/cjs/components/builtin/Video/register.js +2 -1
- package/dist/cjs/components/builtin/Video/register.js.map +1 -1
- package/dist/cjs/components/hooks/index.js +5 -1
- package/dist/cjs/components/hooks/index.js.map +1 -1
- package/dist/cjs/components/hooks/useBorder.js +3 -3
- package/dist/cjs/components/hooks/useBorder.js.map +1 -1
- package/dist/cjs/components/hooks/useBoxShadow.js +6 -5
- package/dist/cjs/components/hooks/useBoxShadow.js.map +1 -1
- package/dist/cjs/{prop-controllers/copy/shadows.js → components/hooks/useCheckboxPropControllerData.js} +11 -25
- package/dist/cjs/components/hooks/useCheckboxPropControllerData.js.map +1 -0
- package/dist/cjs/{prop-controllers/copy/responsive-color.js → components/hooks/useLinkPropControllerData.js} +11 -16
- package/dist/cjs/components/hooks/useLinkPropControllerData.js.map +1 -0
- package/dist/cjs/components/hooks/useNumberPropControllerData.js +34 -0
- package/dist/cjs/components/hooks/useNumberPropControllerData.js.map +1 -0
- package/dist/cjs/components/hooks/useResponsiveColor.js +2 -2
- package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
- package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js +34 -0
- package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
- package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js +34 -0
- package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
- package/dist/cjs/components/shared/GutterContainer/index.js.map +1 -1
- package/dist/cjs/components/shared/Link/index.js.map +1 -1
- package/dist/cjs/components/shared/grid-item.js.map +1 -1
- package/dist/cjs/components/utils/responsive-style.js.map +1 -1
- package/dist/cjs/controls/control.js +5 -4
- package/dist/cjs/controls/control.js.map +1 -1
- package/dist/cjs/controls/rich-text/introspection.js +2 -9
- package/dist/cjs/controls/rich-text/introspection.js.map +1 -1
- package/dist/cjs/css/border.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/prop-controllers/copy/navigation-links.js +2 -2
- package/dist/cjs/prop-controllers/copy/navigation-links.js.map +1 -1
- package/dist/cjs/prop-controllers/copy.js +9 -10
- package/dist/cjs/prop-controllers/copy.js.map +1 -1
- package/dist/cjs/prop-controllers/descriptors.js +0 -69
- package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
- package/dist/cjs/prop-controllers/index.js.map +1 -1
- package/dist/cjs/prop-controllers/introspection.js +9 -38
- package/dist/cjs/prop-controllers/introspection.js.map +1 -1
- package/dist/cjs/runtimes/react/controls.js +63 -14
- package/dist/cjs/runtimes/react/controls.js.map +1 -1
- package/dist/esm/builder/serialization/control-serialization.js +13 -10
- package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
- package/dist/esm/components/builtin/Box/Box.js.map +1 -1
- package/dist/esm/components/builtin/Box/register.js +5 -4
- package/dist/esm/components/builtin/Box/register.js.map +1 -1
- package/dist/esm/components/builtin/Button/Button.js.map +1 -1
- package/dist/esm/components/builtin/Button/register.js +4 -3
- package/dist/esm/components/builtin/Button/register.js.map +1 -1
- package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/builtin/Carousel/register.js +31 -14
- package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
- package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
- package/dist/esm/components/builtin/Countdown/register.js +4 -3
- package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
- package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
- package/dist/esm/components/builtin/Divider/register.js +3 -2
- package/dist/esm/components/builtin/Divider/register.js.map +1 -1
- package/dist/esm/components/builtin/Form/Form.js.map +1 -1
- package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
- package/dist/esm/components/builtin/Form/register.js +6 -5
- package/dist/esm/components/builtin/Form/register.js.map +1 -1
- package/dist/esm/components/builtin/Image/Image.js.map +1 -1
- package/dist/esm/components/builtin/Image/register.js +6 -5
- package/dist/esm/components/builtin/Image/register.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/register.js +41 -16
- package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
- package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
- package/dist/esm/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
- package/dist/esm/components/builtin/SocialLinks/register.js +3 -2
- package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
- package/dist/esm/components/builtin/Video/register.js +2 -1
- package/dist/esm/components/builtin/Video/register.js.map +1 -1
- package/dist/esm/components/hooks/index.js +2 -0
- package/dist/esm/components/hooks/index.js.map +1 -1
- package/dist/esm/components/hooks/useBorder.js +5 -3
- package/dist/esm/components/hooks/useBorder.js.map +1 -1
- package/dist/esm/components/hooks/useBoxShadow.js +9 -5
- package/dist/esm/components/hooks/useBoxShadow.js.map +1 -1
- package/dist/esm/components/hooks/useCheckboxPropControllerData.js +12 -0
- package/dist/esm/components/hooks/useCheckboxPropControllerData.js.map +1 -0
- package/dist/esm/components/hooks/useLinkPropControllerData.js +12 -0
- package/dist/esm/components/hooks/useLinkPropControllerData.js.map +1 -0
- package/dist/esm/components/hooks/useNumberPropControllerData.js +10 -0
- package/dist/esm/components/hooks/useNumberPropControllerData.js.map +1 -0
- package/dist/esm/components/hooks/useResponsiveColor.js +2 -2
- package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
- package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js +12 -0
- package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
- package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js +12 -0
- package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
- package/dist/esm/components/shared/GutterContainer/index.js.map +1 -1
- package/dist/esm/components/shared/Link/index.js.map +1 -1
- package/dist/esm/components/shared/grid-item.js.map +1 -1
- package/dist/esm/components/utils/responsive-style.js.map +1 -1
- package/dist/esm/controls/control.js +5 -4
- package/dist/esm/controls/control.js.map +1 -1
- package/dist/esm/controls/rich-text/introspection.js +2 -9
- package/dist/esm/controls/rich-text/introspection.js.map +1 -1
- package/dist/esm/css/border.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/prop-controllers/copy/navigation-links.js +2 -2
- package/dist/esm/prop-controllers/copy/navigation-links.js.map +1 -1
- package/dist/esm/prop-controllers/copy.js +13 -10
- package/dist/esm/prop-controllers/copy.js.map +1 -1
- package/dist/esm/prop-controllers/descriptors.js +0 -58
- package/dist/esm/prop-controllers/descriptors.js.map +1 -1
- package/dist/esm/prop-controllers/index.js.map +1 -1
- package/dist/esm/prop-controllers/introspection.js +15 -35
- package/dist/esm/prop-controllers/introspection.js.map +1 -1
- package/dist/esm/runtimes/react/controls.js +72 -17
- package/dist/esm/runtimes/react/controls.js.map +1 -1
- package/dist/types/builder/serialization/control-serialization.d.ts +34 -48
- package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Button/Button.d.ts +3 -2
- package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
- package/dist/types/components/builtin/Button/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Carousel/Carousel.d.ts +5 -5
- package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
- package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
- package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Divider/Divider.d.ts +3 -2
- package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
- package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts +4 -3
- package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/context/FormContext.d.ts +2 -1
- package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Image/Image.d.ts +3 -2
- package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
- package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/Navigation.d.ts +5 -4
- package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +6 -5
- package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +2 -2
- package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +6 -5
- package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +2 -2
- package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
- package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
- package/dist/types/components/hooks/index.d.ts +2 -0
- package/dist/types/components/hooks/index.d.ts.map +1 -1
- package/dist/types/components/hooks/useBorder.d.ts +2 -2
- package/dist/types/components/hooks/useBorder.d.ts.map +1 -1
- package/dist/types/components/hooks/useBoxShadow.d.ts +14 -14
- package/dist/types/components/hooks/useBoxShadow.d.ts.map +1 -1
- package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts +3 -0
- package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts.map +1 -0
- package/dist/types/components/hooks/useLinkPropControllerData.d.ts +3 -0
- package/dist/types/components/hooks/useLinkPropControllerData.d.ts.map +1 -0
- package/dist/types/components/hooks/useNumberPropControllerData.d.ts +3 -0
- package/dist/types/components/hooks/useNumberPropControllerData.d.ts.map +1 -0
- package/dist/types/components/hooks/useResponsiveColor.d.ts +2 -4
- package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
- package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts +4 -0
- package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts.map +1 -0
- package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts +3 -0
- package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts.map +1 -0
- package/dist/types/components/shared/GutterContainer/index.d.ts +2 -2
- package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -1
- package/dist/types/components/shared/Link/index.d.ts +1 -1
- package/dist/types/components/shared/Link/index.d.ts.map +1 -1
- package/dist/types/components/shared/grid-item.d.ts +4 -3
- package/dist/types/components/shared/grid-item.d.ts.map +1 -1
- package/dist/types/components/utils/responsive-style.d.ts +8 -7
- package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
- package/dist/types/controls/control.d.ts.map +1 -1
- package/dist/types/controls/rich-text/introspection.d.ts.map +1 -1
- package/dist/types/css/border.d.ts +1 -1
- package/dist/types/css/border.d.ts.map +1 -1
- package/dist/types/prop-controllers/copy/navigation-links.d.ts.map +1 -1
- package/dist/types/prop-controllers/copy.d.ts.map +1 -1
- package/dist/types/prop-controllers/descriptors.d.ts +21 -263
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/index.d.ts +2 -1
- package/dist/types/prop-controllers/index.d.ts.map +1 -1
- package/dist/types/prop-controllers/introspection.d.ts +1 -4
- package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts +5 -7
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/cjs/prop-controllers/copy/border.js +0 -53
- package/dist/cjs/prop-controllers/copy/border.js.map +0 -1
- package/dist/cjs/prop-controllers/copy/link.js +0 -63
- package/dist/cjs/prop-controllers/copy/link.js.map +0 -1
- package/dist/cjs/prop-controllers/copy/responsive-color.js.map +0 -1
- package/dist/cjs/prop-controllers/copy/shadows.js.map +0 -1
- package/dist/esm/prop-controllers/copy/border.js +0 -29
- package/dist/esm/prop-controllers/copy/border.js.map +0 -1
- package/dist/esm/prop-controllers/copy/link.js +0 -39
- package/dist/esm/prop-controllers/copy/link.js.map +0 -1
- package/dist/esm/prop-controllers/copy/responsive-color.js +0 -15
- package/dist/esm/prop-controllers/copy/responsive-color.js.map +0 -1
- package/dist/esm/prop-controllers/copy/shadows.js +0 -24
- package/dist/esm/prop-controllers/copy/shadows.js.map +0 -1
- package/dist/types/prop-controllers/copy/border.d.ts +0 -4
- package/dist/types/prop-controllers/copy/border.d.ts.map +0 -1
- package/dist/types/prop-controllers/copy/border.test.d.ts +0 -2
- package/dist/types/prop-controllers/copy/border.test.d.ts.map +0 -1
- package/dist/types/prop-controllers/copy/link.d.ts +0 -4
- package/dist/types/prop-controllers/copy/link.d.ts.map +0 -1
- package/dist/types/prop-controllers/copy/responsive-color.d.ts +0 -4
- package/dist/types/prop-controllers/copy/responsive-color.d.ts.map +0 -1
- package/dist/types/prop-controllers/copy/shadows.d.ts +0 -4
- package/dist/types/prop-controllers/copy/shadows.d.ts.map +0 -1
- package/dist/types/prop-controllers/copy/shadows.test.d.ts +0 -2
- package/dist/types/prop-controllers/copy/shadows.test.d.ts.map +0 -1
|
@@ -25,13 +25,14 @@ __export(control_serialization_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(control_serialization_exports);
|
|
27
27
|
var import_controls = require("../../controls");
|
|
28
|
-
var
|
|
28
|
+
var import_prop_controllers2 = require("../../prop-controllers");
|
|
29
29
|
var import_combobox = require("./controls/combobox");
|
|
30
30
|
var import_list = require("./controls/list");
|
|
31
31
|
var import_rich_text_v2 = require("./controls/rich-text-v2");
|
|
32
32
|
var import_shape = require("./controls/shape");
|
|
33
33
|
var import_style_v2 = require("./controls/style-v2");
|
|
34
34
|
var import_function_serialization = require("./function-serialization");
|
|
35
|
+
var import_prop_controllers3 = require("@makeswift/prop-controllers");
|
|
35
36
|
function serializeShapeControl(control) {
|
|
36
37
|
const { type } = control.options;
|
|
37
38
|
const transferables = [];
|
|
@@ -314,41 +315,41 @@ function deserializeRichTextControl(serializedControl) {
|
|
|
314
315
|
}
|
|
315
316
|
function serializeControl(control) {
|
|
316
317
|
switch (control.type) {
|
|
317
|
-
case
|
|
318
|
+
case import_prop_controllers3.Types.Checkbox:
|
|
318
319
|
return serializeCheckboxControl(control);
|
|
319
|
-
case
|
|
320
|
+
case import_prop_controllers2.Props.Types.List:
|
|
320
321
|
return serializeListControl(control);
|
|
321
|
-
case
|
|
322
|
+
case import_prop_controllers2.Props.Types.Shape:
|
|
322
323
|
return serializeShapeControl(control);
|
|
323
|
-
case
|
|
324
|
+
case import_prop_controllers2.Props.Types.Typeahead:
|
|
324
325
|
return serializeTypeaheadControl(control);
|
|
325
|
-
case
|
|
326
|
+
case import_prop_controllers2.Props.Types.GapX:
|
|
326
327
|
return serializeGapXControl(control);
|
|
327
|
-
case
|
|
328
|
+
case import_prop_controllers2.Props.Types.GapY:
|
|
328
329
|
return serializeGapYControl(control);
|
|
329
|
-
case
|
|
330
|
+
case import_prop_controllers3.Types.ResponsiveColor:
|
|
330
331
|
return serializeResponsiveColorControl(control);
|
|
331
|
-
case
|
|
332
|
+
case import_prop_controllers2.Props.Types.ResponsiveNumber:
|
|
332
333
|
return serializeResponsiveNumberControl(control);
|
|
333
|
-
case
|
|
334
|
+
case import_prop_controllers3.Types.Number:
|
|
334
335
|
return serializeNumberControl(control);
|
|
335
|
-
case
|
|
336
|
+
case import_prop_controllers2.Props.Types.ResponsiveIconRadioGroup:
|
|
336
337
|
return serializeResponsiveIconRadioGroupControl(control);
|
|
337
|
-
case
|
|
338
|
+
case import_prop_controllers2.Props.Types.ResponsiveSelect:
|
|
338
339
|
return serializeResponsiveSelectControl(control);
|
|
339
|
-
case
|
|
340
|
+
case import_prop_controllers3.Types.ResponsiveLength:
|
|
340
341
|
return serializeResponsiveLengthControl(control);
|
|
341
|
-
case
|
|
342
|
+
case import_prop_controllers2.Props.Types.Date:
|
|
342
343
|
return serializeDateControl(control);
|
|
343
|
-
case
|
|
344
|
+
case import_prop_controllers3.Types.Link:
|
|
344
345
|
return serializeLinkControl(control);
|
|
345
|
-
case
|
|
346
|
+
case import_prop_controllers2.Props.Types.TextInput:
|
|
346
347
|
return serializeTextInputControl(control);
|
|
347
|
-
case
|
|
348
|
+
case import_prop_controllers2.Props.Types.TextStyle:
|
|
348
349
|
return serializeTextStyleControl(control);
|
|
349
|
-
case
|
|
350
|
+
case import_prop_controllers2.Props.Types.Image:
|
|
350
351
|
return serializeImageControl(control);
|
|
351
|
-
case
|
|
352
|
+
case import_prop_controllers2.Props.Types.RichText:
|
|
352
353
|
return serializeRichTextControl(control);
|
|
353
354
|
case import_controls.RichTextV2ControlType:
|
|
354
355
|
return (0, import_rich_text_v2.serializeRichTextControlV2)(control);
|
|
@@ -366,41 +367,41 @@ function serializeControl(control) {
|
|
|
366
367
|
}
|
|
367
368
|
function deserializeControl(serializedControl) {
|
|
368
369
|
switch (serializedControl.type) {
|
|
369
|
-
case
|
|
370
|
+
case import_prop_controllers3.Types.Checkbox:
|
|
370
371
|
return deserializeCheckboxControl(serializedControl);
|
|
371
|
-
case
|
|
372
|
+
case import_prop_controllers2.Props.Types.List:
|
|
372
373
|
return deserializeListControl(serializedControl);
|
|
373
|
-
case
|
|
374
|
+
case import_prop_controllers2.Props.Types.Shape:
|
|
374
375
|
return deserializeShapeControl(serializedControl);
|
|
375
|
-
case
|
|
376
|
+
case import_prop_controllers2.Props.Types.Typeahead:
|
|
376
377
|
return deserializeTypeaheadControl(serializedControl);
|
|
377
|
-
case
|
|
378
|
+
case import_prop_controllers2.Props.Types.GapX:
|
|
378
379
|
return deserializeGapXControl(serializedControl);
|
|
379
|
-
case
|
|
380
|
+
case import_prop_controllers2.Props.Types.GapY:
|
|
380
381
|
return deserializeGapYControl(serializedControl);
|
|
381
|
-
case
|
|
382
|
+
case import_prop_controllers3.Types.ResponsiveColor:
|
|
382
383
|
return deserializeResponsiveColorControl(serializedControl);
|
|
383
|
-
case
|
|
384
|
+
case import_prop_controllers2.Props.Types.ResponsiveNumber:
|
|
384
385
|
return deserializeResponsiveNumberControl(serializedControl);
|
|
385
|
-
case
|
|
386
|
+
case import_prop_controllers3.Types.Number:
|
|
386
387
|
return deserializeNumberControl(serializedControl);
|
|
387
|
-
case
|
|
388
|
+
case import_prop_controllers2.Props.Types.ResponsiveIconRadioGroup:
|
|
388
389
|
return deserializeResponsiveIconRadioGroupControl(serializedControl);
|
|
389
|
-
case
|
|
390
|
+
case import_prop_controllers2.Props.Types.ResponsiveSelect:
|
|
390
391
|
return deserializeResponsiveSelectControl(serializedControl);
|
|
391
|
-
case
|
|
392
|
+
case import_prop_controllers3.Types.ResponsiveLength:
|
|
392
393
|
return deserializeResponsiveLengthControl(serializedControl);
|
|
393
|
-
case
|
|
394
|
+
case import_prop_controllers2.Props.Types.Date:
|
|
394
395
|
return deserializeDateControl(serializedControl);
|
|
395
|
-
case
|
|
396
|
+
case import_prop_controllers3.Types.Link:
|
|
396
397
|
return deserializeLinkControl(serializedControl);
|
|
397
|
-
case
|
|
398
|
+
case import_prop_controllers2.Props.Types.TextInput:
|
|
398
399
|
return deserializeTextInputControl(serializedControl);
|
|
399
|
-
case
|
|
400
|
+
case import_prop_controllers2.Props.Types.TextStyle:
|
|
400
401
|
return deserializeTextStyleControl(serializedControl);
|
|
401
|
-
case
|
|
402
|
+
case import_prop_controllers2.Props.Types.Image:
|
|
402
403
|
return deserializeImageControl(serializedControl);
|
|
403
|
-
case
|
|
404
|
+
case import_prop_controllers2.Props.Types.RichText:
|
|
404
405
|
return deserializeRichTextControl(serializedControl);
|
|
405
406
|
case import_controls.RichTextV2ControlType:
|
|
406
407
|
return (0, import_rich_text_v2.deserializeRichTextControlV2)(serializedControl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/builder/serialization/control-serialization.ts"],"sourcesContent":["import {\n ComboboxControlDefinition,\n ComboboxControlType,\n ListControlDefinition,\n ListControlType,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n ShapeControlDefinition,\n ShapeControlType,\n StyleV2ControlDefinition,\n StyleV2ControlType,\n} from '../../controls'\nimport {\n CheckboxDescriptor as CheckboxControl,\n CheckboxValue as CheckboxControlValue,\n Data,\n Device,\n DateDescriptor as DateControl,\n DateValue as DateControlValue,\n Gap,\n GapXDescriptor as GapXControl,\n GapXValue as GapXControlValue,\n GapYDescriptor as GapYControl,\n GapYValue as GapYControlValue,\n ImageDescriptor as ImageControl,\n ImageValue as ImageControlValue,\n LinkDescriptor as LinkControl,\n LinkValue as LinkControlValue,\n ListDescriptor as ListControl,\n ListOptions as ListControlConfig,\n ListValue as ListControlValue,\n NumberDescriptor as NumberControl,\n NumberValue as NumberControlValue,\n ResponsiveColorDescriptor as ResponsiveColorControl,\n ResponsiveColorValue as ResponsiveColorControlValue,\n ResponsiveNumberDescriptor as ResponsiveNumberControl,\n ResponsiveNumberValue as ResponsiveNumberControlValue,\n ResponsiveIconRadioGroupDescriptor as ResponsiveIconRadioGroupControl,\n ResponsiveIconRadioGroupValue as ResponsiveIconRadioGroupControlValue,\n ResponsiveSelectDescriptor as ResponsiveSelectControl,\n ResponsiveSelectValue as ResponsiveSelectControlValue,\n ResponsiveLengthDescriptor as ResponsiveLengthControl,\n ResponsiveLengthValue as ResponsiveLengthControlValue,\n RichTextDescriptor as RichTextControl,\n RichTextValue as RichTextControlValue,\n ShapeDescriptor as ShapeControl,\n ShapeValue as ShapeControlValue,\n TextInputDescriptor as TextInputControl,\n TextInputValue as TextInputControlValue,\n TextStyleDescriptor as TextStyleControl,\n TextStyleValue as TextStyleControlValue,\n TypeaheadDescriptor as TypeaheadControl,\n TypeaheadOptions as TypeaheadControlConfig,\n TypeaheadValue as TypeaheadControlValue,\n PanelDescriptor as PanelControl,\n PanelDescriptorType as PanelControlType,\n PanelDescriptorValueType as PanelControlValueType,\n PropControllerDescriptor as Control,\n Props as Controls,\n} from '../../prop-controllers'\nimport {\n IconRadioGroupOption,\n LengthOption,\n SelectLabelOrientation,\n SelectOption,\n Length,\n} from '../../prop-controllers/descriptors'\nimport {\n deserializeComboboxControlDefinition,\n serializeComboboxControlDefinition,\n} from './controls/combobox'\nimport { deserializeListControlDefinition, serializeListControlDefinition } from './controls/list'\nimport { deserializeRichTextControlV2, serializeRichTextControlV2 } from './controls/rich-text-v2'\nimport {\n deserializeShapeControlDefinition,\n serializeShapeControlDefinition,\n} from './controls/shape'\nimport { deserializeStyleV2Control, serializeStyleV2Control } from './controls/style-v2'\nimport { Deserialize, Serialize } from './controls/types'\nimport {\n DeserializedFunction,\n deserializeFunction,\n isSerializedFunction,\n SerializedFunction,\n serializeFunction,\n} from './function-serialization'\n\ntype SerializedShapeControlConfig<T extends Record<string, SerializedPanelControl>> = {\n type: T\n preset?: { [K in keyof T]?: SerializedPanelControlValueType<T[K]> }\n}\n\ntype SerializedShapeControl<\n _T extends Record<string, Data>,\n U extends Record<string, SerializedPanelControl>,\n> = {\n type: typeof Controls.Types.Shape\n options: SerializedShapeControlConfig<U>\n}\n\nfunction serializeShapeControl<\n T extends Record<string, Data>,\n U extends Record<string, PanelControl>,\n>(\n control: ShapeControl<T, U>,\n): [\n SerializedShapeControl<\n T,\n { [K in keyof U]: SerializedPanelControl<PanelControlValueType<U[K]>> }\n >,\n Transferable[],\n] {\n const { type } = control.options\n const transferables: Transferable[] = []\n const serializedType = {} as {\n [K in keyof U]: SerializedPanelControl<PanelControlValueType<U[K]>>\n }\n\n Object.entries(type).forEach(([key, control]) => {\n const [serializedControl, serializedControlTransferables] = serializeControl(control)\n\n serializedType[key as keyof typeof type] = serializedControl as SerializedPanelControl\n transferables.push(...serializedControlTransferables)\n })\n\n // @ts-expect-error: preset types are incompatible\n return [{ ...control, options: { ...control.options, type: serializedType } }, transferables]\n}\n\ntype DeserializedShapeControlConfig<T extends Record<string, DeserializedPanelControl>> = {\n type: T\n preset?: { [K in keyof T]?: DeserializedPanelControlValueType<T[K]> }\n}\n\ntype DeserializedShapeControl<\n _T extends Record<string, Data>,\n U extends Record<string, DeserializedPanelControl>,\n> = {\n type: typeof Controls.Types.Shape\n options: DeserializedShapeControlConfig<U>\n}\n\nfunction deserializeShapeControl<\n T extends Record<string, Data>,\n U extends Record<string, SerializedPanelControl>,\n>(\n control: SerializedShapeControl<T, U>,\n): DeserializedShapeControl<\n T,\n { [K in keyof U]: DeserializedPanelControl<SerializedPanelControlValueType<U[K]>> }\n> {\n const { type } = control.options\n const deserializedType = {} as {\n [K in keyof U]: DeserializedPanelControl<SerializedPanelControlValueType<U[K]>>\n }\n\n Object.entries(type).forEach(([key, control]) => {\n deserializedType[key as keyof typeof type] = deserializeControl(\n control,\n ) as DeserializedPanelControl\n })\n\n // @ts-expect-error: preset types are incompatible\n return { ...control, options: { ...control.options, type: deserializedType } }\n}\n\ntype SerializedListControlConfig<T extends Data> = {\n type: SerializedPanelControl<T>\n label?: string\n getItemLabel?: SerializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype SerializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: SerializedListControlConfig<T extends ListControlValue<infer U> ? U : never>\n}\n\nfunction serializeListControl<T extends Data>(\n control: ListControl<ListControlValue<T>>,\n): [SerializedListControl<ListControlValue<T>>, Transferable[]] {\n const { type, getItemLabel } = control.options\n const transferables: Transferable[] = []\n\n const [serializedType, serializedTypeTransferables] = serializeControl(type)\n const serializedGetItemLabel = getItemLabel && serializeFunction(getItemLabel)\n\n transferables.push(...serializedTypeTransferables)\n if (serializedGetItemLabel != null) transferables.push(serializedGetItemLabel)\n\n return [\n {\n ...control,\n options: {\n ...control.options,\n type: serializedType as SerializedPanelControl,\n getItemLabel: serializedGetItemLabel,\n },\n },\n transferables,\n ]\n}\n\ntype DeserializedListControlConfig<T extends Data> = {\n type: DeserializedPanelControl<T>\n label?: string\n getItemLabel?: DeserializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype DeserializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: DeserializedListControlConfig<T extends ListControlValue<infer U> ? U : never>\n}\n\nfunction deserializeListControl<T extends Data>(\n serializedControl: SerializedListControl<ListControlValue<T>>,\n): DeserializedListControl<ListControlValue<T>> {\n const { type, getItemLabel } = serializedControl.options\n\n const deserializedType = deserializeControl(type) as DeserializedPanelControl\n const deserializedGetItemLabel = getItemLabel && deserializeFunction(getItemLabel)\n\n return {\n ...serializedControl,\n options: {\n ...serializedControl.options,\n type: deserializedType,\n getItemLabel: deserializedGetItemLabel,\n },\n }\n}\n\ntype SerializedTypeaheadControlConfig<T extends Data> = {\n getItems: SerializedFunction<TypeaheadControlConfig<T>['getItems']>\n label?: string\n preset?: TypeaheadControlValue<T>\n defaultValue?: TypeaheadControlValue<T>\n}\n\ntype SerializedTypeaheadControl<T extends TypeaheadControlValue = TypeaheadControlValue> = {\n type: typeof Controls.Types.Typeahead\n options: SerializedTypeaheadControlConfig<T['value']>\n}\n\nfunction serializeTypeaheadControl<T extends Data>(\n control: TypeaheadControl<TypeaheadControlValue<T>>,\n): [SerializedTypeaheadControl<TypeaheadControlValue<T>>, Transferable[]] {\n const { getItems } = control.options\n\n const serializedGetItems = getItems && serializeFunction(getItems)\n\n return [\n { ...control, options: { ...control.options, getItems: serializedGetItems } },\n serializedGetItems == null ? [] : [serializedGetItems],\n ]\n}\n\ntype DeserializedTypeaheadControlConfig<T extends Data> = {\n getItems: DeserializedFunction<TypeaheadControlConfig<T>['getItems']>\n label?: string\n preset?: TypeaheadControlValue<T>\n defaultValue?: TypeaheadControlValue<T>\n}\n\ntype DeserializedTypeaheadControl<T extends TypeaheadControlValue = TypeaheadControlValue> = {\n type: typeof Controls.Types.Typeahead\n options: DeserializedTypeaheadControlConfig<T['value']>\n}\n\nfunction deserializeTypeaheadControl<T extends Data>(\n serializedControl: SerializedTypeaheadControl<TypeaheadControlValue<T>>,\n): DeserializedTypeaheadControl<TypeaheadControlValue<T>> {\n const { getItems } = serializedControl.options\n\n const deserializedGetItems = getItems && deserializeFunction(getItems)\n\n return {\n ...serializedControl,\n options: { ...serializedControl.options, getItems: deserializedGetItems },\n }\n}\n\ntype SerializedConfig<T> =\n | T\n | SerializedFunction<(props: Record<string, unknown>, deviceMode: Device) => T>\n\ntype DeserializedConfig<T> =\n | T\n | DeserializedFunction<(props: Record<string, unknown>, deviceMode: Device) => T>\n\ntype GapXControlConfig = {\n preset?: GapXControlValue\n label?: string\n defaultValue?: Gap\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}\n\ntype SerializedGapXControl<_T = GapXControlValue> = {\n type: typeof Controls.Types.GapX\n options: SerializedConfig<GapXControlConfig>\n}\n\nfunction serializeGapXControl(control: GapXControl): [SerializedGapXControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedGapXControl<_T = GapXControlValue> = {\n type: typeof Controls.Types.GapX\n options: DeserializedConfig<GapXControlConfig>\n}\n\nfunction deserializeGapXControl(serializedControl: SerializedGapXControl): DeserializedGapXControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype GapYControlConfig = {\n preset?: GapYControlValue\n label?: string\n defaultValue?: Gap\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}\n\ntype SerializedGapYControl<_T = GapYControlValue> = {\n type: typeof Controls.Types.GapY\n options: SerializedConfig<GapYControlConfig>\n}\n\nfunction serializeGapYControl(control: GapYControl): [SerializedGapYControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedGapYControl<_T = GapYControlValue> = {\n type: typeof Controls.Types.GapY\n options: DeserializedConfig<GapYControlConfig>\n}\n\nfunction deserializeGapYControl(serializedControl: SerializedGapYControl): DeserializedGapYControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ResponsiveNumberControlConfig = {\n preset?: ResponsiveNumberControlValue\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}\n\ntype SerializedResponsiveNumberControl<_T = ResponsiveNumberControlValue> = {\n type: typeof Controls.Types.ResponsiveNumber\n options: SerializedConfig<ResponsiveNumberControlConfig>\n}\n\nfunction serializeResponsiveNumberControl(\n control: ResponsiveNumberControl,\n): [SerializedResponsiveNumberControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveNumberControl<_T = ResponsiveNumberControlValue> = {\n type: typeof Controls.Types.ResponsiveNumber\n options: DeserializedConfig<ResponsiveNumberControlConfig>\n}\n\nfunction deserializeResponsiveNumberControl(\n serializedControl: SerializedResponsiveNumberControl,\n): DeserializedResponsiveNumberControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype CheckboxControlConfig = {\n preset?: CheckboxControlValue\n label: string\n hidden?: boolean\n}\n\ntype SerializedCheckboxControl<_T = CheckboxControlValue> = {\n type: typeof Controls.Types.Checkbox\n options: SerializedConfig<CheckboxControlConfig>\n}\n\nfunction serializeCheckboxControl(\n control: CheckboxControl,\n): [SerializedCheckboxControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedCheckboxControl<_T = CheckboxControlValue> = {\n type: typeof Controls.Types.Checkbox\n options: DeserializedConfig<CheckboxControlConfig>\n}\n\nfunction deserializeCheckboxControl(\n serializedControl: SerializedCheckboxControl,\n): DeserializedCheckboxControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ResponsiveColorControlConfig = { label?: string; placeholder?: string; hidden?: boolean }\n\ntype SerializedResponsiveColorControl<_T = ResponsiveColorControlValue> = {\n type: typeof Controls.Types.ResponsiveColor\n options: SerializedConfig<ResponsiveColorControlConfig>\n}\n\nfunction serializeResponsiveColorControl(\n control: ResponsiveColorControl,\n): [SerializedResponsiveColorControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveColorControl<_T = ResponsiveColorControlValue> = {\n type: typeof Controls.Types.ResponsiveColor\n options: DeserializedConfig<ResponsiveColorControlConfig>\n}\n\nfunction deserializeResponsiveColorControl(\n serializedControl: SerializedResponsiveColorControl,\n): DeserializedResponsiveColorControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\ntype NumberControlConfig = {\n preset?: NumberControlValue\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n hidden?: boolean\n}\n\ntype SerializedNumberControl<_T = NumberControlValue> = {\n type: typeof Controls.Types.Number\n options: SerializedConfig<NumberControlConfig>\n}\n\nfunction serializeNumberControl(control: NumberControl): [SerializedNumberControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedNumberControl<_T = NumberControlValue> = {\n type: typeof Controls.Types.Number\n options: DeserializedConfig<NumberControlConfig>\n}\n\nfunction deserializeNumberControl(\n serializedControl: SerializedNumberControl,\n): DeserializedNumberControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\ntype ResponsiveIconRadioGroupControlConfig<T extends string = string, U extends T = T> = {\n label?: string\n options: IconRadioGroupOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}\n\ntype SerializedResponsiveIconRadioGroupControl<_T = ResponsiveIconRadioGroupControlValue> = {\n type: typeof Controls.Types.ResponsiveIconRadioGroup\n options: SerializedConfig<ResponsiveIconRadioGroupControlConfig>\n}\n\nfunction serializeResponsiveIconRadioGroupControl(\n control: ResponsiveIconRadioGroupControl,\n): [SerializedResponsiveIconRadioGroupControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveIconRadioGroupControl<_T = ResponsiveIconRadioGroupControlValue> = {\n type: typeof Controls.Types.ResponsiveIconRadioGroup\n options: DeserializedConfig<ResponsiveIconRadioGroupControlConfig>\n}\n\nfunction deserializeResponsiveIconRadioGroupControl(\n serializedControl: SerializedResponsiveIconRadioGroupControl,\n): DeserializedResponsiveIconRadioGroupControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype DateControlConfig = { preset?: DateControlValue }\n\ntype SerializedDateControl<_T = DateControlValue> = {\n type: typeof Controls.Types.Date\n options: SerializedConfig<DateControlConfig>\n}\n\nfunction serializeDateControl(control: DateControl): [SerializedDateControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedDateControl<_T = DateControlValue> = {\n type: typeof Controls.Types.Date\n options: DeserializedConfig<DateControlConfig>\n}\n\nfunction deserializeDateControl(serializedControl: SerializedDateControl): DeserializedDateControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype LinkControlConfig = {\n preset?: LinkControlValue\n label?: string\n defaultValue?: LinkControlValue\n options?: { value: LinkControlValue['type']; label: string }[]\n hidden?: boolean\n}\n\ntype SerializedLinkControl<_T = LinkControlValue> = {\n type: typeof Controls.Types.Link\n options: SerializedConfig<LinkControlConfig>\n}\n\nfunction serializeLinkControl(control: LinkControl): [SerializedLinkControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedLinkControl<_T = LinkControlValue> = {\n type: typeof Controls.Types.Link\n options: DeserializedConfig<LinkControlConfig>\n}\n\nfunction deserializeLinkControl(serializedControl: SerializedLinkControl): DeserializedLinkControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype TextInputControlConfig = { label?: string; placeholder?: string; hidden?: boolean }\n\ntype SerializedTextInputControl<_T = TextInputControlValue> = {\n type: typeof Controls.Types.TextInput\n options: SerializedConfig<TextInputControlConfig>\n}\n\nfunction serializeTextInputControl(\n control: TextInputControl,\n): [SerializedTextInputControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedTextInputControl<_T = TextInputControlValue> = {\n type: typeof Controls.Types.TextInput\n options: DeserializedConfig<TextInputControlConfig>\n}\n\nfunction deserializeTextInputControl(\n serializedControl: SerializedTextInputControl,\n): DeserializedTextInputControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype SerializedResponsiveSelectControl<_T = ResponsiveSelectControlValue> = {\n type: typeof Controls.Types.ResponsiveSelect\n options: SerializedConfig<ResponsiveSelectControlConfig>\n}\n\nfunction serializeResponsiveSelectControl(\n control: ResponsiveSelectControl,\n): [SerializedResponsiveSelectControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype ResponsiveSelectControlConfig<T extends string = string, U extends T = T> = {\n label?: string\n labelOrientation?: SelectLabelOrientation\n options: SelectOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}\n\ntype DeserializedResponsiveSelectControl<_T = ResponsiveSelectControlValue> = {\n type: typeof Controls.Types.ResponsiveSelect\n options: DeserializedConfig<ResponsiveSelectControlConfig>\n}\n\nfunction deserializeResponsiveSelectControl(\n serializedControl: SerializedResponsiveSelectControl,\n): DeserializedResponsiveSelectControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ResponsiveLengthControlConfig = {\n label?: string\n options?: LengthOption[]\n defaultValue?: Length\n hidden?: boolean\n}\n\ntype SerializedResponsiveLengthControl<_T = ResponsiveLengthControlValue> = {\n type: typeof Controls.Types.ResponsiveLength\n options: SerializedConfig<ResponsiveLengthControlConfig>\n}\n\nfunction serializeResponsiveLengthControl(\n control: ResponsiveLengthControl,\n): [SerializedResponsiveLengthControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveLengthControl<_T = ResponsiveLengthControlValue> = {\n type: typeof Controls.Types.ResponsiveLength\n options: DeserializedConfig<ResponsiveLengthControlConfig>\n}\n\nfunction deserializeResponsiveLengthControl(\n serializedControl: SerializedResponsiveLengthControl,\n): DeserializedResponsiveLengthControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype SerializedTextStyleControl<_T = TextStyleControlValue> = {\n type: typeof Controls.Types.TextStyle\n options: SerializedConfig<TextStyleControlConfig>\n}\n\nfunction serializeTextStyleControl(\n control: TextStyleControl,\n): [SerializedTextStyleControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype TextStyleControlConfig = {\n preset?: TextStyleControlValue\n label?: string\n hidden?: boolean\n}\n\ntype DeserializedTextStyleControl<_T = TextStyleControlValue> = {\n type: typeof Controls.Types.TextStyle\n options: DeserializedConfig<TextStyleControlConfig>\n}\n\nfunction deserializeTextStyleControl(\n serializedControl: SerializedTextStyleControl,\n): DeserializedTextStyleControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ImageControlConfig = { label?: string; hidden?: boolean }\n\ntype SerializedImageControl<_T = ImageControlValue> = {\n type: typeof Controls.Types.Image\n options: SerializedConfig<ImageControlConfig>\n}\n\nfunction serializeImageControl(control: ImageControl): [SerializedImageControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedImageControl<_T = ImageControlValue> = {\n type: typeof Controls.Types.Image\n options: DeserializedConfig<ImageControlConfig>\n}\n\nfunction deserializeImageControl(\n serializedControl: SerializedImageControl,\n): DeserializedImageControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype RichTextControlConfig = { preset?: RichTextControlValue }\n\ntype SerializedRichTextControl<_T = RichTextControlValue> = {\n type: typeof Controls.Types.RichText\n options: SerializedConfig<RichTextControlConfig>\n}\n\nfunction serializeRichTextControl(\n control: RichTextControl,\n): [SerializedRichTextControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedRichTextControl<_T = RichTextControlValue> = {\n type: typeof Controls.Types.RichText\n options: DeserializedConfig<RichTextControlConfig>\n}\n\nfunction deserializeRichTextControl(\n serializedControl: SerializedRichTextControl,\n): DeserializedRichTextControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\nexport type SerializedControl<T extends Data = Data> =\n | Exclude<\n Control<T>,\n | ListControl<T extends ListControlValue ? T : ListControlValue>\n | ShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | TypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | GapXControl<T>\n | GapYControl<T>\n | ResponsiveNumberControl<T>\n | CheckboxControl<T>\n | ResponsiveColorControl<T>\n | NumberControl<T>\n | ResponsiveIconRadioGroupControl<\n T extends ResponsiveIconRadioGroupControlValue ? T : ResponsiveIconRadioGroupControlValue\n >\n | ResponsiveSelectControl<\n T extends ResponsiveSelectControlValue ? T : ResponsiveSelectControlValue\n >\n | ResponsiveLengthControl<T>\n | DateControl<T>\n | LinkControl<T>\n | TextInputControl<T>\n | TextStyleControl<T>\n | ImageControl<T>\n | RichTextControl<T>\n | RichTextV2ControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition\n | StyleV2ControlDefinition\n >\n | SerializedListControl<T extends ListControlValue ? T : ListControlValue>\n | SerializedShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | SerializedTypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | SerializedGapXControl<T>\n | SerializedGapYControl<T>\n | SerializedResponsiveNumberControl<T>\n | SerializedCheckboxControl<T>\n | SerializedResponsiveColorControl<T>\n | SerializedNumberControl<T>\n | SerializedResponsiveIconRadioGroupControl<T>\n | SerializedResponsiveSelectControl<T>\n | SerializedResponsiveLengthControl<T>\n | SerializedDateControl<T>\n | SerializedLinkControl<T>\n | SerializedTextInputControl<T>\n | SerializedTextStyleControl<T>\n | SerializedImageControl<T>\n | SerializedRichTextControl<T>\n | Serialize<RichTextV2ControlDefinition>\n | Serialize<ComboboxControlDefinition>\n | Serialize<ShapeControlDefinition>\n | Serialize<ListControlDefinition>\n | Serialize<StyleV2ControlDefinition>\n\ntype SerializedPanelControl<T extends Data = Data> = Extract<\n SerializedControl<T>,\n { type: PanelControlType }\n>\n\ntype SerializedPanelControlValueType<T extends SerializedPanelControl> =\n T extends SerializedPanelControl<infer U> ? U : never\n\nexport type DeserializedControl<T extends Data = Data> =\n | Exclude<\n Control<T>,\n | ListControl<T extends ListControlValue ? T : ListControlValue>\n | ShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | TypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | GapXControl<T>\n | GapYControl<T>\n | ResponsiveNumberControl<T>\n | CheckboxControl<T>\n | ResponsiveColorControl<T>\n | NumberControl<T>\n | ResponsiveIconRadioGroupControl<\n T extends ResponsiveIconRadioGroupControlValue ? T : ResponsiveIconRadioGroupControlValue\n >\n | ResponsiveSelectControl<\n T extends ResponsiveSelectControlValue ? T : ResponsiveSelectControlValue\n >\n | ResponsiveLengthControl<T>\n | DateControl<T>\n | LinkControl<T>\n | TextInputControl<T>\n | TextStyleControl<T>\n | ImageControl<T>\n | RichTextControl<T>\n | RichTextV2ControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition\n | StyleV2ControlDefinition\n >\n | DeserializedListControl<T extends ListControlValue ? T : ListControlValue>\n | DeserializedShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | DeserializedTypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | DeserializedGapXControl<T>\n | DeserializedGapYControl<T>\n | DeserializedResponsiveNumberControl<T>\n | DeserializedCheckboxControl<T>\n | DeserializedResponsiveColorControl<T>\n | DeserializedNumberControl<T>\n | DeserializedResponsiveIconRadioGroupControl<T>\n | DeserializedResponsiveSelectControl<T>\n | DeserializedResponsiveLengthControl<T>\n | DeserializedDateControl<T>\n | DeserializedLinkControl<T>\n | DeserializedTextInputControl<T>\n | DeserializedTextStyleControl<T>\n | DeserializedImageControl<T>\n | DeserializedRichTextControl<T>\n | Deserialize<Serialize<RichTextV2ControlDefinition>>\n | Deserialize<Serialize<ComboboxControlDefinition>>\n | Deserialize<Serialize<ShapeControlDefinition>>\n | Deserialize<Serialize<ListControlDefinition>>\n | Deserialize<Serialize<StyleV2ControlDefinition>>\n\nexport type DeserializedPanelControl<T extends Data = Data> = Extract<\n DeserializedControl<T>,\n { type: PanelControlType }\n>\n\ntype DeserializedPanelControlValueType<T extends DeserializedPanelControl> =\n T extends DeserializedPanelControl<infer U> ? U : never\n\nexport function serializeControl<T extends Data>(\n control: Control<T>,\n): [SerializedControl<T>, Transferable[]] {\n switch (control.type) {\n case Controls.Types.Checkbox:\n return serializeCheckboxControl(control)\n\n case Controls.Types.List:\n return serializeListControl(control)\n\n case Controls.Types.Shape:\n return serializeShapeControl(control)\n\n case Controls.Types.Typeahead:\n return serializeTypeaheadControl(control)\n\n case Controls.Types.GapX:\n return serializeGapXControl(control)\n\n case Controls.Types.GapY:\n return serializeGapYControl(control)\n\n case Controls.Types.ResponsiveColor:\n return serializeResponsiveColorControl(control)\n\n case Controls.Types.ResponsiveNumber:\n return serializeResponsiveNumberControl(control)\n\n case Controls.Types.Number:\n return serializeNumberControl(control)\n\n case Controls.Types.ResponsiveIconRadioGroup:\n return serializeResponsiveIconRadioGroupControl(control)\n\n case Controls.Types.ResponsiveSelect:\n return serializeResponsiveSelectControl(control)\n\n case Controls.Types.ResponsiveLength:\n return serializeResponsiveLengthControl(control)\n\n case Controls.Types.Date:\n return serializeDateControl(control)\n\n case Controls.Types.Link:\n return serializeLinkControl(control)\n\n case Controls.Types.TextInput:\n return serializeTextInputControl(control)\n\n case Controls.Types.TextStyle:\n return serializeTextStyleControl(control)\n\n case Controls.Types.Image:\n return serializeImageControl(control)\n\n case Controls.Types.RichText:\n return serializeRichTextControl(control)\n\n case RichTextV2ControlType:\n return serializeRichTextControlV2(control)\n\n case StyleV2ControlType:\n return serializeStyleV2Control(control)\n\n case ComboboxControlType:\n return serializeComboboxControlDefinition(control)\n\n case ShapeControlType:\n return serializeShapeControlDefinition(control)\n\n case ListControlType:\n return serializeListControlDefinition(control)\n\n default:\n return [control, []]\n }\n}\n\nexport function deserializeControl<T extends Data>(\n serializedControl: SerializedControl<T>,\n): DeserializedControl<T> {\n switch (serializedControl.type) {\n case Controls.Types.Checkbox:\n return deserializeCheckboxControl(serializedControl)\n\n case Controls.Types.List:\n return deserializeListControl(serializedControl)\n\n case Controls.Types.Shape:\n return deserializeShapeControl(serializedControl)\n\n case Controls.Types.Typeahead:\n return deserializeTypeaheadControl(serializedControl)\n\n case Controls.Types.GapX:\n return deserializeGapXControl(serializedControl)\n\n case Controls.Types.GapY:\n return deserializeGapYControl(serializedControl)\n\n case Controls.Types.ResponsiveColor:\n return deserializeResponsiveColorControl(serializedControl)\n\n case Controls.Types.ResponsiveNumber:\n return deserializeResponsiveNumberControl(serializedControl)\n\n case Controls.Types.Number:\n return deserializeNumberControl(serializedControl)\n\n case Controls.Types.ResponsiveIconRadioGroup:\n return deserializeResponsiveIconRadioGroupControl(serializedControl)\n\n case Controls.Types.ResponsiveSelect:\n return deserializeResponsiveSelectControl(serializedControl)\n\n case Controls.Types.ResponsiveLength:\n return deserializeResponsiveLengthControl(serializedControl)\n\n case Controls.Types.Date:\n return deserializeDateControl(serializedControl)\n\n case Controls.Types.Link:\n return deserializeLinkControl(serializedControl)\n\n case Controls.Types.TextInput:\n return deserializeTextInputControl(serializedControl)\n\n case Controls.Types.TextStyle:\n return deserializeTextStyleControl(serializedControl)\n\n case Controls.Types.Image:\n return deserializeImageControl(serializedControl)\n\n case Controls.Types.RichText:\n return deserializeRichTextControl(serializedControl)\n\n case RichTextV2ControlType:\n return deserializeRichTextControlV2(serializedControl)\n\n case StyleV2ControlType:\n return deserializeStyleV2Control(serializedControl)\n\n case ComboboxControlType:\n return deserializeComboboxControlDefinition(serializedControl)\n\n case ShapeControlType:\n return deserializeShapeControlDefinition(serializedControl)\n\n case ListControlType:\n return deserializeListControlDefinition(serializedControl)\n\n default:\n return serializedControl\n }\n}\n\nexport function serializeControls(\n controls: Record<string, Control>,\n): [Record<string, SerializedControl>, Transferable[]] {\n return Object.entries(controls).reduce(\n ([accControls, accTransferables], [key, control]) => {\n const [serializedControl, transferables] = serializeControl(control)\n\n return [{ ...accControls, [key]: serializedControl }, [...accTransferables, ...transferables]]\n },\n [{}, []] as [Record<string, SerializedControl>, Transferable[]],\n )\n}\n\nexport function deserializeControls(\n serializedControls: Record<string, SerializedControl>,\n): Record<string, DeserializedControl> {\n return Object.entries(serializedControls).reduce(\n (deserializedControls, [key, serializedControl]) => {\n return { ...deserializedControls, [key]: deserializeControl(serializedControl) }\n },\n {} as Record<string, DeserializedControl>,\n )\n}\n"],"mappings":"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","names":["control","Controls"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/builder/serialization/control-serialization.ts"],"sourcesContent":["import {\n ResponsiveLengthOptions,\n ResponsiveLengthPropControllerData,\n} from '@makeswift/prop-controllers'\nimport {\n ComboboxControlDefinition,\n ComboboxControlType,\n ListControlDefinition,\n ListControlType,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n ShapeControlDefinition,\n ShapeControlType,\n StyleV2ControlDefinition,\n StyleV2ControlType,\n} from '../../controls'\nimport {\n Data,\n Device,\n DateDescriptor as DateControl,\n DateValue as DateControlValue,\n Gap,\n GapXDescriptor as GapXControl,\n GapXValue as GapXControlValue,\n GapYDescriptor as GapYControl,\n GapYValue as GapYControlValue,\n ImageDescriptor as ImageControl,\n ImageValue as ImageControlValue,\n ListDescriptor as ListControl,\n ListOptions as ListControlConfig,\n ListValue as ListControlValue,\n ResponsiveNumberDescriptor as ResponsiveNumberControl,\n ResponsiveNumberValue as ResponsiveNumberControlValue,\n ResponsiveIconRadioGroupDescriptor as ResponsiveIconRadioGroupControl,\n ResponsiveIconRadioGroupValue as ResponsiveIconRadioGroupControlValue,\n ResponsiveSelectDescriptor as ResponsiveSelectControl,\n ResponsiveSelectValue as ResponsiveSelectControlValue,\n RichTextDescriptor as RichTextControl,\n RichTextValue as RichTextControlValue,\n ShapeDescriptor as ShapeControl,\n ShapeValue as ShapeControlValue,\n TextInputDescriptor as TextInputControl,\n TextInputValue as TextInputControlValue,\n TextStyleDescriptor as TextStyleControl,\n TextStyleValue as TextStyleControlValue,\n TypeaheadDescriptor as TypeaheadControl,\n TypeaheadOptions as TypeaheadControlConfig,\n TypeaheadValue as TypeaheadControlValue,\n PanelDescriptor as PanelControl,\n PanelDescriptorType as PanelControlType,\n PanelDescriptorValueType as PanelControlValueType,\n PropControllerDescriptor as Control,\n Props as Controls,\n} from '../../prop-controllers'\nimport {\n IconRadioGroupOption,\n SelectLabelOrientation,\n SelectOption,\n} from '../../prop-controllers/descriptors'\nimport {\n deserializeComboboxControlDefinition,\n serializeComboboxControlDefinition,\n} from './controls/combobox'\nimport { deserializeListControlDefinition, serializeListControlDefinition } from './controls/list'\nimport { deserializeRichTextControlV2, serializeRichTextControlV2 } from './controls/rich-text-v2'\nimport {\n deserializeShapeControlDefinition,\n serializeShapeControlDefinition,\n} from './controls/shape'\nimport { deserializeStyleV2Control, serializeStyleV2Control } from './controls/style-v2'\nimport { Deserialize, Serialize } from './controls/types'\nimport {\n DeserializedFunction,\n deserializeFunction,\n isSerializedFunction,\n SerializedFunction,\n serializeFunction,\n} from './function-serialization'\nimport {\n LinkData,\n Types as PropControllerTypes,\n LinkDescriptor as LinkControl,\n LinkPropControllerData,\n ResponsiveLengthDescriptor,\n NumberOptions,\n NumberPropControllerData,\n NumberDescriptor,\n ResponsiveColorPropControllerData,\n ResponsiveColorDescriptor,\n CheckboxPropControllerData,\n CheckboxDescriptor as CheckboxControl,\n} from '@makeswift/prop-controllers'\n\ntype SerializedShapeControlConfig<T extends Record<string, SerializedPanelControl>> = {\n type: T\n preset?: { [K in keyof T]?: SerializedPanelControlValueType<T[K]> }\n}\n\ntype SerializedShapeControl<\n _T extends Record<string, Data>,\n U extends Record<string, SerializedPanelControl>,\n> = {\n type: typeof Controls.Types.Shape\n options: SerializedShapeControlConfig<U>\n}\n\nfunction serializeShapeControl<\n T extends Record<string, Data>,\n U extends Record<string, PanelControl>,\n>(\n control: ShapeControl<T, U>,\n): [\n SerializedShapeControl<\n T,\n { [K in keyof U]: SerializedPanelControl<PanelControlValueType<U[K]>> }\n >,\n Transferable[],\n] {\n const { type } = control.options\n const transferables: Transferable[] = []\n const serializedType = {} as {\n [K in keyof U]: SerializedPanelControl<PanelControlValueType<U[K]>>\n }\n\n Object.entries(type).forEach(([key, control]) => {\n const [serializedControl, serializedControlTransferables] = serializeControl(control)\n\n serializedType[key as keyof typeof type] = serializedControl as SerializedPanelControl\n transferables.push(...serializedControlTransferables)\n })\n\n // @ts-expect-error: preset types are incompatible\n return [{ ...control, options: { ...control.options, type: serializedType } }, transferables]\n}\n\ntype DeserializedShapeControlConfig<T extends Record<string, DeserializedPanelControl>> = {\n type: T\n preset?: { [K in keyof T]?: DeserializedPanelControlValueType<T[K]> }\n}\n\ntype DeserializedShapeControl<\n _T extends Record<string, Data>,\n U extends Record<string, DeserializedPanelControl>,\n> = {\n type: typeof Controls.Types.Shape\n options: DeserializedShapeControlConfig<U>\n}\n\nfunction deserializeShapeControl<\n T extends Record<string, Data>,\n U extends Record<string, SerializedPanelControl>,\n>(\n control: SerializedShapeControl<T, U>,\n): DeserializedShapeControl<\n T,\n { [K in keyof U]: DeserializedPanelControl<SerializedPanelControlValueType<U[K]>> }\n> {\n const { type } = control.options\n const deserializedType = {} as {\n [K in keyof U]: DeserializedPanelControl<SerializedPanelControlValueType<U[K]>>\n }\n\n Object.entries(type).forEach(([key, control]) => {\n deserializedType[key as keyof typeof type] = deserializeControl(\n control,\n ) as DeserializedPanelControl\n })\n\n // @ts-expect-error: preset types are incompatible\n return { ...control, options: { ...control.options, type: deserializedType } }\n}\n\ntype SerializedListControlConfig<T extends Data> = {\n type: SerializedPanelControl<T>\n label?: string\n getItemLabel?: SerializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype SerializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: SerializedListControlConfig<T extends ListControlValue<infer U> ? U : never>\n}\n\nfunction serializeListControl<T extends Data>(\n control: ListControl<ListControlValue<T>>,\n): [SerializedListControl<ListControlValue<T>>, Transferable[]] {\n const { type, getItemLabel } = control.options\n const transferables: Transferable[] = []\n\n const [serializedType, serializedTypeTransferables] = serializeControl(type)\n const serializedGetItemLabel = getItemLabel && serializeFunction(getItemLabel)\n\n transferables.push(...serializedTypeTransferables)\n if (serializedGetItemLabel != null) transferables.push(serializedGetItemLabel)\n\n return [\n {\n ...control,\n options: {\n ...control.options,\n type: serializedType as SerializedPanelControl,\n getItemLabel: serializedGetItemLabel,\n },\n },\n transferables,\n ]\n}\n\ntype DeserializedListControlConfig<T extends Data> = {\n type: DeserializedPanelControl<T>\n label?: string\n getItemLabel?: DeserializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype DeserializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: DeserializedListControlConfig<T extends ListControlValue<infer U> ? U : never>\n}\n\nfunction deserializeListControl<T extends Data>(\n serializedControl: SerializedListControl<ListControlValue<T>>,\n): DeserializedListControl<ListControlValue<T>> {\n const { type, getItemLabel } = serializedControl.options\n\n const deserializedType = deserializeControl(type) as DeserializedPanelControl\n const deserializedGetItemLabel = getItemLabel && deserializeFunction(getItemLabel)\n\n return {\n ...serializedControl,\n options: {\n ...serializedControl.options,\n type: deserializedType,\n getItemLabel: deserializedGetItemLabel,\n },\n }\n}\n\ntype SerializedTypeaheadControlConfig<T extends Data> = {\n getItems: SerializedFunction<TypeaheadControlConfig<T>['getItems']>\n label?: string\n preset?: TypeaheadControlValue<T>\n defaultValue?: TypeaheadControlValue<T>\n}\n\ntype SerializedTypeaheadControl<T extends TypeaheadControlValue = TypeaheadControlValue> = {\n type: typeof Controls.Types.Typeahead\n options: SerializedTypeaheadControlConfig<T['value']>\n}\n\nfunction serializeTypeaheadControl<T extends Data>(\n control: TypeaheadControl<TypeaheadControlValue<T>>,\n): [SerializedTypeaheadControl<TypeaheadControlValue<T>>, Transferable[]] {\n const { getItems } = control.options\n\n const serializedGetItems = getItems && serializeFunction(getItems)\n\n return [\n { ...control, options: { ...control.options, getItems: serializedGetItems } },\n serializedGetItems == null ? [] : [serializedGetItems],\n ]\n}\n\ntype DeserializedTypeaheadControlConfig<T extends Data> = {\n getItems: DeserializedFunction<TypeaheadControlConfig<T>['getItems']>\n label?: string\n preset?: TypeaheadControlValue<T>\n defaultValue?: TypeaheadControlValue<T>\n}\n\ntype DeserializedTypeaheadControl<T extends TypeaheadControlValue = TypeaheadControlValue> = {\n type: typeof Controls.Types.Typeahead\n options: DeserializedTypeaheadControlConfig<T['value']>\n}\n\nfunction deserializeTypeaheadControl<T extends Data>(\n serializedControl: SerializedTypeaheadControl<TypeaheadControlValue<T>>,\n): DeserializedTypeaheadControl<TypeaheadControlValue<T>> {\n const { getItems } = serializedControl.options\n\n const deserializedGetItems = getItems && deserializeFunction(getItems)\n\n return {\n ...serializedControl,\n options: { ...serializedControl.options, getItems: deserializedGetItems },\n }\n}\n\ntype SerializedConfig<T> =\n | T\n | SerializedFunction<(props: Record<string, unknown>, deviceMode: Device) => T>\n\ntype DeserializedConfig<T> =\n | T\n | DeserializedFunction<(props: Record<string, unknown>, deviceMode: Device) => T>\n\ntype GapXControlConfig = {\n preset?: GapXControlValue\n label?: string\n defaultValue?: Gap\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}\n\ntype SerializedGapXControl<_T = GapXControlValue> = {\n type: typeof Controls.Types.GapX\n options: SerializedConfig<GapXControlConfig>\n}\n\nfunction serializeGapXControl(control: GapXControl): [SerializedGapXControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedGapXControl<_T = GapXControlValue> = {\n type: typeof Controls.Types.GapX\n options: DeserializedConfig<GapXControlConfig>\n}\n\nfunction deserializeGapXControl(serializedControl: SerializedGapXControl): DeserializedGapXControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype GapYControlConfig = {\n preset?: GapYControlValue\n label?: string\n defaultValue?: Gap\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}\n\ntype SerializedGapYControl<_T = GapYControlValue> = {\n type: typeof Controls.Types.GapY\n options: SerializedConfig<GapYControlConfig>\n}\n\nfunction serializeGapYControl(control: GapYControl): [SerializedGapYControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedGapYControl<_T = GapYControlValue> = {\n type: typeof Controls.Types.GapY\n options: DeserializedConfig<GapYControlConfig>\n}\n\nfunction deserializeGapYControl(serializedControl: SerializedGapYControl): DeserializedGapYControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ResponsiveNumberControlConfig = {\n preset?: ResponsiveNumberControlValue\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}\n\ntype SerializedResponsiveNumberControl<_T = ResponsiveNumberControlValue> = {\n type: typeof Controls.Types.ResponsiveNumber\n options: SerializedConfig<ResponsiveNumberControlConfig>\n}\n\nfunction serializeResponsiveNumberControl(\n control: ResponsiveNumberControl,\n): [SerializedResponsiveNumberControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveNumberControl<_T = ResponsiveNumberControlValue> = {\n type: typeof Controls.Types.ResponsiveNumber\n options: DeserializedConfig<ResponsiveNumberControlConfig>\n}\n\nfunction deserializeResponsiveNumberControl(\n serializedControl: SerializedResponsiveNumberControl,\n): DeserializedResponsiveNumberControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype CheckboxControlConfig = {\n preset?: CheckboxPropControllerData\n label: string\n hidden?: boolean\n}\n\ntype SerializedCheckboxControl<_T = CheckboxPropControllerData> = {\n type: typeof PropControllerTypes.Checkbox\n options: SerializedConfig<CheckboxControlConfig>\n}\n\nfunction serializeCheckboxControl(\n control: CheckboxControl,\n): [SerializedCheckboxControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedCheckboxControl<_T = CheckboxPropControllerData> = {\n type: typeof PropControllerTypes.Checkbox\n options: DeserializedConfig<CheckboxControlConfig>\n}\n\nfunction deserializeCheckboxControl(\n serializedControl: SerializedCheckboxControl,\n): DeserializedCheckboxControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ResponsiveColorControlConfig = { label?: string; placeholder?: string; hidden?: boolean }\n\ntype SerializedResponsiveColorControl<_T = ResponsiveColorPropControllerData> = {\n type: typeof PropControllerTypes.ResponsiveColor\n options: SerializedConfig<ResponsiveColorControlConfig>\n}\n\nfunction serializeResponsiveColorControl(\n control: ResponsiveColorDescriptor,\n): [SerializedResponsiveColorControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveColorControl<_T = ResponsiveColorPropControllerData> = {\n type: typeof PropControllerTypes.ResponsiveColor\n options: DeserializedConfig<ResponsiveColorControlConfig>\n}\n\nfunction deserializeResponsiveColorControl(\n serializedControl: SerializedResponsiveColorControl,\n): DeserializedResponsiveColorControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\ntype SerializedNumberControl<_T = NumberPropControllerData> = {\n type: typeof PropControllerTypes.Number\n options: SerializedConfig<NumberOptions>\n}\n\nfunction serializeNumberControl(\n control: NumberDescriptor,\n): [SerializedNumberControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedNumberControl<_T = NumberPropControllerData> = {\n type: typeof PropControllerTypes.Number\n options: DeserializedConfig<NumberOptions>\n}\n\nfunction deserializeNumberControl(\n serializedControl: SerializedNumberControl,\n): DeserializedNumberControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\ntype ResponsiveIconRadioGroupControlConfig<T extends string = string, U extends T = T> = {\n label?: string\n options: IconRadioGroupOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}\n\ntype SerializedResponsiveIconRadioGroupControl<_T = ResponsiveIconRadioGroupControlValue> = {\n type: typeof Controls.Types.ResponsiveIconRadioGroup\n options: SerializedConfig<ResponsiveIconRadioGroupControlConfig>\n}\n\nfunction serializeResponsiveIconRadioGroupControl(\n control: ResponsiveIconRadioGroupControl,\n): [SerializedResponsiveIconRadioGroupControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveIconRadioGroupControl<_T = ResponsiveIconRadioGroupControlValue> = {\n type: typeof Controls.Types.ResponsiveIconRadioGroup\n options: DeserializedConfig<ResponsiveIconRadioGroupControlConfig>\n}\n\nfunction deserializeResponsiveIconRadioGroupControl(\n serializedControl: SerializedResponsiveIconRadioGroupControl,\n): DeserializedResponsiveIconRadioGroupControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype DateControlConfig = { preset?: DateControlValue }\n\ntype SerializedDateControl<_T = DateControlValue> = {\n type: typeof Controls.Types.Date\n options: SerializedConfig<DateControlConfig>\n}\n\nfunction serializeDateControl(control: DateControl): [SerializedDateControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedDateControl<_T = DateControlValue> = {\n type: typeof Controls.Types.Date\n options: DeserializedConfig<DateControlConfig>\n}\n\nfunction deserializeDateControl(serializedControl: SerializedDateControl): DeserializedDateControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype LinkControlConfig = {\n preset?: LinkPropControllerData\n label?: string\n defaultValue?: LinkPropControllerData\n options?: { value: LinkData['type']; label: string }[]\n hidden?: boolean\n}\n\ntype SerializedLinkControl<_T = LinkPropControllerData> = {\n type: typeof PropControllerTypes.Link\n options: SerializedConfig<LinkControlConfig>\n}\n\nfunction serializeLinkControl(control: LinkControl): [SerializedLinkControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedLinkControl<_T = LinkPropControllerData> = {\n type: typeof PropControllerTypes.Link\n options: DeserializedConfig<LinkControlConfig>\n}\n\nfunction deserializeLinkControl(serializedControl: SerializedLinkControl): DeserializedLinkControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype TextInputControlConfig = { label?: string; placeholder?: string; hidden?: boolean }\n\ntype SerializedTextInputControl<_T = TextInputControlValue> = {\n type: typeof Controls.Types.TextInput\n options: SerializedConfig<TextInputControlConfig>\n}\n\nfunction serializeTextInputControl(\n control: TextInputControl,\n): [SerializedTextInputControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedTextInputControl<_T = TextInputControlValue> = {\n type: typeof Controls.Types.TextInput\n options: DeserializedConfig<TextInputControlConfig>\n}\n\nfunction deserializeTextInputControl(\n serializedControl: SerializedTextInputControl,\n): DeserializedTextInputControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype SerializedResponsiveSelectControl<_T = ResponsiveSelectControlValue> = {\n type: typeof Controls.Types.ResponsiveSelect\n options: SerializedConfig<ResponsiveSelectControlConfig>\n}\n\nfunction serializeResponsiveSelectControl(\n control: ResponsiveSelectControl,\n): [SerializedResponsiveSelectControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype ResponsiveSelectControlConfig<T extends string = string, U extends T = T> = {\n label?: string\n labelOrientation?: SelectLabelOrientation\n options: SelectOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}\n\ntype DeserializedResponsiveSelectControl<_T = ResponsiveSelectControlValue> = {\n type: typeof Controls.Types.ResponsiveSelect\n options: DeserializedConfig<ResponsiveSelectControlConfig>\n}\n\nfunction deserializeResponsiveSelectControl(\n serializedControl: SerializedResponsiveSelectControl,\n): DeserializedResponsiveSelectControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype SerializedResponsiveLengthControl<_T = ResponsiveLengthPropControllerData> = {\n type: typeof PropControllerTypes.ResponsiveLength\n options: SerializedConfig<ResponsiveLengthOptions>\n}\n\nfunction serializeResponsiveLengthControl(\n control: ResponsiveLengthDescriptor,\n): [SerializedResponsiveLengthControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedResponsiveLengthControl<_T = ResponsiveLengthPropControllerData> = {\n type: typeof PropControllerTypes.ResponsiveLength\n options: DeserializedConfig<ResponsiveLengthOptions>\n}\n\nfunction deserializeResponsiveLengthControl(\n serializedControl: SerializedResponsiveLengthControl,\n): DeserializedResponsiveLengthControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype SerializedTextStyleControl<_T = TextStyleControlValue> = {\n type: typeof Controls.Types.TextStyle\n options: SerializedConfig<TextStyleControlConfig>\n}\n\nfunction serializeTextStyleControl(\n control: TextStyleControl,\n): [SerializedTextStyleControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype TextStyleControlConfig = {\n preset?: TextStyleControlValue\n label?: string\n hidden?: boolean\n}\n\ntype DeserializedTextStyleControl<_T = TextStyleControlValue> = {\n type: typeof Controls.Types.TextStyle\n options: DeserializedConfig<TextStyleControlConfig>\n}\n\nfunction deserializeTextStyleControl(\n serializedControl: SerializedTextStyleControl,\n): DeserializedTextStyleControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype ImageControlConfig = { label?: string; hidden?: boolean }\n\ntype SerializedImageControl<_T = ImageControlValue> = {\n type: typeof Controls.Types.Image\n options: SerializedConfig<ImageControlConfig>\n}\n\nfunction serializeImageControl(control: ImageControl): [SerializedImageControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedImageControl<_T = ImageControlValue> = {\n type: typeof Controls.Types.Image\n options: DeserializedConfig<ImageControlConfig>\n}\n\nfunction deserializeImageControl(\n serializedControl: SerializedImageControl,\n): DeserializedImageControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\ntype RichTextControlConfig = { preset?: RichTextControlValue }\n\ntype SerializedRichTextControl<_T = RichTextControlValue> = {\n type: typeof Controls.Types.RichText\n options: SerializedConfig<RichTextControlConfig>\n}\n\nfunction serializeRichTextControl(\n control: RichTextControl,\n): [SerializedRichTextControl, Transferable[]] {\n const { options } = control\n\n if (typeof options !== 'function') return [{ ...control, options }, []]\n\n const serializedOptions = serializeFunction(options)\n\n return [{ ...control, options: serializedOptions }, [serializedOptions]]\n}\n\ntype DeserializedRichTextControl<_T = RichTextControlValue> = {\n type: typeof Controls.Types.RichText\n options: DeserializedConfig<RichTextControlConfig>\n}\n\nfunction deserializeRichTextControl(\n serializedControl: SerializedRichTextControl,\n): DeserializedRichTextControl {\n const { options } = serializedControl\n\n if (!isSerializedFunction(options)) return { ...serializedControl, options }\n\n const deserializedOptions = deserializeFunction(options)\n\n return { ...serializedControl, options: deserializedOptions }\n}\n\nexport type SerializedControl<T extends Data = Data> =\n | Exclude<\n Control<T>,\n | ListControl<T extends ListControlValue ? T : ListControlValue>\n | ShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | TypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | GapXControl<T>\n | GapYControl<T>\n | ResponsiveNumberControl<T>\n | CheckboxControl<T>\n | ResponsiveColorDescriptor<T>\n | NumberDescriptor<T>\n | ResponsiveIconRadioGroupControl<\n T extends ResponsiveIconRadioGroupControlValue ? T : ResponsiveIconRadioGroupControlValue\n >\n | ResponsiveSelectControl<\n T extends ResponsiveSelectControlValue ? T : ResponsiveSelectControlValue\n >\n | ResponsiveLengthDescriptor<T>\n | DateControl<T>\n | LinkControl<T>\n | TextInputControl<T>\n | TextStyleControl<T>\n | ImageControl<T>\n | RichTextControl<T>\n | RichTextV2ControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition\n | StyleV2ControlDefinition\n >\n | SerializedListControl<T extends ListControlValue ? T : ListControlValue>\n | SerializedShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | SerializedTypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | SerializedGapXControl<T>\n | SerializedGapYControl<T>\n | SerializedResponsiveNumberControl<T>\n | SerializedCheckboxControl<T>\n | SerializedResponsiveColorControl<T>\n | SerializedNumberControl<T>\n | SerializedResponsiveIconRadioGroupControl<T>\n | SerializedResponsiveSelectControl<T>\n | SerializedResponsiveLengthControl<T>\n | SerializedDateControl<T>\n | SerializedLinkControl<T>\n | SerializedTextInputControl<T>\n | SerializedTextStyleControl<T>\n | SerializedImageControl<T>\n | SerializedRichTextControl<T>\n | Serialize<RichTextV2ControlDefinition>\n | Serialize<ComboboxControlDefinition>\n | Serialize<ShapeControlDefinition>\n | Serialize<ListControlDefinition>\n | Serialize<StyleV2ControlDefinition>\n\ntype SerializedPanelControl<T extends Data = Data> = Extract<\n SerializedControl<T>,\n { type: PanelControlType }\n>\n\ntype SerializedPanelControlValueType<T extends SerializedPanelControl> =\n T extends SerializedPanelControl<infer U> ? U : never\n\nexport type DeserializedControl<T extends Data = Data> =\n | Exclude<\n Control<T>,\n | ListControl<T extends ListControlValue ? T : ListControlValue>\n | ShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | TypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | GapXControl<T>\n | GapYControl<T>\n | ResponsiveNumberControl<T>\n | CheckboxControl<T>\n | ResponsiveColorDescriptor<T>\n | NumberDescriptor<T>\n | ResponsiveIconRadioGroupControl<\n T extends ResponsiveIconRadioGroupControlValue ? T : ResponsiveIconRadioGroupControlValue\n >\n | ResponsiveSelectControl<\n T extends ResponsiveSelectControlValue ? T : ResponsiveSelectControlValue\n >\n | ResponsiveLengthDescriptor<T>\n | DateControl<T>\n | LinkControl<T>\n | TextInputControl<T>\n | TextStyleControl<T>\n | ImageControl<T>\n | RichTextControl<T>\n | RichTextV2ControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition\n | StyleV2ControlDefinition\n >\n | DeserializedListControl<T extends ListControlValue ? T : ListControlValue>\n | DeserializedShapeControl<T extends ShapeControlValue ? T : ShapeControlValue, any>\n | DeserializedTypeaheadControl<T extends TypeaheadControlValue ? T : TypeaheadControlValue>\n | DeserializedGapXControl<T>\n | DeserializedGapYControl<T>\n | DeserializedResponsiveNumberControl<T>\n | DeserializedCheckboxControl<T>\n | DeserializedResponsiveColorControl<T>\n | DeserializedNumberControl<T>\n | DeserializedResponsiveIconRadioGroupControl<T>\n | DeserializedResponsiveSelectControl<T>\n | DeserializedResponsiveLengthControl<T>\n | DeserializedDateControl<T>\n | DeserializedLinkControl<T>\n | DeserializedTextInputControl<T>\n | DeserializedTextStyleControl<T>\n | DeserializedImageControl<T>\n | DeserializedRichTextControl<T>\n | Deserialize<Serialize<RichTextV2ControlDefinition>>\n | Deserialize<Serialize<ComboboxControlDefinition>>\n | Deserialize<Serialize<ShapeControlDefinition>>\n | Deserialize<Serialize<ListControlDefinition>>\n | Deserialize<Serialize<StyleV2ControlDefinition>>\n\nexport type DeserializedPanelControl<T extends Data = Data> = Extract<\n DeserializedControl<T>,\n { type: PanelControlType }\n>\n\ntype DeserializedPanelControlValueType<T extends DeserializedPanelControl> =\n T extends DeserializedPanelControl<infer U> ? U : never\n\nexport function serializeControl<T extends Data>(\n control: Control<T>,\n): [SerializedControl<T>, Transferable[]] {\n switch (control.type) {\n case PropControllerTypes.Checkbox:\n return serializeCheckboxControl(control)\n\n case Controls.Types.List:\n return serializeListControl(control)\n\n case Controls.Types.Shape:\n return serializeShapeControl(control)\n\n case Controls.Types.Typeahead:\n return serializeTypeaheadControl(control)\n\n case Controls.Types.GapX:\n return serializeGapXControl(control)\n\n case Controls.Types.GapY:\n return serializeGapYControl(control)\n\n case PropControllerTypes.ResponsiveColor:\n return serializeResponsiveColorControl(control)\n\n case Controls.Types.ResponsiveNumber:\n return serializeResponsiveNumberControl(control)\n\n case PropControllerTypes.Number:\n return serializeNumberControl(control)\n\n case Controls.Types.ResponsiveIconRadioGroup:\n return serializeResponsiveIconRadioGroupControl(control)\n\n case Controls.Types.ResponsiveSelect:\n return serializeResponsiveSelectControl(control)\n\n case PropControllerTypes.ResponsiveLength:\n return serializeResponsiveLengthControl(control)\n\n case Controls.Types.Date:\n return serializeDateControl(control)\n\n case PropControllerTypes.Link:\n return serializeLinkControl(control)\n\n case Controls.Types.TextInput:\n return serializeTextInputControl(control)\n\n case Controls.Types.TextStyle:\n return serializeTextStyleControl(control)\n\n case Controls.Types.Image:\n return serializeImageControl(control)\n\n case Controls.Types.RichText:\n return serializeRichTextControl(control)\n\n case RichTextV2ControlType:\n return serializeRichTextControlV2(control)\n\n case StyleV2ControlType:\n return serializeStyleV2Control(control)\n\n case ComboboxControlType:\n return serializeComboboxControlDefinition(control)\n\n case ShapeControlType:\n return serializeShapeControlDefinition(control)\n\n case ListControlType:\n return serializeListControlDefinition(control)\n\n default:\n return [control, []]\n }\n}\n\nexport function deserializeControl<T extends Data>(\n serializedControl: SerializedControl<T>,\n): DeserializedControl<T> {\n switch (serializedControl.type) {\n case PropControllerTypes.Checkbox:\n return deserializeCheckboxControl(serializedControl)\n\n case Controls.Types.List:\n return deserializeListControl(serializedControl)\n\n case Controls.Types.Shape:\n return deserializeShapeControl(serializedControl)\n\n case Controls.Types.Typeahead:\n return deserializeTypeaheadControl(serializedControl)\n\n case Controls.Types.GapX:\n return deserializeGapXControl(serializedControl)\n\n case Controls.Types.GapY:\n return deserializeGapYControl(serializedControl)\n\n case PropControllerTypes.ResponsiveColor:\n return deserializeResponsiveColorControl(serializedControl)\n\n case Controls.Types.ResponsiveNumber:\n return deserializeResponsiveNumberControl(serializedControl)\n\n case PropControllerTypes.Number:\n return deserializeNumberControl(serializedControl)\n\n case Controls.Types.ResponsiveIconRadioGroup:\n return deserializeResponsiveIconRadioGroupControl(serializedControl)\n\n case Controls.Types.ResponsiveSelect:\n return deserializeResponsiveSelectControl(serializedControl)\n\n case PropControllerTypes.ResponsiveLength:\n return deserializeResponsiveLengthControl(serializedControl)\n\n case Controls.Types.Date:\n return deserializeDateControl(serializedControl)\n\n case PropControllerTypes.Link:\n return deserializeLinkControl(serializedControl)\n\n case Controls.Types.TextInput:\n return deserializeTextInputControl(serializedControl)\n\n case Controls.Types.TextStyle:\n return deserializeTextStyleControl(serializedControl)\n\n case Controls.Types.Image:\n return deserializeImageControl(serializedControl)\n\n case Controls.Types.RichText:\n return deserializeRichTextControl(serializedControl)\n\n case RichTextV2ControlType:\n return deserializeRichTextControlV2(serializedControl)\n\n case StyleV2ControlType:\n return deserializeStyleV2Control(serializedControl)\n\n case ComboboxControlType:\n return deserializeComboboxControlDefinition(serializedControl)\n\n case ShapeControlType:\n return deserializeShapeControlDefinition(serializedControl)\n\n case ListControlType:\n return deserializeListControlDefinition(serializedControl)\n\n default:\n return serializedControl\n }\n}\n\nexport function serializeControls(\n controls: Record<string, Control>,\n): [Record<string, SerializedControl>, Transferable[]] {\n return Object.entries(controls).reduce(\n ([accControls, accTransferables], [key, control]) => {\n const [serializedControl, transferables] = serializeControl(control)\n\n return [{ ...accControls, [key]: serializedControl }, [...accTransferables, ...transferables]]\n },\n [{}, []] as [Record<string, SerializedControl>, Transferable[]],\n )\n}\n\nexport function deserializeControls(\n serializedControls: Record<string, SerializedControl>,\n): Record<string, DeserializedControl> {\n return Object.entries(serializedControls).reduce(\n (deserializedControls, [key, serializedControl]) => {\n return { ...deserializedControls, [key]: deserializeControl(serializedControl) }\n },\n {} as Record<string, DeserializedControl>,\n )\n}\n"],"mappings":"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","names":["import_prop_controllers","control","PropControllerTypes","Controls"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/builtin/Box/Box.tsx"],"sourcesContent":["'use client'\n\nimport {\n forwardRef,\n Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\nimport { cx } from '@emotion/css'\nimport { v4 as uuid } from 'uuid'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { areBoxAnimationPropsEqual, BoxAnimationProps, useBoxAnimation } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/builtin/Box/Box.tsx"],"sourcesContent":["'use client'\n\nimport {\n forwardRef,\n Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\nimport { cx } from '@emotion/css'\nimport { v4 as uuid } from 'uuid'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { areBoxAnimationPropsEqual, BoxAnimationProps, useBoxAnimation } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n hidePlaceholder?: boolean\n children?: GridValue\n} & BoxAnimationProps\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const boxElementObjectRef = useRef<HTMLElement | null>(null)\n const [animationClassName, replayAnimation, setElement] = useBoxAnimation(\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n )\n const boxElementCallbackRef = useCallback((current: HTMLElement | null) => {\n boxElementObjectRef.current = current\n\n setElement(current)\n }, [])\n\n useImperativeHandle(\n ref,\n () => ({\n getDomNode() {\n return boxElementObjectRef.current\n },\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElementObjectRef.current\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [],\n )\n\n const gridItemClassName = useStyle(\n useResponsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const [key, setKey] = useState(() => uuid())\n\n const animationProps = {\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n }\n\n const prevAnimationProps = useRef(animationProps)\n useEffect(() => {\n if (!areBoxAnimationPropsEqual(prevAnimationProps.current, animationProps)) {\n replayAnimation()\n setKey(uuid())\n prevAnimationProps.current = animationProps\n }\n }, [replayAnimation, animationProps])\n\n return (\n <BackgroundsContainer\n ref={boxElementCallbackRef}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(useResponsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n animationClassName,\n )}\n backgrounds={backgrounds}\n >\n <div\n ref={innerRef}\n key={key}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n useResponsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({\n alignContent,\n })),\n ),\n )}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n itemAnimateDuration={itemAnimateDuration}\n itemAnimateDelay={itemAnimateDelay}\n itemStaggerDuration={itemStaggerDuration}\n columnGap={columnGap}\n rowGap={rowGap}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </div>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"mappings":"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","names":["import_react","Box","padding","border","margin","uuid","BackgroundsContainer","Placeholder"]}
|
|
@@ -31,7 +31,8 @@ __export(register_exports, {
|
|
|
31
31
|
registerComponent: () => registerComponent
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(register_exports);
|
|
34
|
-
var import_prop_controllers = require("
|
|
34
|
+
var import_prop_controllers = require("@makeswift/prop-controllers");
|
|
35
|
+
var import_prop_controllers2 = require("../../../prop-controllers");
|
|
35
36
|
var import_breakpoints = require("../../../state/modules/breakpoints");
|
|
36
37
|
var import_constants = require("../constants");
|
|
37
38
|
var import_constants2 = require("./constants");
|
|
@@ -49,13 +50,13 @@ function registerComponent(runtime) {
|
|
|
49
50
|
type: import_constants.MakeswiftComponentType.Box,
|
|
50
51
|
label: "Box",
|
|
51
52
|
props: {
|
|
52
|
-
id:
|
|
53
|
-
backgrounds:
|
|
54
|
-
width:
|
|
55
|
-
format:
|
|
53
|
+
id: import_prop_controllers2.Props.ElementID(),
|
|
54
|
+
backgrounds: import_prop_controllers2.Props.Backgrounds(),
|
|
55
|
+
width: import_prop_controllers2.Props.Width({
|
|
56
|
+
format: import_prop_controllers2.Props.Width.Format.ClassName,
|
|
56
57
|
defaultValue: { value: 100, unit: "%" }
|
|
57
58
|
}),
|
|
58
|
-
height:
|
|
59
|
+
height: import_prop_controllers2.Props.ResponsiveIconRadioGroup({
|
|
59
60
|
label: "Height",
|
|
60
61
|
options: [
|
|
61
62
|
{ value: "auto", label: "Auto", icon: "HeightAuto16" },
|
|
@@ -63,7 +64,7 @@ function registerComponent(runtime) {
|
|
|
63
64
|
],
|
|
64
65
|
defaultValue: "auto"
|
|
65
66
|
}),
|
|
66
|
-
verticalAlign:
|
|
67
|
+
verticalAlign: import_prop_controllers2.Props.ResponsiveIconRadioGroup({
|
|
67
68
|
label: "Align items",
|
|
68
69
|
options: [
|
|
69
70
|
{ value: "flex-start", label: "Top", icon: "VerticalAlignStart16" },
|
|
@@ -77,9 +78,9 @@ function registerComponent(runtime) {
|
|
|
77
78
|
],
|
|
78
79
|
defaultValue: "flex-start"
|
|
79
80
|
}),
|
|
80
|
-
margin:
|
|
81
|
-
padding:
|
|
82
|
-
format:
|
|
81
|
+
margin: import_prop_controllers2.Props.Margin({ format: import_prop_controllers2.Props.Margin.Format.ClassName }),
|
|
82
|
+
padding: import_prop_controllers2.Props.Padding({
|
|
83
|
+
format: import_prop_controllers2.Props.Padding.Format.ClassName,
|
|
83
84
|
preset: [
|
|
84
85
|
{
|
|
85
86
|
deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
|
|
@@ -92,16 +93,16 @@ function registerComponent(runtime) {
|
|
|
92
93
|
}
|
|
93
94
|
]
|
|
94
95
|
}),
|
|
95
|
-
border: import_prop_controllers.
|
|
96
|
-
borderRadius: import_prop_controllers.
|
|
97
|
-
boxShadow: import_prop_controllers.
|
|
98
|
-
rowGap:
|
|
96
|
+
border: (0, import_prop_controllers.Border)({ format: import_prop_controllers.Border.Format.ClassName }),
|
|
97
|
+
borderRadius: (0, import_prop_controllers.BorderRadius)({ format: import_prop_controllers.BorderRadius.Format.ClassName }),
|
|
98
|
+
boxShadow: (0, import_prop_controllers.Shadows)({ format: import_prop_controllers.Shadows.Format.ClassName }),
|
|
99
|
+
rowGap: import_prop_controllers2.Props.GapY((props) => ({
|
|
99
100
|
hidden: props.children == null
|
|
100
101
|
})),
|
|
101
|
-
columnGap:
|
|
102
|
+
columnGap: import_prop_controllers2.Props.GapX((props) => ({
|
|
102
103
|
hidden: props.children == null
|
|
103
104
|
})),
|
|
104
|
-
boxAnimateType:
|
|
105
|
+
boxAnimateType: import_prop_controllers2.Props.ResponsiveSelect({
|
|
105
106
|
label: "Animate box in",
|
|
106
107
|
labelOrientation: "vertical",
|
|
107
108
|
options: [
|
|
@@ -117,7 +118,7 @@ function registerComponent(runtime) {
|
|
|
117
118
|
],
|
|
118
119
|
defaultValue: "none"
|
|
119
120
|
}),
|
|
120
|
-
boxAnimateDuration:
|
|
121
|
+
boxAnimateDuration: import_prop_controllers2.Props.ResponsiveNumber((props, device) => ({
|
|
121
122
|
label: "Box duration",
|
|
122
123
|
defaultValue: import_constants2.DEFAULT_BOX_ANIMATE_DURATION,
|
|
123
124
|
min: 0.1,
|
|
@@ -125,7 +126,7 @@ function registerComponent(runtime) {
|
|
|
125
126
|
suffix: "s",
|
|
126
127
|
hidden: isHiddenBasedOnBoxAnimation(props, device)
|
|
127
128
|
})),
|
|
128
|
-
boxAnimateDelay:
|
|
129
|
+
boxAnimateDelay: import_prop_controllers2.Props.ResponsiveNumber((props, device) => ({
|
|
129
130
|
label: "Box delay",
|
|
130
131
|
defaultValue: import_constants2.DEFAULT_BOX_ANIMATE_DELAY,
|
|
131
132
|
min: 0,
|
|
@@ -133,7 +134,7 @@ function registerComponent(runtime) {
|
|
|
133
134
|
suffix: "s",
|
|
134
135
|
hidden: isHiddenBasedOnBoxAnimation(props, device)
|
|
135
136
|
})),
|
|
136
|
-
itemAnimateType:
|
|
137
|
+
itemAnimateType: import_prop_controllers2.Props.ResponsiveSelect({
|
|
137
138
|
label: "Animate items in",
|
|
138
139
|
labelOrientation: "vertical",
|
|
139
140
|
options: [
|
|
@@ -149,7 +150,7 @@ function registerComponent(runtime) {
|
|
|
149
150
|
],
|
|
150
151
|
defaultValue: "none"
|
|
151
152
|
}),
|
|
152
|
-
itemAnimateDuration:
|
|
153
|
+
itemAnimateDuration: import_prop_controllers2.Props.ResponsiveNumber((props, device) => ({
|
|
153
154
|
label: "Items duration",
|
|
154
155
|
defaultValue: import_constants2.DEFAULT_BOX_ANIMATE_DURATION,
|
|
155
156
|
min: 0.1,
|
|
@@ -157,7 +158,7 @@ function registerComponent(runtime) {
|
|
|
157
158
|
suffix: "s",
|
|
158
159
|
hidden: isHiddenBasedOnItemAnimation(props, device)
|
|
159
160
|
})),
|
|
160
|
-
itemAnimateDelay:
|
|
161
|
+
itemAnimateDelay: import_prop_controllers2.Props.ResponsiveNumber((props, device) => ({
|
|
161
162
|
label: "Items delay",
|
|
162
163
|
defaultValue: import_constants2.DEFAULT_ITEM_ANIMATE_DELAY,
|
|
163
164
|
min: 0,
|
|
@@ -165,7 +166,7 @@ function registerComponent(runtime) {
|
|
|
165
166
|
suffix: "s",
|
|
166
167
|
hidden: isHiddenBasedOnItemAnimation(props, device)
|
|
167
168
|
})),
|
|
168
|
-
itemStaggerDuration:
|
|
169
|
+
itemStaggerDuration: import_prop_controllers2.Props.ResponsiveNumber((props, device) => ({
|
|
169
170
|
label: "Stagger",
|
|
170
171
|
min: 0,
|
|
171
172
|
step: 0.05,
|
|
@@ -173,11 +174,11 @@ function registerComponent(runtime) {
|
|
|
173
174
|
defaultValue: import_constants2.DEFAULT_ITEM_STAGGER_DURATION,
|
|
174
175
|
hidden: isHiddenBasedOnItemAnimation(props, device)
|
|
175
176
|
})),
|
|
176
|
-
hidePlaceholder: import_prop_controllers.
|
|
177
|
+
hidePlaceholder: (0, import_prop_controllers.Checkbox)((props) => ({
|
|
177
178
|
label: "Hide placeholder",
|
|
178
179
|
hidden: props.children != null
|
|
179
180
|
})),
|
|
180
|
-
children:
|
|
181
|
+
children: import_prop_controllers2.Props.Grid()
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
);
|