@makeswift/prop-controllers 0.3.0 → 0.3.1-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/backgrounds/backgrounds.js +297 -0
- package/dist/cjs/backgrounds/backgrounds.js.map +1 -0
- package/dist/cjs/backgrounds/index.js +23 -0
- package/dist/cjs/backgrounds/index.js.map +1 -0
- package/dist/cjs/border/border.js +132 -0
- package/dist/cjs/border/border.js.map +1 -0
- package/dist/cjs/border/index.js +23 -0
- package/dist/cjs/border/index.js.map +1 -0
- package/dist/cjs/border-radius/border-radius.js +82 -0
- package/dist/cjs/border-radius/border-radius.js.map +1 -0
- package/dist/cjs/border-radius/index.js +23 -0
- package/dist/cjs/border-radius/index.js.map +1 -0
- package/dist/cjs/checkbox/checkbox.js +68 -0
- package/dist/cjs/checkbox/checkbox.js.map +1 -0
- package/dist/cjs/checkbox/index.js +23 -0
- package/dist/cjs/checkbox/index.js.map +1 -0
- package/dist/cjs/data.js +85 -0
- package/dist/cjs/data.js.map +1 -0
- package/dist/cjs/date/date.js +68 -0
- package/dist/cjs/date/date.js.map +1 -0
- package/dist/cjs/date/index.js +23 -0
- package/dist/cjs/date/index.js.map +1 -0
- package/dist/cjs/element-id/element-id.js +90 -0
- package/dist/cjs/element-id/element-id.js.map +1 -0
- package/dist/cjs/element-id/index.js +23 -0
- package/dist/cjs/element-id/index.js.map +1 -0
- package/dist/cjs/font/font.js +70 -0
- package/dist/cjs/font/font.js.map +1 -0
- package/dist/cjs/font/index.js +23 -0
- package/dist/cjs/font/index.js.map +1 -0
- package/dist/cjs/gap-x/gap-x.js +40 -0
- package/dist/cjs/gap-x/gap-x.js.map +1 -0
- package/dist/cjs/gap-x/index.js +23 -0
- package/dist/cjs/gap-x/index.js.map +1 -0
- package/dist/cjs/gap-y/gap-y.js +68 -0
- package/dist/cjs/gap-y/gap-y.js.map +1 -0
- package/dist/cjs/gap-y/index.js +23 -0
- package/dist/cjs/gap-y/index.js.map +1 -0
- package/dist/cjs/grid/grid.js +130 -0
- package/dist/cjs/grid/grid.js.map +1 -0
- package/dist/cjs/grid/index.js +23 -0
- package/dist/cjs/grid/index.js.map +1 -0
- package/dist/cjs/image/image.js +95 -0
- package/dist/cjs/image/image.js.map +1 -0
- package/dist/cjs/image/index.js +23 -0
- package/dist/cjs/image/index.js.map +1 -0
- package/dist/cjs/images/images.js +147 -0
- package/dist/cjs/images/images.js.map +1 -0
- package/dist/cjs/images/index.js +23 -0
- package/dist/cjs/images/index.js.map +1 -0
- package/dist/cjs/index.js +343 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/link/index.js +23 -0
- package/dist/cjs/link/index.js.map +1 -0
- package/dist/cjs/link/link.js +137 -0
- package/dist/cjs/link/link.js.map +1 -0
- package/dist/cjs/margin/index.js +23 -0
- package/dist/cjs/margin/index.js.map +1 -0
- package/dist/cjs/margin/margin.js +94 -0
- package/dist/cjs/margin/margin.js.map +1 -0
- package/dist/cjs/navigation-links/index.js +23 -0
- package/dist/cjs/navigation-links/index.js.map +1 -0
- package/dist/cjs/navigation-links/navigation-links.js +226 -0
- package/dist/cjs/navigation-links/navigation-links.js.map +1 -0
- package/dist/cjs/number.js +66 -0
- package/dist/cjs/number.js.map +1 -0
- package/dist/cjs/padding/index.js +23 -0
- package/dist/cjs/padding/index.js.map +1 -0
- package/dist/cjs/padding/padding.js +91 -0
- package/dist/cjs/padding/padding.js.map +1 -0
- package/dist/cjs/prop-controllers.js +67 -0
- package/dist/cjs/prop-controllers.js.map +1 -0
- package/dist/cjs/responsive-color.js +106 -0
- package/dist/cjs/responsive-color.js.map +1 -0
- package/dist/cjs/responsive-icon-radio-group/index.js +23 -0
- package/dist/cjs/responsive-icon-radio-group/index.js.map +1 -0
- package/dist/cjs/responsive-icon-radio-group/responsive-icon-radio-group.js +42 -0
- package/dist/cjs/responsive-icon-radio-group/responsive-icon-radio-group.js.map +1 -0
- package/dist/cjs/responsive-length.js +73 -0
- package/dist/cjs/responsive-length.js.map +1 -0
- package/dist/cjs/responsive-number/index.js +23 -0
- package/dist/cjs/responsive-number/index.js.map +1 -0
- package/dist/cjs/responsive-number/responsive-number.js +40 -0
- package/dist/cjs/responsive-number/responsive-number.js.map +1 -0
- package/dist/cjs/responsive-opacity/index.js +23 -0
- package/dist/cjs/responsive-opacity/index.js.map +1 -0
- package/dist/cjs/responsive-opacity/responsive-opacity.js +43 -0
- package/dist/cjs/responsive-opacity/responsive-opacity.js.map +1 -0
- package/dist/cjs/responsive-select/index.js +23 -0
- package/dist/cjs/responsive-select/index.js.map +1 -0
- package/dist/cjs/responsive-select/responsive-select.js +42 -0
- package/dist/cjs/responsive-select/responsive-select.js.map +1 -0
- package/dist/cjs/shadows.js +126 -0
- package/dist/cjs/shadows.js.map +1 -0
- package/dist/cjs/social-links/index.js +23 -0
- package/dist/cjs/social-links/index.js.map +1 -0
- package/dist/cjs/social-links/social-links.js +128 -0
- package/dist/cjs/social-links/social-links.js.map +1 -0
- package/dist/cjs/table/index.js +23 -0
- package/dist/cjs/table/index.js.map +1 -0
- package/dist/cjs/table/table.js +91 -0
- package/dist/cjs/table/table.js.map +1 -0
- package/dist/cjs/table-form-fields/index.js +23 -0
- package/dist/cjs/table-form-fields/index.js.map +1 -0
- package/dist/cjs/table-form-fields/table-form-fields.js +113 -0
- package/dist/cjs/table-form-fields/table-form-fields.js.map +1 -0
- package/dist/cjs/text-area/index.js +23 -0
- package/dist/cjs/text-area/index.js.map +1 -0
- package/dist/cjs/text-area/text-area.js +67 -0
- package/dist/cjs/text-area/text-area.js.map +1 -0
- package/dist/cjs/text-input/index.js +23 -0
- package/dist/cjs/text-input/index.js.map +1 -0
- package/dist/cjs/text-input/text-input.js +67 -0
- package/dist/cjs/text-input/text-input.js.map +1 -0
- package/dist/cjs/text-style/index.js +23 -0
- package/dist/cjs/text-style/index.js.map +1 -0
- package/dist/cjs/text-style/text-style.js +88 -0
- package/dist/cjs/text-style/text-style.js.map +1 -0
- package/dist/cjs/utils/associated-types.js +17 -0
- package/dist/cjs/utils/associated-types.js.map +1 -0
- package/dist/cjs/utils/utils.js +42 -0
- package/dist/cjs/utils/utils.js.map +1 -0
- package/dist/cjs/versioned.js +66 -0
- package/dist/cjs/versioned.js.map +1 -0
- package/dist/cjs/video/index.js +23 -0
- package/dist/cjs/video/index.js.map +1 -0
- package/dist/cjs/video/video.js +75 -0
- package/dist/cjs/video/video.js.map +1 -0
- package/dist/cjs/width/index.js +23 -0
- package/dist/cjs/width/index.js.map +1 -0
- package/dist/cjs/width/width.js +76 -0
- package/dist/cjs/width/width.js.map +1 -0
- package/dist/esm/backgrounds/backgrounds.js +268 -0
- package/dist/esm/backgrounds/backgrounds.js.map +1 -0
- package/dist/esm/backgrounds/index.js +2 -0
- package/dist/esm/backgrounds/index.js.map +1 -0
- package/dist/esm/border/border.js +105 -0
- package/dist/esm/border/border.js.map +1 -0
- package/dist/esm/border/index.js +2 -0
- package/dist/esm/border/index.js.map +1 -0
- package/dist/esm/border-radius/border-radius.js +58 -0
- package/dist/esm/border-radius/border-radius.js.map +1 -0
- package/dist/esm/border-radius/index.js +2 -0
- package/dist/esm/border-radius/index.js.map +1 -0
- package/dist/esm/checkbox/checkbox.js +40 -0
- package/dist/esm/checkbox/checkbox.js.map +1 -0
- package/dist/esm/checkbox/index.js +2 -0
- package/dist/esm/checkbox/index.js.map +1 -0
- package/dist/esm/data.js +52 -0
- package/dist/esm/data.js.map +1 -0
- package/dist/esm/date/date.js +40 -0
- package/dist/esm/date/date.js.map +1 -0
- package/dist/esm/date/index.js +2 -0
- package/dist/esm/date/index.js.map +1 -0
- package/dist/esm/element-id/element-id.js +64 -0
- package/dist/esm/element-id/element-id.js.map +1 -0
- package/dist/esm/element-id/index.js +2 -0
- package/dist/esm/element-id/index.js.map +1 -0
- package/dist/esm/font/font.js +42 -0
- package/dist/esm/font/font.js.map +1 -0
- package/dist/esm/font/index.js +2 -0
- package/dist/esm/font/index.js.map +1 -0
- package/dist/esm/gap-x/gap-x.js +16 -0
- package/dist/esm/gap-x/gap-x.js.map +1 -0
- package/dist/esm/gap-x/index.js +2 -0
- package/dist/esm/gap-x/index.js.map +1 -0
- package/dist/esm/gap-y/gap-y.js +40 -0
- package/dist/esm/gap-y/gap-y.js.map +1 -0
- package/dist/esm/gap-y/index.js +2 -0
- package/dist/esm/gap-y/index.js.map +1 -0
- package/dist/esm/grid/grid.js +102 -0
- package/dist/esm/grid/grid.js.map +1 -0
- package/dist/esm/grid/index.js +2 -0
- package/dist/esm/grid/index.js.map +1 -0
- package/dist/esm/image/image.js +71 -0
- package/dist/esm/image/image.js.map +1 -0
- package/dist/esm/image/index.js +2 -0
- package/dist/esm/image/index.js.map +1 -0
- package/dist/esm/images/images.js +119 -0
- package/dist/esm/images/images.js.map +1 -0
- package/dist/esm/images/index.js +2 -0
- package/dist/esm/images/index.js.map +1 -0
- package/dist/esm/index.js +336 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/link/index.js +2 -0
- package/dist/esm/link/index.js.map +1 -0
- package/dist/esm/link/link.js +108 -0
- package/dist/esm/link/link.js.map +1 -0
- package/dist/esm/margin/index.js +2 -0
- package/dist/esm/margin/index.js.map +1 -0
- package/dist/esm/margin/margin.js +69 -0
- package/dist/esm/margin/margin.js.map +1 -0
- package/dist/esm/navigation-links/index.js +2 -0
- package/dist/esm/navigation-links/index.js.map +1 -0
- package/dist/esm/navigation-links/navigation-links.js +199 -0
- package/dist/esm/navigation-links/navigation-links.js.map +1 -0
- package/dist/esm/number.js +39 -0
- package/dist/esm/number.js.map +1 -0
- package/dist/esm/padding/index.js +2 -0
- package/dist/esm/padding/index.js.map +1 -0
- package/dist/esm/padding/padding.js +66 -0
- package/dist/esm/padding/padding.js.map +1 -0
- package/dist/esm/prop-controllers.js +44 -0
- package/dist/esm/prop-controllers.js.map +1 -0
- package/dist/esm/responsive-color.js +79 -0
- package/dist/esm/responsive-color.js.map +1 -0
- package/dist/esm/responsive-icon-radio-group/index.js +2 -0
- package/dist/esm/responsive-icon-radio-group/index.js.map +1 -0
- package/dist/esm/responsive-icon-radio-group/responsive-icon-radio-group.js +21 -0
- package/dist/esm/responsive-icon-radio-group/responsive-icon-radio-group.js.map +1 -0
- package/dist/esm/responsive-length.js +43 -0
- package/dist/esm/responsive-length.js.map +1 -0
- package/dist/esm/responsive-number/index.js +2 -0
- package/dist/esm/responsive-number/index.js.map +1 -0
- package/dist/esm/responsive-number/responsive-number.js +16 -0
- package/dist/esm/responsive-number/responsive-number.js.map +1 -0
- package/dist/esm/responsive-opacity/index.js +2 -0
- package/dist/esm/responsive-opacity/index.js.map +1 -0
- package/dist/esm/responsive-opacity/responsive-opacity.js +18 -0
- package/dist/esm/responsive-opacity/responsive-opacity.js.map +1 -0
- package/dist/esm/responsive-select/index.js +2 -0
- package/dist/esm/responsive-select/index.js.map +1 -0
- package/dist/esm/responsive-select/responsive-select.js +21 -0
- package/dist/esm/responsive-select/responsive-select.js.map +1 -0
- package/dist/esm/shadows.js +100 -0
- package/dist/esm/shadows.js.map +1 -0
- package/dist/esm/social-links/index.js +2 -0
- package/dist/esm/social-links/index.js.map +1 -0
- package/dist/esm/social-links/social-links.js +98 -0
- package/dist/esm/social-links/social-links.js.map +1 -0
- package/dist/esm/table/index.js +2 -0
- package/dist/esm/table/index.js.map +1 -0
- package/dist/esm/table/table.js +64 -0
- package/dist/esm/table/table.js.map +1 -0
- package/dist/esm/table-form-fields/index.js +2 -0
- package/dist/esm/table-form-fields/index.js.map +1 -0
- package/dist/esm/table-form-fields/table-form-fields.js +87 -0
- package/dist/esm/table-form-fields/table-form-fields.js.map +1 -0
- package/dist/esm/text-area/index.js +2 -0
- package/dist/esm/text-area/index.js.map +1 -0
- package/dist/esm/text-area/text-area.js +39 -0
- package/dist/esm/text-area/text-area.js.map +1 -0
- package/dist/esm/text-input/index.js +2 -0
- package/dist/esm/text-input/index.js.map +1 -0
- package/dist/esm/text-input/text-input.js +39 -0
- package/dist/esm/text-input/text-input.js.map +1 -0
- package/dist/esm/text-style/index.js +2 -0
- package/dist/esm/text-style/index.js.map +1 -0
- package/dist/esm/text-style/text-style.js +59 -0
- package/dist/esm/text-style/text-style.js.map +1 -0
- package/dist/esm/utils/associated-types.js +1 -0
- package/dist/esm/utils/associated-types.js.map +1 -0
- package/dist/esm/utils/utils.js +18 -0
- package/dist/esm/utils/utils.js.map +1 -0
- package/dist/esm/versioned.js +43 -0
- package/dist/esm/versioned.js.map +1 -0
- package/dist/esm/video/index.js +2 -0
- package/dist/esm/video/index.js.map +1 -0
- package/dist/esm/video/video.js +47 -0
- package/dist/esm/video/video.js.map +1 -0
- package/dist/esm/width/index.js +2 -0
- package/dist/esm/width/index.js.map +1 -0
- package/dist/esm/width/width.js +49 -0
- package/dist/esm/width/width.js.map +1 -0
- package/dist/types/backgrounds/backgrounds.d.ts +97 -97
- package/dist/types/border/border.d.ts +595 -765
- package/dist/types/border/border.d.ts.map +1 -1
- package/dist/types/border/index.d.ts +1 -0
- package/dist/types/border/index.d.ts.map +1 -1
- package/dist/types/border-radius/border-radius.d.ts +23 -23
- package/dist/types/border-radius/border-radius.d.ts.map +1 -1
- package/dist/types/checkbox/checkbox.d.ts +4 -4
- package/dist/types/data.d.ts +5 -5
- package/dist/types/data.d.ts.map +1 -1
- package/dist/types/date/date.d.ts +4 -4
- package/dist/types/element-id/element-id.d.ts +4 -4
- package/dist/types/font/font.d.ts +9 -9
- package/dist/types/font/font.d.ts.map +1 -1
- package/dist/types/gap-x/gap-x.d.ts +204 -120
- package/dist/types/gap-x/gap-x.d.ts.map +1 -1
- package/dist/types/gap-y/gap-y.d.ts +8 -8
- package/dist/types/grid/grid.d.ts +854 -38
- package/dist/types/grid/grid.d.ts.map +1 -1
- package/dist/types/image/image.d.ts +4 -4
- package/dist/types/images/images.d.ts +94 -94
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/link/link.d.ts +21 -21
- package/dist/types/link/link.d.ts.map +1 -1
- package/dist/types/margin/margin.d.ts +10 -10
- package/dist/types/margin/margin.d.ts.map +1 -1
- package/dist/types/navigation-links/navigation-links.d.ts +164 -164
- package/dist/types/number.d.ts +4 -4
- package/dist/types/padding/padding.d.ts +10 -10
- package/dist/types/padding/padding.d.ts.map +1 -1
- package/dist/types/prop-controllers.d.ts +2 -99
- package/dist/types/prop-controllers.d.ts.map +1 -1
- package/dist/types/responsive-color.d.ts +9 -9
- package/dist/types/responsive-color.d.ts.map +1 -1
- package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts +88 -35
- package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts.map +1 -1
- package/dist/types/responsive-length.d.ts +14 -14
- package/dist/types/responsive-length.d.ts.map +1 -1
- package/dist/types/responsive-number/responsive-number.d.ts +118 -67
- package/dist/types/responsive-number/responsive-number.d.ts.map +1 -1
- package/dist/types/responsive-opacity/responsive-opacity.d.ts +120 -69
- package/dist/types/responsive-opacity/responsive-opacity.d.ts.map +1 -1
- package/dist/types/responsive-select/responsive-select.d.ts +88 -35
- package/dist/types/responsive-select/responsive-select.d.ts.map +1 -1
- package/dist/types/shadows.d.ts +7 -7
- package/dist/types/shadows.d.ts.map +1 -1
- package/dist/types/social-links/social-links.d.ts +4 -4
- package/dist/types/table/table.d.ts +4 -4
- package/dist/types/table-form-fields/table-form-fields.d.ts +9 -9
- package/dist/types/text-area/text-area.d.ts +4 -4
- package/dist/types/text-input/text-input.d.ts +4 -4
- package/dist/types/text-style/text-style.d.ts +9 -9
- package/dist/types/text-style/text-style.d.ts.map +1 -1
- package/dist/types/utils/associated-types.d.ts +4 -1
- package/dist/types/utils/associated-types.d.ts.map +1 -1
- package/dist/types/versioned.d.ts +187 -122
- package/dist/types/versioned.d.ts.map +1 -1
- package/dist/types/video/video.d.ts +4 -4
- package/dist/types/width/width.d.ts +12 -12
- package/package.json +9 -7
- package/dist/index.cjs +0 -2489
@@ -0,0 +1,119 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import {
|
3
|
+
ControlDataTypeKey,
|
4
|
+
Types
|
5
|
+
} from "../prop-controllers";
|
6
|
+
import { P, match } from "ts-pattern";
|
7
|
+
import { imageDataV0Schema, imageDataV1Schema } from "../data";
|
8
|
+
import { linkDataSchema } from "../link";
|
9
|
+
const imagesDataV0ItemSchema = z.object({
|
10
|
+
key: z.string(),
|
11
|
+
props: z.object({
|
12
|
+
link: linkDataSchema.optional(),
|
13
|
+
file: imageDataV0Schema.optional(),
|
14
|
+
altText: z.string().optional()
|
15
|
+
})
|
16
|
+
});
|
17
|
+
const imagesDataV0Schema = z.array(imagesDataV0ItemSchema);
|
18
|
+
const imagesDataV1ItemSchema = z.object({
|
19
|
+
key: z.string(),
|
20
|
+
version: z.literal(1),
|
21
|
+
props: z.object({
|
22
|
+
link: linkDataSchema.optional(),
|
23
|
+
file: imageDataV1Schema.optional(),
|
24
|
+
altText: z.string().optional()
|
25
|
+
})
|
26
|
+
});
|
27
|
+
const imagesDataItemSchema = z.union([
|
28
|
+
imagesDataV0ItemSchema,
|
29
|
+
imagesDataV1ItemSchema
|
30
|
+
]);
|
31
|
+
const imagesDataSchema = z.array(imagesDataItemSchema);
|
32
|
+
const imagesPropControllerDataV0Schema = z.array(imagesDataV0ItemSchema);
|
33
|
+
const imagesPropControllerDataV1Schema = imagesDataSchema;
|
34
|
+
const ImagesPropControllerDataV2Type = "prop-controllers::images::v2";
|
35
|
+
const imagesPropControllerDataV2Schema = z.object({
|
36
|
+
[ControlDataTypeKey]: z.literal(ImagesPropControllerDataV2Type),
|
37
|
+
value: imagesPropControllerDataV1Schema
|
38
|
+
});
|
39
|
+
const imagesPropControllerDataSchema = z.union([
|
40
|
+
imagesPropControllerDataV0Schema,
|
41
|
+
imagesPropControllerDataV1Schema,
|
42
|
+
imagesPropControllerDataV2Schema
|
43
|
+
]);
|
44
|
+
function Images(options = {}) {
|
45
|
+
return { type: Types.Images, version: 2, options };
|
46
|
+
}
|
47
|
+
function getImagesPropControllerDataImagesData(data) {
|
48
|
+
return match(data).with(
|
49
|
+
{ [ControlDataTypeKey]: ImagesPropControllerDataV2Type },
|
50
|
+
(v2) => v2.value
|
51
|
+
).otherwise((v0) => v0);
|
52
|
+
}
|
53
|
+
function createImagesPropControllerDataFromImagesData(data, definition) {
|
54
|
+
return match(definition).with(
|
55
|
+
{ version: 2 },
|
56
|
+
() => ({
|
57
|
+
[ControlDataTypeKey]: ImagesPropControllerDataV2Type,
|
58
|
+
value: data
|
59
|
+
})
|
60
|
+
).otherwise(() => data);
|
61
|
+
}
|
62
|
+
function getImagesPropControllerFileIds(data) {
|
63
|
+
const value = getImagesPropControllerDataImagesData(data);
|
64
|
+
return value?.flatMap(
|
65
|
+
(item) => match(item.props.file).with(P.string, (f) => [f]).with({ type: "makeswift-file", version: 1 }, (f) => [f.id]).with({ type: "external-file", version: 1 }, () => []).with(P.nullish, () => []).otherwise(() => [])
|
66
|
+
) ?? [];
|
67
|
+
}
|
68
|
+
function copyImagesData(data, context) {
|
69
|
+
if (data == null)
|
70
|
+
return data;
|
71
|
+
return data.map(copyImagesPanelItem);
|
72
|
+
function copyImagesPanelItem(imagesPanelItem) {
|
73
|
+
if ("version" in imagesPanelItem) {
|
74
|
+
return {
|
75
|
+
...imagesPanelItem,
|
76
|
+
props: {
|
77
|
+
...imagesPanelItem.props,
|
78
|
+
file: match(imagesPanelItem.props.file).with({ type: "makeswift-file", version: 1 }, (f) => ({
|
79
|
+
...f,
|
80
|
+
id: context.replacementContext.fileIds.get(f.id) ?? f.id
|
81
|
+
})).otherwise((f) => f)
|
82
|
+
}
|
83
|
+
};
|
84
|
+
} else {
|
85
|
+
return {
|
86
|
+
...imagesPanelItem,
|
87
|
+
props: {
|
88
|
+
...imagesPanelItem.props,
|
89
|
+
file: match(imagesPanelItem.props.file).with(
|
90
|
+
P.string,
|
91
|
+
(f) => context.replacementContext.fileIds.get(f) ?? f
|
92
|
+
).otherwise((f) => f)
|
93
|
+
}
|
94
|
+
};
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
98
|
+
function copyImagesPropControllerData(data, context) {
|
99
|
+
return match(data).with(void 0, () => void 0).with({ [ControlDataTypeKey]: ImagesPropControllerDataV2Type }, (v1) => {
|
100
|
+
const value = copyImagesData(v1.value, context);
|
101
|
+
if (value == null)
|
102
|
+
return void 0;
|
103
|
+
return {
|
104
|
+
[ControlDataTypeKey]: ImagesPropControllerDataV2Type,
|
105
|
+
value
|
106
|
+
};
|
107
|
+
}).otherwise((v0) => copyImagesData(v0, context));
|
108
|
+
}
|
109
|
+
export {
|
110
|
+
Images,
|
111
|
+
ImagesPropControllerDataV2Type,
|
112
|
+
copyImagesPropControllerData,
|
113
|
+
createImagesPropControllerDataFromImagesData,
|
114
|
+
getImagesPropControllerDataImagesData,
|
115
|
+
getImagesPropControllerFileIds,
|
116
|
+
imagesDataSchema,
|
117
|
+
imagesPropControllerDataSchema
|
118
|
+
};
|
119
|
+
//# sourceMappingURL=images.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/images/images.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport { imageDataV0Schema, imageDataV1Schema } from '../data'\nimport { linkDataSchema } from '../link'\n\nconst imagesDataV0ItemSchema = z.object({\n key: z.string(),\n props: z.object({\n link: linkDataSchema.optional(),\n file: imageDataV0Schema.optional(),\n altText: z.string().optional(),\n }),\n})\n\nexport type ImagesDataV0Item = z.infer<typeof imagesDataV0ItemSchema>\n\nconst imagesDataV0Schema = z.array(imagesDataV0ItemSchema)\n\nexport type ImagesDataV0 = z.infer<typeof imagesDataV0Schema>\n\nconst imagesDataV1ItemSchema = z.object({\n key: z.string(),\n version: z.literal(1),\n props: z.object({\n link: linkDataSchema.optional(),\n file: imageDataV1Schema.optional(),\n altText: z.string().optional(),\n }),\n})\n\nexport type ImagesDataV1Item = z.infer<typeof imagesDataV1ItemSchema>\n\nconst imagesDataItemSchema = z.union([\n imagesDataV0ItemSchema,\n imagesDataV1ItemSchema,\n])\n\nexport type ImagesDataItem = z.infer<typeof imagesDataItemSchema>\n\nexport const imagesDataSchema = z.array(imagesDataItemSchema)\n\nexport type ImagesData = z.infer<typeof imagesDataSchema>\n\nconst imagesPropControllerDataV0Schema = z.array(imagesDataV0ItemSchema)\n\nconst imagesPropControllerDataV1Schema = imagesDataSchema\n\nexport const ImagesPropControllerDataV2Type = 'prop-controllers::images::v2'\n\nconst imagesPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(ImagesPropControllerDataV2Type),\n value: imagesPropControllerDataV1Schema,\n})\n\nexport type ImagesPropControllerDataV2 = z.infer<\n typeof imagesPropControllerDataV2Schema\n>\n\nexport const imagesPropControllerDataSchema = z.union([\n imagesPropControllerDataV0Schema,\n imagesPropControllerDataV1Schema,\n imagesPropControllerDataV2Schema,\n])\n\nexport type ImagesPropControllerData = z.infer<\n typeof imagesPropControllerDataSchema\n>\n\nexport type ImagesOptions = Options<{ preset?: ImagesPropControllerData }>\n\ntype ImagesDescriptorV0<_T = ImagesDataV0> = {\n type: typeof Types.Images\n options: ImagesOptions\n}\n\ntype ImagesDescriptorV1<_T = ImagesData> = {\n type: typeof Types.Images\n version: 1\n options: ImagesOptions\n}\n\ntype ImagesDescriptorV2<_T = ImagesPropControllerData> = {\n type: typeof Types.Images\n version: 2\n options: ImagesOptions\n}\n\nexport type ImagesDescriptor<_T = ImagesPropControllerData> =\n | ImagesDescriptorV0\n | ImagesDescriptorV1\n | ImagesDescriptorV2\n\nexport type ResolveImagesPropControllerValue<T extends ImagesDescriptor> =\n T extends ImagesDescriptor ? ImagesData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Images(options: ImagesOptions = {}): ImagesDescriptorV2 {\n return { type: Types.Images, version: 2, options }\n}\n\nexport function getImagesPropControllerDataImagesData(\n data: ImagesPropControllerData | undefined,\n): ImagesData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ImagesPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createImagesPropControllerDataFromImagesData(\n data: ImagesData,\n definition: ImagesDescriptor,\n): ImagesPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: ImagesPropControllerDataV2Type,\n value: data,\n } as const),\n )\n .otherwise(() => data)\n}\n\nexport function getImagesPropControllerFileIds(\n data: ImagesPropControllerData | undefined,\n): string[] {\n const value = getImagesPropControllerDataImagesData(data)\n\n return (\n value?.flatMap((item) =>\n match(item.props.file)\n .with(P.string, (f) => [f])\n .with({ type: 'makeswift-file', version: 1 }, (f) => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n}\n\nfunction copyImagesData(\n data: ImagesData | undefined,\n context: CopyContext,\n): ImagesData | undefined {\n if (data == null) return data\n\n return data.map(copyImagesPanelItem)\n\n function copyImagesPanelItem(\n imagesPanelItem: ImagesDataItem,\n ): ImagesDataItem {\n if ('version' in imagesPanelItem) {\n return {\n ...imagesPanelItem,\n props: {\n ...imagesPanelItem.props,\n file: match(imagesPanelItem.props.file)\n .with({ type: 'makeswift-file', version: 1 }, (f) => ({\n ...f,\n id: context.replacementContext.fileIds.get(f.id) ?? f.id,\n }))\n .otherwise((f) => f),\n },\n }\n } else {\n return {\n ...imagesPanelItem,\n props: {\n ...imagesPanelItem.props,\n file: match(imagesPanelItem.props.file)\n .with(\n P.string,\n (f) => context.replacementContext.fileIds.get(f) ?? f,\n )\n .otherwise((f) => f),\n },\n }\n }\n }\n}\n\nexport function copyImagesPropControllerData(\n data: ImagesPropControllerData | undefined,\n context: CopyContext,\n): ImagesPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ImagesPropControllerDataV2Type }, (v1) => {\n const value = copyImagesData(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ImagesPropControllerDataV2Type,\n value,\n } as const\n })\n .otherwise((v0) => copyImagesData(v0, context))\n}\n"],"mappings":"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","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/images/index.ts"],"sourcesContent":["export * from './images'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,336 @@
|
|
1
|
+
export * from "./data";
|
2
|
+
export * from "./versioned";
|
3
|
+
export * from "./prop-controllers";
|
4
|
+
export * from "./gap-x";
|
5
|
+
export * from "./responsive-icon-radio-group";
|
6
|
+
export * from "./responsive-number";
|
7
|
+
export * from "./responsive-opacity";
|
8
|
+
export * from "./responsive-select";
|
9
|
+
export * from "./backgrounds";
|
10
|
+
import {
|
11
|
+
Border,
|
12
|
+
BorderPropControllerFormat,
|
13
|
+
borderPropControllerDataSchema,
|
14
|
+
getBorderPropControllerDataResponsiveBorderData,
|
15
|
+
getBorderPropControllerDataSwatchIds,
|
16
|
+
createBorderPropControllerDataFromResponsiveBorderData,
|
17
|
+
copyBorderPropControllerData
|
18
|
+
} from "./border";
|
19
|
+
import {
|
20
|
+
BorderRadius,
|
21
|
+
BorderRadiusPropControllerFormat,
|
22
|
+
borderRadiusPropControllerDataSchema,
|
23
|
+
getBorderRadiusPropControllerDataResponsiveBorderRadiusData,
|
24
|
+
createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData
|
25
|
+
} from "./border-radius";
|
26
|
+
import {
|
27
|
+
Checkbox,
|
28
|
+
checkboxPropControllerDataSchema,
|
29
|
+
getCheckboxPropControllerDataBoolean,
|
30
|
+
createCheckboxPropControllerDataFromBoolean
|
31
|
+
} from "./checkbox";
|
32
|
+
import {
|
33
|
+
Date,
|
34
|
+
datePropControllerDataSchema,
|
35
|
+
getDatePropControllerDataString,
|
36
|
+
createDatePropControllerDataFromString
|
37
|
+
} from "./date";
|
38
|
+
import {
|
39
|
+
ElementID,
|
40
|
+
elementIDPropControllerDataSchema,
|
41
|
+
getElementIDPropControllerDataElementID,
|
42
|
+
createElementIDPropControllerDataFromElementID,
|
43
|
+
copyElementIDPropControllerData
|
44
|
+
} from "./element-id";
|
45
|
+
import {
|
46
|
+
Font,
|
47
|
+
fontPropControllerDataSchema,
|
48
|
+
getFontPropControllerDataResponsiveFontData,
|
49
|
+
createFontPropControllerDataFromResponsiveFontData
|
50
|
+
} from "./font";
|
51
|
+
import {
|
52
|
+
GapY,
|
53
|
+
gapYPropControllerDataSchema,
|
54
|
+
getGapYPropControllerDataResponsiveGapData,
|
55
|
+
createGapYPropControllerDataFromResponsiveGapData
|
56
|
+
} from "./gap-y";
|
57
|
+
import {
|
58
|
+
Grid,
|
59
|
+
gridPropControllerDataSchema,
|
60
|
+
getGridPropControllerDataGridData,
|
61
|
+
createGridPropControllerDataFromGridData,
|
62
|
+
mergeGridPropControllerTranslatedData,
|
63
|
+
getGridPropControllerElementChildren,
|
64
|
+
copyGridPropControllerData,
|
65
|
+
getGridPropControllerGetElementPath
|
66
|
+
} from "./grid";
|
67
|
+
import {
|
68
|
+
Image,
|
69
|
+
imagePropControllerDataSchema,
|
70
|
+
getImagePropControllerDataImageData,
|
71
|
+
createImagePropControllerDataFromImageData,
|
72
|
+
getImagePropControllerFileIds,
|
73
|
+
copyImagePropControllerData
|
74
|
+
} from "./image";
|
75
|
+
import {
|
76
|
+
Images,
|
77
|
+
imagesPropControllerDataSchema,
|
78
|
+
getImagesPropControllerDataImagesData,
|
79
|
+
createImagesPropControllerDataFromImagesData,
|
80
|
+
getImagesPropControllerFileIds,
|
81
|
+
copyImagesPropControllerData
|
82
|
+
} from "./images";
|
83
|
+
import {
|
84
|
+
Link,
|
85
|
+
linkDataSchema,
|
86
|
+
linkPropControllerDataSchema,
|
87
|
+
getLinkPropControllerDataLinkData,
|
88
|
+
createLinkPropControllerDataFromLinkData,
|
89
|
+
getLinkPropControllerPageIds,
|
90
|
+
copyLinkPropControllerData
|
91
|
+
} from "./link";
|
92
|
+
import {
|
93
|
+
Margin,
|
94
|
+
MarginPropControllerFormat,
|
95
|
+
marginPropControllerDataSchema,
|
96
|
+
getMarginPropControllerDataResponsiveMarginData,
|
97
|
+
createMarginPropControllerDataFromResponsiveMarginData
|
98
|
+
} from "./margin";
|
99
|
+
import {
|
100
|
+
NavigationLinks,
|
101
|
+
navigationLinksPropControllerDataSchema,
|
102
|
+
getNavigationLinksPropControllerDataNavigationLinksData,
|
103
|
+
createNavigationLinksPropControllerDataFromNavigationLinksData,
|
104
|
+
getNavigationLinksPropControllerPageIds,
|
105
|
+
getNavigationLinksPropControllerSwatchIds,
|
106
|
+
copyNavigationLinksPropControllerData
|
107
|
+
} from "./navigation-links";
|
108
|
+
import {
|
109
|
+
Number,
|
110
|
+
createNumberPropControllerDataFromNumber,
|
111
|
+
getNumberPropControllerDataNumber,
|
112
|
+
numberPropControllerDataSchema
|
113
|
+
} from "./number";
|
114
|
+
import {
|
115
|
+
Padding,
|
116
|
+
PaddingPropControllerFormat,
|
117
|
+
paddingPropControllerDataSchema,
|
118
|
+
getPaddingPropControllerDataResponsivePaddingData,
|
119
|
+
createPaddingPropControllerDataFromResponsivePaddingData
|
120
|
+
} from "./padding";
|
121
|
+
import {
|
122
|
+
ResponsiveColor,
|
123
|
+
copyResponsiveColorPropControllerData,
|
124
|
+
createResponsiveColorPropControllerDataFromResponsiveColorData,
|
125
|
+
getResponsiveColorDataSwatchIds,
|
126
|
+
getResponsiveColorPropControllerDataResponsiveColorData,
|
127
|
+
getResponsiveColorPropControllerDataSawtchIds,
|
128
|
+
responsiveColorPropControllerDataSchema
|
129
|
+
} from "./responsive-color";
|
130
|
+
import {
|
131
|
+
ResponsiveLength,
|
132
|
+
ResponsiveLengthPropControllerDataV1Type,
|
133
|
+
createResponsiveLengthPropControllerDataFromResponsiveLengthData,
|
134
|
+
getResponsiveLengthPropControllerDataResponsiveLengthData,
|
135
|
+
responsiveLengthPropControllerDataSchema
|
136
|
+
} from "./responsive-length";
|
137
|
+
import {
|
138
|
+
SocialLinks,
|
139
|
+
socialLinksPropControllerDataSchema,
|
140
|
+
getSocialLinkTypes,
|
141
|
+
getSocialLinksPropControllerDataSocialLinksData,
|
142
|
+
createSocialLinksPropControllerDataFromSocialLinksData
|
143
|
+
} from "./social-links";
|
144
|
+
import {
|
145
|
+
Shadows,
|
146
|
+
copyShadowsPropControllerData,
|
147
|
+
createShadowsPropControllerDataFromResponsiveShadowsData,
|
148
|
+
getShadowsPropControllerDataResponsiveShadowsData,
|
149
|
+
getShadowsPropControllerDataSwatchIds,
|
150
|
+
shadowsPropControllerDataSchema
|
151
|
+
} from "./shadows";
|
152
|
+
import {
|
153
|
+
Table,
|
154
|
+
tablePropControllerDataSchema,
|
155
|
+
getTablePropControllerDataTableId,
|
156
|
+
createTablePropControllerDataFromTableId,
|
157
|
+
copyTablePropControllerData,
|
158
|
+
getTablePropControllerDataTableIds
|
159
|
+
} from "./table";
|
160
|
+
import {
|
161
|
+
TableFormFields,
|
162
|
+
tableFormFieldsPropControllerDataSchema,
|
163
|
+
getTableFormFieldsPropControllerDataTableFormFieldsData,
|
164
|
+
createTableFormFieldsPropControllerDataFromTableFormFieldsData,
|
165
|
+
copyTableFormFieldsPropControllerData
|
166
|
+
} from "./table-form-fields";
|
167
|
+
import {
|
168
|
+
TextArea,
|
169
|
+
textAreaPropControllerDataSchema,
|
170
|
+
getTextAreaPropControllerDataString,
|
171
|
+
createTextAreaPropControllerDataFromString
|
172
|
+
} from "./text-area";
|
173
|
+
import {
|
174
|
+
TextInput,
|
175
|
+
textInputPropControllerDataSchema,
|
176
|
+
getTextInputPropControllerDataString,
|
177
|
+
createTextInputPropControllerDataFromString
|
178
|
+
} from "./text-input";
|
179
|
+
import {
|
180
|
+
TextStyle,
|
181
|
+
textStylePropControllerDataSchema,
|
182
|
+
getTextStylePropControllerDataResponsiveTextStyleData,
|
183
|
+
createTextStylePropControllerDataFromResponsiveTextStyleData
|
184
|
+
} from "./text-style";
|
185
|
+
import {
|
186
|
+
Width,
|
187
|
+
WidthPropControllerFormat,
|
188
|
+
widthPropControllerDataSchema,
|
189
|
+
getWidthPropControllerDataResponsiveLengthData,
|
190
|
+
createWidthPropControllerDataFromResponsiveLengthData
|
191
|
+
} from "./width";
|
192
|
+
import {
|
193
|
+
Video,
|
194
|
+
videoPropControllerDataSchema,
|
195
|
+
getVideoPropControllerDataVideoData,
|
196
|
+
createVideoPropControllerDataFromVideoData
|
197
|
+
} from "./video";
|
198
|
+
export {
|
199
|
+
Border,
|
200
|
+
BorderPropControllerFormat,
|
201
|
+
BorderRadius,
|
202
|
+
BorderRadiusPropControllerFormat,
|
203
|
+
Checkbox,
|
204
|
+
Date,
|
205
|
+
ElementID,
|
206
|
+
Font,
|
207
|
+
GapY,
|
208
|
+
Grid,
|
209
|
+
Image,
|
210
|
+
Images,
|
211
|
+
Link,
|
212
|
+
Margin,
|
213
|
+
MarginPropControllerFormat,
|
214
|
+
NavigationLinks,
|
215
|
+
Number,
|
216
|
+
Padding,
|
217
|
+
PaddingPropControllerFormat,
|
218
|
+
ResponsiveColor,
|
219
|
+
ResponsiveLength,
|
220
|
+
ResponsiveLengthPropControllerDataV1Type,
|
221
|
+
Shadows,
|
222
|
+
SocialLinks,
|
223
|
+
Table,
|
224
|
+
TableFormFields,
|
225
|
+
TextArea,
|
226
|
+
TextInput,
|
227
|
+
TextStyle,
|
228
|
+
Video,
|
229
|
+
Width,
|
230
|
+
WidthPropControllerFormat,
|
231
|
+
borderPropControllerDataSchema,
|
232
|
+
borderRadiusPropControllerDataSchema,
|
233
|
+
checkboxPropControllerDataSchema,
|
234
|
+
copyBorderPropControllerData,
|
235
|
+
copyElementIDPropControllerData,
|
236
|
+
copyGridPropControllerData,
|
237
|
+
copyImagePropControllerData,
|
238
|
+
copyImagesPropControllerData,
|
239
|
+
copyLinkPropControllerData,
|
240
|
+
copyNavigationLinksPropControllerData,
|
241
|
+
copyResponsiveColorPropControllerData,
|
242
|
+
copyShadowsPropControllerData,
|
243
|
+
copyTableFormFieldsPropControllerData,
|
244
|
+
copyTablePropControllerData,
|
245
|
+
createBorderPropControllerDataFromResponsiveBorderData,
|
246
|
+
createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData,
|
247
|
+
createCheckboxPropControllerDataFromBoolean,
|
248
|
+
createDatePropControllerDataFromString,
|
249
|
+
createElementIDPropControllerDataFromElementID,
|
250
|
+
createFontPropControllerDataFromResponsiveFontData,
|
251
|
+
createGapYPropControllerDataFromResponsiveGapData,
|
252
|
+
createGridPropControllerDataFromGridData,
|
253
|
+
createImagePropControllerDataFromImageData,
|
254
|
+
createImagesPropControllerDataFromImagesData,
|
255
|
+
createLinkPropControllerDataFromLinkData,
|
256
|
+
createMarginPropControllerDataFromResponsiveMarginData,
|
257
|
+
createNavigationLinksPropControllerDataFromNavigationLinksData,
|
258
|
+
createNumberPropControllerDataFromNumber,
|
259
|
+
createPaddingPropControllerDataFromResponsivePaddingData,
|
260
|
+
createResponsiveColorPropControllerDataFromResponsiveColorData,
|
261
|
+
createResponsiveLengthPropControllerDataFromResponsiveLengthData,
|
262
|
+
createShadowsPropControllerDataFromResponsiveShadowsData,
|
263
|
+
createSocialLinksPropControllerDataFromSocialLinksData,
|
264
|
+
createTableFormFieldsPropControllerDataFromTableFormFieldsData,
|
265
|
+
createTablePropControllerDataFromTableId,
|
266
|
+
createTextAreaPropControllerDataFromString,
|
267
|
+
createTextInputPropControllerDataFromString,
|
268
|
+
createTextStylePropControllerDataFromResponsiveTextStyleData,
|
269
|
+
createVideoPropControllerDataFromVideoData,
|
270
|
+
createWidthPropControllerDataFromResponsiveLengthData,
|
271
|
+
datePropControllerDataSchema,
|
272
|
+
elementIDPropControllerDataSchema,
|
273
|
+
fontPropControllerDataSchema,
|
274
|
+
gapYPropControllerDataSchema,
|
275
|
+
getBorderPropControllerDataResponsiveBorderData,
|
276
|
+
getBorderPropControllerDataSwatchIds,
|
277
|
+
getBorderRadiusPropControllerDataResponsiveBorderRadiusData,
|
278
|
+
getCheckboxPropControllerDataBoolean,
|
279
|
+
getDatePropControllerDataString,
|
280
|
+
getElementIDPropControllerDataElementID,
|
281
|
+
getFontPropControllerDataResponsiveFontData,
|
282
|
+
getGapYPropControllerDataResponsiveGapData,
|
283
|
+
getGridPropControllerDataGridData,
|
284
|
+
getGridPropControllerElementChildren,
|
285
|
+
getGridPropControllerGetElementPath,
|
286
|
+
getImagePropControllerDataImageData,
|
287
|
+
getImagePropControllerFileIds,
|
288
|
+
getImagesPropControllerDataImagesData,
|
289
|
+
getImagesPropControllerFileIds,
|
290
|
+
getLinkPropControllerDataLinkData,
|
291
|
+
getLinkPropControllerPageIds,
|
292
|
+
getMarginPropControllerDataResponsiveMarginData,
|
293
|
+
getNavigationLinksPropControllerDataNavigationLinksData,
|
294
|
+
getNavigationLinksPropControllerPageIds,
|
295
|
+
getNavigationLinksPropControllerSwatchIds,
|
296
|
+
getNumberPropControllerDataNumber,
|
297
|
+
getPaddingPropControllerDataResponsivePaddingData,
|
298
|
+
getResponsiveColorDataSwatchIds,
|
299
|
+
getResponsiveColorPropControllerDataResponsiveColorData,
|
300
|
+
getResponsiveColorPropControllerDataSawtchIds,
|
301
|
+
getResponsiveLengthPropControllerDataResponsiveLengthData,
|
302
|
+
getShadowsPropControllerDataResponsiveShadowsData,
|
303
|
+
getShadowsPropControllerDataSwatchIds,
|
304
|
+
getSocialLinkTypes,
|
305
|
+
getSocialLinksPropControllerDataSocialLinksData,
|
306
|
+
getTableFormFieldsPropControllerDataTableFormFieldsData,
|
307
|
+
getTablePropControllerDataTableId,
|
308
|
+
getTablePropControllerDataTableIds,
|
309
|
+
getTextAreaPropControllerDataString,
|
310
|
+
getTextInputPropControllerDataString,
|
311
|
+
getTextStylePropControllerDataResponsiveTextStyleData,
|
312
|
+
getVideoPropControllerDataVideoData,
|
313
|
+
getWidthPropControllerDataResponsiveLengthData,
|
314
|
+
gridPropControllerDataSchema,
|
315
|
+
imagePropControllerDataSchema,
|
316
|
+
imagesPropControllerDataSchema,
|
317
|
+
linkDataSchema,
|
318
|
+
linkPropControllerDataSchema,
|
319
|
+
marginPropControllerDataSchema,
|
320
|
+
mergeGridPropControllerTranslatedData,
|
321
|
+
navigationLinksPropControllerDataSchema,
|
322
|
+
numberPropControllerDataSchema,
|
323
|
+
paddingPropControllerDataSchema,
|
324
|
+
responsiveColorPropControllerDataSchema,
|
325
|
+
responsiveLengthPropControllerDataSchema,
|
326
|
+
shadowsPropControllerDataSchema,
|
327
|
+
socialLinksPropControllerDataSchema,
|
328
|
+
tableFormFieldsPropControllerDataSchema,
|
329
|
+
tablePropControllerDataSchema,
|
330
|
+
textAreaPropControllerDataSchema,
|
331
|
+
textInputPropControllerDataSchema,
|
332
|
+
textStylePropControllerDataSchema,
|
333
|
+
videoPropControllerDataSchema,
|
334
|
+
widthPropControllerDataSchema
|
335
|
+
};
|
336
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './data'\nexport * from './versioned'\nexport * from './prop-controllers'\nexport * from './gap-x'\nexport * from './responsive-icon-radio-group'\nexport * from './responsive-number'\nexport * from './responsive-opacity'\nexport * from './responsive-select'\nexport * from './backgrounds'\n\nexport {\n Border,\n BorderPropControllerFormat,\n borderPropControllerDataSchema,\n getBorderPropControllerDataResponsiveBorderData,\n getBorderPropControllerDataSwatchIds,\n createBorderPropControllerDataFromResponsiveBorderData,\n copyBorderPropControllerData,\n} from './border'\nexport type {\n ResolveBorderPropControllerValue,\n ResponsiveBorderData,\n BorderData,\n BorderSideData,\n BorderDescriptor,\n BorderPropControllerData,\n} from './border'\nexport {\n BorderRadius,\n BorderRadiusPropControllerFormat,\n borderRadiusPropControllerDataSchema,\n getBorderRadiusPropControllerDataResponsiveBorderRadiusData,\n createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData,\n} from './border-radius'\nexport type {\n BorderRadiusPropControllerData,\n ResponsiveBorderRadiusData,\n ResolveBorderRadiusPropControllerValue,\n BorderRadiusDescriptor,\n} from './border-radius'\nexport {\n Checkbox,\n checkboxPropControllerDataSchema,\n getCheckboxPropControllerDataBoolean,\n createCheckboxPropControllerDataFromBoolean,\n} from './checkbox'\nexport type {\n CheckboxDescriptor,\n CheckboxOptions,\n CheckboxPropControllerData,\n ResolveCheckboxPropControllerValue,\n} from './checkbox'\nexport {\n Date,\n datePropControllerDataSchema,\n getDatePropControllerDataString,\n createDatePropControllerDataFromString,\n} from './date'\nexport type {\n DateDescriptor,\n DateOptions,\n DatePropControllerData,\n ResolveDatePropControllerValue,\n} from './date'\nexport {\n ElementID,\n elementIDPropControllerDataSchema,\n getElementIDPropControllerDataElementID,\n createElementIDPropControllerDataFromElementID,\n copyElementIDPropControllerData,\n} from './element-id'\nexport type {\n ElementIDDescriptor,\n ElementIDOptions,\n ElementIDPropControllerData,\n ResolveElementIDPropControllerValue,\n} from './element-id'\nexport {\n Font,\n fontPropControllerDataSchema,\n getFontPropControllerDataResponsiveFontData,\n createFontPropControllerDataFromResponsiveFontData,\n} from './font'\nexport type {\n ResolveFontPropControllerValue,\n ResponsiveFontData,\n FontDescriptor,\n FontPropControllerData,\n} from './font'\nexport {\n GapY,\n gapYPropControllerDataSchema,\n getGapYPropControllerDataResponsiveGapData,\n createGapYPropControllerDataFromResponsiveGapData,\n} from './gap-y'\nexport type {\n ResolveGapYPropControllerValue,\n GapYDescriptor,\n GapYPropControllerData,\n} from './gap-y'\nexport {\n Grid,\n gridPropControllerDataSchema,\n getGridPropControllerDataGridData,\n createGridPropControllerDataFromGridData,\n mergeGridPropControllerTranslatedData,\n getGridPropControllerElementChildren,\n copyGridPropControllerData,\n getGridPropControllerGetElementPath,\n} from './grid'\nexport type {\n GridData,\n GridDescriptor,\n GridOptions,\n GridPropControllerData,\n ResolveGridPropControllerValue,\n} from './grid'\nexport {\n Image,\n imagePropControllerDataSchema,\n getImagePropControllerDataImageData,\n createImagePropControllerDataFromImageData,\n getImagePropControllerFileIds,\n copyImagePropControllerData,\n} from './image'\nexport type {\n ImageDescriptor,\n ImageOptions,\n ImagePropControllerData,\n ResolveImagePropControllerValue,\n} from './image'\nexport {\n Images,\n imagesPropControllerDataSchema,\n getImagesPropControllerDataImagesData,\n createImagesPropControllerDataFromImagesData,\n getImagesPropControllerFileIds,\n copyImagesPropControllerData,\n} from './images'\nexport type {\n ImagesData,\n ImagesDataItem,\n ImagesDescriptor,\n ImagesOptions,\n ImagesPropControllerData,\n ResolveImagesPropControllerValue,\n} from './images'\nexport {\n Link,\n linkDataSchema,\n linkPropControllerDataSchema,\n getLinkPropControllerDataLinkData,\n createLinkPropControllerDataFromLinkData,\n getLinkPropControllerPageIds,\n copyLinkPropControllerData,\n} from './link'\nexport type {\n LinkData,\n LinkDescriptor,\n LinkPropControllerData,\n ResolveLinkPropControllerValue,\n} from './link'\nexport {\n Margin,\n MarginPropControllerFormat,\n marginPropControllerDataSchema,\n getMarginPropControllerDataResponsiveMarginData,\n createMarginPropControllerDataFromResponsiveMarginData,\n} from './margin'\nexport type {\n ResolveMarginPropControllerValue,\n ResponsiveMarginData,\n MarginSideData,\n MarginDescriptor,\n MarginPropControllerData,\n} from './margin'\nexport {\n NavigationLinks,\n navigationLinksPropControllerDataSchema,\n getNavigationLinksPropControllerDataNavigationLinksData,\n createNavigationLinksPropControllerDataFromNavigationLinksData,\n getNavigationLinksPropControllerPageIds,\n getNavigationLinksPropControllerSwatchIds,\n copyNavigationLinksPropControllerData,\n} from './navigation-links'\nexport type {\n NavigationButtonData,\n NavigationDropdownData,\n NavigationLinksData,\n ResolveNavigationLinksPropControllerValue,\n NavigationLinksDescriptor,\n NavigationLinksPropControllerData,\n} from './navigation-links'\nexport {\n Number,\n createNumberPropControllerDataFromNumber,\n getNumberPropControllerDataNumber,\n numberPropControllerDataSchema,\n} from './number'\nexport type {\n NumberDescriptor,\n NumberOptions,\n NumberPropControllerData,\n ResolveNumberPropControllerValue,\n} from './number'\nexport {\n Padding,\n PaddingPropControllerFormat,\n paddingPropControllerDataSchema,\n getPaddingPropControllerDataResponsivePaddingData,\n createPaddingPropControllerDataFromResponsivePaddingData,\n} from './padding'\nexport type {\n ResolvePaddingPropControllerValue,\n ResponsivePaddingData,\n PaddingSideData,\n PaddingDescriptor,\n PaddingPropControllerData,\n} from './padding'\nexport {\n ResponsiveColor,\n copyResponsiveColorPropControllerData,\n createResponsiveColorPropControllerDataFromResponsiveColorData,\n getResponsiveColorDataSwatchIds,\n getResponsiveColorPropControllerDataResponsiveColorData,\n getResponsiveColorPropControllerDataSawtchIds,\n responsiveColorPropControllerDataSchema,\n} from './responsive-color'\nexport type {\n ResponsiveColorData,\n ResponsiveColorDescriptor,\n ResponsiveColorOptions,\n ResponsiveColorPropControllerData,\n} from './responsive-color'\nexport {\n ResponsiveLength,\n ResponsiveLengthPropControllerDataV1Type,\n createResponsiveLengthPropControllerDataFromResponsiveLengthData,\n getResponsiveLengthPropControllerDataResponsiveLengthData,\n responsiveLengthPropControllerDataSchema,\n} from './responsive-length'\nexport type {\n ResolveResponsiveLengthPropControllerValue,\n ResponsiveLengthData,\n ResponsiveLengthDescriptor,\n ResponsiveLengthOptions,\n ResponsiveLengthPropControllerData,\n} from './responsive-length'\nexport {\n SocialLinks,\n socialLinksPropControllerDataSchema,\n getSocialLinkTypes,\n getSocialLinksPropControllerDataSocialLinksData,\n createSocialLinksPropControllerDataFromSocialLinksData,\n} from './social-links'\nexport type {\n SocialLinksData,\n ResolveSocialLinksPropControllerValue,\n SocialLinksDescriptor,\n SocialLinksPropControllerData,\n} from './social-links'\nexport {\n Shadows,\n copyShadowsPropControllerData,\n createShadowsPropControllerDataFromResponsiveShadowsData,\n getShadowsPropControllerDataResponsiveShadowsData,\n getShadowsPropControllerDataSwatchIds,\n shadowsPropControllerDataSchema,\n} from './shadows'\nexport type {\n ResolveShadowsPropControllerValue,\n ShadowData,\n ShadowsData,\n ShadowsDescriptor,\n ShadowsPropControllerData,\n} from './shadows'\nexport {\n Table,\n tablePropControllerDataSchema,\n getTablePropControllerDataTableId,\n createTablePropControllerDataFromTableId,\n copyTablePropControllerData,\n getTablePropControllerDataTableIds,\n} from './table'\nexport type {\n TableDescriptor,\n TableOptions,\n TablePropControllerData,\n ResolveTablePropControllerValue,\n} from './table'\nexport {\n TableFormFields,\n tableFormFieldsPropControllerDataSchema,\n getTableFormFieldsPropControllerDataTableFormFieldsData,\n createTableFormFieldsPropControllerDataFromTableFormFieldsData,\n copyTableFormFieldsPropControllerData,\n} from './table-form-fields'\nexport type {\n TableFormFieldsData,\n TableFormFieldsDescriptor,\n TableFormFieldsOptions,\n TableFormFieldsPropControllerData,\n ResolveTableFormFieldsPropControllerValue,\n} from './table-form-fields'\nexport {\n TextArea,\n textAreaPropControllerDataSchema,\n getTextAreaPropControllerDataString,\n createTextAreaPropControllerDataFromString,\n} from './text-area'\nexport type {\n TextAreaDescriptor,\n TextAreaOptions,\n TextAreaPropControllerData,\n ResolveTextAreaPropControllerValue,\n} from './text-area'\nexport {\n TextInput,\n textInputPropControllerDataSchema,\n getTextInputPropControllerDataString,\n createTextInputPropControllerDataFromString,\n} from './text-input'\nexport type {\n TextInputDescriptor,\n TextInputOptions,\n TextInputPropControllerData,\n ResolveTextInputPropControllerValue,\n} from './text-input'\nexport {\n TextStyle,\n textStylePropControllerDataSchema,\n getTextStylePropControllerDataResponsiveTextStyleData,\n createTextStylePropControllerDataFromResponsiveTextStyleData,\n} from './text-style'\nexport type {\n TextStyleData,\n ResolveTextStylePropControllerValue,\n ResponsiveTextStyleData,\n TextStyleDescriptor,\n TextStylePropControllerData,\n} from './text-style'\nexport {\n Width,\n WidthPropControllerFormat,\n widthPropControllerDataSchema,\n getWidthPropControllerDataResponsiveLengthData,\n createWidthPropControllerDataFromResponsiveLengthData,\n} from './width'\nexport type {\n ResolveWidthPropControllerValue,\n WidthDescriptor,\n WidthPropControllerData,\n} from './width'\nexport {\n Video,\n videoPropControllerDataSchema,\n getVideoPropControllerDataVideoData,\n createVideoPropControllerDataFromVideoData,\n} from './video'\nexport type {\n ResolveVideoPropControllerValue,\n VideoData,\n VideoDescriptor,\n VideoPropControllerData,\n} from './video'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/link/index.ts"],"sourcesContent":["export * from './link'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
import { match } from "ts-pattern";
|
2
|
+
import {
|
3
|
+
ControlDataTypeKey,
|
4
|
+
Types
|
5
|
+
} from "../prop-controllers";
|
6
|
+
import { LinkDefinition } from "@makeswift/controls";
|
7
|
+
import { z } from "zod";
|
8
|
+
const linkDataSchema = LinkDefinition.schema.link;
|
9
|
+
const linkPropControllerDataV0Schema = linkDataSchema;
|
10
|
+
const LinkPropControllerDataV1Type = "prop-controllers::link::v1";
|
11
|
+
const linkPropControllerDataV1Schema = z.object({
|
12
|
+
[ControlDataTypeKey]: z.literal(LinkPropControllerDataV1Type),
|
13
|
+
value: linkDataSchema
|
14
|
+
});
|
15
|
+
const linkPropControllerDataSchema = z.union([
|
16
|
+
linkPropControllerDataV0Schema,
|
17
|
+
linkPropControllerDataV1Schema
|
18
|
+
]);
|
19
|
+
function Link(options = {}) {
|
20
|
+
return { type: Types.Link, version: 1, options };
|
21
|
+
}
|
22
|
+
function getLinkPropControllerDataLinkData(data) {
|
23
|
+
return match(data).with(
|
24
|
+
{ [ControlDataTypeKey]: LinkPropControllerDataV1Type },
|
25
|
+
(v1) => v1.value
|
26
|
+
).otherwise((v0) => v0);
|
27
|
+
}
|
28
|
+
function createLinkPropControllerDataFromLinkData(value, definition) {
|
29
|
+
return match(definition).with(
|
30
|
+
{ version: 1 },
|
31
|
+
() => ({
|
32
|
+
[ControlDataTypeKey]: LinkPropControllerDataV1Type,
|
33
|
+
value
|
34
|
+
})
|
35
|
+
).otherwise(() => value);
|
36
|
+
}
|
37
|
+
function getLinkPropControllerPageIds(linkData) {
|
38
|
+
if (linkData == null)
|
39
|
+
return [];
|
40
|
+
const link = getLinkPropControllerDataLinkData(linkData);
|
41
|
+
switch (link.type) {
|
42
|
+
case "OPEN_PAGE":
|
43
|
+
return link.payload.pageId == null ? [] : [link.payload.pageId];
|
44
|
+
default:
|
45
|
+
return [];
|
46
|
+
}
|
47
|
+
}
|
48
|
+
function copyLinkData(data, context) {
|
49
|
+
let value = data;
|
50
|
+
switch (value?.type) {
|
51
|
+
case "OPEN_PAGE":
|
52
|
+
{
|
53
|
+
const pageId = value.payload.pageId;
|
54
|
+
if (pageId == null)
|
55
|
+
return value;
|
56
|
+
value = {
|
57
|
+
...value,
|
58
|
+
payload: {
|
59
|
+
...value.payload,
|
60
|
+
pageId: context.replacementContext.pageIds.get(pageId) ?? pageId
|
61
|
+
}
|
62
|
+
};
|
63
|
+
}
|
64
|
+
break;
|
65
|
+
case "SCROLL_TO_ELEMENT": {
|
66
|
+
const elementIdConfig = value.payload.elementIdConfig;
|
67
|
+
if (elementIdConfig == null)
|
68
|
+
return value;
|
69
|
+
value = {
|
70
|
+
...value,
|
71
|
+
payload: {
|
72
|
+
...value.payload,
|
73
|
+
elementIdConfig: {
|
74
|
+
...elementIdConfig,
|
75
|
+
elementKey: context.replacementContext.elementKeys.get(
|
76
|
+
elementIdConfig.elementKey
|
77
|
+
) ?? elementIdConfig.elementKey
|
78
|
+
}
|
79
|
+
}
|
80
|
+
};
|
81
|
+
break;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
return value;
|
85
|
+
}
|
86
|
+
function copyLinkPropControllerData(data, context) {
|
87
|
+
if (data == null)
|
88
|
+
return data;
|
89
|
+
const value = copyLinkData(getLinkPropControllerDataLinkData(data), context);
|
90
|
+
if (value == null)
|
91
|
+
return value;
|
92
|
+
return match(data).with({ [ControlDataTypeKey]: LinkPropControllerDataV1Type }, (v1) => ({
|
93
|
+
...v1,
|
94
|
+
value
|
95
|
+
})).otherwise((_) => value);
|
96
|
+
}
|
97
|
+
export {
|
98
|
+
Link,
|
99
|
+
LinkPropControllerDataV1Type,
|
100
|
+
copyLinkData,
|
101
|
+
copyLinkPropControllerData,
|
102
|
+
createLinkPropControllerDataFromLinkData,
|
103
|
+
getLinkPropControllerDataLinkData,
|
104
|
+
getLinkPropControllerPageIds,
|
105
|
+
linkDataSchema,
|
106
|
+
linkPropControllerDataSchema
|
107
|
+
};
|
108
|
+
//# sourceMappingURL=link.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/link/link.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\n\nimport { LinkDefinition } from '@makeswift/controls'\n\nimport { z } from 'zod'\n\nexport const linkDataSchema = LinkDefinition.schema.link\n\nexport type LinkData = z.infer<typeof linkDataSchema>\n\nconst linkPropControllerDataV0Schema = linkDataSchema\n\nexport type LinkPropControllerDataV0 = z.infer<\n typeof linkPropControllerDataV0Schema\n>\n\nexport const LinkPropControllerDataV1Type = 'prop-controllers::link::v1'\nconst linkPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(LinkPropControllerDataV1Type),\n value: linkDataSchema,\n})\n\nexport type LinkPropControllerDataV1 = z.infer<\n typeof linkPropControllerDataV1Schema\n>\n\nexport const linkPropControllerDataSchema = z.union([\n linkPropControllerDataV0Schema,\n linkPropControllerDataV1Schema,\n])\n\nexport type LinkPropControllerData = z.infer<\n typeof linkPropControllerDataSchema\n>\n\ntype LinkOptions = Options<{\n preset?: LinkPropControllerData\n label?: string\n defaultValue?: LinkData\n options?: { value: LinkData['type']; label: string }[]\n hidden?: boolean\n}>\n\ntype LinkDescriptorV0<\n _T = LinkPropControllerDataV0,\n U extends LinkOptions = LinkOptions,\n> = {\n type: typeof Types.Link\n options: U\n}\n\ntype LinkDescriptorV1<\n _T = LinkPropControllerData,\n U extends LinkOptions = LinkOptions,\n> = {\n type: typeof Types.Link\n version: 1\n options: U\n}\n\nexport type LinkDescriptor<\n _T = LinkPropControllerData,\n U extends LinkOptions = LinkOptions,\n> = LinkDescriptorV0<_T, U> | LinkDescriptorV1<_T, U>\n\nexport type ResolveLinkPropControllerValue<T extends LinkDescriptor> =\n T extends LinkDescriptor ? LinkData | undefined : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Link(options: LinkOptions = {}): LinkDescriptor {\n return { type: Types.Link, version: 1, options }\n}\n\nexport function getLinkPropControllerDataLinkData(\n data: LinkPropControllerData,\n): LinkData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: LinkPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createLinkPropControllerDataFromLinkData(\n value: LinkData,\n definition: LinkDescriptor,\n): LinkPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: LinkPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nexport function getLinkPropControllerPageIds(\n linkData: LinkPropControllerData | null | undefined,\n): string[] {\n if (linkData == null) return []\n\n const link = getLinkPropControllerDataLinkData(linkData)\n\n switch (link.type) {\n case 'OPEN_PAGE':\n return link.payload.pageId == null ? [] : [link.payload.pageId]\n\n default:\n return []\n }\n}\n\nexport function copyLinkData(\n data: LinkData | undefined,\n context: CopyContext,\n): LinkData | undefined {\n let value = data\n\n switch (value?.type) {\n case 'OPEN_PAGE':\n {\n const pageId = value.payload.pageId\n\n if (pageId == null) return value\n\n value = {\n ...value,\n payload: {\n ...value.payload,\n pageId: context.replacementContext.pageIds.get(pageId) ?? pageId,\n },\n }\n }\n break\n\n case 'SCROLL_TO_ELEMENT': {\n const elementIdConfig = value.payload.elementIdConfig\n\n if (elementIdConfig == null) return value\n\n value = {\n ...value,\n payload: {\n ...value.payload,\n elementIdConfig: {\n ...elementIdConfig,\n elementKey:\n context.replacementContext.elementKeys.get(\n elementIdConfig.elementKey,\n ) ?? elementIdConfig.elementKey,\n },\n },\n }\n break\n }\n }\n\n return value\n}\n\nexport function copyLinkPropControllerData(\n data: LinkPropControllerData | undefined,\n context: CopyContext,\n): LinkPropControllerData | undefined {\n if (data == null) return data\n\n const value = copyLinkData(getLinkPropControllerDataLinkData(data), context)\n\n if (value == null) return value\n\n return match(data)\n .with({ [ControlDataTypeKey]: LinkPropControllerDataV1Type }, (v1) => ({\n ...v1,\n value,\n }))\n .otherwise((_) => value)\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAE/B,SAAS,SAAS;AAEX,MAAM,iBAAiB,eAAe,OAAO;AAIpD,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAC5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,KAAK,UAAuB,CAAC,GAAmB;AAC9D,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACU;AACV,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEO,SAAS,6BACd,UACU;AACV,MAAI,YAAY;AAAM,WAAO,CAAC;AAE9B,QAAM,OAAO,kCAAkC,QAAQ;AAEvD,UAAQ,KAAK,MAAM;AAAA,IACjB,KAAK;AACH,aAAO,KAAK,QAAQ,UAAU,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM;AAAA,IAEhE;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,aACd,MACA,SACsB;AACtB,MAAI,QAAQ;AAEZ,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK;AACH;AACE,cAAM,SAAS,MAAM,QAAQ;AAE7B,YAAI,UAAU;AAAM,iBAAO;AAE3B,gBAAQ;AAAA,UACN,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,MAAM;AAAA,YACT,QAAQ,QAAQ,mBAAmB,QAAQ,IAAI,MAAM,KAAK;AAAA,UAC5D;AAAA,QACF;AAAA,MACF;AACA;AAAA,IAEF,KAAK,qBAAqB;AACxB,YAAM,kBAAkB,MAAM,QAAQ;AAEtC,UAAI,mBAAmB;AAAM,eAAO;AAEpC,cAAQ;AAAA,QACN,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,MAAM;AAAA,UACT,iBAAiB;AAAA,YACf,GAAG;AAAA,YACH,YACE,QAAQ,mBAAmB,YAAY;AAAA,cACrC,gBAAgB;AAAA,YAClB,KAAK,gBAAgB;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,2BACd,MACA,SACoC;AACpC,MAAI,QAAQ;AAAM,WAAO;AAEzB,QAAM,QAAQ,aAAa,kCAAkC,IAAI,GAAG,OAAO;AAE3E,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,CAAC,kBAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE,GAAG;AAAA,IACH;AAAA,EACF,EAAE,EACD,UAAU,CAAC,MAAM,KAAK;AAC3B;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/margin/index.ts"],"sourcesContent":["export * from './margin'\n"],"mappings":"AAAA,cAAc;","names":[]}
|