@makeswift/runtime 0.17.2-canary.0 → 0.18.0-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/builder/serialization/control-serialization.js +8 -22
- package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
- package/dist/cjs/components/builtin/Box/animations.js.map +1 -1
- package/dist/cjs/components/builtin/Box/register.js +5 -5
- package/dist/cjs/components/builtin/Box/register.js.map +1 -1
- package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
- package/dist/cjs/components/builtin/Carousel/register.js +2 -2
- package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
- package/dist/cjs/{controls/control-data-type-key.js → components/hooks/usePropValue.js} +11 -7
- package/dist/cjs/components/hooks/usePropValue.js.map +1 -0
- package/dist/cjs/components/shared/grid-item.js.map +1 -1
- package/dist/cjs/controls/control.js +10 -13
- package/dist/cjs/controls/control.js.map +1 -1
- package/dist/cjs/controls/image.js +0 -15
- package/dist/cjs/controls/image.js.map +1 -1
- package/dist/cjs/controls/index.js +3 -19
- package/dist/cjs/controls/index.js.map +1 -1
- package/dist/cjs/controls/list.js.map +1 -1
- package/dist/cjs/controls/rich-text/dto.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/introspection.js.map +1 -1
- package/dist/cjs/controls/shape.js.map +1 -1
- package/dist/cjs/controls/slot.js.map +1 -1
- package/dist/cjs/controls/style-v2.js.map +1 -1
- package/dist/cjs/controls/style.js +2 -2
- package/dist/cjs/controls/style.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/next/components/tests/page-prop-controller.js +105 -0
- package/dist/cjs/next/components/tests/page-prop-controller.js.map +1 -0
- package/dist/cjs/prop-controllers/descriptors.js +0 -6
- package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
- package/dist/cjs/prop-controllers/index.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/checkbox.js +1 -1
- package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/color.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/control.js +18 -18
- package/dist/cjs/runtimes/react/controls/control.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/number.js +1 -1
- package/dist/cjs/runtimes/react/controls/number.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/text-area.js +1 -1
- package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/text-input.js +1 -1
- package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -1
- package/dist/cjs/runtimes/react/controls.js +28 -18
- package/dist/cjs/runtimes/react/controls.js.map +1 -1
- package/dist/cjs/runtimes/react/react-runtime.js.map +1 -1
- package/dist/cjs/slate/InlinePlugin/types.js +4 -4
- package/dist/cjs/slate/InlinePlugin/types.js.map +1 -1
- package/dist/cjs/slate/LinkPlugin/index.js +2 -2
- package/dist/cjs/slate/LinkPlugin/index.js.map +1 -1
- package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +2 -2
- package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -1
- package/dist/cjs/state/modules/breakpoints.js.map +1 -1
- package/dist/esm/builder/serialization/control-serialization.js +8 -22
- package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
- package/dist/esm/components/builtin/Box/animations.js.map +1 -1
- package/dist/esm/components/builtin/Box/register.js +6 -5
- package/dist/esm/components/builtin/Box/register.js.map +1 -1
- package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/builtin/Carousel/register.js +3 -2
- package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
- package/dist/esm/components/hooks/usePropValue.js +9 -0
- package/dist/esm/components/hooks/usePropValue.js.map +1 -0
- package/dist/esm/components/shared/grid-item.js.map +1 -1
- package/dist/esm/controls/control.js +10 -7
- package/dist/esm/controls/control.js.map +1 -1
- package/dist/esm/controls/image.js +0 -12
- package/dist/esm/controls/image.js.map +1 -1
- package/dist/esm/controls/index.js +1 -9
- package/dist/esm/controls/index.js.map +1 -1
- package/dist/esm/controls/list.js.map +1 -1
- package/dist/esm/controls/rich-text/dto.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/introspection.js.map +1 -1
- package/dist/esm/controls/shape.js.map +1 -1
- package/dist/esm/controls/slot.js.map +1 -1
- package/dist/esm/controls/style-v2.js.map +1 -1
- package/dist/esm/controls/style.js +1 -1
- package/dist/esm/controls/style.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/next/components/tests/page-prop-controller.js +84 -0
- package/dist/esm/next/components/tests/page-prop-controller.js.map +1 -0
- package/dist/esm/prop-controllers/descriptors.js +0 -5
- package/dist/esm/prop-controllers/descriptors.js.map +1 -1
- package/dist/esm/prop-controllers/index.js.map +1 -1
- package/dist/esm/runtimes/react/controls/checkbox.js +1 -1
- package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -1
- package/dist/esm/runtimes/react/controls/color.js.map +1 -1
- package/dist/esm/runtimes/react/controls/control.js +6 -6
- package/dist/esm/runtimes/react/controls/control.js.map +1 -1
- package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -1
- package/dist/esm/runtimes/react/controls/number.js +1 -1
- package/dist/esm/runtimes/react/controls/number.js.map +1 -1
- package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -1
- package/dist/esm/runtimes/react/controls/text-area.js +1 -1
- package/dist/esm/runtimes/react/controls/text-area.js.map +1 -1
- package/dist/esm/runtimes/react/controls/text-input.js +1 -1
- package/dist/esm/runtimes/react/controls/text-input.js.map +1 -1
- package/dist/esm/runtimes/react/controls.js +16 -8
- package/dist/esm/runtimes/react/controls.js.map +1 -1
- package/dist/esm/runtimes/react/react-runtime.js.map +1 -1
- package/dist/esm/slate/InlinePlugin/types.js +1 -1
- package/dist/esm/slate/InlinePlugin/types.js.map +1 -1
- package/dist/esm/slate/LinkPlugin/index.js +1 -1
- package/dist/esm/slate/LinkPlugin/index.js.map +1 -1
- package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +1 -1
- package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -1
- package/dist/esm/state/modules/breakpoints.js.map +1 -1
- package/dist/types/builder/serialization/control-serialization.d.ts +9 -37
- package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/animations.d.ts +2 -1
- package/dist/types/components/builtin/Box/animations.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 +2 -2
- package/dist/types/components/builtin/Carousel/Carousel.d.ts +2 -2
- 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/hooks/usePropValue.d.ts +3 -0
- package/dist/types/components/hooks/usePropValue.d.ts.map +1 -0
- package/dist/types/components/shared/grid-item.d.ts +2 -2
- package/dist/types/components/shared/grid-item.d.ts.map +1 -1
- package/dist/types/controls/__tests__/fixtures/shape.d.ts +3 -3
- package/dist/types/controls/__tests__/fixtures/shape.d.ts.map +1 -1
- package/dist/types/controls/control.d.ts +1 -9
- package/dist/types/controls/control.d.ts.map +1 -1
- package/dist/types/controls/image.d.ts +1 -38
- package/dist/types/controls/image.d.ts.map +1 -1
- package/dist/types/controls/index.d.ts +1 -9
- package/dist/types/controls/index.d.ts.map +1 -1
- package/dist/types/controls/list.d.ts +2 -11
- package/dist/types/controls/list.d.ts.map +1 -1
- package/dist/types/controls/shape.d.ts.map +1 -1
- package/dist/types/controls/slot.d.ts +1 -1
- package/dist/types/controls/slot.d.ts.map +1 -1
- package/dist/types/controls/style-v2.d.ts +1 -1
- package/dist/types/controls/style-v2.d.ts.map +1 -1
- package/dist/types/controls/style.d.ts +1 -1
- package/dist/types/controls/style.d.ts.map +1 -1
- package/dist/types/next/components/tests/page-gap-x-prop-controller.test.d.ts +1 -1
- package/dist/types/next/components/tests/page-gap-x-prop-controller.test.d.ts.map +1 -1
- package/dist/types/next/components/tests/page-prop-controller.d.ts +8 -0
- package/dist/types/next/components/tests/page-prop-controller.d.ts.map +1 -0
- package/dist/types/next/components/tests/page-responsive-number-prop-controller.test.d.ts +3 -0
- package/dist/types/next/components/tests/page-responsive-number-prop-controller.test.d.ts.map +1 -0
- package/dist/types/prop-controllers/descriptors.d.ts +7 -30
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/index.d.ts +1 -1
- package/dist/types/prop-controllers/index.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/checkbox.d.ts +1 -1
- package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/color.d.ts +1 -1
- package/dist/types/runtimes/react/controls/color.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/control.d.ts +2 -2
- package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +1 -1
- package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/number.d.ts +1 -1
- package/dist/types/runtimes/react/controls/number.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/text-area.d.ts +1 -1
- package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/text-input.d.ts +1 -1
- package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/react-runtime.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/index.d.ts +2 -2
- package/dist/types/slate/InlinePlugin/types.d.ts +1 -1
- package/dist/types/slate/InlinePlugin/types.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/index.d.ts +1 -1
- package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +1 -1
- package/dist/types/state/modules/breakpoints.d.ts +1 -1
- package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
- package/dist/types/state/react-page.test.d.ts +0 -2
- package/dist/types/state/react-page.test.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/cjs/components/hooks/useGapXPropControllerData.js +0 -34
- package/dist/cjs/components/hooks/useGapXPropControllerData.js.map +0 -1
- package/dist/cjs/controls/checkbox.js +0 -41
- package/dist/cjs/controls/checkbox.js.map +0 -1
- package/dist/cjs/controls/color.js +0 -55
- package/dist/cjs/controls/color.js.map +0 -1
- package/dist/cjs/controls/combobox.js +0 -34
- package/dist/cjs/controls/combobox.js.map +0 -1
- package/dist/cjs/controls/control-data-type-key.js.map +0 -1
- package/dist/cjs/controls/icon-radio-group.js +0 -45
- package/dist/cjs/controls/icon-radio-group.js.map +0 -1
- package/dist/cjs/controls/link.js +0 -53
- package/dist/cjs/controls/link.js.map +0 -1
- package/dist/cjs/controls/number.js +0 -41
- package/dist/cjs/controls/number.js.map +0 -1
- package/dist/cjs/controls/text-area.js +0 -41
- package/dist/cjs/controls/text-area.js.map +0 -1
- package/dist/cjs/controls/text-input.js +0 -41
- package/dist/cjs/controls/text-input.js.map +0 -1
- package/dist/cjs/controls/types.js +0 -17
- package/dist/cjs/controls/types.js.map +0 -1
- package/dist/esm/components/hooks/useGapXPropControllerData.js +0 -12
- package/dist/esm/components/hooks/useGapXPropControllerData.js.map +0 -1
- package/dist/esm/controls/checkbox.js +0 -14
- package/dist/esm/controls/checkbox.js.map +0 -1
- package/dist/esm/controls/color.js +0 -27
- package/dist/esm/controls/color.js.map +0 -1
- package/dist/esm/controls/combobox.js +0 -9
- package/dist/esm/controls/combobox.js.map +0 -1
- package/dist/esm/controls/control-data-type-key.js +0 -5
- package/dist/esm/controls/control-data-type-key.js.map +0 -1
- package/dist/esm/controls/icon-radio-group.js +0 -19
- package/dist/esm/controls/icon-radio-group.js.map +0 -1
- package/dist/esm/controls/link.js +0 -27
- package/dist/esm/controls/link.js.map +0 -1
- package/dist/esm/controls/number.js +0 -14
- package/dist/esm/controls/number.js.map +0 -1
- package/dist/esm/controls/text-area.js +0 -14
- package/dist/esm/controls/text-area.js.map +0 -1
- package/dist/esm/controls/text-input.js +0 -14
- package/dist/esm/controls/text-input.js.map +0 -1
- package/dist/esm/controls/types.js +0 -1
- package/dist/esm/controls/types.js.map +0 -1
- package/dist/types/components/hooks/useGapXPropControllerData.d.ts +0 -3
- package/dist/types/components/hooks/useGapXPropControllerData.d.ts.map +0 -1
- package/dist/types/controls/checkbox.d.ts +0 -21
- package/dist/types/controls/checkbox.d.ts.map +0 -1
- package/dist/types/controls/color.d.ts +0 -25
- package/dist/types/controls/color.d.ts.map +0 -1
- package/dist/types/controls/combobox.d.ts +0 -22
- package/dist/types/controls/combobox.d.ts.map +0 -1
- package/dist/types/controls/control-data-type-key.d.ts +0 -2
- package/dist/types/controls/control-data-type-key.d.ts.map +0 -1
- package/dist/types/controls/icon-radio-group.d.ts +0 -32
- package/dist/types/controls/icon-radio-group.d.ts.map +0 -1
- package/dist/types/controls/link.d.ts +0 -52
- package/dist/types/controls/link.d.ts.map +0 -1
- package/dist/types/controls/number.d.ts +0 -26
- package/dist/types/controls/number.d.ts.map +0 -1
- package/dist/types/controls/text-area.d.ts +0 -22
- package/dist/types/controls/text-area.d.ts.map +0 -1
- package/dist/types/controls/text-input.d.ts +0 -22
- package/dist/types/controls/text-input.d.ts.map +0 -1
- package/dist/types/controls/types.d.ts +0 -14
- package/dist/types/controls/types.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { ColorData, ResponsiveValue } from './types'\nimport { CopyContext } from '../state/react-page'\nimport { copyColorData } from './color'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAA8B;AAE9B,kBAA+B;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,2BAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAO,4BAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { ColorData, copyColorData, ResponsiveValue } from '@makeswift/controls'\nimport { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { CopyContext } from '../state/react-page'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0D;AAO1D,kBAA+B;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,2BAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAO,+BAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
@@ -36,7 +36,7 @@ async function handler(...args) {
|
|
|
36
36
|
const supportsPreviewMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => false).with(apiRoutePattern, () => true).exhaustive();
|
|
37
37
|
const supportsDraftMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
|
|
38
38
|
const body = {
|
|
39
|
-
version: "0.
|
|
39
|
+
version: "0.18.0-canary.2",
|
|
40
40
|
previewMode: supportsPreviewMode,
|
|
41
41
|
draftMode: supportsDraftMode,
|
|
42
42
|
interactionMode: true,
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var page_prop_controller_exports = {};
|
|
20
|
+
__export(page_prop_controller_exports, {
|
|
21
|
+
pagePropControllerTest: () => pagePropControllerTest
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(page_prop_controller_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_react = require("@testing-library/react");
|
|
26
|
+
var import_jest_dom = require("@testing-library/jest-dom");
|
|
27
|
+
var import_prop_controllers = require("@makeswift/prop-controllers");
|
|
28
|
+
var import_crypto = require("crypto");
|
|
29
|
+
var import_page = require("../page");
|
|
30
|
+
var import_test_utils = require("react-dom/test-utils");
|
|
31
|
+
var import_react_runtime = require("../../context/react-runtime");
|
|
32
|
+
var import_react2 = require("../../../react");
|
|
33
|
+
var import_element_data_test_test = require("../../../utils/tests/element-data-test-test");
|
|
34
|
+
const pagePropControllerTest = (propDef, value, component, assert) => describe("Page", () => {
|
|
35
|
+
test(`can render ${propDef.type} v0 data`, async () => {
|
|
36
|
+
const descriptorV0 = {
|
|
37
|
+
type: propDef.type,
|
|
38
|
+
options: {}
|
|
39
|
+
};
|
|
40
|
+
const TestComponentType = "TestComponent";
|
|
41
|
+
const testId = "test-id";
|
|
42
|
+
const elementData = (0, import_element_data_test_test.createRootComponent)([
|
|
43
|
+
{
|
|
44
|
+
key: (0, import_crypto.randomUUID)(),
|
|
45
|
+
type: TestComponentType,
|
|
46
|
+
props: {
|
|
47
|
+
propKey: propDef.toPropData(value, descriptorV0)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]);
|
|
51
|
+
const snapshot = (0, import_element_data_test_test.createMakeswiftPageSnapshot)(elementData);
|
|
52
|
+
const runtime = new import_react2.ReactRuntime();
|
|
53
|
+
runtime.registerComponent(component(testId), {
|
|
54
|
+
type: TestComponentType,
|
|
55
|
+
label: "TestComponent",
|
|
56
|
+
props: {
|
|
57
|
+
propKey: propDef()
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
await (0, import_test_utils.act)(
|
|
61
|
+
async () => (0, import_react.render)(
|
|
62
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_runtime.ReactRuntimeProvider, { runtime, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_page.Page, { snapshot }) })
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
assert(import_react.screen.getByTestId(testId));
|
|
66
|
+
});
|
|
67
|
+
test(`can render ${propDef.type} v1 data`, async () => {
|
|
68
|
+
const gapXDefinitionV1 = {
|
|
69
|
+
type: import_prop_controllers.Types.GapX,
|
|
70
|
+
version: 1,
|
|
71
|
+
options: {}
|
|
72
|
+
};
|
|
73
|
+
const TestComponentType = "TestComponent";
|
|
74
|
+
const testId = "test-id";
|
|
75
|
+
const elementData = (0, import_element_data_test_test.createRootComponent)([
|
|
76
|
+
{
|
|
77
|
+
key: (0, import_crypto.randomUUID)(),
|
|
78
|
+
type: TestComponentType,
|
|
79
|
+
props: {
|
|
80
|
+
propKey: propDef.toPropData(value, gapXDefinitionV1)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]);
|
|
84
|
+
const snapshot = (0, import_element_data_test_test.createMakeswiftPageSnapshot)(elementData);
|
|
85
|
+
const runtime = new import_react2.ReactRuntime();
|
|
86
|
+
runtime.registerComponent(component(testId), {
|
|
87
|
+
type: TestComponentType,
|
|
88
|
+
label: "TestComponent",
|
|
89
|
+
props: {
|
|
90
|
+
propKey: propDef()
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
await (0, import_test_utils.act)(
|
|
94
|
+
async () => (0, import_react.render)(
|
|
95
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_runtime.ReactRuntimeProvider, { runtime, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_page.Page, { snapshot }) })
|
|
96
|
+
)
|
|
97
|
+
);
|
|
98
|
+
assert(import_react.screen.getByTestId(testId));
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
+
0 && (module.exports = {
|
|
103
|
+
pagePropControllerTest
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=page-prop-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/next/components/tests/page-prop-controller.tsx"],"sourcesContent":["/** @jest-environment jsdom */\n\nimport { render, screen } from '@testing-library/react'\nimport '@testing-library/jest-dom'\n\nimport { Types, type Descriptor, type PropDef, type Value } from '@makeswift/prop-controllers'\n\nimport { type ElementData, type ComponentType } from '../../../state/react-page'\nimport { randomUUID } from 'crypto'\n\nimport { Page } from '../page'\nimport { act } from 'react-dom/test-utils'\nimport { ReactRuntimeProvider } from '../../context/react-runtime'\nimport { ReactRuntime } from '../../../react'\nimport {\n createMakeswiftPageSnapshot,\n createRootComponent,\n} from '../../../utils/tests/element-data-test-test'\n\nexport const pagePropControllerTest = <\n P extends PropDef,\n C extends ComponentType<{ propKey: Value<PropDef> | undefined }>,\n>(\n propDef: P,\n value: Value<typeof propDef>,\n component: (testId: string) => C,\n assert: (element: HTMLElement) => void,\n) =>\n describe('Page', () => {\n test(`can render ${propDef.type} v0 data`, async () => {\n // Arrange\n const descriptorV0: Descriptor<typeof propDef> = {\n type: propDef.type,\n options: {},\n }\n\n const TestComponentType = 'TestComponent'\n const testId = 'test-id'\n\n const elementData: ElementData = createRootComponent([\n {\n key: randomUUID(),\n type: TestComponentType,\n props: {\n propKey: propDef.toPropData(value, descriptorV0),\n },\n },\n ])\n const snapshot = createMakeswiftPageSnapshot(elementData)\n const runtime = new ReactRuntime()\n\n runtime.registerComponent(component(testId), {\n type: TestComponentType,\n label: 'TestComponent',\n props: {\n propKey: propDef(),\n },\n })\n\n await act(async () =>\n render(\n <ReactRuntimeProvider runtime={runtime}>\n <Page snapshot={snapshot} />\n </ReactRuntimeProvider>,\n ),\n )\n\n assert(screen.getByTestId(testId))\n })\n\n test(`can render ${propDef.type} v1 data`, async () => {\n // Arrange\n const gapXDefinitionV1: Descriptor<typeof propDef> = {\n type: Types.GapX,\n version: 1,\n options: {},\n }\n\n const TestComponentType = 'TestComponent'\n const testId = 'test-id'\n const elementData: ElementData = createRootComponent([\n {\n key: randomUUID(),\n type: TestComponentType,\n props: {\n propKey: propDef.toPropData(value, gapXDefinitionV1),\n },\n },\n ])\n const snapshot = createMakeswiftPageSnapshot(elementData)\n const runtime = new ReactRuntime()\n\n runtime.registerComponent(component(testId), {\n type: TestComponentType,\n label: 'TestComponent',\n props: {\n propKey: propDef(),\n },\n })\n\n await act(async () =>\n render(\n <ReactRuntimeProvider runtime={runtime}>\n <Page snapshot={snapshot} />\n </ReactRuntimeProvider>,\n ),\n )\n\n assert(screen.getByTestId(testId))\n })\n })\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8DY;AA5DZ,mBAA+B;AAC/B,sBAAO;AAEP,8BAAiE;AAGjE,oBAA2B;AAE3B,kBAAqB;AACrB,wBAAoB;AACpB,2BAAqC;AACrC,IAAAA,gBAA6B;AAC7B,oCAGO;AAEA,MAAM,yBAAyB,CAIpC,SACA,OACA,WACA,WAEA,SAAS,QAAQ,MAAM;AACrB,OAAK,cAAc,QAAQ,IAAI,YAAY,YAAY;AAErD,UAAM,eAA2C;AAAA,MAC/C,MAAM,QAAQ;AAAA,MACd,SAAS,CAAC;AAAA,IACZ;AAEA,UAAM,oBAAoB;AAC1B,UAAM,SAAS;AAEf,UAAM,kBAA2B,mDAAoB;AAAA,MACnD;AAAA,QACE,SAAK,0BAAW;AAAA,QAChB,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAAS,QAAQ,WAAW,OAAO,YAAY;AAAA,QACjD;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,eAAW,2DAA4B,WAAW;AACxD,UAAM,UAAU,IAAI,2BAAa;AAEjC,YAAQ,kBAAkB,UAAU,MAAM,GAAG;AAAA,MAC3C,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL,SAAS,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAED,cAAM;AAAA,MAAI,gBACR;AAAA,QACE,4CAAC,6CAAqB,SACpB,sDAAC,oBAAK,UAAoB,GAC5B;AAAA,MACF;AAAA,IACF;AAEA,WAAO,oBAAO,YAAY,MAAM,CAAC;AAAA,EACnC,CAAC;AAED,OAAK,cAAc,QAAQ,IAAI,YAAY,YAAY;AAErD,UAAM,mBAA+C;AAAA,MACnD,MAAM,8BAAM;AAAA,MACZ,SAAS;AAAA,MACT,SAAS,CAAC;AAAA,IACZ;AAEA,UAAM,oBAAoB;AAC1B,UAAM,SAAS;AACf,UAAM,kBAA2B,mDAAoB;AAAA,MACnD;AAAA,QACE,SAAK,0BAAW;AAAA,QAChB,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAAS,QAAQ,WAAW,OAAO,gBAAgB;AAAA,QACrD;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,eAAW,2DAA4B,WAAW;AACxD,UAAM,UAAU,IAAI,2BAAa;AAEjC,YAAQ,kBAAkB,UAAU,MAAM,GAAG;AAAA,MAC3C,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL,SAAS,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAED,cAAM;AAAA,MAAI,gBACR;AAAA,QACE,4CAAC,6CAAqB,SACpB,sDAAC,oBAAK,UAAoB,GAC5B;AAAA,MACF;AAAA,IACF;AAEA,WAAO,oBAAO,YAAY,MAAM,CAAC;AAAA,EACnC,CAAC;AACH,CAAC;","names":["import_react"]}
|
|
@@ -19,7 +19,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var descriptors_exports = {};
|
|
20
20
|
__export(descriptors_exports, {
|
|
21
21
|
ResponsiveIconRadioGroup: () => ResponsiveIconRadioGroup,
|
|
22
|
-
ResponsiveNumber: () => ResponsiveNumber,
|
|
23
22
|
ResponsiveOpacity: () => ResponsiveOpacity,
|
|
24
23
|
ResponsiveSelect: () => ResponsiveSelect,
|
|
25
24
|
SocialLinks: () => SocialLinks,
|
|
@@ -32,7 +31,6 @@ module.exports = __toCommonJS(descriptors_exports);
|
|
|
32
31
|
var import_style2 = require("../controls/style");
|
|
33
32
|
const Types = {
|
|
34
33
|
ResponsiveIconRadioGroup: "ResponsiveIconRadioGroup",
|
|
35
|
-
ResponsiveNumber: "ResponsiveNumber",
|
|
36
34
|
ResponsiveOpacity: "ResponsiveOpacity",
|
|
37
35
|
ResponsiveSelect: "ResponsiveSelect",
|
|
38
36
|
SocialLinks: "SocialLinks",
|
|
@@ -42,9 +40,6 @@ const Types = {
|
|
|
42
40
|
function ResponsiveIconRadioGroup(options) {
|
|
43
41
|
return { type: Types.ResponsiveIconRadioGroup, options };
|
|
44
42
|
}
|
|
45
|
-
function ResponsiveNumber(options = {}) {
|
|
46
|
-
return { type: Types.ResponsiveNumber, options };
|
|
47
|
-
}
|
|
48
43
|
function ResponsiveOpacity(options = {}) {
|
|
49
44
|
return { type: Types.ResponsiveOpacity, options };
|
|
50
45
|
}
|
|
@@ -86,7 +81,6 @@ function TextInput(options = {}) {
|
|
|
86
81
|
// Annotate the CommonJS export names for ESM import in node:
|
|
87
82
|
0 && (module.exports = {
|
|
88
83
|
ResponsiveIconRadioGroup,
|
|
89
|
-
ResponsiveNumber,
|
|
90
84
|
ResponsiveOpacity,
|
|
91
85
|
ResponsiveSelect,
|
|
92
86
|
SocialLinks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prop-controllers/descriptors.ts"],"sourcesContent":["import { ResponsiveColor } from '../runtimes/react/controls'\nimport { StyleControlFormattedValue } from '../runtimes/react/controls/style'\nimport type { Data } from '../state/react-page'\nimport { NumberControlDefinition } from '../controls/number'\nimport { NumberControlValue } from '../runtimes/react/controls/number'\nimport { StyleControlType } from '../controls/style'\nimport {\n CheckboxControlDefinition,\n ColorControlDefinition,\n ComboboxControlDefinition,\n ImageControlDefinition,\n LinkControlDefinition,\n ListControlDefinition,\n SelectControlDefinition,\n ShapeControlDefinition,\n SlotControlDefinition,\n TextAreaControlDefinition,\n TextInputControlDefinition,\n StyleControlDefinition,\n RichTextV2ControlDefinition,\n StyleV2ControlDefinition,\n TypographyControlDefinition,\n} from '../controls'\nimport { TextInputControlValue } from '../runtimes/react/controls/text-input'\nimport { TextAreaControlValue } from '../runtimes/react/controls/text-area'\nimport { ColorControlValue } from '../runtimes/react/controls/color'\nimport { SelectControlValue } from '../runtimes/react/controls/select'\nimport { CheckboxControlValue } from '../runtimes/react/controls/checkbox'\nimport { ResolveImageControlValue } from '../runtimes/react/controls/image'\nimport { ShapeControlValue } from '../runtimes/react/controls/shape'\nimport { ListControlValue } from '../runtimes/react/controls/list'\nimport { ComboboxControlValue } from '../runtimes/react/controls/combobox'\nimport { LinkControlValue } from '../runtimes/react/controls/link'\nimport { SlotControlValue } from '../runtimes/react/controls/slot'\nimport { RichTextControlDefinition } from '../controls/rich-text'\nimport { RichTextControlValue } from '../runtimes/react/controls/rich-text/rich-text'\nimport { RichTextV2ControlValue } from '../runtimes/react/controls/rich-text-v2'\nimport { StyleV2ControlFormattedValue } from '../runtimes/react/controls/style-v2'\nimport { IconRadioGroupControlDefinition } from '../controls/icon-radio-group'\nimport { IconRadioGroupControlValue } from '../runtimes/react/controls/icon-radio-group'\nimport { TypographyControlValue } from '../runtimes/react/controls/typography'\nimport {\n BorderDescriptor,\n CheckboxDescriptor,\n LinkDescriptor,\n ResolveLinkPropControllerValue,\n Types as PropControllerTypes,\n ResponsiveValueType,\n ShadowsDescriptor,\n ResolveShadowsPropControllerValue,\n ResponsiveValue,\n Options,\n ResponsiveLengthDescriptor,\n ResolveResponsiveLengthPropControllerValue,\n NumberDescriptor,\n ResolveNumberPropControllerValue,\n ResponsiveColorDescriptor,\n ResolveCheckboxPropControllerValue,\n BorderRadiusDescriptor,\n ResolveBorderPropControllerValue,\n ResolveBorderRadiusPropControllerValue,\n DateDescriptor,\n ResolveDatePropControllerValue,\n FontDescriptor,\n ResolveFontPropControllerValue,\n VideoDescriptor,\n ResolveVideoPropControllerValue,\n TableDescriptor,\n ResolveTablePropControllerValue,\n MarginDescriptor,\n ResolveMarginPropControllerValue,\n PaddingDescriptor,\n ResolvePaddingPropControllerValue,\n WidthDescriptor,\n ResolveWidthPropControllerValue,\n TextStyleDescriptor,\n ResolveTextStylePropControllerValue,\n NavigationLinksDescriptor,\n ResolveNavigationLinksPropControllerValue,\n TextAreaDescriptor,\n ResolveTextAreaPropControllerValue,\n ResolveGapXPropControllerValue,\n GapXDescriptor,\n ResolveGapYPropControllerValue,\n GapYDescriptor,\n ElementIDDescriptor,\n ResolveElementIDPropControllerValue,\n TableFormFieldsDescriptor,\n ResolveTableFormFieldsPropControllerValue,\n GridDescriptor,\n ResolveGridPropControllerValue,\n ImageDescriptor,\n ResolveImagePropControllerValue,\n ImagesDescriptor,\n ResolveImagesPropControllerValue,\n BackgroundsDescriptor,\n ResolveBackgroundsPropControllerValue,\n} from '@makeswift/prop-controllers'\nimport { DeletedPropControllerDescriptor } from './deleted'\n\nexport type { Data }\n\ntype IconName =\n | 'HeightAuto16'\n | 'HeightMatch16'\n | 'VerticalAlignStart16'\n | 'VerticalAlignMiddle16'\n | 'VerticalAlignEnd16'\n | 'VerticalAlignSpaceBetween16'\n | 'ButtonPill16'\n | 'ButtonRounded16'\n | 'ButtonSquare16'\n | 'SizeSmall16'\n | 'SizeMedium16'\n | 'SizeLarge16'\n | 'ArrowInside16'\n | 'ArrowCenter16'\n | 'ArrowOutside16'\n | 'CountdownSolid16'\n | 'CountdownSolidSplit16'\n | 'CountdownOutline16'\n | 'CountdownOutlineSplit16'\n | 'CountdownNaked16'\n | 'Sun16'\n | 'Moon16'\n | 'AlignLeft16'\n | 'AlignCenter16'\n | 'AlignRight16'\n | 'Star16'\n | 'StarCircle16'\n | 'StarRoundedSquare16'\n | 'StarSquare16'\n\nexport type Gap = { value: number; unit: 'px' }\n\nexport const Types = {\n ResponsiveIconRadioGroup: 'ResponsiveIconRadioGroup',\n ResponsiveNumber: 'ResponsiveNumber',\n ResponsiveOpacity: 'ResponsiveOpacity',\n ResponsiveSelect: 'ResponsiveSelect',\n SocialLinks: 'SocialLinks',\n TextInput: 'TextInput',\n Style: StyleControlType,\n} as const\n\nexport type IconRadioGroupOption<T extends string> = { value: T; label: string; icon: IconName }\n\nexport type ResponsiveIconRadioGroupValue<T extends string = string> = ResponsiveValue<T>\n\nexport type ResponsiveIconRadioGroupOptions<T extends string = string, U extends T = T> = Options<{\n label?: string\n options: IconRadioGroupOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}>\n\nexport type ResponsiveIconRadioGroupDescriptor<\n T extends ResponsiveIconRadioGroupValue<string> = ResponsiveIconRadioGroupValue<string>,\n> = {\n type: typeof Types.ResponsiveIconRadioGroup\n options: ResponsiveIconRadioGroupOptions<ResponsiveValueType<T>>\n}\n\n// HACK(miguel): We have to use a layer of indirection with `_T` and `T` because otherwise the\n// values provided would undergo type widening. For some reason, the extra layer of indirection\n// reuslts in TypeScript not widening types. Note, this only happens when the returned value of this\n// function is passed to another as an argument, which is common with the `registerComponent` API.\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveIconRadioGroup<_T extends string, T extends _T, U extends T>(\n options: ResponsiveIconRadioGroupOptions<T, U>,\n): ResponsiveIconRadioGroupDescriptor<ResponsiveIconRadioGroupValue<T>> {\n return { type: Types.ResponsiveIconRadioGroup, options }\n}\n\nexport type ResponsiveNumberValue = ResponsiveValue<number>\n\nexport type ResponsiveNumberOptions = Options<{\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n hidden?: boolean\n}>\n\nexport type ResponsiveNumberDescriptor<_T = ResponsiveNumberValue> = {\n type: typeof Types.ResponsiveNumber\n options: ResponsiveNumberOptions\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveNumber(\n options: ResponsiveNumberOptions = {},\n): ResponsiveNumberDescriptor {\n return { type: Types.ResponsiveNumber, options }\n}\n\nexport type ResponsiveOpacityValue = ResponsiveValue<number>\n\ntype ResponsiveOpacityOptions = Options<Record<string, never>>\n\ntype ResponsiveOpacityDescriptor<_T = ResponsiveOpacityValue> = {\n type: typeof Types.ResponsiveOpacity\n options: ResponsiveOpacityOptions\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveOpacity(\n options: ResponsiveOpacityOptions = {},\n): ResponsiveOpacityDescriptor {\n return { type: Types.ResponsiveOpacity, options }\n}\n\nexport type ResponsiveSelectValue<T extends string = string> = ResponsiveValue<T>\n\nexport type SelectLabelOrientation = 'vertical' | 'horizontal'\n\nexport type SelectOption<T extends string> = { value: T; label: string }\n\nexport type ResponsiveSelectOptions<T extends string = string, U extends T = T> = Options<{\n label?: string\n labelOrientation?: SelectLabelOrientation\n options: SelectOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}>\n\nexport type ResponsiveSelectDescriptor<\n T extends ResponsiveSelectValue<string> = ResponsiveSelectValue<string>,\n> = {\n type: typeof Types.ResponsiveSelect\n options: ResponsiveSelectOptions<ResponsiveValueType<T>>\n}\n\n// HACK(miguel): We have to use a layer of indirection with `_T` and `T` because otherwise the\n// values provided would undergo type widening. For some reason, the extra layer of indirection\n// reuslts in TypeScript not widening types. Note, this only happens when the returned value of this\n// function is passed to another as an argument, which is common with the `registerComponent` API.\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveSelect<_T extends string, T extends _T, U extends T>(\n options: ResponsiveSelectOptions<T, U>,\n): ResponsiveSelectDescriptor<ResponsiveSelectValue<T>> {\n return { type: Types.ResponsiveSelect, options }\n}\n\nexport const socialLinkTypesV0 = [\n 'angellist',\n 'codepen',\n 'discord',\n 'dribbble',\n 'facebook',\n 'github',\n 'instagram',\n 'linkedin',\n 'medium',\n 'pinterest',\n 'reddit',\n 'rss',\n 'snapchat',\n 'soundcloud',\n 'spotify',\n 'telegram',\n 'tumblr',\n 'twitch',\n 'twitter',\n 'vimeo',\n 'whatsapp',\n 'yelp',\n 'youtube',\n] as const\n\ntype SocialLinkTypeV0 = typeof socialLinkTypesV0[number]\n\nexport const socialLinkTypesV1 = [...socialLinkTypesV0, 'x', 'slack'] as const\n\ntype SocialLinkTypeV1 = typeof socialLinkTypesV1[number]\n\ntype SocialLinkV0 = { type: SocialLinkTypeV0; url: string }\n\ntype SocialLinkV1 = { type: SocialLinkTypeV1; url: string }\n\ntype SocialLinksLinkV0 = { id: string; payload: SocialLinkV0 }\n\ntype SocialLinksLinkV1 = { id: string; payload: SocialLinkV1 }\n\ntype SocialLinksValueV0 = { links: SocialLinksLinkV0[]; openInNewTab: boolean }\n\ntype SocialLinksValueV1 = { links: SocialLinksLinkV1[]; openInNewTab: boolean }\n\nexport type SocialLinksValue = SocialLinksValueV0 | SocialLinksValueV1\n\ntype SocialLinksOptions = Options<{ preset?: SocialLinksValueV1 }>\n\nexport type SocialLinksDescriptor<_T = SocialLinksValueV1> = {\n type: typeof Types.SocialLinks\n options: SocialLinksOptions\n version?: 1\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function SocialLinks(options: SocialLinksOptions = {}): SocialLinksDescriptor {\n return { type: Types.SocialLinks, options, version: 1 }\n}\n\nexport type TextInputValue = string\n\nexport type TextInputOptions = Options<{ label?: string; placeholder?: string; hidden?: boolean }>\n\nexport type TextInputDescriptor<_T = TextInputValue> = {\n type: typeof Types.TextInput\n options: TextInputOptions\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function TextInput(options: TextInputOptions = {}): TextInputDescriptor {\n return { type: Types.TextInput, options }\n}\n\nexport type Descriptor<T extends Data = Data> =\n | DeletedPropControllerDescriptor<T>\n | BackgroundsDescriptor<T>\n | BorderDescriptor<T>\n | BorderRadiusDescriptor<T>\n | CheckboxDescriptor<T>\n | DateDescriptor<T>\n | ElementIDDescriptor<T>\n | FontDescriptor<T>\n | GapXDescriptor<T>\n | GapYDescriptor<T>\n | GridDescriptor<T>\n | ImageDescriptor<T>\n | ImagesDescriptor<T>\n | LinkDescriptor<T>\n | MarginDescriptor<T>\n | NavigationLinksDescriptor<T>\n | NumberDescriptor<T>\n | PaddingDescriptor<T>\n | ResponsiveColorDescriptor<T>\n | ResponsiveIconRadioGroupDescriptor<\n T extends ResponsiveIconRadioGroupValue<string> ? T : ResponsiveIconRadioGroupValue<string>\n >\n | ResponsiveLengthDescriptor<T>\n | ResponsiveNumberDescriptor<T>\n | ResponsiveOpacityDescriptor<T>\n | ResponsiveSelectDescriptor<\n T extends ResponsiveSelectValue<string> ? T : ResponsiveSelectValue<string>\n >\n | ShadowsDescriptor<T>\n | SocialLinksDescriptor<T>\n | TableDescriptor<T>\n | TableFormFieldsDescriptor<T>\n | TextAreaDescriptor<T>\n | TextInputDescriptor<T>\n | TextStyleDescriptor<T>\n | VideoDescriptor<T>\n | WidthDescriptor<T>\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | NumberControlDefinition\n | CheckboxControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition\n | LinkControlDefinition\n | SlotControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | TypographyControlDefinition\n\nexport type PanelDescriptorType =\n | typeof PropControllerTypes.Backgrounds\n | typeof Types.ResponsiveIconRadioGroup\n | typeof PropControllerTypes.Margin\n | typeof PropControllerTypes.Padding\n | typeof PropControllerTypes.Shadows\n | typeof PropControllerTypes.Border\n | typeof PropControllerTypes.GapY\n | typeof PropControllerTypes.GapX\n | typeof PropControllerTypes.BorderRadius\n | typeof PropControllerTypes.Checkbox\n | typeof Types.TextInput\n | typeof PropControllerTypes.Link\n | typeof Types.ResponsiveSelect\n | typeof PropControllerTypes.ResponsiveColor\n | typeof PropControllerTypes.TextStyle\n | typeof PropControllerTypes.Images\n | typeof Types.ResponsiveNumber\n | typeof PropControllerTypes.Number\n | typeof PropControllerTypes.Date\n | typeof PropControllerTypes.Font\n | typeof PropControllerTypes.TextArea\n | typeof PropControllerTypes.Table\n | typeof PropControllerTypes.Image\n | typeof Types.ResponsiveOpacity\n | typeof Types.SocialLinks\n | typeof PropControllerTypes.Video\n | typeof PropControllerTypes.NavigationLinks\n\nexport type PanelDescriptor<T extends Data = Data> = Extract<\n Descriptor<T>,\n { type: PanelDescriptorType }\n>\n\nexport type DescriptorValueType<T extends Descriptor> = T extends NumberControlDefinition\n ? NumberControlValue<T>\n : T extends CheckboxControlDefinition\n ? CheckboxControlValue<T>\n : T extends TextInputControlDefinition\n ? TextInputControlValue<T>\n : T extends TextAreaControlDefinition\n ? TextAreaControlValue<T>\n : T extends SelectControlDefinition\n ? SelectControlValue<T>\n : T extends ColorControlDefinition\n ? ColorControlValue<T>\n : T extends StyleControlDefinition\n ? StyleControlFormattedValue\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlFormattedValue\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlValue<T>\n : T extends ImageControlDefinition\n ? ResolveImageControlValue<T>\n : T extends ComboboxControlDefinition\n ? ComboboxControlValue<T>\n : T extends ShapeControlDefinition\n ? ShapeControlValue<T>\n : T extends ListControlDefinition\n ? ListControlValue<T>\n : T extends LinkControlDefinition\n ? LinkControlValue<T>\n : T extends SlotControlDefinition\n ? SlotControlValue\n : T extends RichTextControlDefinition\n ? RichTextControlValue\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlValue\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlFormattedValue\n : T extends TypographyControlDefinition\n ? TypographyControlValue\n : T['type'] extends typeof PropControllerTypes.ResponsiveColor\n ? // TODO(miguel): We're not importing a resolver type from `@makeswift/prop-controllers` because\n // the resolved type is tightly coupled with the runtime (i.e., it's the result of an API call).\n // This means that we probably want to rethink how types are resolved and where that lives.\n ResponsiveColor | null | undefined\n : T['type'] extends typeof PropControllerTypes.Backgrounds\n ? ResolveBackgroundsPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.Backgrounds }>\n >\n : T['type'] extends typeof PropControllerTypes.Checkbox\n ? ResolveCheckboxPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Checkbox }>>\n : T['type'] extends typeof PropControllerTypes.Date\n ? ResolveDatePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Date }>>\n : T['type'] extends typeof PropControllerTypes.ElementID\n ? ResolveElementIDPropControllerValue<Extract<T, { type: typeof PropControllerTypes.ElementID }>>\n : T['type'] extends typeof PropControllerTypes.Font\n ? ResolveFontPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Font }>>\n : T['type'] extends typeof PropControllerTypes.GapX\n ? ResolveGapXPropControllerValue<Extract<T, { type: typeof PropControllerTypes.GapX }>>\n : T['type'] extends typeof PropControllerTypes.GapY\n ? ResolveGapYPropControllerValue<Extract<T, { type: typeof PropControllerTypes.GapY }>>\n : T['type'] extends typeof PropControllerTypes.Grid\n ? ResolveGridPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Grid }>>\n : T['type'] extends typeof PropControllerTypes.Image\n ? ResolveImagePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Image }>>\n : T['type'] extends typeof PropControllerTypes.Images\n ? ResolveImagesPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Images }>>\n : T['type'] extends typeof PropControllerTypes.Link\n ? ResolveLinkPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Link }>>\n : T['type'] extends typeof PropControllerTypes.Width\n ? ResolveWidthPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Width }>>\n : T['type'] extends typeof PropControllerTypes.Padding\n ? ResolvePaddingPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Padding }>>\n : T['type'] extends typeof PropControllerTypes.Margin\n ? ResolveMarginPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Margin }>>\n : T['type'] extends typeof PropControllerTypes.NavigationLinks\n ? ResolveNavigationLinksPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.NavigationLinks }>\n >\n : T['type'] extends typeof PropControllerTypes.BorderRadius\n ? ResolveBorderRadiusPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.BorderRadius }>\n >\n : T['type'] extends typeof PropControllerTypes.Shadows\n ? ResolveShadowsPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Shadows }>>\n : T['type'] extends typeof PropControllerTypes.ResponsiveLength\n ? ResolveResponsiveLengthPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.ResponsiveLength }>\n >\n : T['type'] extends typeof PropControllerTypes.Border\n ? ResolveBorderPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Border }>>\n : T['type'] extends typeof PropControllerTypes.Number\n ? ResolveNumberPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Number }>>\n : T['type'] extends typeof PropControllerTypes.Table\n ? ResolveTablePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Table }>>\n : T['type'] extends typeof PropControllerTypes.TableFormFields\n ? ResolveTableFormFieldsPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.TableFormFields }>\n >\n : T['type'] extends typeof PropControllerTypes.TextStyle\n ? ResolveTextStylePropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextStyle }>>\n : T['type'] extends typeof PropControllerTypes.TextArea\n ? ResolveTextAreaPropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextArea }>>\n : T['type'] extends typeof PropControllerTypes.Video\n ? ResolveVideoPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Video }>>\n : T extends Descriptor<infer U>\n ? U | undefined\n : never\n\nexport type PanelDescriptorValueType<T extends PanelDescriptor> = T extends PanelDescriptor<infer U>\n ? U\n : never\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAAA,gBAAiC;AAkI1B,MAAM,QAAQ;AAAA,EACnB,0BAA0B;AAAA,EAC1B,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,OAAO;AACT;AA4BO,SAAS,yBACd,SACsE;AACtE,SAAO,EAAE,MAAM,MAAM,0BAA0B,QAAQ;AACzD;AAuBO,SAAS,iBACd,UAAmC,CAAC,GACR;AAC5B,SAAO,EAAE,MAAM,MAAM,kBAAkB,QAAQ;AACjD;AAeO,SAAS,kBACd,UAAoC,CAAC,GACR;AAC7B,SAAO,EAAE,MAAM,MAAM,mBAAmB,QAAQ;AAClD;AA+BO,SAAS,iBACd,SACsD;AACtD,SAAO,EAAE,MAAM,MAAM,kBAAkB,QAAQ;AACjD;AAEO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,oBAAoB,CAAC,GAAG,mBAAmB,KAAK,OAAO;AA8B7D,SAAS,YAAY,UAA8B,CAAC,GAA0B;AACnF,SAAO,EAAE,MAAM,MAAM,aAAa,SAAS,SAAS,EAAE;AACxD;AAeO,SAAS,UAAU,UAA4B,CAAC,GAAwB;AAC7E,SAAO,EAAE,MAAM,MAAM,WAAW,QAAQ;AAC1C;","names":["import_style"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/prop-controllers/descriptors.ts"],"sourcesContent":["import {\n CheckboxControlDefinition,\n IconRadioGroupControlDefinition,\n NumberControlDefinition,\n TextInputControlDefinition,\n TextAreaControlDefinition,\n} from '@makeswift/controls'\nimport { ResponsiveColor } from '../runtimes/react/controls'\nimport { StyleControlFormattedValue } from '../runtimes/react/controls/style'\nimport type { Data } from '../state/react-page'\nimport { NumberControlValue } from '../runtimes/react/controls/number'\nimport { StyleControlType } from '../controls/style'\nimport {\n ColorControlDefinition,\n ComboboxControlDefinition,\n ImageControlDefinition,\n LinkControlDefinition,\n ListControlDefinition,\n SelectControlDefinition,\n ShapeControlDefinition,\n SlotControlDefinition,\n StyleControlDefinition,\n RichTextV2ControlDefinition,\n StyleV2ControlDefinition,\n TypographyControlDefinition,\n} from '../controls'\nimport { TextInputControlValue } from '../runtimes/react/controls/text-input'\nimport { TextAreaControlValue } from '../runtimes/react/controls/text-area'\nimport { ColorControlValue } from '../runtimes/react/controls/color'\nimport { SelectControlValue } from '../runtimes/react/controls/select'\nimport { CheckboxControlValue } from '../runtimes/react/controls/checkbox'\nimport { ResolveImageControlValue } from '../runtimes/react/controls/image'\nimport { ShapeControlValue } from '../runtimes/react/controls/shape'\nimport { ListControlValue } from '../runtimes/react/controls/list'\nimport { ComboboxControlValue } from '../runtimes/react/controls/combobox'\nimport { LinkControlValue } from '../runtimes/react/controls/link'\nimport { SlotControlValue } from '../runtimes/react/controls/slot'\nimport { RichTextControlDefinition } from '../controls/rich-text'\nimport { RichTextControlValue } from '../runtimes/react/controls/rich-text/rich-text'\nimport { RichTextV2ControlValue } from '../runtimes/react/controls/rich-text-v2'\nimport { StyleV2ControlFormattedValue } from '../runtimes/react/controls/style-v2'\nimport { IconRadioGroupControlValue } from '../runtimes/react/controls/icon-radio-group'\nimport { TypographyControlValue } from '../runtimes/react/controls/typography'\nimport {\n BorderDescriptor,\n CheckboxDescriptor,\n LinkDescriptor,\n ResolveLinkPropControllerValue,\n Types as PropControllerTypes,\n ResponsiveValueType,\n ShadowsDescriptor,\n ResolveShadowsPropControllerValue,\n ResponsiveValue,\n Options,\n ResponsiveLengthDescriptor,\n ResolveResponsiveLengthPropControllerValue,\n NumberDescriptor,\n ResolveNumberPropControllerValue,\n ResponsiveColorDescriptor,\n ResolveCheckboxPropControllerValue,\n BorderRadiusDescriptor,\n ResolveBorderPropControllerValue,\n ResolveBorderRadiusPropControllerValue,\n DateDescriptor,\n ResolveDatePropControllerValue,\n FontDescriptor,\n ResolveFontPropControllerValue,\n VideoDescriptor,\n ResolveVideoPropControllerValue,\n TableDescriptor,\n ResolveTablePropControllerValue,\n MarginDescriptor,\n ResolveMarginPropControllerValue,\n PaddingDescriptor,\n ResolvePaddingPropControllerValue,\n WidthDescriptor,\n ResolveWidthPropControllerValue,\n TextStyleDescriptor,\n ResolveTextStylePropControllerValue,\n NavigationLinksDescriptor,\n ResolveNavigationLinksPropControllerValue,\n TextAreaDescriptor,\n ResolveTextAreaPropControllerValue,\n GapX,\n ResponsiveNumber,\n ResolveGapYPropControllerValue,\n GapYDescriptor,\n ElementIDDescriptor,\n ResolveElementIDPropControllerValue,\n TableFormFieldsDescriptor,\n ResolveTableFormFieldsPropControllerValue,\n GridDescriptor,\n ResolveGridPropControllerValue,\n ImageDescriptor,\n ResolveImagePropControllerValue,\n ImagesDescriptor,\n ResolveImagesPropControllerValue,\n BackgroundsDescriptor,\n ResolveBackgroundsPropControllerValue,\n type Descriptor as PropDescriptor,\n type Value as PropValue,\n} from '@makeswift/prop-controllers'\nimport { DeletedPropControllerDescriptor } from './deleted'\n\nexport type { Data }\n\ntype IconName =\n | 'HeightAuto16'\n | 'HeightMatch16'\n | 'VerticalAlignStart16'\n | 'VerticalAlignMiddle16'\n | 'VerticalAlignEnd16'\n | 'VerticalAlignSpaceBetween16'\n | 'ButtonPill16'\n | 'ButtonRounded16'\n | 'ButtonSquare16'\n | 'SizeSmall16'\n | 'SizeMedium16'\n | 'SizeLarge16'\n | 'ArrowInside16'\n | 'ArrowCenter16'\n | 'ArrowOutside16'\n | 'CountdownSolid16'\n | 'CountdownSolidSplit16'\n | 'CountdownOutline16'\n | 'CountdownOutlineSplit16'\n | 'CountdownNaked16'\n | 'Sun16'\n | 'Moon16'\n | 'AlignLeft16'\n | 'AlignCenter16'\n | 'AlignRight16'\n | 'Star16'\n | 'StarCircle16'\n | 'StarRoundedSquare16'\n | 'StarSquare16'\n\nexport type Gap = { value: number; unit: 'px' }\n\nexport const Types = {\n ResponsiveIconRadioGroup: 'ResponsiveIconRadioGroup',\n ResponsiveOpacity: 'ResponsiveOpacity',\n ResponsiveSelect: 'ResponsiveSelect',\n SocialLinks: 'SocialLinks',\n TextInput: 'TextInput',\n Style: StyleControlType,\n} as const\n\nexport type IconRadioGroupOption<T extends string> = { value: T; label: string; icon: IconName }\n\nexport type ResponsiveIconRadioGroupValue<T extends string = string> = ResponsiveValue<T>\n\nexport type ResponsiveIconRadioGroupOptions<T extends string = string, U extends T = T> = Options<{\n label?: string\n options: IconRadioGroupOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}>\n\nexport type ResponsiveIconRadioGroupDescriptor<\n T extends ResponsiveIconRadioGroupValue<string> = ResponsiveIconRadioGroupValue<string>,\n> = {\n type: typeof Types.ResponsiveIconRadioGroup\n options: ResponsiveIconRadioGroupOptions<ResponsiveValueType<T>>\n}\n\n// HACK(miguel): We have to use a layer of indirection with `_T` and `T` because otherwise the\n// values provided would undergo type widening. For some reason, the extra layer of indirection\n// reuslts in TypeScript not widening types. Note, this only happens when the returned value of this\n// function is passed to another as an argument, which is common with the `registerComponent` API.\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveIconRadioGroup<_T extends string, T extends _T, U extends T>(\n options: ResponsiveIconRadioGroupOptions<T, U>,\n): ResponsiveIconRadioGroupDescriptor<ResponsiveIconRadioGroupValue<T>> {\n return { type: Types.ResponsiveIconRadioGroup, options }\n}\n\nexport type ResponsiveOpacityValue = ResponsiveValue<number>\n\ntype ResponsiveOpacityOptions = Options<Record<string, never>>\n\ntype ResponsiveOpacityDescriptor<_T = ResponsiveOpacityValue> = {\n type: typeof Types.ResponsiveOpacity\n options: ResponsiveOpacityOptions\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveOpacity(\n options: ResponsiveOpacityOptions = {},\n): ResponsiveOpacityDescriptor {\n return { type: Types.ResponsiveOpacity, options }\n}\n\nexport type ResponsiveSelectValue<T extends string = string> = ResponsiveValue<T>\n\nexport type SelectLabelOrientation = 'vertical' | 'horizontal'\n\nexport type SelectOption<T extends string> = { value: T; label: string }\n\nexport type ResponsiveSelectOptions<T extends string = string, U extends T = T> = Options<{\n label?: string\n labelOrientation?: SelectLabelOrientation\n options: SelectOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}>\n\nexport type ResponsiveSelectDescriptor<\n T extends ResponsiveSelectValue<string> = ResponsiveSelectValue<string>,\n> = {\n type: typeof Types.ResponsiveSelect\n options: ResponsiveSelectOptions<ResponsiveValueType<T>>\n}\n\n// HACK(miguel): We have to use a layer of indirection with `_T` and `T` because otherwise the\n// values provided would undergo type widening. For some reason, the extra layer of indirection\n// reuslts in TypeScript not widening types. Note, this only happens when the returned value of this\n// function is passed to another as an argument, which is common with the `registerComponent` API.\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveSelect<_T extends string, T extends _T, U extends T>(\n options: ResponsiveSelectOptions<T, U>,\n): ResponsiveSelectDescriptor<ResponsiveSelectValue<T>> {\n return { type: Types.ResponsiveSelect, options }\n}\n\nexport const socialLinkTypesV0 = [\n 'angellist',\n 'codepen',\n 'discord',\n 'dribbble',\n 'facebook',\n 'github',\n 'instagram',\n 'linkedin',\n 'medium',\n 'pinterest',\n 'reddit',\n 'rss',\n 'snapchat',\n 'soundcloud',\n 'spotify',\n 'telegram',\n 'tumblr',\n 'twitch',\n 'twitter',\n 'vimeo',\n 'whatsapp',\n 'yelp',\n 'youtube',\n] as const\n\ntype SocialLinkTypeV0 = typeof socialLinkTypesV0[number]\n\nexport const socialLinkTypesV1 = [...socialLinkTypesV0, 'x', 'slack'] as const\n\ntype SocialLinkTypeV1 = typeof socialLinkTypesV1[number]\n\ntype SocialLinkV0 = { type: SocialLinkTypeV0; url: string }\n\ntype SocialLinkV1 = { type: SocialLinkTypeV1; url: string }\n\ntype SocialLinksLinkV0 = { id: string; payload: SocialLinkV0 }\n\ntype SocialLinksLinkV1 = { id: string; payload: SocialLinkV1 }\n\ntype SocialLinksValueV0 = { links: SocialLinksLinkV0[]; openInNewTab: boolean }\n\ntype SocialLinksValueV1 = { links: SocialLinksLinkV1[]; openInNewTab: boolean }\n\nexport type SocialLinksValue = SocialLinksValueV0 | SocialLinksValueV1\n\ntype SocialLinksOptions = Options<{ preset?: SocialLinksValueV1 }>\n\nexport type SocialLinksDescriptor<_T = SocialLinksValueV1> = {\n type: typeof Types.SocialLinks\n options: SocialLinksOptions\n version?: 1\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function SocialLinks(options: SocialLinksOptions = {}): SocialLinksDescriptor {\n return { type: Types.SocialLinks, options, version: 1 }\n}\n\nexport type TextInputValue = string\n\nexport type TextInputOptions = Options<{ label?: string; placeholder?: string; hidden?: boolean }>\n\nexport type TextInputDescriptor<_T = TextInputValue> = {\n type: typeof Types.TextInput\n options: TextInputOptions\n}\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function TextInput(options: TextInputOptions = {}): TextInputDescriptor {\n return { type: Types.TextInput, options }\n}\n\nexport type Descriptor<T extends Data = Data> =\n | DeletedPropControllerDescriptor<T>\n | BackgroundsDescriptor<T>\n | BorderDescriptor<T>\n | BorderRadiusDescriptor<T>\n | CheckboxDescriptor<T>\n | DateDescriptor<T>\n | ElementIDDescriptor<T>\n | FontDescriptor<T>\n | PropDescriptor<typeof GapX>\n | GapYDescriptor<T>\n | GridDescriptor<T>\n | ImageDescriptor<T>\n | ImagesDescriptor<T>\n | LinkDescriptor<T>\n | MarginDescriptor<T>\n | NavigationLinksDescriptor<T>\n | NumberDescriptor<T>\n | PaddingDescriptor<T>\n | ResponsiveColorDescriptor<T>\n | ResponsiveIconRadioGroupDescriptor<\n T extends ResponsiveIconRadioGroupValue<string> ? T : ResponsiveIconRadioGroupValue<string>\n >\n | ResponsiveLengthDescriptor<T>\n | PropDescriptor<typeof ResponsiveNumber>\n | ResponsiveOpacityDescriptor<T>\n | ResponsiveSelectDescriptor<\n T extends ResponsiveSelectValue<string> ? T : ResponsiveSelectValue<string>\n >\n | ShadowsDescriptor<T>\n | SocialLinksDescriptor<T>\n | TableDescriptor<T>\n | TableFormFieldsDescriptor<T>\n | TextAreaDescriptor<T>\n | TextInputDescriptor<T>\n | TextStyleDescriptor<T>\n | VideoDescriptor<T>\n | WidthDescriptor<T>\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | NumberControlDefinition\n | CheckboxControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition\n | LinkControlDefinition\n | SlotControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | TypographyControlDefinition\n\nexport type PanelDescriptorType =\n | typeof PropControllerTypes.Backgrounds\n | typeof Types.ResponsiveIconRadioGroup\n | typeof PropControllerTypes.Margin\n | typeof PropControllerTypes.Padding\n | typeof PropControllerTypes.Shadows\n | typeof PropControllerTypes.Border\n | typeof PropControllerTypes.GapY\n | typeof PropControllerTypes.GapX\n | typeof PropControllerTypes.BorderRadius\n | typeof PropControllerTypes.Checkbox\n | typeof Types.TextInput\n | typeof PropControllerTypes.Link\n | typeof Types.ResponsiveSelect\n | typeof PropControllerTypes.ResponsiveColor\n | typeof PropControllerTypes.TextStyle\n | typeof PropControllerTypes.Images\n | typeof PropControllerTypes.ResponsiveNumber\n | typeof PropControllerTypes.Number\n | typeof PropControllerTypes.Date\n | typeof PropControllerTypes.Font\n | typeof PropControllerTypes.TextArea\n | typeof PropControllerTypes.Table\n | typeof PropControllerTypes.Image\n | typeof Types.ResponsiveOpacity\n | typeof Types.SocialLinks\n | typeof PropControllerTypes.Video\n | typeof PropControllerTypes.NavigationLinks\n\nexport type PanelDescriptor<T extends Data = Data> = Extract<\n Descriptor<T>,\n { type: PanelDescriptorType }\n>\n\nexport type DescriptorValueType<T extends Descriptor> = T extends NumberControlDefinition\n ? NumberControlValue<T>\n : T extends CheckboxControlDefinition\n ? CheckboxControlValue<T>\n : T extends TextInputControlDefinition\n ? TextInputControlValue<T>\n : T extends TextAreaControlDefinition\n ? TextAreaControlValue<T>\n : T extends SelectControlDefinition\n ? SelectControlValue<T>\n : T extends ColorControlDefinition\n ? ColorControlValue<T>\n : T extends StyleControlDefinition\n ? StyleControlFormattedValue\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlFormattedValue\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlValue<T>\n : T extends ImageControlDefinition\n ? ResolveImageControlValue<T>\n : T extends ComboboxControlDefinition\n ? ComboboxControlValue<T>\n : T extends ShapeControlDefinition\n ? ShapeControlValue<T>\n : T extends ListControlDefinition\n ? ListControlValue<T>\n : T extends LinkControlDefinition\n ? LinkControlValue<T>\n : T extends SlotControlDefinition\n ? SlotControlValue\n : T extends RichTextControlDefinition\n ? RichTextControlValue\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlValue\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlFormattedValue\n : T extends TypographyControlDefinition\n ? TypographyControlValue\n : T['type'] extends typeof PropControllerTypes.ResponsiveColor\n ? // TODO(miguel): We're not importing a resolver type from `@makeswift/prop-controllers` because\n // the resolved type is tightly coupled with the runtime (i.e., it's the result of an API call).\n // This means that we probably want to rethink how types are resolved and where that lives.\n ResponsiveColor | null | undefined\n : T['type'] extends typeof PropControllerTypes.Backgrounds\n ? ResolveBackgroundsPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.Backgrounds }>\n >\n : T['type'] extends typeof PropControllerTypes.Checkbox\n ? ResolveCheckboxPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Checkbox }>>\n : T['type'] extends typeof PropControllerTypes.Date\n ? ResolveDatePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Date }>>\n : T['type'] extends typeof PropControllerTypes.ElementID\n ? ResolveElementIDPropControllerValue<Extract<T, { type: typeof PropControllerTypes.ElementID }>>\n : T['type'] extends typeof PropControllerTypes.Font\n ? ResolveFontPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Font }>>\n : T['type'] extends typeof PropControllerTypes.GapX\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.GapY\n ? ResolveGapYPropControllerValue<Extract<T, { type: typeof PropControllerTypes.GapY }>>\n : T['type'] extends typeof PropControllerTypes.Grid\n ? ResolveGridPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Grid }>>\n : T['type'] extends typeof PropControllerTypes.Image\n ? ResolveImagePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Image }>>\n : T['type'] extends typeof PropControllerTypes.Images\n ? ResolveImagesPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Images }>>\n : T['type'] extends typeof PropControllerTypes.ResponsiveNumber\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.Link\n ? ResolveLinkPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Link }>>\n : T['type'] extends typeof PropControllerTypes.Width\n ? ResolveWidthPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Width }>>\n : T['type'] extends typeof PropControllerTypes.Padding\n ? ResolvePaddingPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Padding }>>\n : T['type'] extends typeof PropControllerTypes.Margin\n ? ResolveMarginPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Margin }>>\n : T['type'] extends typeof PropControllerTypes.NavigationLinks\n ? ResolveNavigationLinksPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.NavigationLinks }>\n >\n : T['type'] extends typeof PropControllerTypes.BorderRadius\n ? ResolveBorderRadiusPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.BorderRadius }>\n >\n : T['type'] extends typeof PropControllerTypes.Shadows\n ? ResolveShadowsPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Shadows }>>\n : T['type'] extends typeof PropControllerTypes.ResponsiveLength\n ? ResolveResponsiveLengthPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.ResponsiveLength }>\n >\n : T['type'] extends typeof PropControllerTypes.Border\n ? ResolveBorderPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Border }>>\n : T['type'] extends typeof PropControllerTypes.Number\n ? ResolveNumberPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Number }>>\n : T['type'] extends typeof PropControllerTypes.Table\n ? ResolveTablePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Table }>>\n : T['type'] extends typeof PropControllerTypes.TableFormFields\n ? ResolveTableFormFieldsPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.TableFormFields }>\n >\n : T['type'] extends typeof PropControllerTypes.TextStyle\n ? ResolveTextStylePropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextStyle }>>\n : T['type'] extends typeof PropControllerTypes.TextArea\n ? ResolveTextAreaPropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextArea }>>\n : T['type'] extends typeof PropControllerTypes.Video\n ? ResolveVideoPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Video }>>\n : T extends Descriptor<infer U>\n ? U | undefined\n : never\n\nexport type PanelDescriptorValueType<T extends PanelDescriptor> = T extends PanelDescriptor<infer U>\n ? U\n : never\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,IAAAA,gBAAiC;AAgI1B,MAAM,QAAQ;AAAA,EACnB,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,OAAO;AACT;AA4BO,SAAS,yBACd,SACsE;AACtE,SAAO,EAAE,MAAM,MAAM,0BAA0B,QAAQ;AACzD;AAeO,SAAS,kBACd,UAAoC,CAAC,GACR;AAC7B,SAAO,EAAE,MAAM,MAAM,mBAAmB,QAAQ;AAClD;AA+BO,SAAS,iBACd,SACsD;AACtD,SAAO,EAAE,MAAM,MAAM,kBAAkB,QAAQ;AACjD;AAEO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,oBAAoB,CAAC,GAAG,mBAAmB,KAAK,OAAO;AA8B7D,SAAS,YAAY,UAA8B,CAAC,GAA0B;AACnF,SAAO,EAAE,MAAM,MAAM,aAAa,SAAS,SAAS,EAAE;AACxD;AAeO,SAAS,UAAU,UAA4B,CAAC,GAAwB;AAC7E,SAAO,EAAE,MAAM,MAAM,WAAW,QAAQ;AAC1C;","names":["import_style"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prop-controllers/index.ts"],"sourcesContent":["export type {\n Data,\n Descriptor as PropControllerDescriptor,\n DescriptorValueType as PropControllerDescriptorValueType,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/prop-controllers/index.ts"],"sourcesContent":["export type {\n Data,\n Descriptor as PropControllerDescriptor,\n DescriptorValueType as PropControllerDescriptorValueType,\n ResponsiveIconRadioGroupDescriptor,\n ResponsiveIconRadioGroupValue,\n ResponsiveSelectDescriptor,\n ResponsiveSelectValue,\n TextInputDescriptor,\n TextInputValue,\n PanelDescriptor,\n PanelDescriptorType,\n PanelDescriptorValueType,\n SocialLinksDescriptor,\n SocialLinksValue,\n} from './descriptors'\nexport type {\n ResponsiveValueType,\n Device,\n DeviceOverride,\n ResponsiveValue,\n} from '@makeswift/prop-controllers'\nexport { socialLinkTypesV0, socialLinkTypesV1 } from './descriptors'\nexport * as Props from './descriptors'\nexport type {\n PropControllerMessage,\n RichTextPropControllerMessage,\n TableFormFieldsMessage,\n} from './instances'\nexport { RichTextPropControllerMessageType, TableFormFieldsMessageType } from './instances'\nexport * as Introspection from './introspection'\nexport { DELETED_PROP_CONTROLLER_TYPES } from './deleted'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA,yBAAqD;AACrD,YAAuB;AAMvB,uBAA8E;AAC9E,oBAA+B;AAC/B,qBAA8C;","names":[]}
|
|
@@ -22,7 +22,7 @@ __export(checkbox_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(checkbox_exports);
|
|
24
24
|
var import_ts_pattern = require("ts-pattern");
|
|
25
|
-
var import_controls = require("
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
26
26
|
function useCheckboxControlValue(data, definition) {
|
|
27
27
|
const value = (0, import_ts_pattern.match)(data).with({ [import_controls.CheckboxControlDataTypeKey]: import_controls.CheckboxControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
|
|
28
28
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/controls/checkbox.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n CheckboxControlData,\n CheckboxControlDataTypeKey,\n CheckboxControlDataTypeValueV1,\n CheckboxControlDefinition,\n} from '
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/checkbox.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n CheckboxControlData,\n CheckboxControlDataTypeKey,\n CheckboxControlDataTypeValueV1,\n CheckboxControlDefinition,\n} from '@makeswift/controls'\n\nexport type CheckboxControlValue<T extends CheckboxControlDefinition> =\n undefined extends T['config']['defaultValue'] ? boolean | undefined : boolean\n\nexport function useCheckboxControlValue<T extends CheckboxControlDefinition>(\n data: CheckboxControlData | undefined,\n definition: T,\n): CheckboxControlValue<T> {\n const value: boolean | undefined =\n match(data)\n .with({ [CheckboxControlDataTypeKey]: CheckboxControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as CheckboxControlValue<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,sBAKO;AAKA,SAAS,wBACd,MACA,YACyB;AACzB,QAAM,YACJ,yBAAM,IAAI,EACP,KAAK,EAAE,CAAC,0CAA0B,GAAG,+CAA+B,GAAG,SAAO,IAAI,KAAK,EACvF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/controls/color.ts"],"sourcesContent":["import Color from 'color'\nimport { ColorControlData, ColorControlDefinition } from '
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/color.ts"],"sourcesContent":["import Color from 'color'\nimport { ColorControlData, ColorControlDefinition } from '@makeswift/controls'\nimport { useSwatch } from '../hooks/makeswift-api'\n\nexport type ColorControlValue<T extends ColorControlDefinition> =\n undefined extends T['config']['defaultValue'] ? string | undefined : string\n\nexport function useColorValue<T extends ColorControlDefinition>(\n data: ColorControlData | undefined,\n definition: T,\n): ColorControlValue<any> {\n const swatchId = data?.swatchId ?? null\n const swatch = useSwatch(swatchId)\n const alpha = data?.alpha ?? 1\n\n if (swatch == null) {\n const { defaultValue } = definition.config\n\n if (defaultValue === undefined) return undefined as ColorControlValue<T>\n\n let defaultColor\n try {\n defaultColor = Color(definition.config.defaultValue)\n } catch {\n defaultColor = Color()\n }\n\n return defaultColor.rgb().string()\n }\n\n return Color({ h: swatch.hue, s: swatch.saturation, l: swatch.lightness })\n .alpha(alpha)\n .rgb()\n .string()\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,2BAA0B;AAKnB,SAAS,cACd,MACA,YACwB;AACxB,QAAM,WAAW,MAAM,YAAY;AACnC,QAAM,aAAS,gCAAU,QAAQ;AACjC,QAAM,QAAQ,MAAM,SAAS;AAE7B,MAAI,UAAU,MAAM;AAClB,UAAM,EAAE,aAAa,IAAI,WAAW;AAEpC,QAAI,iBAAiB;AAAW,aAAO;AAEvC,QAAI;AACJ,QAAI;AACF,yBAAe,aAAAA,SAAM,WAAW,OAAO,YAAY;AAAA,IACrD,QAAQ;AACN,yBAAe,aAAAA,SAAM;AAAA,IACvB;AAEA,WAAO,aAAa,IAAI,EAAE,OAAO;AAAA,EACnC;AAEA,aAAO,aAAAA,SAAM,EAAE,GAAG,OAAO,KAAK,GAAG,OAAO,YAAY,GAAG,OAAO,UAAU,CAAC,EACtE,MAAM,KAAK,EACX,IAAI,EACJ,OAAO;AACZ;","names":["Color"]}
|
|
@@ -22,13 +22,13 @@ __export(control_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(control_exports);
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_controls = require("
|
|
26
|
-
var
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
26
|
+
var import_controls2 = require("../../../controls");
|
|
27
27
|
var import_components = require("../components");
|
|
28
28
|
var import_checkbox = require("./checkbox");
|
|
29
29
|
var import_color = require("./color");
|
|
30
30
|
var import_combobox = require("./combobox");
|
|
31
|
-
var
|
|
31
|
+
var import_icon_radio_group = require("./icon-radio-group");
|
|
32
32
|
var import_image = require("./image");
|
|
33
33
|
var import_link = require("./link");
|
|
34
34
|
var import_list = require("./list");
|
|
@@ -90,7 +90,7 @@ function ControlValue({
|
|
|
90
90
|
},
|
|
91
91
|
definition.type
|
|
92
92
|
);
|
|
93
|
-
case
|
|
93
|
+
case import_controls2.SelectControlType:
|
|
94
94
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
95
95
|
import_components.RenderHook,
|
|
96
96
|
{
|
|
@@ -100,7 +100,7 @@ function ControlValue({
|
|
|
100
100
|
},
|
|
101
101
|
definition.type
|
|
102
102
|
);
|
|
103
|
-
case
|
|
103
|
+
case import_controls2.ColorControlType:
|
|
104
104
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
105
105
|
import_components.RenderHook,
|
|
106
106
|
{
|
|
@@ -110,17 +110,17 @@ function ControlValue({
|
|
|
110
110
|
},
|
|
111
111
|
definition.type
|
|
112
112
|
);
|
|
113
|
-
case
|
|
113
|
+
case import_controls2.IconRadioGroupControlType:
|
|
114
114
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
115
115
|
import_components.RenderHook,
|
|
116
116
|
{
|
|
117
|
-
hook:
|
|
117
|
+
hook: import_icon_radio_group.useIconRadioGroupValue,
|
|
118
118
|
parameters: [data, definition],
|
|
119
119
|
children: (value) => children(value)
|
|
120
120
|
},
|
|
121
121
|
definition.type
|
|
122
122
|
);
|
|
123
|
-
case
|
|
123
|
+
case import_controls2.ImageControlType:
|
|
124
124
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
125
125
|
import_components.RenderHook,
|
|
126
126
|
{
|
|
@@ -130,7 +130,7 @@ function ControlValue({
|
|
|
130
130
|
},
|
|
131
131
|
definition.type
|
|
132
132
|
);
|
|
133
|
-
case
|
|
133
|
+
case import_controls2.LinkControlType:
|
|
134
134
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
135
135
|
import_components.RenderHook,
|
|
136
136
|
{
|
|
@@ -140,7 +140,7 @@ function ControlValue({
|
|
|
140
140
|
},
|
|
141
141
|
definition.type
|
|
142
142
|
);
|
|
143
|
-
case
|
|
143
|
+
case import_controls2.ComboboxControlType:
|
|
144
144
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
145
145
|
import_components.RenderHook,
|
|
146
146
|
{
|
|
@@ -150,7 +150,7 @@ function ControlValue({
|
|
|
150
150
|
},
|
|
151
151
|
definition.type
|
|
152
152
|
);
|
|
153
|
-
case
|
|
153
|
+
case import_controls2.ShapeControlType:
|
|
154
154
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
155
155
|
import_shape.ShapeControlValue,
|
|
156
156
|
{
|
|
@@ -160,7 +160,7 @@ function ControlValue({
|
|
|
160
160
|
children: (value) => children(value)
|
|
161
161
|
}
|
|
162
162
|
);
|
|
163
|
-
case
|
|
163
|
+
case import_controls2.ListControlType:
|
|
164
164
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
165
165
|
import_list.ListControlValue,
|
|
166
166
|
{
|
|
@@ -170,7 +170,7 @@ function ControlValue({
|
|
|
170
170
|
children: (value) => children(value)
|
|
171
171
|
}
|
|
172
172
|
);
|
|
173
|
-
case
|
|
173
|
+
case import_controls2.StyleV2ControlType:
|
|
174
174
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
175
175
|
import_style_v2.StyleV2ControlValue,
|
|
176
176
|
{
|
|
@@ -181,7 +181,7 @@ function ControlValue({
|
|
|
181
181
|
},
|
|
182
182
|
definition.type
|
|
183
183
|
);
|
|
184
|
-
case
|
|
184
|
+
case import_controls2.SlotControlType:
|
|
185
185
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
186
186
|
import_components.RenderHook,
|
|
187
187
|
{
|
|
@@ -191,7 +191,7 @@ function ControlValue({
|
|
|
191
191
|
},
|
|
192
192
|
definition.type
|
|
193
193
|
);
|
|
194
|
-
case
|
|
194
|
+
case import_controls2.RichTextControlType:
|
|
195
195
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
196
196
|
import_components.RenderHook,
|
|
197
197
|
{
|
|
@@ -201,7 +201,7 @@ function ControlValue({
|
|
|
201
201
|
},
|
|
202
202
|
definition.type
|
|
203
203
|
);
|
|
204
|
-
case
|
|
204
|
+
case import_controls2.RichTextV2ControlType:
|
|
205
205
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
206
206
|
import_components.RenderHook,
|
|
207
207
|
{
|
|
@@ -215,7 +215,7 @@ function ControlValue({
|
|
|
215
215
|
},
|
|
216
216
|
definition.type
|
|
217
217
|
);
|
|
218
|
-
case
|
|
218
|
+
case import_controls2.StyleControlType:
|
|
219
219
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
220
220
|
import_components.RenderHook,
|
|
221
221
|
{
|
|
@@ -225,7 +225,7 @@ function ControlValue({
|
|
|
225
225
|
},
|
|
226
226
|
definition.type
|
|
227
227
|
);
|
|
228
|
-
case
|
|
228
|
+
case import_controls2.TypographyControlType:
|
|
229
229
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
230
230
|
import_components.RenderHook,
|
|
231
231
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/controls/control.tsx"],"sourcesContent":["import {\n CheckboxControlData,\n CheckboxControlDefinition,\n CheckboxControlType,\n ColorControlData,\n ColorControlDefinition,\n ColorControlType,\n ComboboxControlData,\n ComboboxControlDefinition,\n ComboboxControlType,\n ControlDefinition,\n ControlDefinitionData,\n ImageControlData,\n ImageControlDefinition,\n ImageControlType,\n LinkControlData,\n LinkControlDefinition,\n LinkControlType,\n ListControl,\n ListControlData,\n ListControlDefinition,\n ListControlType,\n NumberControlData,\n NumberControlDefinition,\n NumberControlType,\n RichTextControl,\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n RichTextV2Control,\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n SelectControlData,\n SelectControlDefinition,\n SelectControlType,\n ShapeControl,\n ShapeControlData,\n ShapeControlDefinition,\n ShapeControlType,\n SlotControl,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n StyleControl,\n StyleControlData,\n StyleControlDefinition,\n StyleControlType,\n StyleV2Control,\n StyleV2ControlData,\n StyleV2ControlDefinition,\n StyleV2ControlType,\n TextAreaControlData,\n TextAreaControlDefinition,\n TextAreaControlType,\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n TypographyControlData,\n TypographyControlDefinition,\n TypographyControlType,\n} from '../../../controls'\nimport {\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n IconRadioGroupControlType,\n} from '../../../controls/icon-radio-group'\nimport { AnyPropController } from '../../../prop-controllers/instances'\nimport { RenderHook } from '../components'\nimport { CheckboxControlValue, useCheckboxControlValue } from './checkbox'\nimport { ColorControlValue, useColorValue } from './color'\nimport { ComboboxControlValue, useComboboxControlValue } from './combobox'\nimport { IconRadioGroupControlValue, useIconRadioGroupValue } from './icon-radio-group'\nimport { ResolveImageControlValue, useImageControlValue } from './image'\nimport { LinkControlValue, useLinkControlValue } from './link'\nimport { ListControlValue } from './list'\nimport { NumberControlValue, useNumber } from './number'\nimport { RichTextControlValue, useRichText } from './rich-text/rich-text'\nimport { RichTextV2ControlValue, useRichTextV2 } from './rich-text-v2'\nimport { SelectControlValue, useSelectControlValue } from './select'\nimport { ShapeControlValue } from './shape'\nimport { SlotControlValue, useSlot } from './slot'\nimport { StyleControlFormattedValue, useFormattedStyle } from './style'\nimport { StyleV2ControlFormattedValue, StyleV2ControlValue } from './style-v2'\nimport { TextAreaControlValue, useTextAreaValue } from './text-area'\nimport { TextInputControlValue, useTextInputValue } from './text-input'\nimport { TypographyControlValue, useTypographyValue } from './typography'\n\nexport type ControlDefinitionValue<T extends ControlDefinition> =\n T extends CheckboxControlDefinition\n ? CheckboxControlValue<T>\n : T extends NumberControlDefinition\n ? NumberControlValue<T>\n : T extends TextInputControlDefinition\n ? TextInputControlValue<T>\n : T extends TextAreaControlDefinition\n ? TextAreaControlValue<T>\n : T extends SelectControlDefinition\n ? SelectControlValue<T>\n : T extends ColorControlDefinition\n ? ColorControlValue<T>\n : T extends ImageControlDefinition\n ? ResolveImageControlValue<T>\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlValue<T>\n : T extends LinkControlDefinition\n ? LinkControlValue<T>\n : T extends ComboboxControlDefinition\n ? ComboboxControlValue<T>\n : T extends ShapeControlDefinition\n ? ShapeControlValue<T>\n : T extends ListControlDefinition\n ? ListControlValue<T>\n : T extends SlotControlDefinition\n ? SlotControlValue\n : T extends RichTextControlDefinition\n ? RichTextControlValue\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlValue\n : T extends StyleControlDefinition\n ? StyleControlFormattedValue\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlFormattedValue\n : T extends TypographyControlDefinition\n ? TypographyControlValue\n : never\n\ntype ControlValueProps<T extends ControlDefinition> = {\n definition: T\n data: ControlDefinitionData<T> | undefined\n children(value: ControlDefinitionValue<T>): JSX.Element\n control?: AnyPropController\n}\n\nexport function ControlValue<T extends ControlDefinition>({\n data,\n definition,\n children,\n control,\n}: ControlValueProps<T>): JSX.Element {\n switch (definition.type) {\n case CheckboxControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useCheckboxControlValue}\n parameters={[data as CheckboxControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case NumberControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useNumber}\n parameters={[data as NumberControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case TextInputControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useTextInputValue}\n parameters={[data as TextInputControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case TextAreaControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useTextAreaValue}\n parameters={[data as TextAreaControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case SelectControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useSelectControlValue}\n parameters={[data as SelectControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ColorControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useColorValue}\n parameters={[data as ColorControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case IconRadioGroupControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useIconRadioGroupValue}\n parameters={[data as IconRadioGroupControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ImageControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useImageControlValue}\n parameters={[data as ImageControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case LinkControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useLinkControlValue}\n parameters={[data as LinkControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ComboboxControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useComboboxControlValue}\n parameters={[data as ComboboxControlData]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ShapeControlType:\n return (\n <ShapeControlValue\n definition={definition}\n data={data as ShapeControlData}\n control={control as ShapeControl}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </ShapeControlValue>\n )\n\n case ListControlType:\n return (\n <ListControlValue\n definition={definition}\n data={data as ListControlData}\n control={control as ListControl}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </ListControlValue>\n )\n\n case StyleV2ControlType:\n return (\n <StyleV2ControlValue\n key={definition.type}\n data={data as StyleV2ControlData}\n definition={definition}\n control={control as StyleV2Control}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </StyleV2ControlValue>\n )\n\n case SlotControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useSlot}\n parameters={[data as unknown as SlotControlData, control as SlotControl]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case RichTextControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useRichText}\n parameters={[data as unknown as RichTextControlData, control as RichTextControl]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case RichTextV2ControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useRichTextV2}\n parameters={[\n data as unknown as RichTextV2ControlData,\n definition,\n control as RichTextV2Control,\n ]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case StyleControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useFormattedStyle}\n parameters={[data as unknown as StyleControlData, definition, control as StyleControl]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case TypographyControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useTypographyValue}\n parameters={[data as unknown as TypographyControlData[number]]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n default:\n return children(data as ControlDefinitionValue<T>)\n }\n}\n"],"mappings":"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","names":["import_icon_radio_group"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/control.tsx"],"sourcesContent":["import {\n CheckboxControlData,\n CheckboxControlDefinition,\n CheckboxControlType,\n NumberControlData,\n NumberControlDefinition,\n NumberControlType,\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n TextAreaControlData,\n TextAreaControlDefinition,\n TextAreaControlType,\n} from '@makeswift/controls'\nimport {\n ColorControlData,\n ColorControlDefinition,\n ColorControlType,\n ComboboxControlData,\n ComboboxControlDefinition,\n ComboboxControlType,\n ControlDefinition,\n ControlDefinitionData,\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n IconRadioGroupControlType,\n ImageControlData,\n ImageControlDefinition,\n ImageControlType,\n LinkControlData,\n LinkControlDefinition,\n LinkControlType,\n ListControl,\n ListControlData,\n ListControlDefinition,\n ListControlType,\n RichTextControl,\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n RichTextV2Control,\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n SelectControlData,\n SelectControlDefinition,\n SelectControlType,\n ShapeControl,\n ShapeControlData,\n ShapeControlDefinition,\n ShapeControlType,\n SlotControl,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n StyleControl,\n StyleControlData,\n StyleControlDefinition,\n StyleControlType,\n StyleV2Control,\n StyleV2ControlData,\n StyleV2ControlDefinition,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlDefinition,\n TypographyControlType,\n} from '../../../controls'\n\nimport { AnyPropController } from '../../../prop-controllers/instances'\nimport { RenderHook } from '../components'\nimport { CheckboxControlValue, useCheckboxControlValue } from './checkbox'\nimport { ColorControlValue, useColorValue } from './color'\nimport { ComboboxControlValue, useComboboxControlValue } from './combobox'\nimport { IconRadioGroupControlValue, useIconRadioGroupValue } from './icon-radio-group'\nimport { ResolveImageControlValue, useImageControlValue } from './image'\nimport { LinkControlValue, useLinkControlValue } from './link'\nimport { ListControlValue } from './list'\nimport { NumberControlValue, useNumber } from './number'\nimport { RichTextControlValue, useRichText } from './rich-text/rich-text'\nimport { RichTextV2ControlValue, useRichTextV2 } from './rich-text-v2'\nimport { SelectControlValue, useSelectControlValue } from './select'\nimport { ShapeControlValue } from './shape'\nimport { SlotControlValue, useSlot } from './slot'\nimport { StyleControlFormattedValue, useFormattedStyle } from './style'\nimport { StyleV2ControlFormattedValue, StyleV2ControlValue } from './style-v2'\nimport { TextAreaControlValue, useTextAreaValue } from './text-area'\nimport { TextInputControlValue, useTextInputValue } from './text-input'\nimport { TypographyControlValue, useTypographyValue } from './typography'\n\nexport type ControlDefinitionValue<T extends ControlDefinition> =\n T extends CheckboxControlDefinition\n ? CheckboxControlValue<T>\n : T extends NumberControlDefinition\n ? NumberControlValue<T>\n : T extends TextInputControlDefinition\n ? TextInputControlValue<T>\n : T extends TextAreaControlDefinition\n ? TextAreaControlValue<T>\n : T extends SelectControlDefinition\n ? SelectControlValue<T>\n : T extends ColorControlDefinition\n ? ColorControlValue<T>\n : T extends ImageControlDefinition\n ? ResolveImageControlValue<T>\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlValue<T>\n : T extends LinkControlDefinition\n ? LinkControlValue<T>\n : T extends ComboboxControlDefinition\n ? ComboboxControlValue<T>\n : T extends ShapeControlDefinition\n ? ShapeControlValue<T>\n : T extends ListControlDefinition\n ? ListControlValue<T>\n : T extends SlotControlDefinition\n ? SlotControlValue\n : T extends RichTextControlDefinition\n ? RichTextControlValue\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlValue\n : T extends StyleControlDefinition\n ? StyleControlFormattedValue\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlFormattedValue\n : T extends TypographyControlDefinition\n ? TypographyControlValue\n : never\n\ntype ControlValueProps<T extends ControlDefinition> = {\n definition: T\n data: ControlDefinitionData<T> | undefined\n children(value: ControlDefinitionValue<T>): JSX.Element\n control?: AnyPropController\n}\n\nexport function ControlValue<T extends ControlDefinition>({\n data,\n definition,\n children,\n control,\n}: ControlValueProps<T>): JSX.Element {\n switch (definition.type) {\n case CheckboxControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useCheckboxControlValue}\n parameters={[data as CheckboxControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case NumberControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useNumber}\n parameters={[data as NumberControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case TextInputControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useTextInputValue}\n parameters={[data as TextInputControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case TextAreaControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useTextAreaValue}\n parameters={[data as TextAreaControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case SelectControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useSelectControlValue}\n parameters={[data as SelectControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ColorControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useColorValue}\n parameters={[data as ColorControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case IconRadioGroupControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useIconRadioGroupValue}\n parameters={[data as IconRadioGroupControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ImageControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useImageControlValue}\n parameters={[data as ImageControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case LinkControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useLinkControlValue}\n parameters={[data as LinkControlData, definition]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ComboboxControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useComboboxControlValue}\n parameters={[data as ComboboxControlData]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case ShapeControlType:\n return (\n <ShapeControlValue\n definition={definition}\n data={data as ShapeControlData}\n control={control as ShapeControl}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </ShapeControlValue>\n )\n\n case ListControlType:\n return (\n <ListControlValue\n definition={definition}\n data={data as ListControlData}\n control={control as ListControl}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </ListControlValue>\n )\n\n case StyleV2ControlType:\n return (\n <StyleV2ControlValue\n key={definition.type}\n data={data as StyleV2ControlData}\n definition={definition}\n control={control as StyleV2Control}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </StyleV2ControlValue>\n )\n\n case SlotControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useSlot}\n parameters={[data as unknown as SlotControlData, control as SlotControl]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case RichTextControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useRichText}\n parameters={[data as unknown as RichTextControlData, control as RichTextControl]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case RichTextV2ControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useRichTextV2}\n parameters={[\n data as unknown as RichTextV2ControlData,\n definition,\n control as RichTextV2Control,\n ]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case StyleControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useFormattedStyle}\n parameters={[data as unknown as StyleControlData, definition, control as StyleControl]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n case TypographyControlType:\n return (\n <RenderHook\n key={definition.type}\n hook={useTypographyValue}\n parameters={[data as unknown as TypographyControlData[number]]}\n >\n {value => children(value as ControlDefinitionValue<T>)}\n </RenderHook>\n )\n\n default:\n return children(data as ControlDefinitionValue<T>)\n }\n}\n"],"mappings":"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","names":["import_controls"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/controls/icon-radio-group.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/icon-radio-group.ts"],"sourcesContent":["import { IconRadioGroupControlData, IconRadioGroupControlDefinition } from '@makeswift/controls'\n\nexport type IconRadioGroupControlValue<T extends IconRadioGroupControlDefinition> =\n undefined extends T['config']['defaultValue']\n ? IconRadioGroupControlData | undefined\n : IconRadioGroupControlData\n\nexport function useIconRadioGroupValue<T extends IconRadioGroupControlDefinition>(\n iconRadioGroupControlData: IconRadioGroupControlData | undefined,\n controlDefinition: T,\n): IconRadioGroupControlValue<T> {\n return (iconRadioGroupControlData ??\n controlDefinition.config.defaultValue) as IconRadioGroupControlValue<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,SAAS,uBACd,2BACA,mBAC+B;AAC/B,SAAQ,6BACN,kBAAkB,OAAO;AAC7B;","names":[]}
|
|
@@ -22,7 +22,7 @@ __export(number_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(number_exports);
|
|
24
24
|
var import_ts_pattern = require("ts-pattern");
|
|
25
|
-
var import_controls = require("
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
26
26
|
function useNumber(data, definition) {
|
|
27
27
|
const value = (0, import_ts_pattern.match)(data).with({ [import_controls.NumberControlDataTypeKey]: import_controls.NumberControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
|
|
28
28
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/controls/number.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n NumberControlData,\n NumberControlDataTypeKey,\n NumberControlDataTypeValueV1,\n NumberControlDefinition,\n} from '
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/number.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n NumberControlData,\n NumberControlDataTypeKey,\n NumberControlDataTypeValueV1,\n NumberControlDefinition,\n} from '@makeswift/controls'\n\nexport type NumberControlValue<T extends NumberControlDefinition> =\n undefined extends T['config']['defaultValue'] ? number | undefined : number\n\nexport function useNumber<T extends NumberControlDefinition>(\n data: NumberControlData | undefined,\n definition: T,\n): NumberControlValue<T> {\n const value: number | undefined =\n match(data)\n .with({ [NumberControlDataTypeKey]: NumberControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as NumberControlValue<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,sBAKO;AAKA,SAAS,UACd,MACA,YACuB;AACvB,QAAM,YACJ,yBAAM,IAAI,EACP,KAAK,EAAE,CAAC,wCAAwB,GAAG,6CAA6B,GAAG,SAAO,IAAI,KAAK,EACnF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
|