@makeswift/prop-controllers 0.0.2-canary.0 → 0.1.0-canary.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/index.cjs +901 -6
  2. package/dist/types/border/border.d.ts +2435 -0
  3. package/dist/types/border/border.d.ts.map +1 -0
  4. package/dist/types/border/border.test.d.ts +2 -0
  5. package/dist/types/border/border.test.d.ts.map +1 -0
  6. package/dist/types/border/index.d.ts +2 -0
  7. package/dist/types/border/index.d.ts.map +1 -0
  8. package/dist/types/border copy/border.d.ts +2435 -0
  9. package/dist/types/border copy/border.d.ts.map +1 -0
  10. package/dist/types/border copy/border.test.d.ts +2 -0
  11. package/dist/types/border copy/border.test.d.ts.map +1 -0
  12. package/dist/types/border copy/index.d.ts +2 -0
  13. package/dist/types/border copy/index.d.ts.map +1 -0
  14. package/dist/types/border-radius/border-radius.d.ts +563 -0
  15. package/dist/types/border-radius/border-radius.d.ts.map +1 -0
  16. package/dist/types/border-radius/index.d.ts +2 -0
  17. package/dist/types/border-radius/index.d.ts.map +1 -0
  18. package/dist/types/checkbox/checkbox.d.ts +52 -0
  19. package/dist/types/checkbox/checkbox.d.ts.map +1 -0
  20. package/dist/types/checkbox/checkbox.test.d.ts +2 -0
  21. package/dist/types/checkbox/checkbox.test.d.ts.map +1 -0
  22. package/dist/types/checkbox/index.d.ts +2 -0
  23. package/dist/types/checkbox/index.d.ts.map +1 -0
  24. package/dist/types/data.d.ts +24 -0
  25. package/dist/types/data.d.ts.map +1 -0
  26. package/dist/types/date/checkbox.test.d.ts +2 -0
  27. package/dist/types/date/checkbox.test.d.ts.map +1 -0
  28. package/dist/types/date/date.d.ts +50 -0
  29. package/dist/types/date/date.d.ts.map +1 -0
  30. package/dist/types/date/date.test.d.ts +2 -0
  31. package/dist/types/date/date.test.d.ts.map +1 -0
  32. package/dist/types/date/index.d.ts +2 -0
  33. package/dist/types/date/index.d.ts.map +1 -0
  34. package/dist/types/date copy/date.d.ts +50 -0
  35. package/dist/types/date copy/date.d.ts.map +1 -0
  36. package/dist/types/date copy/date.test.d.ts +2 -0
  37. package/dist/types/date copy/date.test.d.ts.map +1 -0
  38. package/dist/types/date copy/index.d.ts +2 -0
  39. package/dist/types/date copy/index.d.ts.map +1 -0
  40. package/dist/types/font/border.d.ts +2435 -0
  41. package/dist/types/font/border.d.ts.map +1 -0
  42. package/dist/types/font/border.test.d.ts +2 -0
  43. package/dist/types/font/border.test.d.ts.map +1 -0
  44. package/dist/types/font/date.d.ts +50 -0
  45. package/dist/types/font/date.d.ts.map +1 -0
  46. package/dist/types/font/date.test.d.ts +2 -0
  47. package/dist/types/font/date.test.d.ts.map +1 -0
  48. package/dist/types/font/font.d.ts +112 -0
  49. package/dist/types/font/font.d.ts.map +1 -0
  50. package/dist/types/font/font.test.d.ts +2 -0
  51. package/dist/types/font/font.test.d.ts.map +1 -0
  52. package/dist/types/font/index.d.ts +2 -0
  53. package/dist/types/font/index.d.ts.map +1 -0
  54. package/dist/types/index.d.ts +30 -1
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/types/margin/border.d.ts +2435 -0
  57. package/dist/types/margin/border.d.ts.map +1 -0
  58. package/dist/types/margin/border.test.d.ts +2 -0
  59. package/dist/types/margin/border.test.d.ts.map +1 -0
  60. package/dist/types/margin/index.d.ts +2 -0
  61. package/dist/types/margin/index.d.ts.map +1 -0
  62. package/dist/types/margin/margin.d.ts +1026 -0
  63. package/dist/types/margin/margin.d.ts.map +1 -0
  64. package/dist/types/margin/margin.test.d.ts +2 -0
  65. package/dist/types/margin/margin.test.d.ts.map +1 -0
  66. package/dist/types/margin copy/index.d.ts +2 -0
  67. package/dist/types/margin copy/index.d.ts.map +1 -0
  68. package/dist/types/margin copy/margin.d.ts +1026 -0
  69. package/dist/types/margin copy/margin.d.ts.map +1 -0
  70. package/dist/types/margin copy/margin.test.d.ts +2 -0
  71. package/dist/types/margin copy/margin.test.d.ts.map +1 -0
  72. package/dist/types/navigation-links/date.d.ts +50 -0
  73. package/dist/types/navigation-links/date.d.ts.map +1 -0
  74. package/dist/types/navigation-links/date.test.d.ts +2 -0
  75. package/dist/types/navigation-links/date.test.d.ts.map +1 -0
  76. package/dist/types/navigation-links/index.d.ts +2 -0
  77. package/dist/types/navigation-links/index.d.ts.map +1 -0
  78. package/dist/types/navigation-links/navigation-links.d.ts +55 -0
  79. package/dist/types/navigation-links/navigation-links.d.ts.map +1 -0
  80. package/dist/types/navigation-links/navigation-links.test.d.ts +2 -0
  81. package/dist/types/navigation-links/navigation-links.test.d.ts.map +1 -0
  82. package/dist/types/number.d.ts +56 -0
  83. package/dist/types/number.d.ts.map +1 -0
  84. package/dist/types/padding/index.d.ts +2 -0
  85. package/dist/types/padding/index.d.ts.map +1 -0
  86. package/dist/types/padding/margin.d.ts +1026 -0
  87. package/dist/types/padding/margin.d.ts.map +1 -0
  88. package/dist/types/padding/margin.test.d.ts +2 -0
  89. package/dist/types/padding/margin.test.d.ts.map +1 -0
  90. package/dist/types/padding/padding.d.ts +1026 -0
  91. package/dist/types/padding/padding.d.ts.map +1 -0
  92. package/dist/types/padding/padding.test.d.ts +2 -0
  93. package/dist/types/padding/padding.test.d.ts.map +1 -0
  94. package/dist/types/padding copy/index.d.ts +2 -0
  95. package/dist/types/padding copy/index.d.ts.map +1 -0
  96. package/dist/types/padding copy/padding.d.ts +1026 -0
  97. package/dist/types/padding copy/padding.d.ts.map +1 -0
  98. package/dist/types/padding copy/padding.test.d.ts +2 -0
  99. package/dist/types/padding copy/padding.test.d.ts.map +1 -0
  100. package/dist/types/prop-controllers.d.ts +26 -1
  101. package/dist/types/prop-controllers.d.ts.map +1 -1
  102. package/dist/types/responsive-color.d.ts +200 -0
  103. package/dist/types/responsive-color.d.ts.map +1 -0
  104. package/dist/types/responsive-length.d.ts +210 -0
  105. package/dist/types/responsive-length.d.ts.map +1 -0
  106. package/dist/types/shadows.d.ts +590 -0
  107. package/dist/types/shadows.d.ts.map +1 -0
  108. package/dist/types/shadows.test.d.ts +2 -0
  109. package/dist/types/shadows.test.d.ts.map +1 -0
  110. package/dist/types/table/date.d.ts +50 -0
  111. package/dist/types/table/date.d.ts.map +1 -0
  112. package/dist/types/table/date.test.d.ts +2 -0
  113. package/dist/types/table/date.test.d.ts.map +1 -0
  114. package/dist/types/table/index.d.ts +2 -0
  115. package/dist/types/table/index.d.ts.map +1 -0
  116. package/dist/types/table/table.d.ts +54 -0
  117. package/dist/types/table/table.d.ts.map +1 -0
  118. package/dist/types/table/table.test.d.ts +2 -0
  119. package/dist/types/table/table.test.d.ts.map +1 -0
  120. package/dist/types/video/date.d.ts +50 -0
  121. package/dist/types/video/date.d.ts.map +1 -0
  122. package/dist/types/video/date.test.d.ts +2 -0
  123. package/dist/types/video/date.test.d.ts.map +1 -0
  124. package/dist/types/video/font.test.d.ts +2 -0
  125. package/dist/types/video/font.test.d.ts.map +1 -0
  126. package/dist/types/video/index.d.ts +2 -0
  127. package/dist/types/video/index.d.ts.map +1 -0
  128. package/dist/types/video/video.d.ts +166 -0
  129. package/dist/types/video/video.d.ts.map +1 -0
  130. package/dist/types/video/video.test.d.ts +2 -0
  131. package/dist/types/video/video.test.d.ts.map +1 -0
  132. package/dist/types/width/index.d.ts +2 -0
  133. package/dist/types/width/index.d.ts.map +1 -0
  134. package/dist/types/width/padding.d.ts +1026 -0
  135. package/dist/types/width/padding.d.ts.map +1 -0
  136. package/dist/types/width/padding.test.d.ts +2 -0
  137. package/dist/types/width/padding.test.d.ts.map +1 -0
  138. package/dist/types/width/width.d.ts +185 -0
  139. package/dist/types/width/width.d.ts.map +1 -0
  140. package/dist/types/width/width.test.d.ts +2 -0
  141. package/dist/types/width/width.test.d.ts.map +1 -0
  142. package/package.json +4 -3
package/dist/index.cjs CHANGED
@@ -20,27 +20,393 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
+ Border: () => Border,
24
+ BorderPropControllerFormat: () => BorderPropControllerFormat,
25
+ BorderRadius: () => BorderRadius,
26
+ BorderRadiusPropControllerFormat: () => BorderRadiusPropControllerFormat,
27
+ Checkbox: () => Checkbox,
23
28
  ControlDataTypeKey: () => ControlDataTypeKey,
29
+ Date: () => Date,
30
+ Font: () => Font,
24
31
  Link: () => Link,
25
32
  LinkPropControllerDataV1Type: () => LinkPropControllerDataV1Type,
33
+ Margin: () => Margin,
34
+ MarginPropControllerFormat: () => MarginPropControllerFormat,
35
+ Number: () => Number,
36
+ Padding: () => Padding,
37
+ PaddingPropControllerFormat: () => PaddingPropControllerFormat,
38
+ ResponsiveColor: () => ResponsiveColor,
39
+ ResponsiveLength: () => ResponsiveLength,
40
+ ResponsiveLengthPropControllerDataV1Type: () => ResponsiveLengthPropControllerDataV1Type,
41
+ Shadows: () => Shadows,
42
+ Table: () => Table,
26
43
  Types: () => Types,
44
+ Video: () => Video,
45
+ Width: () => Width,
46
+ WidthPropControllerFormat: () => WidthPropControllerFormat,
47
+ borderPropControllerDataSchema: () => borderPropControllerDataSchema,
48
+ borderRadiusPropControllerDataSchema: () => borderRadiusPropControllerDataSchema,
49
+ checkboxPropControllerDataSchema: () => checkboxPropControllerDataSchema,
50
+ copyBorderPropControllerData: () => copyBorderPropControllerData,
27
51
  copyLinkPropControllerData: () => copyLinkPropControllerData,
52
+ copyResponsiveColorPropControllerData: () => copyResponsiveColorPropControllerData,
53
+ copyShadowsPropControllerData: () => copyShadowsPropControllerData,
54
+ copyTablePropControllerData: () => copyTablePropControllerData,
55
+ createBorderPropControllerDataFromResponsiveBorderData: () => createBorderPropControllerDataFromResponsiveBorderData,
56
+ createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData: () => createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData,
57
+ createCheckboxPropControllerDataFromBoolean: () => createCheckboxPropControllerDataFromBoolean,
58
+ createDatePropControllerDataFromString: () => createDatePropControllerDataFromString,
59
+ createFontPropControllerDataFromResponsiveFontData: () => createFontPropControllerDataFromResponsiveFontData,
60
+ createMarginPropControllerDataFromResponsiveMarginData: () => createMarginPropControllerDataFromResponsiveMarginData,
61
+ createNumberPropControllerDataFromNumber: () => createNumberPropControllerDataFromNumber,
62
+ createPaddingPropControllerDataFromResponsivePaddingData: () => createPaddingPropControllerDataFromResponsivePaddingData,
63
+ createResponsiveColorPropControllerDataFromResponsiveColorData: () => createResponsiveColorPropControllerDataFromResponsiveColorData,
64
+ createResponsiveLengthPropControllerDataFromResponsiveLengthData: () => createResponsiveLengthPropControllerDataFromResponsiveLengthData,
65
+ createResponsiveValueSchema: () => createResponsiveValueSchema,
66
+ createShadowsPropControllerDataFromResponsiveShadowsData: () => createShadowsPropControllerDataFromResponsiveShadowsData,
67
+ createTablePropControllerDataFromTableId: () => createTablePropControllerDataFromTableId,
68
+ createVideoPropControllerDataFromVideoData: () => createVideoPropControllerDataFromVideoData,
69
+ createWidthPropControllerDataFromResponsiveLengthData: () => createWidthPropControllerDataFromResponsiveLengthData,
70
+ datePropControllerDataSchema: () => datePropControllerDataSchema,
71
+ fontPropControllerDataSchema: () => fontPropControllerDataSchema,
72
+ getBorderPropControllerDataResponsiveBorderData: () => getBorderPropControllerDataResponsiveBorderData,
73
+ getBorderPropControllerDataSwatchIds: () => getBorderPropControllerDataSwatchIds,
74
+ getBorderRadiusPropControllerDataResponsiveBorderRadiusData: () => getBorderRadiusPropControllerDataResponsiveBorderRadiusData,
75
+ getCheckboxPropControllerDataBoolean: () => getCheckboxPropControllerDataBoolean,
76
+ getDatePropControllerDataString: () => getDatePropControllerDataString,
77
+ getFontPropControllerDataResponsiveFontData: () => getFontPropControllerDataResponsiveFontData,
28
78
  getLinkPropControllerPageIds: () => getLinkPropControllerPageIds,
29
- getLinkPropControllerValue: () => getLinkPropControllerValue
79
+ getLinkPropControllerValue: () => getLinkPropControllerValue,
80
+ getMarginPropControllerDataResponsiveMarginData: () => getMarginPropControllerDataResponsiveMarginData,
81
+ getNumberPropControllerDataNumber: () => getNumberPropControllerDataNumber,
82
+ getPaddingPropControllerDataResponsivePaddingData: () => getPaddingPropControllerDataResponsivePaddingData,
83
+ getResponsiveColorDataSwatchIds: () => getResponsiveColorDataSwatchIds,
84
+ getResponsiveColorPropControllerDataResponsiveColorData: () => getResponsiveColorPropControllerDataResponsiveColorData,
85
+ getResponsiveColorPropControllerDataSawtchIds: () => getResponsiveColorPropControllerDataSawtchIds,
86
+ getResponsiveLengthPropControllerDataResponsiveLengthData: () => getResponsiveLengthPropControllerDataResponsiveLengthData,
87
+ getShadowsPropControllerDataResponsiveShadowsData: () => getShadowsPropControllerDataResponsiveShadowsData,
88
+ getShadowsPropControllerDataSwatchIds: () => getShadowsPropControllerDataSwatchIds,
89
+ getTablePropControllerDataTableId: () => getTablePropControllerDataTableId,
90
+ getTablePropControllerDataTableIds: () => getTablePropControllerDataTableIds,
91
+ getVideoPropControllerDataVideoData: () => getVideoPropControllerDataVideoData,
92
+ getWidthPropControllerDataResponsiveLengthData: () => getWidthPropControllerDataResponsiveLengthData,
93
+ marginPropControllerDataSchema: () => marginPropControllerDataSchema,
94
+ numberPropControllerDataSchema: () => numberPropControllerDataSchema,
95
+ paddingPropControllerDataSchema: () => paddingPropControllerDataSchema,
96
+ responsiveColorPropControllerDataSchema: () => responsiveColorPropControllerDataSchema,
97
+ responsiveLengthPropControllerDataSchema: () => responsiveLengthPropControllerDataSchema,
98
+ shadowsPropControllerDataSchema: () => shadowsPropControllerDataSchema,
99
+ tablePropControllerDataSchema: () => tablePropControllerDataSchema,
100
+ videoPropControllerDataSchema: () => videoPropControllerDataSchema,
101
+ widthPropControllerDataSchema: () => widthPropControllerDataSchema
30
102
  });
31
103
  module.exports = __toCommonJS(src_exports);
32
104
 
105
+ // src/border/border.ts
106
+ var import_ts_pattern = require("ts-pattern");
107
+
108
+ // src/data.ts
109
+ var import_zod = require("zod");
110
+ var colorDataSchema = import_zod.z.object({
111
+ swatchId: import_zod.z.string(),
112
+ alpha: import_zod.z.number()
113
+ });
114
+ var lengthDataSchema = import_zod.z.object({
115
+ value: import_zod.z.number(),
116
+ unit: import_zod.z.union([import_zod.z.literal("px"), import_zod.z.literal("%")])
117
+ });
118
+
33
119
  // src/prop-controllers.ts
120
+ var import_zod2 = require("zod");
34
121
  var Types = {
35
- Link: "Link"
122
+ Border: "Border",
123
+ BorderRadius: "BorderRadius",
124
+ Checkbox: "Checkbox",
125
+ Date: "Date",
126
+ Font: "Font",
127
+ Link: "Link",
128
+ Margin: "Margin",
129
+ Padding: "Padding",
130
+ Number: "Number",
131
+ Shadows: "Shadows",
132
+ ResponsiveColor: "ResponsiveColor",
133
+ ResponsiveLength: "ResponsiveLength",
134
+ Table: "Table",
135
+ Width: "Width",
136
+ Video: "Video"
36
137
  };
37
138
  var ControlDataTypeKey = "@@makeswift/type";
139
+ var deviceSchema = import_zod2.z.string();
140
+ function createDeviceOverrideSchema(schema) {
141
+ return import_zod2.z.object({
142
+ deviceId: deviceSchema,
143
+ value: schema
144
+ });
145
+ }
146
+ function createResponsiveValueSchema(schema) {
147
+ return import_zod2.z.array(createDeviceOverrideSchema(schema));
148
+ }
149
+
150
+ // src/border/border.ts
151
+ var import_zod3 = require("zod");
152
+ var borderSideDataSchema = import_zod3.z.object({
153
+ width: import_zod3.z.number().nullable().optional(),
154
+ style: import_zod3.z.enum(["dashed", "dotted", "solid"]),
155
+ color: colorDataSchema.nullable().optional()
156
+ }).transform((v) => ({
157
+ ...v,
158
+ width: v.width
159
+ }));
160
+ var borderDataSchema = import_zod3.z.object({
161
+ borderTop: borderSideDataSchema.nullable().optional(),
162
+ borderRight: borderSideDataSchema.nullable().optional(),
163
+ borderBottom: borderSideDataSchema.nullable().optional(),
164
+ borderLeft: borderSideDataSchema.nullable().optional()
165
+ }).transform((v) => ({
166
+ borderTop: v.borderTop,
167
+ borderRight: v.borderRight,
168
+ borderBottom: v.borderBottom,
169
+ borderLeft: v.borderLeft
170
+ }));
171
+ var responsiveBorderDataSchema = createResponsiveValueSchema(borderDataSchema);
172
+ var borderPropControllerDataV0Schema = responsiveBorderDataSchema;
173
+ var BorderPropControllerDataV1Type = "prop-controllers::border::v1";
174
+ var borderPropControllerDataV1Schema = import_zod3.z.object({
175
+ [ControlDataTypeKey]: import_zod3.z.literal(BorderPropControllerDataV1Type),
176
+ value: responsiveBorderDataSchema
177
+ });
178
+ var borderPropControllerDataSchema = import_zod3.z.union([
179
+ borderPropControllerDataV0Schema,
180
+ borderPropControllerDataV1Schema
181
+ ]);
182
+ var BorderPropControllerFormat = {
183
+ ClassName: "makeswift::prop-controllers::border::format::class-name",
184
+ ResponsiveValue: "makeswift::prop-controllers::border::format::responsive-value"
185
+ };
186
+ function Border(options = {}) {
187
+ return { type: Types.Border, version: 1, options };
188
+ }
189
+ Border.Format = BorderPropControllerFormat;
190
+ function getBorderPropControllerDataResponsiveBorderData(data) {
191
+ return (0, import_ts_pattern.match)(data).with(
192
+ { [ControlDataTypeKey]: BorderPropControllerDataV1Type },
193
+ (v1) => v1.value
194
+ ).otherwise((v0) => v0);
195
+ }
196
+ function createBorderPropControllerDataFromResponsiveBorderData(definition, responsiveBorderData) {
197
+ return (0, import_ts_pattern.match)(definition).with(
198
+ { version: 1 },
199
+ () => ({
200
+ [ControlDataTypeKey]: BorderPropControllerDataV1Type,
201
+ value: responsiveBorderData
202
+ })
203
+ ).otherwise(() => responsiveBorderData);
204
+ }
205
+ function getBorderPropControllerDataSwatchIds(data) {
206
+ return getBorderPropControllerDataResponsiveBorderData(data)?.flatMap((override) => override.value).flatMap((borderValue) => {
207
+ return [
208
+ borderValue.borderTop?.color?.swatchId,
209
+ borderValue.borderRight?.color?.swatchId,
210
+ borderValue.borderBottom?.color?.swatchId,
211
+ borderValue.borderLeft?.color?.swatchId
212
+ ].filter(
213
+ (swatchId) => swatchId != null
214
+ );
215
+ }) ?? [];
216
+ }
217
+ function copyResponsiveBorderData(data, context) {
218
+ return data.map((override) => ({
219
+ ...override,
220
+ value: copyBorderValue(override.value)
221
+ }));
222
+ function copyBorderValue({
223
+ borderTop,
224
+ borderRight,
225
+ borderBottom,
226
+ borderLeft
227
+ }) {
228
+ return {
229
+ borderTop: borderTop && copyBorderSide(borderTop),
230
+ borderRight: borderRight && copyBorderSide(borderRight),
231
+ borderBottom: borderBottom && copyBorderSide(borderBottom),
232
+ borderLeft: borderLeft && copyBorderSide(borderLeft)
233
+ };
234
+ }
235
+ function copyBorderSide(borderSide) {
236
+ const { color } = borderSide;
237
+ if (color == null)
238
+ return borderSide;
239
+ return {
240
+ ...borderSide,
241
+ color: {
242
+ ...color,
243
+ swatchId: context.replacementContext.swatchIds.get(color.swatchId) ?? color.swatchId
244
+ }
245
+ };
246
+ }
247
+ }
248
+ function copyBorderPropControllerData(data, context) {
249
+ return (0, import_ts_pattern.match)(data).with(void 0, () => void 0).with(
250
+ { [ControlDataTypeKey]: BorderPropControllerDataV1Type },
251
+ (v1) => ({
252
+ [ControlDataTypeKey]: BorderPropControllerDataV1Type,
253
+ value: copyResponsiveBorderData(v1.value, context)
254
+ })
255
+ ).otherwise((v0) => copyResponsiveBorderData(v0, context));
256
+ }
257
+
258
+ // src/border-radius/border-radius.ts
259
+ var import_zod4 = require("zod");
260
+ var import_ts_pattern2 = require("ts-pattern");
261
+ var borderRadiusDataSchema = import_zod4.z.object({
262
+ borderTopLeftRadius: lengthDataSchema.nullable().optional(),
263
+ borderTopRightRadius: lengthDataSchema.nullable().optional(),
264
+ borderBottomLeftRadius: lengthDataSchema.nullable().optional(),
265
+ borderBottomRightRadius: lengthDataSchema.nullable().optional()
266
+ });
267
+ var responsiveBorderRadiusDataSchema = createResponsiveValueSchema(
268
+ borderRadiusDataSchema
269
+ );
270
+ var borderRadiusPropControllerDataV0Schema = responsiveBorderRadiusDataSchema;
271
+ var BorderRadiusPropControllerDataV1Type = "prop-controllers::border-radius::v1";
272
+ var borderRadiusPropControllerDataV1Schema = import_zod4.z.object({
273
+ [ControlDataTypeKey]: import_zod4.z.literal(BorderRadiusPropControllerDataV1Type),
274
+ value: responsiveBorderRadiusDataSchema
275
+ });
276
+ var borderRadiusPropControllerDataSchema = import_zod4.z.union([
277
+ borderRadiusPropControllerDataV0Schema,
278
+ borderRadiusPropControllerDataV1Schema
279
+ ]);
280
+ var BorderRadiusPropControllerFormat = {
281
+ ClassName: "makeswift::prop-controllers::border-radius::format::class-name",
282
+ ResponsiveValue: "makeswift::prop-controllers::border-radius::format::responsive-value"
283
+ };
284
+ function BorderRadius(options = {}) {
285
+ return { type: Types.BorderRadius, version: 1, options };
286
+ }
287
+ BorderRadius.Format = BorderRadiusPropControllerFormat;
288
+ function getBorderRadiusPropControllerDataResponsiveBorderRadiusData(data) {
289
+ return (0, import_ts_pattern2.match)(data).with(
290
+ { [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type },
291
+ (v1) => v1.value
292
+ ).otherwise((v0) => v0);
293
+ }
294
+ function createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData(definition, responsiveBorderRadiusData) {
295
+ return (0, import_ts_pattern2.match)(definition).with(
296
+ { version: 1 },
297
+ () => ({
298
+ [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type,
299
+ value: responsiveBorderRadiusData
300
+ })
301
+ ).otherwise(() => responsiveBorderRadiusData);
302
+ }
303
+
304
+ // src/checkbox/checkbox.ts
305
+ var import_zod5 = require("zod");
306
+ var import_ts_pattern3 = require("ts-pattern");
307
+ var checkboxPropControllerDataV0Schema = import_zod5.z.boolean();
308
+ var CheckboxPropControllerDataV1Type = "prop-controllers::checkbox::v1";
309
+ var checkboxPropControllerDataV1Schema = import_zod5.z.object({
310
+ [ControlDataTypeKey]: import_zod5.z.literal(CheckboxPropControllerDataV1Type),
311
+ value: import_zod5.z.boolean()
312
+ });
313
+ var checkboxPropControllerDataSchema = import_zod5.z.union([
314
+ checkboxPropControllerDataV0Schema,
315
+ checkboxPropControllerDataV1Schema
316
+ ]);
317
+ function Checkbox(options) {
318
+ return { type: Types.Checkbox, version: 1, options };
319
+ }
320
+ function getCheckboxPropControllerDataBoolean(data) {
321
+ return (0, import_ts_pattern3.match)(data).with(
322
+ { [ControlDataTypeKey]: CheckboxPropControllerDataV1Type },
323
+ (v1) => v1.value
324
+ ).otherwise((v0) => v0);
325
+ }
326
+ function createCheckboxPropControllerDataFromBoolean(value, definition) {
327
+ return (0, import_ts_pattern3.match)(definition).with(
328
+ { version: 1 },
329
+ import_ts_pattern3.P.nullish,
330
+ () => ({
331
+ [ControlDataTypeKey]: CheckboxPropControllerDataV1Type,
332
+ value
333
+ })
334
+ ).otherwise(() => value);
335
+ }
336
+
337
+ // src/date/date.ts
338
+ var import_zod6 = require("zod");
339
+ var import_ts_pattern4 = require("ts-pattern");
340
+ var datePropControllerDataV0Schema = import_zod6.z.string();
341
+ var DatePropControllerDataV1Type = "prop-controllers::date::v1";
342
+ var datePropControllerDataV1Schema = import_zod6.z.object({
343
+ [ControlDataTypeKey]: import_zod6.z.literal(DatePropControllerDataV1Type),
344
+ value: import_zod6.z.string()
345
+ });
346
+ var datePropControllerDataSchema = import_zod6.z.union([
347
+ datePropControllerDataV0Schema,
348
+ datePropControllerDataV1Schema
349
+ ]);
350
+ function Date(options = {}) {
351
+ return { type: Types.Date, version: 1, options };
352
+ }
353
+ function getDatePropControllerDataString(data) {
354
+ return (0, import_ts_pattern4.match)(data).with(
355
+ { [ControlDataTypeKey]: DatePropControllerDataV1Type },
356
+ (v1) => v1.value
357
+ ).otherwise((v0) => v0);
358
+ }
359
+ function createDatePropControllerDataFromString(value, definition) {
360
+ return (0, import_ts_pattern4.match)(definition).with(
361
+ { version: 1 },
362
+ import_ts_pattern4.P.nullish,
363
+ () => ({
364
+ [ControlDataTypeKey]: DatePropControllerDataV1Type,
365
+ value
366
+ })
367
+ ).otherwise(() => value);
368
+ }
369
+
370
+ // src/font/font.ts
371
+ var import_ts_pattern5 = require("ts-pattern");
372
+ var import_zod7 = require("zod");
373
+ var fontDataSchema = import_zod7.z.string();
374
+ var responsiveFontDataSchema = createResponsiveValueSchema(fontDataSchema);
375
+ var fontPropControllerDataV0Schema = responsiveFontDataSchema;
376
+ var FontPropControllerDataV1Type = "prop-controllers::font::v1";
377
+ var fontPropControllerDataV1Schema = import_zod7.z.object({
378
+ [ControlDataTypeKey]: import_zod7.z.literal(FontPropControllerDataV1Type),
379
+ value: responsiveFontDataSchema
380
+ });
381
+ var fontPropControllerDataSchema = import_zod7.z.union([
382
+ fontPropControllerDataV0Schema,
383
+ fontPropControllerDataV1Schema
384
+ ]);
385
+ function Font(options = {}) {
386
+ return { type: Types.Font, version: 1, options };
387
+ }
388
+ function getFontPropControllerDataResponsiveFontData(data) {
389
+ return (0, import_ts_pattern5.match)(data).with(
390
+ { [ControlDataTypeKey]: FontPropControllerDataV1Type },
391
+ (v1) => v1.value
392
+ ).otherwise((v0) => v0);
393
+ }
394
+ function createFontPropControllerDataFromResponsiveFontData(responsiveFontData, definition) {
395
+ return (0, import_ts_pattern5.match)(definition).with(
396
+ { version: 1 },
397
+ import_ts_pattern5.P.nullish,
398
+ () => ({
399
+ [ControlDataTypeKey]: FontPropControllerDataV1Type,
400
+ value: responsiveFontData
401
+ })
402
+ ).otherwise(() => responsiveFontData);
403
+ }
38
404
 
39
405
  // src/link/link.ts
40
- var import_ts_pattern = require("ts-pattern");
406
+ var import_ts_pattern6 = require("ts-pattern");
41
407
  var LinkPropControllerDataV1Type = "prop-controllers::link::v1";
42
408
  function getLinkPropControllerValue(data) {
43
- return (0, import_ts_pattern.match)(data).with(
409
+ return (0, import_ts_pattern6.match)(data).with(
44
410
  { [ControlDataTypeKey]: LinkPropControllerDataV1Type },
45
411
  (v1) => v1.value
46
412
  ).otherwise((v0) => v0);
@@ -94,7 +460,7 @@ function copyLinkPropControllerData(data, context) {
94
460
  break;
95
461
  }
96
462
  }
97
- return (0, import_ts_pattern.match)(data).with({ [ControlDataTypeKey]: LinkPropControllerDataV1Type }, (v1) => ({
463
+ return (0, import_ts_pattern6.match)(data).with({ [ControlDataTypeKey]: LinkPropControllerDataV1Type }, (v1) => ({
98
464
  ...v1,
99
465
  value
100
466
  })).otherwise((_) => value);
@@ -102,13 +468,542 @@ function copyLinkPropControllerData(data, context) {
102
468
  function Link(options = {}) {
103
469
  return { type: Types.Link, version: 1, options };
104
470
  }
471
+
472
+ // src/margin/margin.ts
473
+ var import_ts_pattern7 = require("ts-pattern");
474
+ var import_zod8 = require("zod");
475
+ var marginSideDataSchema = import_zod8.z.union([
476
+ import_zod8.z.object({
477
+ value: import_zod8.z.number(),
478
+ unit: import_zod8.z.literal("px")
479
+ }),
480
+ import_zod8.z.literal("auto")
481
+ ]);
482
+ var marginDataSchema = import_zod8.z.object({
483
+ marginTop: marginSideDataSchema.nullable().optional(),
484
+ marginRight: marginSideDataSchema.nullable().optional(),
485
+ marginBottom: marginSideDataSchema.nullable().optional(),
486
+ marginLeft: marginSideDataSchema.nullable().optional()
487
+ }).transform((v) => ({
488
+ marginTop: v.marginTop,
489
+ marginRight: v.marginRight,
490
+ marginBottom: v.marginBottom,
491
+ marginLeft: v.marginLeft
492
+ }));
493
+ var responsiveMarginDataSchema = createResponsiveValueSchema(marginDataSchema);
494
+ var marginPropControllerDataV0Schema = responsiveMarginDataSchema;
495
+ var MarginPropControllerDataV1Type = "prop-controllers::margin::v1";
496
+ var marginPropControllerDataV1Schema = import_zod8.z.object({
497
+ [ControlDataTypeKey]: import_zod8.z.literal(MarginPropControllerDataV1Type),
498
+ value: responsiveMarginDataSchema
499
+ });
500
+ var marginPropControllerDataSchema = import_zod8.z.union([
501
+ marginPropControllerDataV0Schema,
502
+ marginPropControllerDataV1Schema
503
+ ]);
504
+ var MarginPropControllerFormat = {
505
+ ClassName: "makeswift::prop-controllers::margin::format::class-name",
506
+ ResponsiveValue: "makeswift::prop-controllers::margin::format::responsive-value"
507
+ };
508
+ function Margin(options = {}) {
509
+ return { type: Types.Margin, version: 1, options };
510
+ }
511
+ Margin.Format = MarginPropControllerFormat;
512
+ function getMarginPropControllerDataResponsiveMarginData(data) {
513
+ return (0, import_ts_pattern7.match)(data).with(
514
+ { [ControlDataTypeKey]: MarginPropControllerDataV1Type },
515
+ (v1) => v1.value
516
+ ).otherwise((v0) => v0);
517
+ }
518
+ function createMarginPropControllerDataFromResponsiveMarginData(responsiveMarginData, definition) {
519
+ return (0, import_ts_pattern7.match)(definition).with(
520
+ { version: 1 },
521
+ import_ts_pattern7.P.nullish,
522
+ () => ({
523
+ [ControlDataTypeKey]: MarginPropControllerDataV1Type,
524
+ value: responsiveMarginData
525
+ })
526
+ ).otherwise(() => responsiveMarginData);
527
+ }
528
+
529
+ // src/number.ts
530
+ var import_zod9 = require("zod");
531
+ var import_ts_pattern8 = require("ts-pattern");
532
+ var numberPropControllerDataV0Schema = import_zod9.z.number();
533
+ var NumberPropControllerDataV1Type = "prop-controllers::number::v1";
534
+ var numberPropControllerDataV1Schema = import_zod9.z.object({
535
+ [ControlDataTypeKey]: import_zod9.z.literal(NumberPropControllerDataV1Type),
536
+ value: import_zod9.z.number()
537
+ });
538
+ var numberPropControllerDataSchema = import_zod9.z.union([
539
+ numberPropControllerDataV0Schema,
540
+ numberPropControllerDataV1Schema
541
+ ]);
542
+ function Number(options = {}) {
543
+ return { type: Types.Number, version: 1, options };
544
+ }
545
+ function getNumberPropControllerDataNumber(data) {
546
+ return (0, import_ts_pattern8.match)(data).with(
547
+ { [ControlDataTypeKey]: NumberPropControllerDataV1Type },
548
+ (v1) => v1.value
549
+ ).otherwise((v0) => v0);
550
+ }
551
+ function createNumberPropControllerDataFromNumber(value, definition) {
552
+ return (0, import_ts_pattern8.match)(definition).with(
553
+ { version: 1 },
554
+ import_ts_pattern8.P.nullish,
555
+ () => ({
556
+ [ControlDataTypeKey]: NumberPropControllerDataV1Type,
557
+ value
558
+ })
559
+ ).otherwise(() => value);
560
+ }
561
+
562
+ // src/padding/padding.ts
563
+ var import_ts_pattern9 = require("ts-pattern");
564
+ var import_zod10 = require("zod");
565
+ var paddingSideDataSchema = import_zod10.z.object({
566
+ value: import_zod10.z.number(),
567
+ unit: import_zod10.z.literal("px")
568
+ });
569
+ var paddingDataSchema = import_zod10.z.object({
570
+ paddingTop: paddingSideDataSchema.nullable().optional(),
571
+ paddingRight: paddingSideDataSchema.nullable().optional(),
572
+ paddingBottom: paddingSideDataSchema.nullable().optional(),
573
+ paddingLeft: paddingSideDataSchema.nullable().optional()
574
+ }).transform((v) => ({
575
+ paddingTop: v.paddingTop,
576
+ paddingRight: v.paddingRight,
577
+ paddingBottom: v.paddingBottom,
578
+ paddingLeft: v.paddingLeft
579
+ }));
580
+ var responsivePaddingDataSchema = createResponsiveValueSchema(paddingDataSchema);
581
+ var paddingPropControllerDataV0Schema = responsivePaddingDataSchema;
582
+ var PaddingPropControllerDataV1Type = "prop-controllers::padding::v1";
583
+ var paddingPropControllerDataV1Schema = import_zod10.z.object({
584
+ [ControlDataTypeKey]: import_zod10.z.literal(PaddingPropControllerDataV1Type),
585
+ value: responsivePaddingDataSchema
586
+ });
587
+ var paddingPropControllerDataSchema = import_zod10.z.union([
588
+ paddingPropControllerDataV0Schema,
589
+ paddingPropControllerDataV1Schema
590
+ ]);
591
+ var PaddingPropControllerFormat = {
592
+ ClassName: "makeswift::prop-controllers::padding::format::class-name",
593
+ ResponsiveValue: "makeswift::prop-controllers::padding::format::responsive-value"
594
+ };
595
+ function Padding(options = {}) {
596
+ return { type: Types.Padding, version: 1, options };
597
+ }
598
+ Padding.Format = PaddingPropControllerFormat;
599
+ function getPaddingPropControllerDataResponsivePaddingData(data) {
600
+ return (0, import_ts_pattern9.match)(data).with(
601
+ { [ControlDataTypeKey]: PaddingPropControllerDataV1Type },
602
+ (v1) => v1.value
603
+ ).otherwise((v0) => v0);
604
+ }
605
+ function createPaddingPropControllerDataFromResponsivePaddingData(responsivePaddingData, definition) {
606
+ return (0, import_ts_pattern9.match)(definition).with(
607
+ { version: 1 },
608
+ import_ts_pattern9.P.nullish,
609
+ () => ({
610
+ [ControlDataTypeKey]: PaddingPropControllerDataV1Type,
611
+ value: responsivePaddingData
612
+ })
613
+ ).otherwise(() => responsivePaddingData);
614
+ }
615
+
616
+ // src/responsive-color.ts
617
+ var import_zod11 = require("zod");
618
+ var import_ts_pattern10 = require("ts-pattern");
619
+ var responsiveColorDataSchema = createResponsiveValueSchema(colorDataSchema);
620
+ var responsiveColorPropControllerDataV0Schema = responsiveColorDataSchema;
621
+ var ResponsiveColorPropControllerDataV1Type = "prop-controllers::responsive-color::v1";
622
+ var responsiveColorPropControllerDataV1Schema = import_zod11.z.object({
623
+ [ControlDataTypeKey]: import_zod11.z.literal(ResponsiveColorPropControllerDataV1Type),
624
+ value: responsiveColorDataSchema
625
+ });
626
+ var responsiveColorPropControllerDataSchema = import_zod11.z.union([
627
+ responsiveColorPropControllerDataV0Schema,
628
+ responsiveColorPropControllerDataV1Schema
629
+ ]);
630
+ function ResponsiveColor(options = {}) {
631
+ return { type: Types.ResponsiveColor, version: 1, options };
632
+ }
633
+ function getResponsiveColorPropControllerDataResponsiveColorData(data) {
634
+ return (0, import_ts_pattern10.match)(data).with(
635
+ { [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type },
636
+ (v1) => v1.value
637
+ ).otherwise((v0) => v0);
638
+ }
639
+ function createResponsiveColorPropControllerDataFromResponsiveColorData(definition, responsiveColorData) {
640
+ return (0, import_ts_pattern10.match)(definition).with(
641
+ { version: 1 },
642
+ () => ({
643
+ [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type,
644
+ value: responsiveColorData
645
+ })
646
+ ).otherwise(() => responsiveColorData);
647
+ }
648
+ function getResponsiveColorDataSwatchIds(data) {
649
+ return data.map((override) => override.value.swatchId);
650
+ }
651
+ function getResponsiveColorPropControllerDataSawtchIds(data) {
652
+ if (data == null)
653
+ return [];
654
+ return getResponsiveColorDataSwatchIds(
655
+ getResponsiveColorPropControllerDataResponsiveColorData(data)
656
+ );
657
+ }
658
+ function copyResponsiveColorData(data, context) {
659
+ return data.map((override) => ({
660
+ ...override,
661
+ value: copyColorValue(override.value)
662
+ }));
663
+ function copyColorValue(colorValue) {
664
+ return {
665
+ ...colorValue,
666
+ swatchId: context.replacementContext.swatchIds.get(colorValue.swatchId) ?? colorValue.swatchId
667
+ };
668
+ }
669
+ }
670
+ function copyResponsiveColorPropControllerData(data, context) {
671
+ return (0, import_ts_pattern10.match)(data).with(void 0, () => void 0).with(
672
+ { [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type },
673
+ (v1) => ({
674
+ [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type,
675
+ value: copyResponsiveColorData(v1.value, context)
676
+ })
677
+ ).otherwise((v0) => copyResponsiveColorData(v0, context));
678
+ }
679
+
680
+ // src/responsive-length.ts
681
+ var import_zod12 = require("zod");
682
+ var import_ts_pattern11 = require("ts-pattern");
683
+ var responsiveLengthDataSchema = createResponsiveValueSchema(lengthDataSchema);
684
+ var responsiveLengthPropControllerDataV0Schema = responsiveLengthDataSchema;
685
+ var ResponsiveLengthPropControllerDataV1Type = "prop-controllers::responsive-length::v1";
686
+ var responsiveLengthPropControllerDataV1Schema = import_zod12.z.object({
687
+ [ControlDataTypeKey]: import_zod12.z.literal(ResponsiveLengthPropControllerDataV1Type),
688
+ value: responsiveLengthDataSchema
689
+ });
690
+ var responsiveLengthPropControllerDataSchema = import_zod12.z.union([
691
+ responsiveLengthPropControllerDataV0Schema,
692
+ responsiveLengthPropControllerDataV1Schema
693
+ ]);
694
+ function ResponsiveLength(options = {}) {
695
+ return { type: Types.ResponsiveLength, version: 1, options };
696
+ }
697
+ function getResponsiveLengthPropControllerDataResponsiveLengthData(data) {
698
+ return (0, import_ts_pattern11.match)(data).with(
699
+ { [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type },
700
+ (v1) => v1.value
701
+ ).otherwise((v0) => v0);
702
+ }
703
+ function createResponsiveLengthPropControllerDataFromResponsiveLengthData(definition, responsiveLengthData) {
704
+ return (0, import_ts_pattern11.match)(definition).with(
705
+ { version: 1 },
706
+ () => ({
707
+ [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,
708
+ value: responsiveLengthData
709
+ })
710
+ ).otherwise(() => responsiveLengthData);
711
+ }
712
+
713
+ // src/shadows.ts
714
+ var import_ts_pattern12 = require("ts-pattern");
715
+ var import_zod13 = require("zod");
716
+ var shadowDataSchema = import_zod13.z.object({
717
+ color: colorDataSchema.nullable().optional(),
718
+ blurRadius: import_zod13.z.number().optional(),
719
+ spreadRadius: import_zod13.z.number().optional(),
720
+ offsetX: import_zod13.z.number().optional(),
721
+ offsetY: import_zod13.z.number().optional(),
722
+ inset: import_zod13.z.boolean().optional()
723
+ });
724
+ var shadowsDataSchema = import_zod13.z.array(
725
+ import_zod13.z.object({
726
+ id: import_zod13.z.string(),
727
+ payload: shadowDataSchema
728
+ })
729
+ );
730
+ var responsiveShadowsDataSchema = createResponsiveValueSchema(shadowsDataSchema);
731
+ var shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema;
732
+ var ShadowsPropControllerDataV1Type = "prop-controllers::shadows::v1";
733
+ var shadowsPropControllerDataV1Schema = import_zod13.z.object({
734
+ [ControlDataTypeKey]: import_zod13.z.literal(ShadowsPropControllerDataV1Type),
735
+ value: responsiveShadowsDataSchema
736
+ });
737
+ var shadowsPropControllerDataSchema = import_zod13.z.union([
738
+ shadowsPropControllerDataV0Schema,
739
+ shadowsPropControllerDataV1Schema
740
+ ]);
741
+ var ShadowsPropControllerFormat = {
742
+ ClassName: "makeswift::prop-controllers::shadows::format::class-name",
743
+ ResponsiveValue: "makeswift::prop-controllers::shadows::format::responsive-value"
744
+ };
745
+ function Shadows(options = {}) {
746
+ return { type: Types.Shadows, version: 1, options };
747
+ }
748
+ Shadows.Format = ShadowsPropControllerFormat;
749
+ function getShadowsPropControllerDataResponsiveShadowsData(data) {
750
+ return (0, import_ts_pattern12.match)(data).with(
751
+ { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },
752
+ (v1) => v1.value
753
+ ).otherwise((v0) => v0);
754
+ }
755
+ function createShadowsPropControllerDataFromResponsiveShadowsData(definition, responsiveShadowsData) {
756
+ return (0, import_ts_pattern12.match)(definition).with(
757
+ { version: 1 },
758
+ () => ({
759
+ [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,
760
+ value: responsiveShadowsData
761
+ })
762
+ ).otherwise(() => responsiveShadowsData);
763
+ }
764
+ function getShadowsPropControllerDataSwatchIds(data) {
765
+ return getShadowsPropControllerDataResponsiveShadowsData(data)?.flatMap((override) => override.value).map((item) => item.payload.color?.swatchId).filter(
766
+ (swatchId) => swatchId != null
767
+ ) ?? [];
768
+ }
769
+ function copyResponsiveShadowsData(data, context) {
770
+ return data.map((override) => ({
771
+ ...override,
772
+ value: override.value.map((item) => {
773
+ const { color } = item.payload;
774
+ if (color == null)
775
+ return item;
776
+ return {
777
+ ...item,
778
+ payload: {
779
+ ...item.payload,
780
+ color: {
781
+ ...color,
782
+ swatchId: context.replacementContext.swatchIds.get(color.swatchId) ?? color.swatchId
783
+ }
784
+ }
785
+ };
786
+ })
787
+ }));
788
+ }
789
+ function copyShadowsPropControllerData(data, context) {
790
+ return (0, import_ts_pattern12.match)(data).with(void 0, () => void 0).with(
791
+ { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },
792
+ (v1) => ({
793
+ [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,
794
+ value: copyResponsiveShadowsData(v1.value, context)
795
+ })
796
+ ).otherwise((v0) => copyResponsiveShadowsData(v0, context));
797
+ }
798
+
799
+ // src/table/table.ts
800
+ var import_zod14 = require("zod");
801
+ var import_ts_pattern13 = require("ts-pattern");
802
+ var tableIdSchema = import_zod14.z.string();
803
+ var tablePropControllerDataV0Schema = tableIdSchema;
804
+ var TablePropControllerDataV1Type = "prop-controllers::table::v1";
805
+ var tablePropControllerDataV1Schema = import_zod14.z.object({
806
+ [ControlDataTypeKey]: import_zod14.z.literal(TablePropControllerDataV1Type),
807
+ value: tableIdSchema
808
+ });
809
+ var tablePropControllerDataSchema = import_zod14.z.union([
810
+ tablePropControllerDataV0Schema,
811
+ tablePropControllerDataV1Schema
812
+ ]);
813
+ function Table(options = {}) {
814
+ return { type: Types.Table, version: 1, options };
815
+ }
816
+ function getTablePropControllerDataTableId(data) {
817
+ return (0, import_ts_pattern13.match)(data).with(
818
+ { [ControlDataTypeKey]: TablePropControllerDataV1Type },
819
+ (v1) => v1.value
820
+ ).otherwise((v0) => v0);
821
+ }
822
+ function createTablePropControllerDataFromTableId(value, definition) {
823
+ return (0, import_ts_pattern13.match)(definition).with(
824
+ { version: 1 },
825
+ import_ts_pattern13.P.nullish,
826
+ () => ({
827
+ [ControlDataTypeKey]: TablePropControllerDataV1Type,
828
+ value
829
+ })
830
+ ).otherwise(() => value);
831
+ }
832
+ function copyTableId(data, context) {
833
+ if (data == null)
834
+ return data;
835
+ return context.replacementContext.tableIds.get(data) ?? data;
836
+ }
837
+ function copyTablePropControllerData(data, context) {
838
+ return (0, import_ts_pattern13.match)(data).with(void 0, () => void 0).with(
839
+ { [ControlDataTypeKey]: TablePropControllerDataV1Type },
840
+ (v1) => ({
841
+ [ControlDataTypeKey]: TablePropControllerDataV1Type,
842
+ value: copyTableId(v1.value, context)
843
+ })
844
+ ).otherwise((v0) => copyTableId(v0, context));
845
+ }
846
+ function getTablePropControllerDataTableIds(data) {
847
+ const value = getTablePropControllerDataTableId(data);
848
+ return value ? [value] : [];
849
+ }
850
+
851
+ // src/width/width.ts
852
+ var import_ts_pattern14 = require("ts-pattern");
853
+ var import_zod15 = require("zod");
854
+ var widthPropControllerDataV0Schema = responsiveLengthDataSchema;
855
+ var WidthPropControllerDataV1Type = "prop-controllers::width::v1";
856
+ var widthPropControllerDataV1Schema = import_zod15.z.object({
857
+ [ControlDataTypeKey]: import_zod15.z.literal(WidthPropControllerDataV1Type),
858
+ value: responsiveLengthDataSchema
859
+ });
860
+ var widthPropControllerDataSchema = import_zod15.z.union([
861
+ widthPropControllerDataV0Schema,
862
+ widthPropControllerDataV1Schema
863
+ ]);
864
+ var WidthPropControllerFormat = {
865
+ ClassName: "makeswift::prop-controllers::width::format::class-name",
866
+ ResponsiveValue: "makeswift::prop-controllers::width::format::responsive-value"
867
+ };
868
+ function Width(options = {}) {
869
+ return { type: Types.Width, version: 1, options };
870
+ }
871
+ Width.Format = WidthPropControllerFormat;
872
+ function getWidthPropControllerDataResponsiveLengthData(data) {
873
+ return (0, import_ts_pattern14.match)(data).with(
874
+ { [ControlDataTypeKey]: WidthPropControllerDataV1Type },
875
+ (v1) => v1.value
876
+ ).otherwise((v0) => v0);
877
+ }
878
+ function createWidthPropControllerDataFromResponsiveLengthData(responsiveLengthData, definition) {
879
+ return (0, import_ts_pattern14.match)(definition).with(
880
+ { version: 1 },
881
+ import_ts_pattern14.P.nullish,
882
+ () => ({
883
+ [ControlDataTypeKey]: WidthPropControllerDataV1Type,
884
+ value: responsiveLengthData
885
+ })
886
+ ).otherwise(() => responsiveLengthData);
887
+ }
888
+
889
+ // src/video/video.ts
890
+ var import_zod16 = require("zod");
891
+ var import_ts_pattern15 = require("ts-pattern");
892
+ var videoDataSchema = import_zod16.z.object({
893
+ url: import_zod16.z.string().optional(),
894
+ muted: import_zod16.z.boolean().optional(),
895
+ playing: import_zod16.z.boolean().optional(),
896
+ loop: import_zod16.z.boolean().optional(),
897
+ controls: import_zod16.z.boolean().optional()
898
+ });
899
+ var videoPropControllerDataV0Schema = videoDataSchema;
900
+ var VideoPropControllerDataV1Type = "prop-controllers::video::v1";
901
+ var videoPropControllerDataV1Schema = import_zod16.z.object({
902
+ [ControlDataTypeKey]: import_zod16.z.literal(VideoPropControllerDataV1Type),
903
+ value: videoDataSchema
904
+ });
905
+ var videoPropControllerDataSchema = import_zod16.z.union([
906
+ videoPropControllerDataV1Schema,
907
+ videoPropControllerDataV0Schema
908
+ ]);
909
+ function Video(options = {}) {
910
+ return { type: Types.Video, version: 1, options };
911
+ }
912
+ function getVideoPropControllerDataVideoData(data) {
913
+ return (0, import_ts_pattern15.match)(data).with(
914
+ { [ControlDataTypeKey]: VideoPropControllerDataV1Type },
915
+ (v1) => v1.value
916
+ ).otherwise((v0) => v0);
917
+ }
918
+ function createVideoPropControllerDataFromVideoData(value, definition) {
919
+ return (0, import_ts_pattern15.match)(definition).with(
920
+ { version: 1 },
921
+ import_ts_pattern15.P.nullish,
922
+ () => ({
923
+ [ControlDataTypeKey]: VideoPropControllerDataV1Type,
924
+ value
925
+ })
926
+ ).otherwise(() => value);
927
+ }
105
928
  // Annotate the CommonJS export names for ESM import in node:
106
929
  0 && (module.exports = {
930
+ Border,
931
+ BorderPropControllerFormat,
932
+ BorderRadius,
933
+ BorderRadiusPropControllerFormat,
934
+ Checkbox,
107
935
  ControlDataTypeKey,
936
+ Date,
937
+ Font,
108
938
  Link,
109
939
  LinkPropControllerDataV1Type,
940
+ Margin,
941
+ MarginPropControllerFormat,
942
+ Number,
943
+ Padding,
944
+ PaddingPropControllerFormat,
945
+ ResponsiveColor,
946
+ ResponsiveLength,
947
+ ResponsiveLengthPropControllerDataV1Type,
948
+ Shadows,
949
+ Table,
110
950
  Types,
951
+ Video,
952
+ Width,
953
+ WidthPropControllerFormat,
954
+ borderPropControllerDataSchema,
955
+ borderRadiusPropControllerDataSchema,
956
+ checkboxPropControllerDataSchema,
957
+ copyBorderPropControllerData,
111
958
  copyLinkPropControllerData,
959
+ copyResponsiveColorPropControllerData,
960
+ copyShadowsPropControllerData,
961
+ copyTablePropControllerData,
962
+ createBorderPropControllerDataFromResponsiveBorderData,
963
+ createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData,
964
+ createCheckboxPropControllerDataFromBoolean,
965
+ createDatePropControllerDataFromString,
966
+ createFontPropControllerDataFromResponsiveFontData,
967
+ createMarginPropControllerDataFromResponsiveMarginData,
968
+ createNumberPropControllerDataFromNumber,
969
+ createPaddingPropControllerDataFromResponsivePaddingData,
970
+ createResponsiveColorPropControllerDataFromResponsiveColorData,
971
+ createResponsiveLengthPropControllerDataFromResponsiveLengthData,
972
+ createResponsiveValueSchema,
973
+ createShadowsPropControllerDataFromResponsiveShadowsData,
974
+ createTablePropControllerDataFromTableId,
975
+ createVideoPropControllerDataFromVideoData,
976
+ createWidthPropControllerDataFromResponsiveLengthData,
977
+ datePropControllerDataSchema,
978
+ fontPropControllerDataSchema,
979
+ getBorderPropControllerDataResponsiveBorderData,
980
+ getBorderPropControllerDataSwatchIds,
981
+ getBorderRadiusPropControllerDataResponsiveBorderRadiusData,
982
+ getCheckboxPropControllerDataBoolean,
983
+ getDatePropControllerDataString,
984
+ getFontPropControllerDataResponsiveFontData,
112
985
  getLinkPropControllerPageIds,
113
- getLinkPropControllerValue
986
+ getLinkPropControllerValue,
987
+ getMarginPropControllerDataResponsiveMarginData,
988
+ getNumberPropControllerDataNumber,
989
+ getPaddingPropControllerDataResponsivePaddingData,
990
+ getResponsiveColorDataSwatchIds,
991
+ getResponsiveColorPropControllerDataResponsiveColorData,
992
+ getResponsiveColorPropControllerDataSawtchIds,
993
+ getResponsiveLengthPropControllerDataResponsiveLengthData,
994
+ getShadowsPropControllerDataResponsiveShadowsData,
995
+ getShadowsPropControllerDataSwatchIds,
996
+ getTablePropControllerDataTableId,
997
+ getTablePropControllerDataTableIds,
998
+ getVideoPropControllerDataVideoData,
999
+ getWidthPropControllerDataResponsiveLengthData,
1000
+ marginPropControllerDataSchema,
1001
+ numberPropControllerDataSchema,
1002
+ paddingPropControllerDataSchema,
1003
+ responsiveColorPropControllerDataSchema,
1004
+ responsiveLengthPropControllerDataSchema,
1005
+ shadowsPropControllerDataSchema,
1006
+ tablePropControllerDataSchema,
1007
+ videoPropControllerDataSchema,
1008
+ widthPropControllerDataSchema
114
1009
  });