@makeswift/runtime 0.17.1 → 0.17.2-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- 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/prop-controllers/descriptors.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 +16 -16
- package/dist/cjs/runtimes/react/controls.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/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/prop-controllers/descriptors.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 +1 -5
- package/dist/esm/runtimes/react/controls.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/components/builtin/Button/Button.d.ts +2 -2
- 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/prop-controllers/descriptors.d.ts +2 -3
- package/dist/types/prop-controllers/descriptors.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/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 +2 -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 +0 -29
- 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/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/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
package/README.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://www.makeswift.com">
|
|
3
|
+
<img width="100%" alt="Makeswift" src="https://user-images.githubusercontent.com/5677929/158899343-ca3fe00e-a3ef-4d6b-bae5-a279c5599d33.svg">
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
## Getting Started
|
|
8
|
+
|
|
9
|
+
Visit our [getting started guide](https://www.makeswift.com/docs/guides/getting-started) to get started with Makeswift Code Components.
|
|
10
|
+
|
|
11
|
+
## API Reference
|
|
12
|
+
|
|
13
|
+
Visit our [API Reference](https://www.makeswift.com/docs/controls/checkbox) to learn more about Makeswift Code Components API.
|
|
@@ -24,13 +24,10 @@ __export(control_exports, {
|
|
|
24
24
|
mergeTranslatedData: () => mergeTranslatedData
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(control_exports);
|
|
27
|
-
var
|
|
27
|
+
var import_controls = require("@makeswift/controls");
|
|
28
28
|
var import_image = require("./image");
|
|
29
|
-
var import_link = require("./link");
|
|
30
29
|
var import_list = require("./list");
|
|
31
30
|
var import_shape = require("./shape");
|
|
32
|
-
var import_text_area = require("./text-area");
|
|
33
|
-
var import_text_input = require("./text-input");
|
|
34
31
|
var import_style = require("./style");
|
|
35
32
|
var import_slot = require("./slot");
|
|
36
33
|
var import_descriptors = require("../prop-controllers/descriptors");
|
|
@@ -65,12 +62,12 @@ function copy(definition, value, context) {
|
|
|
65
62
|
(0, import_rich_text_v2.isRichTextV1Data)(value) ? (0, import_dto.richTextV2DescendentsToData)((0, import_rich_text.richTextDTOtoDAO)(value)) : value,
|
|
66
63
|
context
|
|
67
64
|
);
|
|
68
|
-
case
|
|
69
|
-
return (0,
|
|
70
|
-
case
|
|
65
|
+
case import_controls.ColorControlType:
|
|
66
|
+
return (0, import_controls.copyColorData)(value, context);
|
|
67
|
+
case import_controls.ImageControlType:
|
|
71
68
|
return (0, import_image.copyImageData)(value, context);
|
|
72
|
-
case
|
|
73
|
-
return (0,
|
|
69
|
+
case import_controls.LinkControlType:
|
|
70
|
+
return (0, import_controls.copyLinkData)(value, context);
|
|
74
71
|
case import_shape.ShapeControlType:
|
|
75
72
|
return (0, import_shape.copyShapeData)(definition, value, context);
|
|
76
73
|
case import_list.ListControlType:
|
|
@@ -95,8 +92,8 @@ function getTranslatableData(definition, data) {
|
|
|
95
92
|
switch (definition.type) {
|
|
96
93
|
case import_descriptors.Types.TextInput:
|
|
97
94
|
case import_prop_controllers.Types.TextArea:
|
|
98
|
-
case
|
|
99
|
-
case
|
|
95
|
+
case import_controls.TextInputControlType:
|
|
96
|
+
case import_controls.TextAreaControlType:
|
|
100
97
|
return data;
|
|
101
98
|
case import_rich_text_v2.RichTextV2ControlType:
|
|
102
99
|
const richTextData = data;
|
|
@@ -121,8 +118,8 @@ function mergeTranslatedData(definition, data, translatedData, context) {
|
|
|
121
118
|
switch (definition.type) {
|
|
122
119
|
case import_descriptors.Types.TextInput:
|
|
123
120
|
case import_prop_controllers.Types.TextArea:
|
|
124
|
-
case
|
|
125
|
-
case
|
|
121
|
+
case import_controls.TextInputControlType:
|
|
122
|
+
case import_controls.TextAreaControlType:
|
|
126
123
|
if (translatedData == null)
|
|
127
124
|
return data;
|
|
128
125
|
return translatedData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import { CheckboxControlData, CheckboxControlDefinition } from './checkbox'\nimport { ColorControlData, ColorControlDefinition, ColorControlType, copyColorData } from './color'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ImageControlData, ImageControlDefinition, copyImageData, ImageControlType } from './image'\nimport { LinkControlData, LinkControlDefinition, copyLinkData, LinkControlType } from './link'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { NumberControlData, NumberControlDefinition } from './number'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { TextAreaControlData, TextAreaControlDefinition, TextAreaControlType } from './text-area'\nimport {\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n} from './text-input'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport { Descriptor, Types } from '../prop-controllers/descriptors'\nimport {\n GridPropControllerData,\n Types as PropControllerTypes,\n mergeGridPropControllerTranslatedData,\n} from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { DELETED_PROP_CONTROLLER_TYPES, PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { IconRadioGroupControlData, IconRadioGroupControlDefinition } from './icon-radio-group'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case PropControllerTypes.Backgrounds:\n case PropControllerTypes.Grid:\n case PropControllerTypes.NavigationLinks:\n case PropControllerTypes.Link:\n case PropControllerTypes.Shadows:\n case PropControllerTypes.Image:\n case PropControllerTypes.Images:\n case PropControllerTypes.ResponsiveColor:\n case PropControllerTypes.TableFormFields:\n case PropControllerTypes.Table:\n case PropControllerTypes.Border:\n case PropControllerTypes.ElementID:\n return propControllerCopy(definition, value, context)\n case DELETED_PROP_CONTROLLER_TYPES.RichText:\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case PropControllerTypes.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case PropControllerTypes.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":["import_prop_controllers","import_copy","PropControllerTypes","propControllerCopy"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import {\n ColorControlData,\n ColorControlDefinition,\n ColorControlType,\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n TextAreaControlData,\n TextAreaControlDefinition,\n TextAreaControlType,\n CheckboxControlData,\n CheckboxControlDefinition,\n NumberControlData,\n NumberControlDefinition,\n ComboboxControlData,\n ComboboxControlDefinition,\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n ImageControlType,\n ImageControlData,\n ImageControlDefinition,\n LinkControlData,\n LinkControlDefinition,\n LinkControlType,\n copyColorData,\n copyLinkData,\n} from '@makeswift/controls'\n\nimport { copyImageData } from './image'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport { Descriptor, Types } from '../prop-controllers/descriptors'\nimport {\n GridPropControllerData,\n Types as PropControllerTypes,\n mergeGridPropControllerTranslatedData,\n} from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { DELETED_PROP_CONTROLLER_TYPES, PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case PropControllerTypes.Backgrounds:\n case PropControllerTypes.Grid:\n case PropControllerTypes.NavigationLinks:\n case PropControllerTypes.Link:\n case PropControllerTypes.Shadows:\n case PropControllerTypes.Image:\n case PropControllerTypes.Images:\n case PropControllerTypes.ResponsiveColor:\n case PropControllerTypes.TableFormFields:\n case PropControllerTypes.Table:\n case PropControllerTypes.Border:\n case PropControllerTypes.ElementID:\n return propControllerCopy(definition, value, context)\n case DELETED_PROP_CONTROLLER_TYPES.RichText:\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case PropControllerTypes.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case PropControllerTypes.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":["import_prop_controllers","import_copy","PropControllerTypes","propControllerCopy"]}
|
|
@@ -18,22 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var image_exports = {};
|
|
20
20
|
__export(image_exports, {
|
|
21
|
-
Image: () => Image,
|
|
22
|
-
ImageControlType: () => ImageControlType,
|
|
23
|
-
ImageControlValueFormat: () => ImageControlValueFormat,
|
|
24
21
|
copyImageData: () => copyImageData
|
|
25
22
|
});
|
|
26
23
|
module.exports = __toCommonJS(image_exports);
|
|
27
24
|
var import_ts_pattern = require("ts-pattern");
|
|
28
|
-
const ImageControlType = "makeswift::controls::image";
|
|
29
|
-
const ImageControlValueFormat = {
|
|
30
|
-
URL: "makeswift::controls::image::format::url",
|
|
31
|
-
WithDimensions: "makeswift::controls::image::format::with-dimensions"
|
|
32
|
-
};
|
|
33
|
-
function Image(config = {}) {
|
|
34
|
-
return { type: ImageControlType, config, version: 1 };
|
|
35
|
-
}
|
|
36
|
-
Image.Format = ImageControlValueFormat;
|
|
37
25
|
function copyImageData(value, context) {
|
|
38
26
|
if (value == null)
|
|
39
27
|
return value;
|
|
@@ -41,9 +29,6 @@ function copyImageData(value, context) {
|
|
|
41
29
|
}
|
|
42
30
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
31
|
0 && (module.exports = {
|
|
44
|
-
Image,
|
|
45
|
-
ImageControlType,
|
|
46
|
-
ImageControlValueFormat,
|
|
47
32
|
copyImageData
|
|
48
33
|
});
|
|
49
34
|
//# sourceMappingURL=image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/image.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/image.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport { ImageControlData } from '@makeswift/controls'\nimport { CopyContext } from '../state/react-page'\n\nexport function copyImageData(\n value: ImageControlData | undefined,\n context: CopyContext,\n): ImageControlData | undefined {\n if (value == null) return value\n\n return match(value)\n .with(P.string, id => context.replacementContext.fileIds.get(id) ?? id)\n .with({ type: 'makeswift-file' }, ({ id }) => context.replacementContext.fileIds.get(id) ?? id)\n .otherwise(val => val)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAyB;AAIlB,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,aAAO,yBAAM,KAAK,EACf,KAAK,oBAAE,QAAQ,QAAM,QAAQ,mBAAmB,QAAQ,IAAI,EAAE,KAAK,EAAE,EACrE,KAAK,EAAE,MAAM,iBAAiB,GAAG,CAAC,EAAE,GAAG,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,EAAE,KAAK,EAAE,EAC7F,UAAU,SAAO,GAAG;AACzB;","names":[]}
|
|
@@ -15,45 +15,29 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
16
|
var controls_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(controls_exports);
|
|
18
|
-
__reExport(controls_exports, require("./checkbox"), module.exports);
|
|
19
|
-
__reExport(controls_exports, require("./color"), module.exports);
|
|
20
|
-
__reExport(controls_exports, require("./combobox"), module.exports);
|
|
21
18
|
__reExport(controls_exports, require("./control"), module.exports);
|
|
22
|
-
__reExport(controls_exports, require("./icon-radio-group"), module.exports);
|
|
23
|
-
__reExport(controls_exports, require("./image"), module.exports);
|
|
24
|
-
__reExport(controls_exports, require("./link"), module.exports);
|
|
25
19
|
__reExport(controls_exports, require("./list"), module.exports);
|
|
26
|
-
__reExport(controls_exports, require("./number"), module.exports);
|
|
27
20
|
__reExport(controls_exports, require("./select"), module.exports);
|
|
28
21
|
__reExport(controls_exports, require("./shape"), module.exports);
|
|
29
22
|
__reExport(controls_exports, require("./slot"), module.exports);
|
|
30
23
|
__reExport(controls_exports, require("./style"), module.exports);
|
|
31
24
|
__reExport(controls_exports, require("./style-v2"), module.exports);
|
|
32
|
-
__reExport(controls_exports, require("./text-area"), module.exports);
|
|
33
|
-
__reExport(controls_exports, require("./text-input"), module.exports);
|
|
34
25
|
__reExport(controls_exports, require("./rich-text"), module.exports);
|
|
35
26
|
__reExport(controls_exports, require("./rich-text-v2"), module.exports);
|
|
36
27
|
__reExport(controls_exports, require("./typography"), module.exports);
|
|
28
|
+
__reExport(controls_exports, require("@makeswift/controls"), module.exports);
|
|
37
29
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
30
|
0 && (module.exports = {
|
|
39
|
-
...require("./checkbox"),
|
|
40
|
-
...require("./color"),
|
|
41
|
-
...require("./combobox"),
|
|
42
31
|
...require("./control"),
|
|
43
|
-
...require("./icon-radio-group"),
|
|
44
|
-
...require("./image"),
|
|
45
|
-
...require("./link"),
|
|
46
32
|
...require("./list"),
|
|
47
|
-
...require("./number"),
|
|
48
33
|
...require("./select"),
|
|
49
34
|
...require("./shape"),
|
|
50
35
|
...require("./slot"),
|
|
51
36
|
...require("./style"),
|
|
52
37
|
...require("./style-v2"),
|
|
53
|
-
...require("./text-area"),
|
|
54
|
-
...require("./text-input"),
|
|
55
38
|
...require("./rich-text"),
|
|
56
39
|
...require("./rich-text-v2"),
|
|
57
|
-
...require("./typography")
|
|
40
|
+
...require("./typography"),
|
|
41
|
+
...require("@makeswift/controls")
|
|
58
42
|
});
|
|
59
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\nexport * from './list'\nexport * from './select'\nexport * from './shape'\nexport * from './slot'\nexport * from './style'\nexport * from './style-v2'\nexport * from './rich-text'\nexport * from './rich-text-v2'\nexport * from './typography'\n\nexport * from '@makeswift/controls'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,sBAAd;AACA,6BAAc,mBADd;AAEA,6BAAc,qBAFd;AAGA,6BAAc,oBAHd;AAIA,6BAAc,mBAJd;AAKA,6BAAc,oBALd;AAMA,6BAAc,uBANd;AAOA,6BAAc,wBAPd;AAQA,6BAAc,2BARd;AASA,6BAAc,yBATd;AAWA,6BAAc,gCAXd;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/list.ts"],"sourcesContent":["import {\n AnyPropController,\n createPropController,\n PropControllerMessage,\n Send,\n} from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { CopyContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n ControlDefinition,\n ControlDefinitionData,\n getTranslatableData,\n mergeTranslatedData,\n} from './control'\nimport { ColorData, Data } from './types'\n\nimport { copy as controlCopy } from './control'\nimport {\n getElementChildren,\n getFileIds,\n getPageIds,\n getSwatchIds,\n getTypographyIds,\n} from '../prop-controllers/introspection'\nimport { CheckboxControlDefinition } from './checkbox'\nimport { NumberControlDefinition } from './number'\nimport { TextInputControlDefinition } from './text-input'\nimport { TextAreaControlDefinition } from './text-area'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport { ColorControlDefinition } from './color'\nimport { IconRadioGroupControlData, IconRadioGroupControlDefinition } from './icon-radio-group'\nimport { ImageControlData, ImageControlDefinition } from './image'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ShapeControlDefinition } from './shape'\nimport { LinkControlData, LinkControlDefinition } from './link'\nimport { RichTextControlData, RichTextControlDefinition } from './rich-text'\nimport { RichTextV2ControlData, RichTextV2ControlDefinition } from './rich-text-v2'\nimport { StyleControlData, StyleControlDefinition } from './style'\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type GetItemLabelControlData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? boolean\n : T extends NumberControlDefinition\n ? number\n : T extends TextInputControlDefinition\n ? string\n : T extends TextAreaControlDefinition\n ? string\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? GetItemLabelShapeControlData<T>\n : T extends ListControlDefinition\n ? GetItemListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport type GetItemLabelListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: GetItemLabelControlData<T['config']['type']>\n}\n\nexport type GetItemLabelShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: GetItemLabelControlData<T['config']['type'][K]>\n}\n\nexport type GetItemListControlData<T extends ListControlDefinition = ListControlDefinition> =\n GetItemLabelListControlItemData<T>[]\n\nexport const ListControlType = 'makeswift::controls::list'\n\ntype ListControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n label?: string\n getItemLabel?(item: GetItemLabelControlData<T> | undefined): string\n}\n\nexport type ListControlDefinition<C extends ListControlConfig = ListControlConfig> = {\n type: typeof ListControlType\n config: C\n}\n\nexport function List<T extends ControlDefinition, C extends ListControlConfig<T>>(\n config: C & { type: T },\n): ListControlDefinition<C> {\n return { type: ListControlType, config }\n}\n\nexport type ListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: ControlDefinitionData<T['config']['type']>\n}\n\nexport type ListControlData<T extends ListControlDefinition = ListControlDefinition> =\n ListControlItemData<T>[]\n\nexport const ListControlMessageType = {\n LIST_CONTROL_ITEM_CONTROL_MESSAGE: 'makeswift::controls::list::message::item-control-message',\n} as const\n\ntype ListControlItemControlMessage = {\n type: typeof ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE\n payload: { message: PropControllerMessage; itemId: string }\n}\n\nexport type ListControlMessage = ListControlItemControlMessage\n\nexport class ListControl<\n T extends ListControlDefinition = ListControlDefinition,\n> extends PropController<ListControlMessage> {\n controls: Map<string, AnyPropController>\n descriptor: ListControlDefinition\n send: Send<ListControlMessage>\n\n constructor(send: Send<ListControlMessage>, descriptor: T) {\n super(send)\n\n this.descriptor = descriptor\n this.send = send\n\n this.controls = new Map<string, AnyPropController>()\n }\n\n setItemsControl = (value: ListControlData<T> | undefined) => {\n const controls = new Map<string, AnyPropController>()\n\n if (value == null) return\n\n const shouldUpdate = () => {\n // If the length is different, should update\n if (value.length !== this.controls.size) return true\n // If this.controls does not have an itemId, should update\n if (!value.every(({ id }) => this.controls.has(id))) return true\n\n return false\n }\n\n if (!shouldUpdate()) return this.controls\n\n value.forEach(item => {\n const control = createPropController(this.descriptor.config.type, message =>\n this.send({\n type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,\n payload: { message, itemId: item.id },\n }),\n )\n\n controls.set(item.id, control)\n })\n\n this.controls = controls\n\n return this.controls\n }\n\n recv = (message: ListControlMessage) => {\n switch (message.type) {\n case ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE: {\n const control = this.controls.get(message.payload.itemId)\n\n if (control == null) return\n\n // TODO: We're casting the type here as the arg0 type for control.recv is never\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n\nexport function copyListData(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n context: CopyContext,\n): ListControlData | undefined {\n if (value == null) return value\n\n return (\n value &&\n value.map(item => ({\n ...item,\n value: controlCopy(definition.config.type, item.value, context),\n }))\n )\n}\n\nfunction introspectListData<T>(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n func: (definition: ControlDefinition, data: Data) => T[],\n): T[] {\n if (value == null) return []\n\n return value.flatMap(item => func(definition.config.type, item.value))\n}\n\nexport function getListElementChildren(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getElementChildren)\n}\n\nexport function getListSwatchIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getSwatchIds)\n}\n\nexport function getListFileIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getFileIds)\n}\n\nexport function getListTypographyIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getTypographyIds)\n}\n\nexport function getListPageIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getPageIds)\n}\n\nexport function getListTranslatableData(definition: ListControlDefinition, data: ListControlData) {\n return Object.fromEntries(\n data.map(item => [item.id, getTranslatableData(definition.config.type, item.value)]),\n )\n}\n\nexport type ListControlTranslationDto = Record<string, ListControlData>\n\nexport function mergeListTranslatedData(\n definition: ListControlDefinition,\n data: ListControlData,\n translatedData: ListControlTranslationDto,\n context: MergeTranslatableDataContext,\n) {\n return data.map(item => {\n return {\n ...item,\n value: mergeTranslatedData(\n definition.config.type,\n item.value,\n translatedData[item.id],\n context,\n ),\n }\n })\n}\n"],"mappings":"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","names":["import_control","controlCopy"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/list.ts"],"sourcesContent":["import {\n CheckboxControlDefinition,\n NumberControlDefinition,\n TextInputControlDefinition,\n TextAreaControlDefinition,\n ColorData,\n Data,\n ColorControlDefinition,\n ComboboxControlData,\n ComboboxControlDefinition,\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n ImageControlData,\n ImageControlDefinition,\n LinkControlData,\n LinkControlDefinition,\n} from '@makeswift/controls'\n\nimport {\n AnyPropController,\n createPropController,\n PropControllerMessage,\n Send,\n} from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { CopyContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n ControlDefinition,\n ControlDefinitionData,\n getTranslatableData,\n mergeTranslatedData,\n} from './control'\n\nimport { copy as controlCopy } from './control'\nimport {\n getElementChildren,\n getFileIds,\n getPageIds,\n getSwatchIds,\n getTypographyIds,\n} from '../prop-controllers/introspection'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport { ShapeControlDefinition } from './shape'\nimport { RichTextControlData, RichTextControlDefinition } from './rich-text'\nimport { RichTextV2ControlData, RichTextV2ControlDefinition } from './rich-text-v2'\nimport { StyleControlData, StyleControlDefinition } from './style'\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type GetItemLabelControlData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? boolean\n : T extends NumberControlDefinition\n ? number\n : T extends TextInputControlDefinition\n ? string\n : T extends TextAreaControlDefinition\n ? string\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? GetItemLabelShapeControlData<T>\n : T extends ListControlDefinition\n ? GetItemListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport type GetItemLabelListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: GetItemLabelControlData<T['config']['type']>\n}\n\nexport type GetItemLabelShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: GetItemLabelControlData<T['config']['type'][K]>\n}\n\nexport type GetItemListControlData<T extends ListControlDefinition = ListControlDefinition> =\n GetItemLabelListControlItemData<T>[]\n\nexport const ListControlType = 'makeswift::controls::list'\n\ntype ListControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n label?: string\n getItemLabel?(item: GetItemLabelControlData<T> | undefined): string\n}\n\nexport type ListControlDefinition<C extends ListControlConfig = ListControlConfig> = {\n type: typeof ListControlType\n config: C\n}\n\nexport function List<T extends ControlDefinition, C extends ListControlConfig<T>>(\n config: C & { type: T },\n): ListControlDefinition<C> {\n return { type: ListControlType, config }\n}\n\nexport type ListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: ControlDefinitionData<T['config']['type']>\n}\n\nexport type ListControlData<T extends ListControlDefinition = ListControlDefinition> =\n ListControlItemData<T>[]\n\nexport const ListControlMessageType = {\n LIST_CONTROL_ITEM_CONTROL_MESSAGE: 'makeswift::controls::list::message::item-control-message',\n} as const\n\ntype ListControlItemControlMessage = {\n type: typeof ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE\n payload: { message: PropControllerMessage; itemId: string }\n}\n\nexport type ListControlMessage = ListControlItemControlMessage\n\nexport class ListControl<\n T extends ListControlDefinition = ListControlDefinition,\n> extends PropController<ListControlMessage> {\n controls: Map<string, AnyPropController>\n descriptor: ListControlDefinition\n send: Send<ListControlMessage>\n\n constructor(send: Send<ListControlMessage>, descriptor: T) {\n super(send)\n\n this.descriptor = descriptor\n this.send = send\n\n this.controls = new Map<string, AnyPropController>()\n }\n\n setItemsControl = (value: ListControlData<T> | undefined) => {\n const controls = new Map<string, AnyPropController>()\n\n if (value == null) return\n\n const shouldUpdate = () => {\n // If the length is different, should update\n if (value.length !== this.controls.size) return true\n // If this.controls does not have an itemId, should update\n if (!value.every(({ id }) => this.controls.has(id))) return true\n\n return false\n }\n\n if (!shouldUpdate()) return this.controls\n\n value.forEach(item => {\n const control = createPropController(this.descriptor.config.type, message =>\n this.send({\n type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,\n payload: { message, itemId: item.id },\n }),\n )\n\n controls.set(item.id, control)\n })\n\n this.controls = controls\n\n return this.controls\n }\n\n recv = (message: ListControlMessage) => {\n switch (message.type) {\n case ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE: {\n const control = this.controls.get(message.payload.itemId)\n\n if (control == null) return\n\n // TODO: We're casting the type here as the arg0 type for control.recv is never\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n\nexport function copyListData(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n context: CopyContext,\n): ListControlData | undefined {\n if (value == null) return value\n\n return (\n value &&\n value.map(item => ({\n ...item,\n value: controlCopy(definition.config.type, item.value, context),\n }))\n )\n}\n\nfunction introspectListData<T>(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n func: (definition: ControlDefinition, data: Data) => T[],\n): T[] {\n if (value == null) return []\n\n return value.flatMap(item => func(definition.config.type, item.value))\n}\n\nexport function getListElementChildren(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getElementChildren)\n}\n\nexport function getListSwatchIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getSwatchIds)\n}\n\nexport function getListFileIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getFileIds)\n}\n\nexport function getListTypographyIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getTypographyIds)\n}\n\nexport function getListPageIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getPageIds)\n}\n\nexport function getListTranslatableData(definition: ListControlDefinition, data: ListControlData) {\n return Object.fromEntries(\n data.map(item => [item.id, getTranslatableData(definition.config.type, item.value)]),\n )\n}\n\nexport type ListControlTranslationDto = Record<string, ListControlData>\n\nexport function mergeListTranslatedData(\n definition: ListControlDefinition,\n data: ListControlData,\n translatedData: ListControlTranslationDto,\n context: MergeTranslatableDataContext,\n) {\n return data.map(item => {\n return {\n ...item,\n value: mergeTranslatedData(\n definition.config.type,\n item.value,\n translatedData[item.id],\n context,\n ),\n }\n })\n}\n"],"mappings":"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","names":["import_control","controlCopy"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text/dto.ts"],"sourcesContent":["import { Descendant, Text, Selection } from 'slate'\nimport { LinkControlData } from '
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/dto.ts"],"sourcesContent":["import { Descendant, Text, Selection } from 'slate'\nimport { LinkControlData } from '@makeswift/controls'\nimport {\n BlockJSON,\n InlineJSON,\n NodeJSON,\n SelectionJSON,\n TextJSON,\n RichTextDTO,\n ObjectType,\n} from './dto-types'\nimport { Inline, InlineType, RichTextDAO, BlockType } from '../../slate/types'\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction toTextDAO(node: TextJSON): Text[] {\n const typographyMark = node.marks?.find(mark => mark.type === 'typography')\n\n return [\n {\n text: node.text ?? '',\n typography: typographyMark?.data?.value ?? undefined,\n },\n ]\n}\n\nfunction toInlineDAO(node: InlineJSON): Inline[] {\n switch (node.type) {\n case InlineType.Link:\n return [\n {\n children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],\n [node.type]: node.data as LinkControlData,\n type: node.type,\n },\n ]\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return [\n {\n children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],\n type: node.type,\n },\n ]\n default:\n return []\n }\n}\n\nfunction toInlineOrTextDAO(node: InlineJSON | TextJSON): Array<Inline | Text> {\n switch (node.object) {\n case ObjectType.Inline:\n return toInlineDAO(node)\n case ObjectType.Text:\n return toTextDAO(node)\n default:\n return []\n }\n}\n\nfunction toNodeDAO(node: NodeJSON): Descendant[] {\n switch (node.object) {\n case ObjectType.Inline:\n case ObjectType.Text:\n return toInlineOrTextDAO(node)\n case ObjectType.Block:\n /**\n * Prior to 0.50.0 of slate `node.nodes` could be `undefined` or empty. In that situation nothing was rendered.\n * With 0.50.0 slate introduced an normalization that requires all blocks to contain a text node.\n */\n return [\n {\n type: node.type,\n textAlign: node?.data && 'textAlign' in node.data ? node?.data.textAlign : undefined,\n children:\n node.nodes == null || (node.nodes && node.nodes.length === 0)\n ? [{ text: '' }]\n : node.nodes.flatMap(toNodeDAO),\n },\n ]\n default:\n return []\n }\n}\n\nexport function richTextDTOtoSelection(data: RichTextDTO): Selection {\n if (\n data.selection?.anchor?.offset != null &&\n data.selection.anchor.path != null &&\n data.selection?.focus?.offset != null &&\n data.selection.focus.path != null\n )\n return {\n anchor: {\n offset: data.selection.anchor.offset,\n path: data.selection.anchor.path,\n },\n focus: {\n offset: data.selection.focus.offset,\n path: data.selection.focus.path,\n },\n }\n\n return null\n}\n\nexport function richTextDTOtoDAO(data: RichTextDTO): RichTextDAO {\n return (\n data.document?.nodes?.flatMap(toNodeDAO) ?? [\n { type: BlockType.Default, children: [{ text: '' }] },\n ]\n )\n}\n\nfunction toInlineOrTextDTO(node: Inline | Text): Array<InlineJSON | TextJSON> {\n if (isText(node)) {\n return [\n {\n text: node.text,\n object: 'text',\n marks: node.typography\n ? [\n {\n data: {\n value: node.typography,\n },\n type: 'typography',\n object: 'mark',\n },\n ]\n : [],\n },\n ]\n }\n switch (node.type) {\n case InlineType.Link:\n return [\n {\n object: ObjectType.Inline,\n nodes: node.children.flatMap(toInlineOrTextDTO),\n type: node.type,\n data: node.link ?? undefined,\n },\n ]\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return [\n {\n object: 'inline',\n nodes: node.children.flatMap(toInlineOrTextDTO),\n type: node.type,\n data: {},\n },\n ]\n }\n}\n\nfunction toNodeDTO(node: Descendant): Array<BlockJSON | InlineJSON | TextJSON> {\n if (isText(node)) return toInlineOrTextDTO(node)\n\n switch (node.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return toInlineOrTextDTO(node)\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.Default:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return [\n {\n type: node.type,\n data: node.textAlign\n ? {\n textAlign: node.textAlign,\n }\n : {},\n object: 'block',\n nodes: node.children?.flatMap(toNodeDTO) ?? [],\n },\n ]\n default:\n return []\n }\n}\n\nexport function toSelectionDTO(selection: Selection | null): SelectionJSON | undefined {\n if (selection == null) return undefined\n\n return {\n isFocused: false,\n marks: undefined,\n object: 'selection',\n anchor: {\n offset: selection.anchor.offset,\n path: selection.anchor.path,\n object: 'point',\n },\n focus: {\n offset: selection.focus.offset,\n path: selection.focus.path,\n object: 'point',\n },\n }\n}\n\nexport function richTextDAOToDTO(children: Descendant[], selection: Selection): RichTextDTO {\n return {\n document: {\n data: undefined,\n nodes: children.flatMap(toNodeDTO),\n object: 'document',\n },\n object: 'value',\n selection: toSelectionDTO(selection),\n annotations: undefined,\n data: undefined,\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text-v2/introspection.ts"],"sourcesContent":["import { getPageIds, getSwatchIds, getTypographyIds } from '../../prop-controllers/introspection'\nimport { ControlDefinition } from '../control'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text-v2/introspection.ts"],"sourcesContent":["import { Data } from '@makeswift/controls'\nimport { getPageIds, getSwatchIds, getTypographyIds } from '../../prop-controllers/introspection'\nimport { ControlDefinition } from '../control'\nimport { RichTextV2ControlData, RichTextV2ControlDefinition } from './rich-text-v2'\nimport { Descendant, Element as SlateElement, Text } from 'slate'\n\nfunction introspectRichTextV2Data<T>(\n definition: RichTextV2ControlDefinition,\n data: RichTextV2ControlData,\n func: (definition: ControlDefinition, data: Data) => T[],\n): T[] {\n const plugins = definition.config.plugins\n\n return data.descendants.flatMap(d => getDescendantTypographyIds(d))\n\n function getDescendantTypographyIds(descendant: Descendant): T[] {\n if (SlateElement.isElement(descendant)) {\n return [\n ...getElementTypographyIds(descendant),\n ...descendant.children.flatMap(d => getDescendantTypographyIds(d)),\n ]\n }\n\n if (Text.isText(descendant)) {\n return getTextTypographyIds(descendant)\n }\n\n return []\n }\n\n function getElementTypographyIds(descendant: SlateElement) {\n return (\n plugins?.flatMap(plugin =>\n plugin.control?.definition && plugin.control.getElementValue\n ? func(plugin.control.definition, plugin.control.getElementValue(descendant))\n : [],\n ) ?? []\n )\n }\n\n function getTextTypographyIds(text: Text) {\n return (\n plugins?.flatMap(plugin => {\n return plugin.control?.definition && plugin.control.getLeafValue\n ? func(plugin.control.definition, plugin.control.getLeafValue(text))\n : []\n }) ?? []\n )\n }\n}\n\nexport function getRichTextV2SwatchIds(\n definition: RichTextV2ControlDefinition,\n data: RichTextV2ControlData,\n) {\n return introspectRichTextV2Data(definition, data, getSwatchIds)\n}\n\nexport function getRichTextV2TypographyIds(\n definition: RichTextV2ControlDefinition,\n data: RichTextV2ControlData,\n) {\n return introspectRichTextV2Data(definition, data, getTypographyIds)\n}\n\nexport function getRichTextV2PageIds(\n definition: RichTextV2ControlDefinition,\n data: RichTextV2ControlData,\n) {\n return introspectRichTextV2Data(definition, data, getPageIds)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA2D;AAG3D,mBAA0D;AAE1D,SAAS,yBACP,YACA,MACA,MACK;AACL,QAAM,UAAU,WAAW,OAAO;AAElC,SAAO,KAAK,YAAY,QAAQ,OAAK,2BAA2B,CAAC,CAAC;AAElE,WAAS,2BAA2B,YAA6B;AAC/D,QAAI,aAAAA,QAAa,UAAU,UAAU,GAAG;AACtC,aAAO;AAAA,QACL,GAAG,wBAAwB,UAAU;AAAA,QACrC,GAAG,WAAW,SAAS,QAAQ,OAAK,2BAA2B,CAAC,CAAC;AAAA,MACnE;AAAA,IACF;AAEA,QAAI,kBAAK,OAAO,UAAU,GAAG;AAC3B,aAAO,qBAAqB,UAAU;AAAA,IACxC;AAEA,WAAO,CAAC;AAAA,EACV;AAEA,WAAS,wBAAwB,YAA0B;AACzD,WACE,SAAS;AAAA,MAAQ,YACf,OAAO,SAAS,cAAc,OAAO,QAAQ,kBACzC,KAAK,OAAO,QAAQ,YAAY,OAAO,QAAQ,gBAAgB,UAAU,CAAC,IAC1E,CAAC;AAAA,IACP,KAAK,CAAC;AAAA,EAEV;AAEA,WAAS,qBAAqB,MAAY;AACxC,WACE,SAAS,QAAQ,YAAU;AACzB,aAAO,OAAO,SAAS,cAAc,OAAO,QAAQ,eAChD,KAAK,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa,IAAI,CAAC,IACjE,CAAC;AAAA,IACP,CAAC,KAAK,CAAC;AAAA,EAEX;AACF;AAEO,SAAS,uBACd,YACA,MACA;AACA,SAAO,yBAAyB,YAAY,MAAM,iCAAY;AAChE;AAEO,SAAS,2BACd,YACA,MACA;AACA,SAAO,yBAAyB,YAAY,MAAM,qCAAgB;AACpE;AAEO,SAAS,qBACd,YACA,MACA;AACA,SAAO,yBAAyB,YAAY,MAAM,+BAAU;AAC9D;","names":["SlateElement"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/shape.ts"],"sourcesContent":["import {\n AnyPropController,\n createPropController,\n Send,\n PropControllerMessage,\n} from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { CopyContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n ControlDefinition,\n ControlDefinitionData,\n getTranslatableData,\n mergeTranslatedData,\n} from './control'\n\nimport { copy as controlCopy } from './control'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/shape.ts"],"sourcesContent":["import { Data } from '@makeswift/controls'\nimport {\n AnyPropController,\n createPropController,\n Send,\n PropControllerMessage,\n} from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { CopyContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n ControlDefinition,\n ControlDefinitionData,\n getTranslatableData,\n mergeTranslatedData,\n} from './control'\n\nimport { copy as controlCopy } from './control'\nimport {\n getElementChildren,\n getFileIds,\n getPageIds,\n getSwatchIds,\n getTypographyIds,\n} from '../prop-controllers/introspection'\n\nexport const ShapeControlType = 'makeswift::controls::shape'\n\ntype ShapeControlConfig = {\n type: Record<string, ControlDefinition>\n}\n\nexport type ShapeControlDefinition<C extends ShapeControlConfig = ShapeControlConfig> = {\n type: typeof ShapeControlType\n config: C\n}\n\nexport function Shape<C extends ShapeControlConfig>(config: C): ShapeControlDefinition<C> {\n return { type: ShapeControlType, config }\n}\n\nexport type ShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: ControlDefinitionData<T['config']['type'][K]>\n}\n\nexport const ShapeControlMessageType = {\n SHAPE_CONTROL_CHILD_CONTROL_MESSAGE: 'makeswift::controls::shape::message::child-control-message',\n} as const\n\ntype ShapeControlChildControlMessage = {\n type: typeof ShapeControlMessageType.SHAPE_CONTROL_CHILD_CONTROL_MESSAGE\n payload: { message: PropControllerMessage; key: string }\n}\n\nexport type ShapeControlMessage = ShapeControlChildControlMessage\n\nexport class ShapeControl<\n T extends ShapeControlDefinition = ShapeControlDefinition,\n> extends PropController<ShapeControlMessage> {\n controls: Map<string, AnyPropController>\n descriptor: ShapeControlDefinition\n send: Send<ShapeControlMessage>\n\n constructor(send: Send<ShapeControlMessage>, descriptor: T) {\n super(send)\n\n this.descriptor = descriptor\n this.send = send\n\n this.controls = new Map<string, AnyPropController>()\n this.setControls()\n }\n\n setControls = () => {\n const controls = new Map<string, AnyPropController>()\n const children = this.descriptor.config.type\n\n Object.keys(children).forEach(key => {\n const control = createPropController(children[key], message =>\n this.send({\n type: ShapeControlMessageType.SHAPE_CONTROL_CHILD_CONTROL_MESSAGE,\n payload: { message, key },\n }),\n )\n\n controls.set(key, control)\n })\n\n this.controls = controls\n\n return this.controls\n }\n\n recv = (message: ShapeControlMessage) => {\n switch (message.type) {\n case ShapeControlMessageType.SHAPE_CONTROL_CHILD_CONTROL_MESSAGE: {\n const control = this.controls.get(message.payload.key)\n\n if (control == null) return\n\n // TODO: We're casting the type here as the arg0 type for control.recv is never\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n\nexport function copyShapeData(\n definition: ShapeControlDefinition,\n value: ShapeControlData | undefined,\n context: CopyContext,\n): ShapeControlData | undefined {\n if (value == null) return value\n\n const newValue: ShapeControlData = {}\n\n for (const [key, itemDefinition] of Object.entries(definition.config.type)) {\n const prop = value[key]\n\n newValue[key] = controlCopy(itemDefinition, prop, context)\n }\n\n return newValue\n}\n\nfunction introspectShapeData<T>(\n definition: ShapeControlDefinition,\n value: ShapeControlData | undefined,\n func: (definition: ControlDefinition, data: Data) => T[],\n): T[] {\n if (value == null) return []\n\n return Object.entries(definition.config.type).flatMap(([key, definition]) =>\n func(definition, value[key]),\n )\n}\n\nexport function getShapeElementChildren(\n definition: ShapeControlDefinition,\n data: ShapeControlData,\n) {\n return introspectShapeData(definition, data, getElementChildren)\n}\n\nexport function getShapeSwatchIds(definition: ShapeControlDefinition, data: ShapeControlData) {\n return introspectShapeData(definition, data, getSwatchIds)\n}\n\nexport function getShapeTypographyIds(definition: ShapeControlDefinition, data: ShapeControlData) {\n return introspectShapeData(definition, data, getTypographyIds)\n}\n\nexport function getShapePageIds(definition: ShapeControlDefinition, data: ShapeControlData) {\n return introspectShapeData(definition, data, getPageIds)\n}\n\nexport function getShapeFileIds(definition: ShapeControlDefinition, data: ShapeControlData) {\n return introspectShapeData(definition, data, getFileIds)\n}\n\nexport function getShapeTranslatableData(\n definition: ShapeControlDefinition,\n data: ShapeControlData,\n) {\n return Object.fromEntries(\n Object.entries(definition.config.type).map(([key, definition]) => [\n key,\n getTranslatableData(definition, data[key]),\n ]),\n )\n}\n\nexport type ShapeControlTranslationDto = Record<string, ShapeControlData>\n\nexport function mergeShapeTranslatedData(\n definition: ShapeControlDefinition,\n data: ShapeControlData,\n translatedData: ShapeControlTranslationDto,\n context: MergeTranslatableDataContext,\n) {\n return Object.fromEntries(\n Object.entries(definition.config.type).map(([key, definition]) => [\n key,\n mergeTranslatedData(definition, data[key], translatedData[key], context),\n ]),\n )\n}\n"],"mappings":"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","names":["import_control","controlCopy","definition"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/slot.ts"],"sourcesContent":["import { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\nimport {\n CopyContext,\n Element,\n isElementReference,\n MergeContext,\n MergeTranslatableDataContext,\n} from '../state/react-page'\
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/slot.ts"],"sourcesContent":["import { ResponsiveValue } from '@makeswift/controls'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\nimport {\n CopyContext,\n Element,\n isElementReference,\n MergeContext,\n MergeTranslatableDataContext,\n} from '../state/react-page'\n\ntype SlotControlColumnData = { count: number; spans: number[][] }\n\nexport type SlotControlData = {\n elements: (Element & { deleted?: boolean })[]\n columns: ResponsiveValue<SlotControlColumnData>\n}\n\nexport const SlotControlType = 'makeswift::controls::slot'\n\nexport type SlotControlDefinition = {\n type: typeof SlotControlType\n}\n\nexport function Slot(): SlotControlDefinition {\n return { type: SlotControlType }\n}\n\nexport const SlotControlMessageType = {\n CONTAINER_BOX_MODEL_CHANGE: 'makeswift::controls::slot::message::container-box-model-change',\n ITEM_BOX_MODEL_CHANGE: 'makeswift::controls::slot::message::item-box-model-change',\n} as const\n\ntype SlotControlContainerBoxModelChangeMessage = {\n type: typeof SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE\n payload: { boxModel: BoxModel | null }\n}\n\ntype SlotControlItemBoxModelChangeMessage = {\n type: typeof SlotControlMessageType.ITEM_BOX_MODEL_CHANGE\n payload: { index: number; boxModel: BoxModel | null }\n}\n\nexport type SlotControlMessage =\n | SlotControlContainerBoxModelChangeMessage\n | SlotControlItemBoxModelChangeMessage\n\nexport class SlotControl extends PropController<SlotControlMessage> {\n recv = () => {}\n\n changeContainerBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE, payload: { boxModel } })\n }\n\n changeItemBoxModel(index: number, boxModel: BoxModel | null): void {\n this.send({ type: SlotControlMessageType.ITEM_BOX_MODEL_CHANGE, payload: { index, boxModel } })\n }\n}\n\nexport function copySlotData(\n value: SlotControlData | undefined,\n context: CopyContext,\n): SlotControlData | undefined {\n if (value == null) return value\n\n return {\n ...value,\n elements: value.elements.map(element => context.copyElement(element)),\n }\n}\n\n/**\n * @todo\n * - Inserting elements\n * - Moving elements\n * - Merging column data\n */\nexport function mergeSlotData(\n base: SlotControlData | undefined = { columns: [], elements: [] },\n override: SlotControlData | undefined = { columns: [], elements: [] },\n context: MergeContext,\n): SlotControlData {\n const mergedColumns = base.columns\n const mergedElements = base.elements.flatMap(baseElement => {\n const overrideElement = override.elements.find(\n e => baseElement.type === e.type && baseElement.key === e.key,\n )\n\n if (overrideElement == null) return [baseElement]\n\n if (overrideElement.deleted) return []\n\n if (isElementReference(overrideElement)) return [overrideElement]\n\n if (isElementReference(baseElement)) return [baseElement]\n\n return context.mergeElement(baseElement, overrideElement)\n })\n\n return { columns: mergedColumns, elements: mergedElements }\n}\n\nexport function mergeSlotControlTranslatedData(\n data: SlotControlData,\n context: MergeTranslatableDataContext,\n) {\n return {\n ...data,\n elements: data.elements.map(element => context.mergeTranslatedData(element)),\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA+B;AAE/B,wBAMO;AASA,MAAM,kBAAkB;AAMxB,SAAS,OAA8B;AAC5C,SAAO,EAAE,MAAM,gBAAgB;AACjC;AAEO,MAAM,yBAAyB;AAAA,EACpC,4BAA4B;AAAA,EAC5B,uBAAuB;AACzB;AAgBO,MAAM,oBAAoB,2BAAmC;AAAA,EAClE,OAAO,MAAM;AAAA,EAAC;AAAA,EAEd,wBAAwB,UAAiC;AACvD,SAAK,KAAK,EAAE,MAAM,uBAAuB,4BAA4B,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EAC9F;AAAA,EAEA,mBAAmB,OAAe,UAAiC;AACjE,SAAK,KAAK,EAAE,MAAM,uBAAuB,uBAAuB,SAAS,EAAE,OAAO,SAAS,EAAE,CAAC;AAAA,EAChG;AACF;AAEO,SAAS,aACd,OACA,SAC6B;AAC7B,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,MAAM,SAAS,IAAI,aAAW,QAAQ,YAAY,OAAO,CAAC;AAAA,EACtE;AACF;AAQO,SAAS,cACd,OAAoC,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,EAAE,GAChE,WAAwC,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,EAAE,GACpE,SACiB;AACjB,QAAM,gBAAgB,KAAK;AAC3B,QAAM,iBAAiB,KAAK,SAAS,QAAQ,iBAAe;AAC1D,UAAM,kBAAkB,SAAS,SAAS;AAAA,MACxC,OAAK,YAAY,SAAS,EAAE,QAAQ,YAAY,QAAQ,EAAE;AAAA,IAC5D;AAEA,QAAI,mBAAmB;AAAM,aAAO,CAAC,WAAW;AAEhD,QAAI,gBAAgB;AAAS,aAAO,CAAC;AAErC,YAAI,sCAAmB,eAAe;AAAG,aAAO,CAAC,eAAe;AAEhE,YAAI,sCAAmB,WAAW;AAAG,aAAO,CAAC,WAAW;AAExD,WAAO,QAAQ,aAAa,aAAa,eAAe;AAAA,EAC1D,CAAC;AAED,SAAO,EAAE,SAAS,eAAe,UAAU,eAAe;AAC5D;AAEO,SAAS,+BACd,MACA,SACA;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,KAAK,SAAS,IAAI,aAAW,QAAQ,oBAAoB,OAAO,CAAC;AAAA,EAC7E;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/style-v2.ts"],"sourcesContent":["import { BoxModel } from 'css-box-model'\nimport { ControlDefinition } from './control'\nimport { PropController } from '../prop-controllers/base'\nimport {\n AnyPropController,\n PropControllerMessage,\n Send,\n createPropController,\n} from '../prop-controllers/instances'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/style-v2.ts"],"sourcesContent":["import { ResponsiveValue } from '@makeswift/controls'\nimport { BoxModel } from 'css-box-model'\nimport { ControlDefinition } from './control'\nimport { PropController } from '../prop-controllers/base'\nimport {\n AnyPropController,\n PropControllerMessage,\n Send,\n createPropController,\n} from '../prop-controllers/instances'\nimport { CSSObject } from '@emotion/serialize'\nimport { useStyle } from '../runtimes/react/use-style'\nimport { ControlDefinitionValue } from '../runtimes/react/controls/control'\n\nexport const StyleV2ControlType = 'makeswift::controls::style-v2'\n\nexport type StyleV2CSSObject = CSSObject\nexport const unstable_useStyleV2ClassName = useStyle\n\ntype StyleV2ControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n getStyle(item: ControlDefinitionValue<T> | undefined): CSSObject\n}\n\nexport type StyleV2ControlDefinition = {\n type: typeof StyleV2ControlType\n config: StyleV2ControlConfig\n}\n\nexport function unstable_StyleV2<C extends StyleV2ControlConfig>(\n config: C,\n): StyleV2ControlDefinition {\n return { type: StyleV2ControlType, config }\n}\n\n/**\n * TODO: Rewrite `ControlDefinitionData` as a tail recursive type.\n *\n * Explanation: Making `StyleV2ControlData` generic causes us to hit a limitation of TS conditional types for the definition of `ControlDefinitionData`.\n * We get \"Type instantiation is excessively deep and possibly infinite.\"\n *\n * Helpful links:\n * * The PR changing the limit of conditional types: https://github.com/microsoft/TypeScript/pull/45711\n * * TS 4.5 docs releasing this limitation: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-5.html#tail-recursion-elimination-on-conditional-types\n * * A SO user implementing a tail recursive type: https://stackoverflow.com/questions/72370456/tail-recursion-elimination-on-conditional-types-doesnt-work\n *\n *\n * This is what the type should be:\n * ```\n * export type StyleV2ControlData<T extends StyleV2ControlDefinition = StyleV2ControlDefinition> =\n * ResponsiveValue<ControlDefinitionData<T['config']['type']>>\n * ```\n */\nexport type StyleV2ControlData = ResponsiveValue<any>\n\nexport const StyleV2ControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE:\n 'makeswift::controls::style-v2::message::child-control-message',\n} as const\n\ntype StyleV2ControlItemBoxModelChangeMessage = {\n type: typeof StyleV2ControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\ntype StyleV2ControlChildControlMessage = {\n type: typeof StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE\n payload: { message: PropControllerMessage }\n}\n\nexport type StyleV2ControlMessage =\n | StyleV2ControlItemBoxModelChangeMessage\n | StyleV2ControlChildControlMessage\n\nexport class StyleV2Control<\n T extends StyleV2ControlDefinition = StyleV2ControlDefinition,\n> extends PropController<StyleV2ControlMessage> {\n control?: AnyPropController\n constructor(send: Send<StyleV2ControlMessage>, descriptor: T) {\n super(send)\n this.control = createPropController(descriptor.config.type, message => {\n this.send({\n type: StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE,\n payload: { message },\n })\n })\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleV2ControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv(message: StyleV2ControlMessage) {\n switch (message.type) {\n case StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE: {\n const control = this.control\n\n if (control == null) return\n\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA+B;AAC/B,uBAKO;AAEP,uBAAyB;AAGlB,MAAM,qBAAqB;AAG3B,MAAM,+BAA+B;AAYrC,SAAS,iBACd,QAC0B;AAC1B,SAAO,EAAE,MAAM,oBAAoB,OAAO;AAC5C;AAsBO,MAAM,4BAA4B;AAAA,EACvC,kBAAkB;AAAA,EAClB,wCACE;AACJ;AAeO,MAAM,uBAEH,2BAAsC;AAAA,EAC9C;AAAA,EACA,YAAY,MAAmC,YAAe;AAC5D,UAAM,IAAI;AACV,SAAK,cAAU,uCAAqB,WAAW,OAAO,MAAM,aAAW;AACrE,WAAK,KAAK;AAAA,QACR,MAAM,0BAA0B;AAAA,QAChC,SAAS,EAAE,QAAQ;AAAA,MACrB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,0BAA0B,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACvF;AAAA,EAEA,KAAK,SAAgC;AACnC,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK,0BAA0B,wCAAwC;AACrE,cAAM,UAAU,KAAK;AAErB,YAAI,WAAW;AAAM;AAErB,cAAM,OAAO,QAAQ;AAErB,aAAK,QAAQ,QAAQ,OAAO;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -26,7 +26,7 @@ __export(style_exports, {
|
|
|
26
26
|
copyStyleData: () => copyStyleData
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(style_exports);
|
|
29
|
-
var
|
|
29
|
+
var import_controls = require("@makeswift/controls");
|
|
30
30
|
var import_base = require("../prop-controllers/base");
|
|
31
31
|
const StyleControlType = "makeswift::controls::style";
|
|
32
32
|
const StyleControlProperty = {
|
|
@@ -95,7 +95,7 @@ function copyStyleData(value, context) {
|
|
|
95
95
|
return side;
|
|
96
96
|
return {
|
|
97
97
|
...side,
|
|
98
|
-
color: (0,
|
|
98
|
+
color: (0, import_controls.copyColorData)(side.color, context)
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
return {
|
|
@@ -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.17.1",
|
|
39
|
+
version: "0.17.2-canary.1",
|
|
40
40
|
previewMode: supportsPreviewMode,
|
|
41
41
|
draftMode: supportsDraftMode,
|
|
42
42
|
interactionMode: true,
|