@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prop-controllers/introspection.ts"],"sourcesContent":["import {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n getListPropControllerElementChildren,\n getListPropControllerFileIds,\n getListPropControllerPageIds,\n getListPropControllerSwatchIds,\n getListPropControllerTypographyIds,\n getShapePropControllerElementChildren,\n getShapePropControllerFileIds,\n getShapePropControllerPageIds,\n getShapePropControllerSwatchIds,\n getShapePropControllerTypographyIds,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n ListValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n ShapeValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n getListElementChildren,\n getListFileIds,\n getListPageIds,\n getListSwatchIds,\n getListTypographyIds,\n getShapeElementChildren,\n getShapeFileIds,\n getShapePageIds,\n getShapeSwatchIds,\n getShapeTypographyIds,\n getTypographySwatchIds,\n getTypographyTypographyIds,\n ImageControlData,\n ImageControlType,\n LinkControlData,\n LinkControlType,\n ListControlData,\n ListControlType,\n RichTextControlData,\n RichTextControlType,\n ShapeControlData,\n ShapeControlType,\n SlotControlData,\n SlotControlType,\n StyleV2ControlData,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlType,\n} from '../controls'\nimport {\n getRichTextPageIds,\n getRichTextSwatchIds,\n getRichTextTypographyIds,\n} from '../controls/rich-text/introspection'\nimport {\n getRichTextV2PageIds,\n getRichTextV2SwatchIds,\n getRichTextV2TypographyIds,\n} from '../controls/rich-text-v2/introspection'\nimport {\n RichTextV2ControlType,\n RichTextV2ControlData,\n isRichTextV1Data,\n} from '../controls/rich-text-v2/rich-text-v2'\nimport { match, P } from 'ts-pattern'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n case ListControlType:\n return (prop as ListControlData).flatMap(({ value }) =>\n getElementChildren(descriptor.config.type, value),\n )\n\n case ShapeControlType: {\n return getShapeElementChildren(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListElementChildren(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerElementChildren(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerElementChildren(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getBackgroundsSwatchIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nexport function getBorderSwatchIds(value: BorderValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n}\n\nexport function getBoxShadowsSwatchIds(value: ShadowsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n}\n\nexport function getResponsiveColorSwatchIds(\n value: ResponsiveColorValue | null | undefined,\n): string[] {\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n}\n\nexport function getSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsSwatchIds(prop as BackgroundsValue)\n\n case Types.Border:\n return getBorderSwatchIds(prop as BorderValue)\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n }\n case Types.ResponsiveColor:\n return getResponsiveColorSwatchIds(prop as ResponsiveColorValue)\n\n case Types.Shadows:\n return getBoxShadowsSwatchIds(prop as ShadowsValue)\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextSwatchIds(prop as RichTextValue)\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n case TypographyControlType: {\n return getTypographySwatchIds(prop as TypographyControlData[number])\n }\n\n case StyleV2ControlType: {\n const value = prop as StyleV2ControlData\n\n return value?.flatMap(value => getSwatchIds(descriptor.config.type, value.value)) ?? []\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextSwatchIds(data)\n\n return getRichTextV2SwatchIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeSwatchIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListSwatchIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerSwatchIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerSwatchIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getBackgroundsFileIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n return match(backgroundItem)\n .with({ type: 'image-v1', payload: { image: { type: 'makeswift-file' } } }, item => [\n item.payload.image.id,\n ])\n .with({ type: 'image', payload: { imageId: P.string } }, item => [item.payload.imageId])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsFileIds(prop as BackgroundsValue)\n\n case Types.Image: {\n return match(prop as ImageValue)\n .with(P.string, v => [v])\n .with({ type: 'makeswift-file', version: 1 }, v => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return (\n value?.flatMap(item =>\n match(item.props.file)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file', version: 1 }, f => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return match(value)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file' }, f => [f.id])\n .with({ type: 'external-file' }, () => [])\n .otherwise(() => [])\n }\n\n case ShapeControlType: {\n return getShapeFileIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListFileIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerFileIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerFileIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case TypographyControlType: {\n return getTypographyTypographyIds(prop as TypographyControlData[number])\n }\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextTypographyIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextTypographyIds(data)\n\n return getRichTextV2TypographyIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeTypographyIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListTypographyIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerTypographyIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerTypographyIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case LinkControlType: {\n const value = prop as LinkControlData\n\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\n\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap(link => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n }\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextPageIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextPageIds(data)\n\n return getRichTextV2PageIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapePageIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListPageIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerPageIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerPageIds(descriptor, prop as ListValue)\n }\n default:\n return []\n }\n}\n"],"mappings":"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","names":["import_introspection","value"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/prop-controllers/introspection.ts"],"sourcesContent":["import {\n BackgroundsValue,\n Descriptor,\n ElementIDValue,\n getListPropControllerElementChildren,\n getListPropControllerFileIds,\n getListPropControllerPageIds,\n getListPropControllerSwatchIds,\n getListPropControllerTypographyIds,\n getShapePropControllerElementChildren,\n getShapePropControllerFileIds,\n getShapePropControllerPageIds,\n getShapePropControllerSwatchIds,\n getShapePropControllerTypographyIds,\n GridValue,\n ImagesValue,\n ImageValue,\n ListValue,\n NavigationLinksValue,\n RichTextValue,\n ShapeValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n getListElementChildren,\n getListFileIds,\n getListPageIds,\n getListSwatchIds,\n getListTypographyIds,\n getShapeElementChildren,\n getShapeFileIds,\n getShapePageIds,\n getShapeSwatchIds,\n getShapeTypographyIds,\n getTypographySwatchIds,\n getTypographyTypographyIds,\n ImageControlData,\n ImageControlType,\n LinkControlData,\n LinkControlType,\n ListControlData,\n ListControlType,\n RichTextControlData,\n RichTextControlType,\n ShapeControlData,\n ShapeControlType,\n SlotControlData,\n SlotControlType,\n StyleV2ControlData,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlType,\n} from '../controls'\nimport {\n getRichTextPageIds,\n getRichTextSwatchIds,\n getRichTextTypographyIds,\n} from '../controls/rich-text/introspection'\nimport {\n getRichTextV2PageIds,\n getRichTextV2SwatchIds,\n getRichTextV2TypographyIds,\n} from '../controls/rich-text-v2/introspection'\nimport {\n RichTextV2ControlType,\n RichTextV2ControlData,\n isRichTextV1Data,\n} from '../controls/rich-text-v2/rich-text-v2'\nimport { match, P } from 'ts-pattern'\nimport {\n ResponsiveBorderData,\n getLinkPropControllerPageIds,\n getResponsiveColorPropControllerDataSawtchIds,\n getShadowsPropControllerDataSwatchIds,\n LinkPropControllerData,\n Types as PropControllerTypes,\n ResponsiveColorData,\n ShadowsPropControllerData,\n getBorderPropControllerDataSwatchIds,\n} from '@makeswift/prop-controllers'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n case ListControlType:\n return (prop as ListControlData).flatMap(({ value }) =>\n getElementChildren(descriptor.config.type, value),\n )\n\n case ShapeControlType: {\n return getShapeElementChildren(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListElementChildren(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerElementChildren(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerElementChildren(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getBackgroundsSwatchIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nexport function getSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsSwatchIds(prop as BackgroundsValue)\n\n case PropControllerTypes.Border:\n return getBorderPropControllerDataSwatchIds(prop as ResponsiveBorderData)\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n }\n case PropControllerTypes.ResponsiveColor:\n return getResponsiveColorPropControllerDataSawtchIds(prop as ResponsiveColorData)\n\n case PropControllerTypes.Shadows:\n return getShadowsPropControllerDataSwatchIds(prop as ShadowsPropControllerData)\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextSwatchIds(prop as RichTextValue)\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n case TypographyControlType: {\n return getTypographySwatchIds(prop as TypographyControlData[number])\n }\n\n case StyleV2ControlType: {\n const value = prop as StyleV2ControlData\n\n return value?.flatMap(value => getSwatchIds(descriptor.config.type, value.value)) ?? []\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextSwatchIds(data)\n\n return getRichTextV2SwatchIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeSwatchIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListSwatchIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerSwatchIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerSwatchIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getBackgroundsFileIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n return match(backgroundItem)\n .with({ type: 'image-v1', payload: { image: { type: 'makeswift-file' } } }, item => [\n item.payload.image.id,\n ])\n .with({ type: 'image', payload: { imageId: P.string } }, item => [item.payload.imageId])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsFileIds(prop as BackgroundsValue)\n\n case Types.Image: {\n return match(prop as ImageValue)\n .with(P.string, v => [v])\n .with({ type: 'makeswift-file', version: 1 }, v => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return (\n value?.flatMap(item =>\n match(item.props.file)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file', version: 1 }, f => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return match(value)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file' }, f => [f.id])\n .with({ type: 'external-file' }, () => [])\n .otherwise(() => [])\n }\n\n case ShapeControlType: {\n return getShapeFileIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListFileIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerFileIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerFileIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case TypographyControlType: {\n return getTypographyTypographyIds(prop as TypographyControlData[number])\n }\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextTypographyIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextTypographyIds(data)\n\n return getRichTextV2TypographyIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeTypographyIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListTypographyIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerTypographyIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerTypographyIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case PropControllerTypes.Link: {\n return getLinkPropControllerPageIds(prop as LinkPropControllerData)\n }\n\n case LinkControlType: {\n const value = prop as LinkControlData\n\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\n\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap(link => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n }\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextPageIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextPageIds(data)\n\n return getRichTextV2PageIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapePageIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListPageIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerPageIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerPageIds(descriptor, prop as ListValue)\n }\n default:\n return []\n }\n}\n"],"mappings":"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","names":["import_introspection","PropControllerTypes","value"]}
|
|
@@ -53,6 +53,10 @@ var import_icon_radio_group = require("../../controls/icon-radio-group");
|
|
|
53
53
|
var import_use_store = require("./hooks/use-store");
|
|
54
54
|
var import_use_document_key = require("./hooks/use-document-key");
|
|
55
55
|
var import_use_selector = require("./hooks/use-selector");
|
|
56
|
+
var import_prop_controllers2 = require("@makeswift/prop-controllers");
|
|
57
|
+
var import_useResponsiveLengthPropControllerData = require("../../components/hooks/useResponsiveLengthPropControllerData");
|
|
58
|
+
var import_useNumberPropControllerData = require("../../components/hooks/useNumberPropControllerData");
|
|
59
|
+
var import_useResponsiveColorPropControllerData = require("../../components/hooks/useResponsiveColorPropControllerData");
|
|
56
60
|
function useWidthStyle(value, descriptor) {
|
|
57
61
|
return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveWidth)(value, descriptor.options.defaultValue));
|
|
58
62
|
}
|
|
@@ -62,14 +66,15 @@ function usePaddingStyle(value) {
|
|
|
62
66
|
function useMarginStyle(value) {
|
|
63
67
|
return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveMargin)(value));
|
|
64
68
|
}
|
|
65
|
-
function useBorderRadiusStyle(
|
|
69
|
+
function useBorderRadiusStyle(data) {
|
|
70
|
+
const value = (0, import_prop_controllers2.getBorderRadiusPropControllerDataResponsiveBorderRadiusData)(data);
|
|
66
71
|
return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveBorderRadius)(value));
|
|
67
72
|
}
|
|
68
|
-
function useShadowsStyle(
|
|
69
|
-
|
|
70
|
-
return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveShadow)(shadowValue ?? void 0));
|
|
73
|
+
function useShadowsStyle(data) {
|
|
74
|
+
return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveShadow)((0, import_hooks.useBoxShadow)(data) ?? void 0));
|
|
71
75
|
}
|
|
72
|
-
function useBorderStyle(
|
|
76
|
+
function useBorderStyle(data) {
|
|
77
|
+
const value = (0, import_prop_controllers2.getBorderPropControllerDataResponsiveBorderData)(data);
|
|
73
78
|
const borderData = (0, import_hooks.useBorder)(value);
|
|
74
79
|
return (0, import_use_style.useStyle)((0, import_responsive_style.useResponsiveBorder)(borderData ?? void 0));
|
|
75
80
|
}
|
|
@@ -204,9 +209,9 @@ function PropsValue({ element, children }) {
|
|
|
204
209
|
default:
|
|
205
210
|
return renderFn({ ...propsValue, [propName]: props[propName] });
|
|
206
211
|
}
|
|
207
|
-
case
|
|
212
|
+
case import_prop_controllers2.Types.BorderRadius:
|
|
208
213
|
switch (descriptor.options.format) {
|
|
209
|
-
case
|
|
214
|
+
case import_prop_controllers2.BorderRadiusPropControllerFormat.ClassName:
|
|
210
215
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
211
216
|
import_components.RenderHook,
|
|
212
217
|
{
|
|
@@ -219,9 +224,29 @@ function PropsValue({ element, children }) {
|
|
|
219
224
|
default:
|
|
220
225
|
return renderFn({ ...propsValue, [propName]: props[propName] });
|
|
221
226
|
}
|
|
222
|
-
case
|
|
227
|
+
case import_prop_controllers2.Types.Number:
|
|
228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
229
|
+
import_components.RenderHook,
|
|
230
|
+
{
|
|
231
|
+
hook: import_useNumberPropControllerData.useNumberPropControllerData,
|
|
232
|
+
parameters: [props[propName]],
|
|
233
|
+
children: (value) => renderFn({ ...propsValue, [propName]: value })
|
|
234
|
+
},
|
|
235
|
+
descriptor.type
|
|
236
|
+
);
|
|
237
|
+
case import_prop_controllers2.Types.ResponsiveLength:
|
|
238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
239
|
+
import_components.RenderHook,
|
|
240
|
+
{
|
|
241
|
+
hook: import_useResponsiveLengthPropControllerData.useResponsiveLengthPropControllerData,
|
|
242
|
+
parameters: [props[propName]],
|
|
243
|
+
children: (value) => renderFn({ ...propsValue, [propName]: value })
|
|
244
|
+
},
|
|
245
|
+
descriptor.type
|
|
246
|
+
);
|
|
247
|
+
case import_prop_controllers2.Types.Shadows:
|
|
223
248
|
switch (descriptor.options.format) {
|
|
224
|
-
case
|
|
249
|
+
case import_prop_controllers2.Shadows.Format.ClassName:
|
|
225
250
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
226
251
|
import_components.RenderHook,
|
|
227
252
|
{
|
|
@@ -231,12 +256,16 @@ function PropsValue({ element, children }) {
|
|
|
231
256
|
},
|
|
232
257
|
descriptor.type
|
|
233
258
|
);
|
|
259
|
+
case import_prop_controllers2.Shadows.Format.ResponsiveValue:
|
|
234
260
|
default:
|
|
235
|
-
return renderFn({
|
|
261
|
+
return renderFn({
|
|
262
|
+
...propsValue,
|
|
263
|
+
[propName]: (0, import_prop_controllers2.getShadowsPropControllerDataResponsiveShadowsData)(props[propName])
|
|
264
|
+
});
|
|
236
265
|
}
|
|
237
|
-
case
|
|
266
|
+
case import_prop_controllers2.Types.Border:
|
|
238
267
|
switch (descriptor.options.format) {
|
|
239
|
-
case
|
|
268
|
+
case import_prop_controllers2.BorderPropControllerFormat.ClassName:
|
|
240
269
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
241
270
|
import_components.RenderHook,
|
|
242
271
|
{
|
|
@@ -249,11 +278,31 @@ function PropsValue({ element, children }) {
|
|
|
249
278
|
default:
|
|
250
279
|
return renderFn({ ...propsValue, [propName]: props[propName] });
|
|
251
280
|
}
|
|
252
|
-
case
|
|
281
|
+
case import_prop_controllers2.Types.ResponsiveColor:
|
|
282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
283
|
+
import_components.RenderHook,
|
|
284
|
+
{
|
|
285
|
+
hook: import_useResponsiveColorPropControllerData.useResponsiveColorPropControllerData,
|
|
286
|
+
parameters: [props[propName]],
|
|
287
|
+
children: (value) => renderFn({ ...propsValue, [propName]: value })
|
|
288
|
+
},
|
|
289
|
+
descriptor.type
|
|
290
|
+
);
|
|
291
|
+
case import_prop_controllers2.Types.Link:
|
|
292
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
293
|
+
import_components.RenderHook,
|
|
294
|
+
{
|
|
295
|
+
hook: import_hooks.useLinkPropControllerData,
|
|
296
|
+
parameters: [props[propName]],
|
|
297
|
+
children: (value) => renderFn({ ...propsValue, [propName]: value })
|
|
298
|
+
},
|
|
299
|
+
descriptor.type
|
|
300
|
+
);
|
|
301
|
+
case import_prop_controllers2.Types.Checkbox:
|
|
253
302
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
254
303
|
import_components.RenderHook,
|
|
255
304
|
{
|
|
256
|
-
hook: import_hooks.
|
|
305
|
+
hook: import_hooks.useCheckboxPropControllerData,
|
|
257
306
|
parameters: [props[propName]],
|
|
258
307
|
children: (value) => renderFn({ ...propsValue, [propName]: value })
|
|
259
308
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/react/controls.tsx"],"sourcesContent":["import { useRef } from 'react'\n\nimport * as ReactPage from '../../state/react-page'\nimport { Props } from '../../prop-controllers'\nimport {\n BorderDescriptor,\n BorderPropControllerFormat,\n BorderRadiusDescriptor,\n BorderRadiusPropControllerFormat,\n BorderRadiusValue,\n BorderValue,\n Descriptor,\n MarginDescriptor,\n MarginPropControllerFormat,\n MarginValue,\n PaddingDescriptor,\n PaddingPropControllerFormat,\n PaddingValue,\n ResolveOptions,\n ResponsiveValue,\n ShadowsDescriptor,\n ShadowsPropControllerFormat,\n ShadowsValue,\n WidthPropControllerFormat,\n WidthDescriptor,\n WidthValue,\n} from '../../prop-controllers/descriptors'\nimport {\n useBoxShadow,\n useResponsiveColor,\n useBorder as useBorderData,\n} from '../../components/hooks'\nimport type { ColorValue } from '../../components/utils/types'\nimport {\n useResponsiveBorder,\n useResponsiveBorderRadius,\n useResponsiveMargin,\n useResponsivePadding,\n useResponsiveShadow,\n useResponsiveWidth,\n} from '../../components/utils/responsive-style'\nimport {\n CheckboxControlType,\n ColorControlType,\n ComboboxControlType,\n ImageControlType,\n LinkControlType,\n ListControlType,\n NumberControlType,\n SelectControlType,\n ShapeControlType,\n SlotControl,\n SlotControlType,\n StyleControlType,\n TextAreaControlType,\n TextInputControlType,\n RichTextControl,\n RichTextControlType,\n StyleControl,\n RichTextV2Control,\n RichTextV2ControlType,\n StyleV2ControlType,\n TypographyControlType,\n} from '../../controls'\nimport { useFormattedStyle } from './controls/style'\nimport { ControlValue } from './controls/control'\nimport { RenderHook } from './components'\nimport { useSlot } from './controls/slot'\nimport { useStyle } from './use-style'\nimport { useRichText } from './controls/rich-text/rich-text'\nimport { useRichTextV2 } from './controls/rich-text-v2'\nimport { IconRadioGroupControlType } from '../../controls/icon-radio-group'\nimport { useStore } from './hooks/use-store'\nimport { useDocumentKey } from './hooks/use-document-key'\nimport { useSelector } from './hooks/use-selector'\n\nexport type ResponsiveColor = ResponsiveValue<ColorValue>\n\nfunction useWidthStyle(value: WidthValue | undefined, descriptor: WidthDescriptor): string {\n return useStyle(useResponsiveWidth(value, descriptor.options.defaultValue))\n}\n\nexport type ResolveWidthControlValue<T extends Descriptor> = T extends WidthDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? WidthValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof WidthPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof WidthPropControllerFormat.ResponsiveValue\n ? WidthValue | undefined\n : never\n : never\n\nfunction usePaddingStyle(value: PaddingValue | undefined): string {\n return useStyle(useResponsivePadding(value))\n}\n\nexport type ResolvePaddingControlValue<T extends Descriptor> = T extends PaddingDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? PaddingValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof PaddingPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof PaddingPropControllerFormat.ResponsiveValue\n ? PaddingValue | undefined\n : never\n : never\n\nfunction useMarginStyle(value: MarginValue | undefined): string {\n return useStyle(useResponsiveMargin(value))\n}\n\nexport type ResolveMarginControlValue<T extends Descriptor> = T extends MarginDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? MarginValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof MarginPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof MarginPropControllerFormat.ResponsiveValue\n ? MarginValue | undefined\n : never\n : never\n\nexport function useBorderRadiusStyle(value: BorderRadiusValue | undefined): string {\n return useStyle(useResponsiveBorderRadius(value))\n}\n\nexport function useShadowsStyle(\n value: ShadowsValue | undefined,\n): string | ShadowsValue | undefined {\n const shadowValue = useBoxShadow(value)\n\n return useStyle(useResponsiveShadow(shadowValue ?? undefined))\n}\n\nexport type ResolveBorderRadiusControlValue<T extends Descriptor> = T extends BorderRadiusDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? BorderRadiusValue | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ResponsiveValue\n ? BorderRadiusValue | undefined\n : never\n : never\n\nexport function useBorderStyle(value: BorderValue | undefined): string | BorderValue | undefined {\n const borderData = useBorderData(value)\n\n return useStyle(useResponsiveBorder(borderData ?? undefined))\n}\nexport type ResolveShadowsControlValue<T extends Descriptor> = T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ShadowsValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ShadowsValue | undefined\n : never\n : never\n\nexport type ResolveBorderControlValue<T extends Descriptor> = T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? BorderValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? BorderValue | undefined\n : never\n : never\n\ntype PropsValueProps = {\n element: ReactPage.ElementData\n children(props: Record<string, unknown>): JSX.Element\n}\n\nexport function PropsValue({ element, children }: PropsValueProps): JSX.Element {\n const store = useStore()\n const propControllerDescriptorsRef = useRef(\n ReactPage.getComponentPropControllerDescriptors(store.getState(), element.type) ?? {},\n )\n const props = element.props as Record<string, any>\n const documentKey = useDocumentKey()\n\n const propControllers = useSelector(state => {\n if (documentKey == null) return null\n\n return ReactPage.getPropControllers(state, documentKey, element.key)\n })\n\n return Object.entries(propControllerDescriptorsRef.current).reduceRight(\n (renderFn, [propName, descriptor]) =>\n propsValue => {\n switch (descriptor.type) {\n case CheckboxControlType:\n case NumberControlType:\n case TextInputControlType:\n case TextAreaControlType:\n case SelectControlType:\n case ColorControlType:\n case IconRadioGroupControlType:\n case ImageControlType:\n case ComboboxControlType:\n case ShapeControlType:\n case ListControlType:\n case LinkControlType:\n case StyleV2ControlType:\n case TypographyControlType:\n return (\n <ControlValue\n definition={descriptor}\n data={props[propName]}\n control={propControllers?.[propName]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </ControlValue>\n )\n\n case StyleControlType: {\n const control = (propControllers?.[propName] ?? null) as StyleControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useFormattedStyle}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichText}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextV2ControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextV2Control | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichTextV2}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case SlotControlType: {\n const control = (propControllers?.[propName] ?? null) as SlotControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useSlot}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case Props.Types.Width:\n switch (descriptor.options.format) {\n case WidthPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useWidthStyle}\n parameters={[props[propName], descriptor]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Padding:\n switch (descriptor.options.format) {\n case PaddingPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={usePaddingStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Margin:\n switch (descriptor.options.format) {\n case MarginPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useMarginStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.BorderRadius:\n switch (descriptor.options.format) {\n case BorderRadiusPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderRadiusStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Shadows:\n switch (descriptor.options.format) {\n case ShadowsPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useShadowsStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Border:\n switch (descriptor.options.format) {\n case BorderPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.ResponsiveColor:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveColor}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n },\n children,\n )({})\n}\n"],"mappings":"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","names":["useBorderData"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtimes/react/controls.tsx"],"sourcesContent":["import { useRef } from 'react'\n\nimport * as ReactPage from '../../state/react-page'\nimport { Props } from '../../prop-controllers'\nimport {\n Descriptor,\n MarginDescriptor,\n MarginPropControllerFormat,\n MarginValue,\n PaddingDescriptor,\n PaddingPropControllerFormat,\n PaddingValue,\n WidthPropControllerFormat,\n WidthDescriptor,\n WidthValue,\n} from '../../prop-controllers/descriptors'\nimport {\n useBoxShadow,\n useBorder as useBorderData,\n useLinkPropControllerData,\n useCheckboxPropControllerData,\n} from '../../components/hooks'\nimport type { ColorValue } from '../../components/utils/types'\nimport {\n useResponsiveBorder,\n useResponsiveBorderRadius,\n useResponsiveMargin,\n useResponsivePadding,\n useResponsiveShadow,\n useResponsiveWidth,\n} from '../../components/utils/responsive-style'\nimport {\n CheckboxControlType,\n ColorControlType,\n ComboboxControlType,\n ImageControlType,\n LinkControlType,\n ListControlType,\n NumberControlType,\n SelectControlType,\n ShapeControlType,\n SlotControl,\n SlotControlType,\n StyleControlType,\n TextAreaControlType,\n TextInputControlType,\n RichTextControl,\n RichTextControlType,\n StyleControl,\n RichTextV2Control,\n RichTextV2ControlType,\n StyleV2ControlType,\n TypographyControlType,\n} from '../../controls'\nimport { useFormattedStyle } from './controls/style'\nimport { ControlValue } from './controls/control'\nimport { RenderHook } from './components'\nimport { useSlot } from './controls/slot'\nimport { useStyle } from './use-style'\nimport { useRichText } from './controls/rich-text/rich-text'\nimport { useRichTextV2 } from './controls/rich-text-v2'\nimport { IconRadioGroupControlType } from '../../controls/icon-radio-group'\nimport { useStore } from './hooks/use-store'\nimport { useDocumentKey } from './hooks/use-document-key'\nimport { useSelector } from './hooks/use-selector'\nimport {\n Types as PropControllerTypes,\n getShadowsPropControllerDataResponsiveShadowsData,\n ShadowsPropControllerData,\n Shadows,\n ResponsiveValue,\n ResolveOptions,\n BorderPropControllerFormat,\n ResponsiveBorderData,\n BorderPropControllerData,\n getBorderPropControllerDataResponsiveBorderData,\n getBorderRadiusPropControllerDataResponsiveBorderRadiusData,\n BorderRadiusPropControllerData,\n BorderRadiusPropControllerFormat,\n} from '@makeswift/prop-controllers'\nimport { useResponsiveLengthPropControllerData } from '../../components/hooks/useResponsiveLengthPropControllerData'\nimport { useNumberPropControllerData } from '../../components/hooks/useNumberPropControllerData'\nimport { useResponsiveColorPropControllerData } from '../../components/hooks/useResponsiveColorPropControllerData'\n\nexport type ResponsiveColor = ResponsiveValue<ColorValue>\n\nfunction useWidthStyle(value: WidthValue | undefined, descriptor: WidthDescriptor): string {\n return useStyle(useResponsiveWidth(value, descriptor.options.defaultValue))\n}\n\nexport type ResolveWidthControlValue<T extends Descriptor> = T extends WidthDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? WidthValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof WidthPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof WidthPropControllerFormat.ResponsiveValue\n ? WidthValue | undefined\n : never\n : never\n\nfunction usePaddingStyle(value: PaddingValue | undefined): string {\n return useStyle(useResponsivePadding(value))\n}\n\nexport type ResolvePaddingControlValue<T extends Descriptor> = T extends PaddingDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? PaddingValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof PaddingPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof PaddingPropControllerFormat.ResponsiveValue\n ? PaddingValue | undefined\n : never\n : never\n\nfunction useMarginStyle(value: MarginValue | undefined): string {\n return useStyle(useResponsiveMargin(value))\n}\n\nexport type ResolveMarginControlValue<T extends Descriptor> = T extends MarginDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? MarginValue | undefined\n : ResolveOptions<T['options']>['format'] extends typeof MarginPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof MarginPropControllerFormat.ResponsiveValue\n ? MarginValue | undefined\n : never\n : never\n\nexport function useBorderRadiusStyle(data: BorderRadiusPropControllerData | undefined): string {\n const value = getBorderRadiusPropControllerDataResponsiveBorderRadiusData(data)\n\n return useStyle(useResponsiveBorderRadius(value))\n}\n\nexport function useShadowsStyle(data: ShadowsPropControllerData | undefined): string {\n return useStyle(useResponsiveShadow(useBoxShadow(data) ?? undefined))\n}\n\nexport function useBorderStyle(\n data: BorderPropControllerData | undefined,\n): string | ResponsiveBorderData | undefined {\n const value = getBorderPropControllerDataResponsiveBorderData(data)\n const borderData = useBorderData(value)\n\n return useStyle(useResponsiveBorder(borderData ?? undefined))\n}\n\ntype PropsValueProps = {\n element: ReactPage.ElementData\n children(props: Record<string, unknown>): JSX.Element\n}\n\nexport function PropsValue({ element, children }: PropsValueProps): JSX.Element {\n const store = useStore()\n const propControllerDescriptorsRef = useRef(\n ReactPage.getComponentPropControllerDescriptors(store.getState(), element.type) ?? {},\n )\n const props = element.props as Record<string, any>\n const documentKey = useDocumentKey()\n\n const propControllers = useSelector(state => {\n if (documentKey == null) return null\n\n return ReactPage.getPropControllers(state, documentKey, element.key)\n })\n\n return Object.entries(propControllerDescriptorsRef.current).reduceRight(\n (renderFn, [propName, descriptor]) =>\n propsValue => {\n switch (descriptor.type) {\n case CheckboxControlType:\n case NumberControlType:\n case TextInputControlType:\n case TextAreaControlType:\n case SelectControlType:\n case ColorControlType:\n case IconRadioGroupControlType:\n case ImageControlType:\n case ComboboxControlType:\n case ShapeControlType:\n case ListControlType:\n case LinkControlType:\n case StyleV2ControlType:\n case TypographyControlType:\n return (\n <ControlValue\n definition={descriptor}\n data={props[propName]}\n control={propControllers?.[propName]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </ControlValue>\n )\n\n case StyleControlType: {\n const control = (propControllers?.[propName] ?? null) as StyleControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useFormattedStyle}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichText}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case RichTextV2ControlType: {\n const control = (propControllers?.[propName] ?? null) as RichTextV2Control | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useRichTextV2}\n parameters={[props[propName], descriptor, control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case SlotControlType: {\n const control = (propControllers?.[propName] ?? null) as SlotControl | null\n\n return (\n <RenderHook\n key={descriptor.type}\n hook={useSlot}\n parameters={[props[propName], control]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n }\n\n case Props.Types.Width:\n switch (descriptor.options.format) {\n case WidthPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useWidthStyle}\n parameters={[props[propName], descriptor]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Padding:\n switch (descriptor.options.format) {\n case PaddingPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={usePaddingStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case Props.Types.Margin:\n switch (descriptor.options.format) {\n case MarginPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useMarginStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case PropControllerTypes.BorderRadius:\n switch (descriptor.options.format) {\n case BorderRadiusPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderRadiusStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case PropControllerTypes.Number:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useNumberPropControllerData}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ResponsiveLength:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveLengthPropControllerData}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Shadows:\n switch (descriptor.options.format) {\n case Shadows.Format.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useShadowsStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n case Shadows.Format.ResponsiveValue:\n default:\n return renderFn({\n ...propsValue,\n [propName]: getShadowsPropControllerDataResponsiveShadowsData(props[propName]),\n })\n }\n\n case PropControllerTypes.Border:\n switch (descriptor.options.format) {\n case BorderPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBorderStyle}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n\n case PropControllerTypes.ResponsiveColor:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveColorPropControllerData}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Link:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useLinkPropControllerData}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Checkbox:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useCheckboxPropControllerData}\n parameters={[props[propName]]}\n >\n {value => renderFn({ ...propsValue, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...propsValue, [propName]: props[propName] })\n }\n },\n children,\n )({})\n}\n"],"mappings":"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","names":["import_prop_controllers","useBorderData","PropControllerTypes"]}
|
|
@@ -24,6 +24,9 @@ import {
|
|
|
24
24
|
isSerializedFunction,
|
|
25
25
|
serializeFunction
|
|
26
26
|
} from "./function-serialization";
|
|
27
|
+
import {
|
|
28
|
+
Types as PropControllerTypes
|
|
29
|
+
} from "@makeswift/prop-controllers";
|
|
27
30
|
function serializeShapeControl(control) {
|
|
28
31
|
const { type } = control.options;
|
|
29
32
|
const transferables = [];
|
|
@@ -306,7 +309,7 @@ function deserializeRichTextControl(serializedControl) {
|
|
|
306
309
|
}
|
|
307
310
|
function serializeControl(control) {
|
|
308
311
|
switch (control.type) {
|
|
309
|
-
case
|
|
312
|
+
case PropControllerTypes.Checkbox:
|
|
310
313
|
return serializeCheckboxControl(control);
|
|
311
314
|
case Controls.Types.List:
|
|
312
315
|
return serializeListControl(control);
|
|
@@ -318,21 +321,21 @@ function serializeControl(control) {
|
|
|
318
321
|
return serializeGapXControl(control);
|
|
319
322
|
case Controls.Types.GapY:
|
|
320
323
|
return serializeGapYControl(control);
|
|
321
|
-
case
|
|
324
|
+
case PropControllerTypes.ResponsiveColor:
|
|
322
325
|
return serializeResponsiveColorControl(control);
|
|
323
326
|
case Controls.Types.ResponsiveNumber:
|
|
324
327
|
return serializeResponsiveNumberControl(control);
|
|
325
|
-
case
|
|
328
|
+
case PropControllerTypes.Number:
|
|
326
329
|
return serializeNumberControl(control);
|
|
327
330
|
case Controls.Types.ResponsiveIconRadioGroup:
|
|
328
331
|
return serializeResponsiveIconRadioGroupControl(control);
|
|
329
332
|
case Controls.Types.ResponsiveSelect:
|
|
330
333
|
return serializeResponsiveSelectControl(control);
|
|
331
|
-
case
|
|
334
|
+
case PropControllerTypes.ResponsiveLength:
|
|
332
335
|
return serializeResponsiveLengthControl(control);
|
|
333
336
|
case Controls.Types.Date:
|
|
334
337
|
return serializeDateControl(control);
|
|
335
|
-
case
|
|
338
|
+
case PropControllerTypes.Link:
|
|
336
339
|
return serializeLinkControl(control);
|
|
337
340
|
case Controls.Types.TextInput:
|
|
338
341
|
return serializeTextInputControl(control);
|
|
@@ -358,7 +361,7 @@ function serializeControl(control) {
|
|
|
358
361
|
}
|
|
359
362
|
function deserializeControl(serializedControl) {
|
|
360
363
|
switch (serializedControl.type) {
|
|
361
|
-
case
|
|
364
|
+
case PropControllerTypes.Checkbox:
|
|
362
365
|
return deserializeCheckboxControl(serializedControl);
|
|
363
366
|
case Controls.Types.List:
|
|
364
367
|
return deserializeListControl(serializedControl);
|
|
@@ -370,21 +373,21 @@ function deserializeControl(serializedControl) {
|
|
|
370
373
|
return deserializeGapXControl(serializedControl);
|
|
371
374
|
case Controls.Types.GapY:
|
|
372
375
|
return deserializeGapYControl(serializedControl);
|
|
373
|
-
case
|
|
376
|
+
case PropControllerTypes.ResponsiveColor:
|
|
374
377
|
return deserializeResponsiveColorControl(serializedControl);
|
|
375
378
|
case Controls.Types.ResponsiveNumber:
|
|
376
379
|
return deserializeResponsiveNumberControl(serializedControl);
|
|
377
|
-
case
|
|
380
|
+
case PropControllerTypes.Number:
|
|
378
381
|
return deserializeNumberControl(serializedControl);
|
|
379
382
|
case Controls.Types.ResponsiveIconRadioGroup:
|
|
380
383
|
return deserializeResponsiveIconRadioGroupControl(serializedControl);
|
|
381
384
|
case Controls.Types.ResponsiveSelect:
|
|
382
385
|
return deserializeResponsiveSelectControl(serializedControl);
|
|
383
|
-
case
|
|
386
|
+
case PropControllerTypes.ResponsiveLength:
|
|
384
387
|
return deserializeResponsiveLengthControl(serializedControl);
|
|
385
388
|
case Controls.Types.Date:
|
|
386
389
|
return deserializeDateControl(serializedControl);
|
|
387
|
-
case
|
|
390
|
+
case PropControllerTypes.Link:
|
|
388
391
|
return deserializeLinkControl(serializedControl);
|
|
389
392
|
case Controls.Types.TextInput:
|
|
390
393
|
return deserializeTextInputControl(serializedControl);
|