@makeswift/prop-controllers 0.0.0-snapshot-20250609222912 → 0.0.0-snapshot-20250609224353

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 (87) hide show
  1. package/dist/cjs/backgrounds/backgrounds.js +6 -3
  2. package/dist/cjs/backgrounds/backgrounds.js.map +1 -1
  3. package/dist/cjs/border/border.js +2 -1
  4. package/dist/cjs/border/border.js.map +1 -1
  5. package/dist/cjs/element-id/element-id.js +6 -3
  6. package/dist/cjs/element-id/element-id.js.map +1 -1
  7. package/dist/cjs/grid/grid.js +2 -1
  8. package/dist/cjs/grid/grid.js.map +1 -1
  9. package/dist/cjs/image/image.js +2 -1
  10. package/dist/cjs/image/image.js.map +1 -1
  11. package/dist/cjs/images/images.js +4 -2
  12. package/dist/cjs/images/images.js.map +1 -1
  13. package/dist/cjs/index.js +12 -12
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/link/link.js +10 -5
  16. package/dist/cjs/link/link.js.map +1 -1
  17. package/dist/cjs/navigation-links/navigation-links.js +8 -4
  18. package/dist/cjs/navigation-links/navigation-links.js.map +1 -1
  19. package/dist/cjs/responsive-color/responsive-color.js +2 -1
  20. package/dist/cjs/responsive-color/responsive-color.js.map +1 -1
  21. package/dist/cjs/shadows/shadows.js +2 -1
  22. package/dist/cjs/shadows/shadows.js.map +1 -1
  23. package/dist/cjs/table/table.js +2 -1
  24. package/dist/cjs/table/table.js.map +1 -1
  25. package/dist/cjs/table-form-fields/table-form-fields.js +2 -1
  26. package/dist/cjs/table-form-fields/table-form-fields.js.map +1 -1
  27. package/dist/esm/backgrounds/backgrounds.js +6 -3
  28. package/dist/esm/backgrounds/backgrounds.js.map +1 -1
  29. package/dist/esm/border/border.js +2 -1
  30. package/dist/esm/border/border.js.map +1 -1
  31. package/dist/esm/element-id/element-id.js +6 -3
  32. package/dist/esm/element-id/element-id.js.map +1 -1
  33. package/dist/esm/grid/grid.js +2 -1
  34. package/dist/esm/grid/grid.js.map +1 -1
  35. package/dist/esm/image/image.js +2 -1
  36. package/dist/esm/image/image.js.map +1 -1
  37. package/dist/esm/images/images.js +4 -2
  38. package/dist/esm/images/images.js.map +1 -1
  39. package/dist/esm/link/link.js +10 -5
  40. package/dist/esm/link/link.js.map +1 -1
  41. package/dist/esm/navigation-links/navigation-links.js +8 -4
  42. package/dist/esm/navigation-links/navigation-links.js.map +1 -1
  43. package/dist/esm/responsive-color/responsive-color.js +2 -1
  44. package/dist/esm/responsive-color/responsive-color.js.map +1 -1
  45. package/dist/esm/shadows/shadows.js +2 -1
  46. package/dist/esm/shadows/shadows.js.map +1 -1
  47. package/dist/esm/table/table.js +2 -1
  48. package/dist/esm/table/table.js.map +1 -1
  49. package/dist/esm/table-form-fields/table-form-fields.js +2 -1
  50. package/dist/esm/table-form-fields/table-form-fields.js.map +1 -1
  51. package/dist/types/backgrounds/backgrounds.d.ts +164 -164
  52. package/dist/types/backgrounds/backgrounds.d.ts.map +1 -1
  53. package/dist/types/border/border.d.ts.map +1 -1
  54. package/dist/types/border-radius/border-radius.d.ts.map +1 -1
  55. package/dist/types/data.d.ts.map +1 -1
  56. package/dist/types/font/font.d.ts.map +1 -1
  57. package/dist/types/gap-x/gap-x.d.ts +66 -46
  58. package/dist/types/gap-x/gap-x.d.ts.map +1 -1
  59. package/dist/types/gap-y/gap-y.d.ts.map +1 -1
  60. package/dist/types/grid/grid.d.ts +466 -466
  61. package/dist/types/grid/grid.d.ts.map +1 -1
  62. package/dist/types/image/image.d.ts +84 -4
  63. package/dist/types/image/image.d.ts.map +1 -1
  64. package/dist/types/images/images.d.ts.map +1 -1
  65. package/dist/types/link/link.d.ts.map +1 -1
  66. package/dist/types/margin/margin.d.ts.map +1 -1
  67. package/dist/types/navigation-links/navigation-links.d.ts +1118 -1118
  68. package/dist/types/navigation-links/navigation-links.d.ts.map +1 -1
  69. package/dist/types/padding/padding.d.ts.map +1 -1
  70. package/dist/types/responsive-color/responsive-color.d.ts.map +1 -1
  71. package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts +3 -3
  72. package/dist/types/responsive-length.d.ts.map +1 -1
  73. package/dist/types/responsive-number/responsive-number.d.ts +52 -52
  74. package/dist/types/responsive-number/responsive-number.d.ts.map +1 -1
  75. package/dist/types/responsive-opacity/responsive-opacity.d.ts +3 -3
  76. package/dist/types/responsive-opacity/responsive-opacity.d.ts.map +1 -1
  77. package/dist/types/responsive-select/responsive-select.d.ts +3 -3
  78. package/dist/types/shadows/shadows.d.ts.map +1 -1
  79. package/dist/types/social-links/social-links.d.ts +80 -8
  80. package/dist/types/social-links/social-links.d.ts.map +1 -1
  81. package/dist/types/table-form-fields/table-form-fields.d.ts +72 -72
  82. package/dist/types/table-form-fields/table-form-fields.d.ts.map +1 -1
  83. package/dist/types/text-style/text-style.d.ts.map +1 -1
  84. package/dist/types/versioned.d.ts +68 -68
  85. package/dist/types/versioned.d.ts.map +1 -1
  86. package/dist/types/width/width.d.ts.map +1 -1
  87. package/package.json +2 -2
@@ -36,7 +36,8 @@ var import_prop_controllers = require("../prop-controllers");
36
36
  var import_ts_pattern = require("ts-pattern");
37
37
  var import_data = require("../data");
38
38
  function copyColorData(data, context) {
39
- if (data == null) return data;
39
+ if (data == null)
40
+ return data;
40
41
  if ((0, import_controls.shouldRemoveResource)(import_controls.ContextResource.Swatch, data.swatchId, context)) {
41
42
  return null;
42
43
  }
@@ -205,7 +206,8 @@ function getBackgroundsPropControllerSwatchIds(data) {
205
206
  }) ?? [];
206
207
  }
207
208
  function copyResponsiveBackgroundsData(descriptor, data, ctx) {
208
- if (data == null) return data;
209
+ if (data == null)
210
+ return data;
209
211
  return data.map((override) => ({
210
212
  ...override,
211
213
  value: override.value.flatMap((backgroundItem) => {
@@ -288,7 +290,8 @@ function copyBackgroundsPropControllerData(descriptor, data, context) {
288
290
  v1.value,
289
291
  context
290
292
  );
291
- if (value == null) return void 0;
293
+ if (value == null)
294
+ return void 0;
292
295
  return {
293
296
  [import_prop_controllers.ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,
294
297
  value
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/backgrounds/backgrounds.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ColorData,\n colorDataSchema,\n imageDataV0Schema,\n imageDataV1Schema,\n} from '../data'\n\nfunction copyColorData(\n data: ColorData | null,\n context: CopyContext,\n): ColorData | null {\n if (data == null) return data\n if (shouldRemoveResource(ContextResource.Swatch, data.swatchId, context)) {\n return null\n }\n return {\n ...data,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n data.swatchId,\n context,\n ),\n }\n}\n\nconst colorBackgroundDataSchema = z.object({\n type: z.literal('color'),\n id: z.string(),\n payload: colorDataSchema.nullable(),\n})\n\nconst gradientStopDataSchema = z.object({\n id: z.string(),\n location: z.number(),\n color: colorDataSchema.nullable(),\n})\n\nconst gradientDataSchema = z.object({\n angle: z.number().optional(),\n isRadial: z.boolean().optional(),\n stops: z.array(gradientStopDataSchema),\n})\n\nconst gradientBackgroundDataSchema = z.object({\n type: z.literal('gradient'),\n id: z.string(),\n payload: gradientDataSchema,\n})\n\nconst backgroundImagePositionDataSchema = z.object({\n x: z.number(),\n y: z.number(),\n})\n\nconst backgroundSizeDataSchema = z.union([\n z.literal('cover'),\n z.literal('contain'),\n z.literal('auto'),\n])\n\nconst backgroundImageRepeatDataSchema = z.union([\n z.literal('no-repeat'),\n z.literal('repeat-x'),\n z.literal('repeat-y'),\n z.literal('repeat'),\n])\n\nconst backgroundImageV0DataSchema = z.object({\n imageId: imageDataV0Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nconst backgroundImageV1DataSchema = z.object({\n version: z.literal(1),\n image: imageDataV1Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nexport const backgroundImageDataSchema = z.union([\n backgroundImageV0DataSchema,\n backgroundImageV1DataSchema,\n])\n\nexport type BackgroundImageData = z.infer<typeof backgroundImageDataSchema>\n\nconst imageBackgroundV0DataSchema = z.object({\n type: z.literal('image'),\n id: z.string(),\n payload: backgroundImageV0DataSchema,\n})\n\nconst imageBackgroundV1DataSchema = z.object({\n type: z.literal('image-v1'),\n id: z.string(),\n payload: backgroundImageV1DataSchema,\n})\n\nexport const imageBackgroundDataSchema = z.union([\n imageBackgroundV0DataSchema,\n imageBackgroundV1DataSchema,\n])\n\nexport type ImageBackgroundData = z.infer<typeof imageBackgroundDataSchema>\n\nconst backgroundVideoAspectRatioDataSchema = z.union([\n z.literal('wide'),\n z.literal('standard'),\n])\n\nconst backgroundVideoDataSchema = z.object({\n url: z.string().optional(),\n maskColor: colorDataSchema.nullable().optional(),\n opacity: z.number().optional(),\n zoom: z.number().optional(),\n aspectRatio: backgroundVideoAspectRatioDataSchema.optional(),\n parallax: z.number().optional(),\n})\n\nconst videoBackgroundDataSchema = z.object({\n type: z.literal('video'),\n id: z.string(),\n payload: backgroundVideoDataSchema,\n})\n\nconst backgroundDataSchema = z.union([\n colorBackgroundDataSchema,\n gradientBackgroundDataSchema,\n imageBackgroundDataSchema,\n videoBackgroundDataSchema,\n])\n\nexport type BackgroundData = z.infer<typeof backgroundDataSchema>\n\nconst responsiveBackgroundsDataSchema = Schema.responsiveValue(\n z.array(backgroundDataSchema),\n)\n\nexport type ResponsiveBackgroundsData = z.infer<\n typeof responsiveBackgroundsDataSchema\n>\n\nconst backgroundsPropControllerDataV1Schema = responsiveBackgroundsDataSchema\n\nexport type BackgroundsPropControllerDataV1 = z.infer<\n typeof backgroundsPropControllerDataV1Schema\n>\n\nexport const BackgroundsPropControllerDataV2Type =\n 'prop-controllers::backgrounds::v2'\n\nconst backgroundsPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(BackgroundsPropControllerDataV2Type),\n value: responsiveBackgroundsDataSchema,\n})\n\nexport type BackgroundsPropControllerDataV2 = z.infer<\n typeof backgroundsPropControllerDataV2Schema\n>\n\nexport const backgroundsPropControllerDataSchema = z.union([\n backgroundsPropControllerDataV1Schema,\n backgroundsPropControllerDataV2Schema,\n])\n\nexport type BackgroundsPropControllerData = z.infer<\n typeof backgroundsPropControllerDataSchema\n>\n\nexport type BackgroundsOptions = Options<Record<string, never>>\n\ntype BackgroundsDescriptorV1<_T = BackgroundsPropControllerDataV1> = {\n type: typeof Types.Backgrounds\n version?: 1\n options: BackgroundsOptions\n}\n\ntype BackgroundsDescriptorV2<_T = BackgroundsPropControllerData> = {\n type: typeof Types.Backgrounds\n version: 2\n options: BackgroundsOptions\n}\n\nexport type BackgroundsDescriptor<_T = BackgroundsPropControllerData> =\n | BackgroundsDescriptorV1\n | BackgroundsDescriptorV2\n\nexport type ResolveBackgroundsPropControllerValue<\n T extends BackgroundsDescriptor,\n> = T extends BackgroundsDescriptor\n ? ResponsiveBackgroundsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Backgrounds(\n options: BackgroundsOptions = {},\n): BackgroundsDescriptorV2 {\n return { type: Types.Backgrounds, version: 2, options }\n}\n\nexport function getBackgroundsPropControllerDataResponsiveBackgroundsData(\n data: BackgroundsPropControllerData | undefined,\n): ResponsiveBackgroundsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBackgroundsPropControllerDataFromResponsiveBackgroundsData(\n data: ResponsiveBackgroundsData,\n definition: BackgroundsDescriptor,\n): BackgroundsPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value: data,\n }) as const,\n )\n .otherwise(() => data)\n}\n\nexport function getBackgroundsPropControllerFileIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n return match(backgroundItem)\n .with(\n {\n type: 'image-v1',\n payload: { image: { type: 'makeswift-file' } },\n },\n (item) => [item.payload.image.id],\n )\n .with({ type: 'image', payload: { imageId: P.string } }, (item) => [\n item.payload.imageId,\n ])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getBackgroundsPropControllerSwatchIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null\n ? []\n : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap((stop) =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nfunction copyResponsiveBackgroundsData(\n descriptor: BackgroundsDescriptor,\n data: ResponsiveBackgroundsData | undefined,\n ctx: CopyContext,\n): ResponsiveBackgroundsData | undefined {\n if (data == null) return data\n\n return data.map((override) => ({\n ...override,\n value: override.value.flatMap((backgroundItem) => {\n return match([descriptor, backgroundItem])\n .with([P.any, { type: 'color' }], ([, item]) => {\n return { ...item, payload: copyColorData(item.payload, ctx) }\n })\n .with([P.any, { type: 'gradient' }], ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n stops: item.payload.stops.map((stop) => ({\n ...stop,\n color: copyColorData(stop.color, ctx),\n })),\n },\n }\n })\n .with(\n [\n { version: P.when((v) => v && v >= 1) },\n {\n type: 'image-v1',\n payload: { version: 1, image: { type: 'makeswift-file' } },\n },\n ],\n ([, item]) => {\n if (\n shouldRemoveResource(\n ContextResource.File,\n item.payload.image.id,\n ctx,\n )\n ) {\n return []\n }\n\n return {\n ...item,\n payload: {\n ...item.payload,\n image: {\n ...item.payload.image,\n id:\n replaceResourceIfNeeded(\n ContextResource.File,\n item.payload.image.id,\n ctx,\n ) ?? item.payload.image.id,\n },\n },\n }\n },\n )\n .with(\n [P.any, { type: 'image', payload: { imageId: P.string } }],\n ([, item]) => {\n if (\n shouldRemoveResource(\n ContextResource.File,\n item.payload.imageId,\n ctx,\n )\n ) {\n return []\n }\n\n return {\n ...item,\n payload: {\n ...item.payload,\n imageId:\n replaceResourceIfNeeded(\n ContextResource.File,\n item.payload.imageId,\n ctx,\n ) ?? item.payload.imageId,\n },\n }\n },\n )\n .otherwise(() => backgroundItem)\n }),\n }))\n}\n\nexport function copyBackgroundsPropControllerData(\n descriptor: BackgroundsDescriptor,\n data: BackgroundsPropControllerData | undefined,\n context: CopyContext,\n): BackgroundsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v1) => {\n const value = copyResponsiveBackgroundsData(\n descriptor,\n v1.value,\n context,\n )\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value,\n } as const\n },\n )\n .otherwise((v0) => copyResponsiveBackgroundsData(descriptor, v0, context))\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/backgrounds/backgrounds.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ColorData,\n colorDataSchema,\n imageDataV0Schema,\n imageDataV1Schema,\n} from '../data'\n\nfunction copyColorData(\n data: ColorData | null,\n context: CopyContext,\n): ColorData | null {\n if (data == null) return data\n if (shouldRemoveResource(ContextResource.Swatch, data.swatchId, context)) {\n return null\n }\n return {\n ...data,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n data.swatchId,\n context,\n ),\n }\n}\n\nconst colorBackgroundDataSchema = z.object({\n type: z.literal('color'),\n id: z.string(),\n payload: colorDataSchema.nullable(),\n})\n\nconst gradientStopDataSchema = z.object({\n id: z.string(),\n location: z.number(),\n color: colorDataSchema.nullable(),\n})\n\nconst gradientDataSchema = z.object({\n angle: z.number().optional(),\n isRadial: z.boolean().optional(),\n stops: z.array(gradientStopDataSchema),\n})\n\nconst gradientBackgroundDataSchema = z.object({\n type: z.literal('gradient'),\n id: z.string(),\n payload: gradientDataSchema,\n})\n\nconst backgroundImagePositionDataSchema = z.object({\n x: z.number(),\n y: z.number(),\n})\n\nconst backgroundSizeDataSchema = z.union([\n z.literal('cover'),\n z.literal('contain'),\n z.literal('auto'),\n])\n\nconst backgroundImageRepeatDataSchema = z.union([\n z.literal('no-repeat'),\n z.literal('repeat-x'),\n z.literal('repeat-y'),\n z.literal('repeat'),\n])\n\nconst backgroundImageV0DataSchema = z.object({\n imageId: imageDataV0Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nconst backgroundImageV1DataSchema = z.object({\n version: z.literal(1),\n image: imageDataV1Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nexport const backgroundImageDataSchema = z.union([\n backgroundImageV0DataSchema,\n backgroundImageV1DataSchema,\n])\n\nexport type BackgroundImageData = z.infer<typeof backgroundImageDataSchema>\n\nconst imageBackgroundV0DataSchema = z.object({\n type: z.literal('image'),\n id: z.string(),\n payload: backgroundImageV0DataSchema,\n})\n\nconst imageBackgroundV1DataSchema = z.object({\n type: z.literal('image-v1'),\n id: z.string(),\n payload: backgroundImageV1DataSchema,\n})\n\nexport const imageBackgroundDataSchema = z.union([\n imageBackgroundV0DataSchema,\n imageBackgroundV1DataSchema,\n])\n\nexport type ImageBackgroundData = z.infer<typeof imageBackgroundDataSchema>\n\nconst backgroundVideoAspectRatioDataSchema = z.union([\n z.literal('wide'),\n z.literal('standard'),\n])\n\nconst backgroundVideoDataSchema = z.object({\n url: z.string().optional(),\n maskColor: colorDataSchema.nullable().optional(),\n opacity: z.number().optional(),\n zoom: z.number().optional(),\n aspectRatio: backgroundVideoAspectRatioDataSchema.optional(),\n parallax: z.number().optional(),\n})\n\nconst videoBackgroundDataSchema = z.object({\n type: z.literal('video'),\n id: z.string(),\n payload: backgroundVideoDataSchema,\n})\n\nconst backgroundDataSchema = z.union([\n colorBackgroundDataSchema,\n gradientBackgroundDataSchema,\n imageBackgroundDataSchema,\n videoBackgroundDataSchema,\n])\n\nexport type BackgroundData = z.infer<typeof backgroundDataSchema>\n\nconst responsiveBackgroundsDataSchema = Schema.responsiveValue(\n z.array(backgroundDataSchema),\n)\n\nexport type ResponsiveBackgroundsData = z.infer<\n typeof responsiveBackgroundsDataSchema\n>\n\nconst backgroundsPropControllerDataV1Schema = responsiveBackgroundsDataSchema\n\nexport type BackgroundsPropControllerDataV1 = z.infer<\n typeof backgroundsPropControllerDataV1Schema\n>\n\nexport const BackgroundsPropControllerDataV2Type =\n 'prop-controllers::backgrounds::v2'\n\nconst backgroundsPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(BackgroundsPropControllerDataV2Type),\n value: responsiveBackgroundsDataSchema,\n})\n\nexport type BackgroundsPropControllerDataV2 = z.infer<\n typeof backgroundsPropControllerDataV2Schema\n>\n\nexport const backgroundsPropControllerDataSchema = z.union([\n backgroundsPropControllerDataV1Schema,\n backgroundsPropControllerDataV2Schema,\n])\n\nexport type BackgroundsPropControllerData = z.infer<\n typeof backgroundsPropControllerDataSchema\n>\n\nexport type BackgroundsOptions = Options<Record<string, never>>\n\ntype BackgroundsDescriptorV1<_T = BackgroundsPropControllerDataV1> = {\n type: typeof Types.Backgrounds\n version?: 1\n options: BackgroundsOptions\n}\n\ntype BackgroundsDescriptorV2<_T = BackgroundsPropControllerData> = {\n type: typeof Types.Backgrounds\n version: 2\n options: BackgroundsOptions\n}\n\nexport type BackgroundsDescriptor<_T = BackgroundsPropControllerData> =\n | BackgroundsDescriptorV1\n | BackgroundsDescriptorV2\n\nexport type ResolveBackgroundsPropControllerValue<\n T extends BackgroundsDescriptor,\n> = T extends BackgroundsDescriptor\n ? ResponsiveBackgroundsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Backgrounds(\n options: BackgroundsOptions = {},\n): BackgroundsDescriptorV2 {\n return { type: Types.Backgrounds, version: 2, options }\n}\n\nexport function getBackgroundsPropControllerDataResponsiveBackgroundsData(\n data: BackgroundsPropControllerData | undefined,\n): ResponsiveBackgroundsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBackgroundsPropControllerDataFromResponsiveBackgroundsData(\n data: ResponsiveBackgroundsData,\n definition: BackgroundsDescriptor,\n): BackgroundsPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value: data,\n }) as const,\n )\n .otherwise(() => data)\n}\n\nexport function getBackgroundsPropControllerFileIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n return match(backgroundItem)\n .with(\n {\n type: 'image-v1',\n payload: { image: { type: 'makeswift-file' } },\n },\n (item) => [item.payload.image.id],\n )\n .with({ type: 'image', payload: { imageId: P.string } }, (item) => [\n item.payload.imageId,\n ])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getBackgroundsPropControllerSwatchIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null\n ? []\n : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap((stop) =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nfunction copyResponsiveBackgroundsData(\n descriptor: BackgroundsDescriptor,\n data: ResponsiveBackgroundsData | undefined,\n ctx: CopyContext,\n): ResponsiveBackgroundsData | undefined {\n if (data == null) return data\n\n return data.map((override) => ({\n ...override,\n value: override.value.flatMap((backgroundItem) => {\n return match([descriptor, backgroundItem])\n .with([P.any, { type: 'color' }], ([, item]) => {\n return { ...item, payload: copyColorData(item.payload, ctx) }\n })\n .with([P.any, { type: 'gradient' }], ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n stops: item.payload.stops.map((stop) => ({\n ...stop,\n color: copyColorData(stop.color, ctx),\n })),\n },\n }\n })\n .with(\n [\n { version: P.when((v) => v && v >= 1) },\n {\n type: 'image-v1',\n payload: { version: 1, image: { type: 'makeswift-file' } },\n },\n ],\n ([, item]) => {\n if (\n shouldRemoveResource(\n ContextResource.File,\n item.payload.image.id,\n ctx,\n )\n ) {\n return []\n }\n\n return {\n ...item,\n payload: {\n ...item.payload,\n image: {\n ...item.payload.image,\n id:\n replaceResourceIfNeeded(\n ContextResource.File,\n item.payload.image.id,\n ctx,\n ) ?? item.payload.image.id,\n },\n },\n }\n },\n )\n .with(\n [P.any, { type: 'image', payload: { imageId: P.string } }],\n ([, item]) => {\n if (\n shouldRemoveResource(\n ContextResource.File,\n item.payload.imageId,\n ctx,\n )\n ) {\n return []\n }\n\n return {\n ...item,\n payload: {\n ...item.payload,\n imageId:\n replaceResourceIfNeeded(\n ContextResource.File,\n item.payload.imageId,\n ctx,\n ) ?? item.payload.imageId,\n },\n }\n },\n )\n .otherwise(() => backgroundItem)\n }),\n }))\n}\n\nexport function copyBackgroundsPropControllerData(\n descriptor: BackgroundsDescriptor,\n data: BackgroundsPropControllerData | undefined,\n context: CopyContext,\n): BackgroundsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v1) => {\n const value = copyResponsiveBackgroundsData(\n descriptor,\n v1.value,\n context,\n )\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value,\n } as const\n },\n )\n .otherwise((v0) => copyResponsiveBackgroundsData(descriptor, v0, context))\n}\n"],"mappings":"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","names":[]}
@@ -98,7 +98,8 @@ function copyResponsiveBorderData(data, context) {
98
98
  }
99
99
  function copyBorderSide(borderSide) {
100
100
  const { color } = borderSide;
101
- if (color == null) return borderSide;
101
+ if (color == null)
102
+ return borderSide;
102
103
  if ((0, import_controls.shouldRemoveResource)(import_controls.ContextResource.Swatch, color.swatchId, context)) {
103
104
  return void 0;
104
105
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/border/border.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n BorderData,\n BorderSideData,\n StyleSchema,\n shouldRemoveResource,\n replaceResourceIfNeeded,\n ContextResource,\n} from '@makeswift/controls'\n\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\n\nimport { z } from 'zod'\n\nconst responsiveBorderDataSchema = Schema.responsiveValue(StyleSchema.border)\n\nexport type ResponsiveBorderData = z.infer<typeof responsiveBorderDataSchema>\n\nconst borderPropControllerDataV0Schema = responsiveBorderDataSchema\n\nexport type BorderPropControllerDataV0 = z.infer<\n typeof borderPropControllerDataV0Schema\n>\n\nexport const BorderPropControllerDataV1Type = 'prop-controllers::border::v1'\n\nconst borderPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(BorderPropControllerDataV1Type),\n value: responsiveBorderDataSchema,\n})\n\nexport type BorderPropControllerDataV1 = z.infer<\n typeof borderPropControllerDataV1Schema\n>\n\nexport const borderPropControllerDataSchema = z.union([\n borderPropControllerDataV0Schema,\n borderPropControllerDataV1Schema,\n])\n\nexport type BorderPropControllerData = z.infer<\n typeof borderPropControllerDataSchema\n>\n\nexport const BorderPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::border::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::border::format::responsive-value',\n} as const\n\nexport type BorderPropControllerFormat =\n (typeof BorderPropControllerFormat)[keyof typeof BorderPropControllerFormat]\n\ntype BorderOptions = { format?: BorderPropControllerFormat }\n\ntype BorderDescriptorV0<\n _T = BorderPropControllerDataV0,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n options: U\n}\n\ntype BorderDescriptorV1<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n version: 1\n options: U\n}\n\nexport type BorderDescriptor<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = BorderDescriptorV0<_T, U> | BorderDescriptorV1<_T, U>\n\nexport type ResolveBorderPropControllerValue<T extends BorderDescriptor> =\n T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveBorderData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? ResponsiveBorderData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Border<T extends BorderOptions>(\n options: T & BorderOptions = {} as T,\n): BorderDescriptor<BorderPropControllerData, T> {\n return { type: Types.Border, version: 1, options }\n}\n\nBorder.Format = BorderPropControllerFormat\n\nexport function getBorderPropControllerDataResponsiveBorderData(\n data: BorderPropControllerData | undefined,\n): ResponsiveBorderData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBorderPropControllerDataFromResponsiveBorderData(\n definition: BorderDescriptor,\n responsiveBorderData: ResponsiveBorderData,\n): BorderPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: responsiveBorderData,\n }) as const,\n )\n .otherwise(() => responsiveBorderData)\n}\n\nexport function getBorderPropControllerDataSwatchIds(\n data: BorderPropControllerData | undefined,\n): string[] {\n return (\n getBorderPropControllerDataResponsiveBorderData(data)\n ?.flatMap((override) => override.value)\n .flatMap((borderValue) => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n )\n }) ?? []\n )\n}\n\nfunction copyResponsiveBorderData(\n data: ResponsiveBorderData,\n context: CopyContext,\n): ResponsiveBorderData {\n return data.map((override) => ({\n ...override,\n value: copyBorderValue(override.value),\n }))\n\n function copyBorderValue({\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n }: BorderData): BorderData {\n return {\n borderTop: borderTop && copyBorderSide(borderTop),\n borderRight: borderRight && copyBorderSide(borderRight),\n borderBottom: borderBottom && copyBorderSide(borderBottom),\n borderLeft: borderLeft && copyBorderSide(borderLeft),\n }\n }\n\n function copyBorderSide(\n borderSide: BorderSideData,\n ): BorderSideData | undefined {\n const { color } = borderSide\n\n if (color == null) return borderSide\n if (shouldRemoveResource(ContextResource.Swatch, color.swatchId, context)) {\n return undefined\n }\n\n return {\n ...borderSide,\n color: {\n ...color,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n color.swatchId,\n context,\n ),\n },\n }\n }\n}\n\nexport function copyBorderPropControllerData(\n data: BorderPropControllerData | undefined,\n context: CopyContext,\n): BorderPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: copyResponsiveBorderData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveBorderData(v0, context))\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/border/border.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n BorderData,\n BorderSideData,\n StyleSchema,\n shouldRemoveResource,\n replaceResourceIfNeeded,\n ContextResource,\n} from '@makeswift/controls'\n\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\n\nimport { z } from 'zod'\n\nconst responsiveBorderDataSchema = Schema.responsiveValue(StyleSchema.border)\n\nexport type ResponsiveBorderData = z.infer<typeof responsiveBorderDataSchema>\n\nconst borderPropControllerDataV0Schema = responsiveBorderDataSchema\n\nexport type BorderPropControllerDataV0 = z.infer<\n typeof borderPropControllerDataV0Schema\n>\n\nexport const BorderPropControllerDataV1Type = 'prop-controllers::border::v1'\n\nconst borderPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(BorderPropControllerDataV1Type),\n value: responsiveBorderDataSchema,\n})\n\nexport type BorderPropControllerDataV1 = z.infer<\n typeof borderPropControllerDataV1Schema\n>\n\nexport const borderPropControllerDataSchema = z.union([\n borderPropControllerDataV0Schema,\n borderPropControllerDataV1Schema,\n])\n\nexport type BorderPropControllerData = z.infer<\n typeof borderPropControllerDataSchema\n>\n\nexport const BorderPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::border::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::border::format::responsive-value',\n} as const\n\nexport type BorderPropControllerFormat =\n (typeof BorderPropControllerFormat)[keyof typeof BorderPropControllerFormat]\n\ntype BorderOptions = { format?: BorderPropControllerFormat }\n\ntype BorderDescriptorV0<\n _T = BorderPropControllerDataV0,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n options: U\n}\n\ntype BorderDescriptorV1<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n version: 1\n options: U\n}\n\nexport type BorderDescriptor<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = BorderDescriptorV0<_T, U> | BorderDescriptorV1<_T, U>\n\nexport type ResolveBorderPropControllerValue<T extends BorderDescriptor> =\n T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveBorderData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? ResponsiveBorderData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Border<T extends BorderOptions>(\n options: T & BorderOptions = {} as T,\n): BorderDescriptor<BorderPropControllerData, T> {\n return { type: Types.Border, version: 1, options }\n}\n\nBorder.Format = BorderPropControllerFormat\n\nexport function getBorderPropControllerDataResponsiveBorderData(\n data: BorderPropControllerData | undefined,\n): ResponsiveBorderData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBorderPropControllerDataFromResponsiveBorderData(\n definition: BorderDescriptor,\n responsiveBorderData: ResponsiveBorderData,\n): BorderPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: responsiveBorderData,\n }) as const,\n )\n .otherwise(() => responsiveBorderData)\n}\n\nexport function getBorderPropControllerDataSwatchIds(\n data: BorderPropControllerData | undefined,\n): string[] {\n return (\n getBorderPropControllerDataResponsiveBorderData(data)\n ?.flatMap((override) => override.value)\n .flatMap((borderValue) => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n )\n }) ?? []\n )\n}\n\nfunction copyResponsiveBorderData(\n data: ResponsiveBorderData,\n context: CopyContext,\n): ResponsiveBorderData {\n return data.map((override) => ({\n ...override,\n value: copyBorderValue(override.value),\n }))\n\n function copyBorderValue({\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n }: BorderData): BorderData {\n return {\n borderTop: borderTop && copyBorderSide(borderTop),\n borderRight: borderRight && copyBorderSide(borderRight),\n borderBottom: borderBottom && copyBorderSide(borderBottom),\n borderLeft: borderLeft && copyBorderSide(borderLeft),\n }\n }\n\n function copyBorderSide(\n borderSide: BorderSideData,\n ): BorderSideData | undefined {\n const { color } = borderSide\n\n if (color == null) return borderSide\n if (shouldRemoveResource(ContextResource.Swatch, color.swatchId, context)) {\n return undefined\n }\n\n return {\n ...borderSide,\n color: {\n ...color,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n color.swatchId,\n context,\n ),\n },\n }\n }\n}\n\nexport function copyBorderPropControllerData(\n data: BorderPropControllerData | undefined,\n context: CopyContext,\n): BorderPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: copyResponsiveBorderData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveBorderData(v0, context))\n}\n"],"mappings":"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","names":[]}
@@ -60,15 +60,18 @@ function createElementIDPropControllerDataFromElementID(value, definition) {
60
60
  ).otherwise(() => value);
61
61
  }
62
62
  function copyElementID(data, context) {
63
- if (data == null) return data;
64
- if (context.replacementContext.elementHtmlIds.has(data)) return void 0;
63
+ if (data == null)
64
+ return data;
65
+ if (context.replacementContext.elementHtmlIds.has(data))
66
+ return void 0;
65
67
  context.replacementContext.elementHtmlIds.add(data);
66
68
  return data;
67
69
  }
68
70
  function copyElementIDPropControllerData(data, context) {
69
71
  return (0, import_ts_pattern.match)(data).with(void 0, () => void 0).with({ [import_prop_controllers.ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {
70
72
  const value = copyElementID(v1.value, context);
71
- if (value == null) return void 0;
73
+ if (value == null)
74
+ return void 0;
72
75
  return {
73
76
  [import_prop_controllers.ControlDataTypeKey]: ElementIDPropControllerDataV1Type,
74
77
  value
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/element-id/element-id.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'\n\nconst elementIDSchema = z.string()\n\ntype ElementID = z.infer<typeof elementIDSchema>\n\nconst elementIDPropControllerDataV0Schema = elementIDSchema\n\nexport type ElementIDPropControllerDataV0 = z.infer<\n typeof elementIDPropControllerDataV0Schema\n>\n\nexport const ElementIDPropControllerDataV1Type =\n 'prop-controllers::element-id::v1'\n\nconst elementIDPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ElementIDPropControllerDataV1Type),\n value: elementIDSchema,\n})\n\nexport type ElementIDPropControllerDataV1 = z.infer<\n typeof elementIDPropControllerDataV1Schema\n>\n\nexport const elementIDPropControllerDataSchema = z.union([\n elementIDPropControllerDataV0Schema,\n elementIDPropControllerDataV1Schema,\n])\n\nexport type ElementIDPropControllerData = z.infer<\n typeof elementIDPropControllerDataSchema\n>\n\nexport type ElementIDOptions = Options<Record<string, never>>\n\ntype ElementIDDescriptorV0<_T = ElementIDPropControllerDataV0> = {\n type: typeof Types.ElementID\n options: ElementIDOptions\n}\n\ntype ElementIDDescriptorV1<\n _T = ElementIDPropControllerData,\n U extends ElementIDOptions = ElementIDOptions,\n> = {\n type: typeof Types.ElementID\n version: 1\n options: U\n}\n\nexport type ElementIDDescriptor<_T = ElementIDPropControllerData> =\n | ElementIDDescriptorV0\n | ElementIDDescriptorV1\n\nexport type ResolveElementIDPropControllerValue<T extends ElementIDDescriptor> =\n T extends ElementIDDescriptor ? ElementID | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function ElementID(\n options: ElementIDOptions = {},\n): ElementIDDescriptorV1 {\n return { type: Types.ElementID, version: 1, options }\n}\n\nexport function getElementIDPropControllerDataElementID(\n data: ElementIDPropControllerData | undefined,\n): ElementID | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ElementIDPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createElementIDPropControllerDataFromElementID(\n value: ElementID,\n definition: ElementIDDescriptor,\n): ElementIDPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n\nfunction copyElementID(\n data: ElementID | undefined,\n context: CopyContext,\n): ElementID | undefined {\n if (data == null) return data\n\n if (context.replacementContext.elementHtmlIds.has(data)) return undefined\n\n context.replacementContext.elementHtmlIds.add(data)\n\n return data\n}\n\nexport function copyElementIDPropControllerData(\n data: ElementIDPropControllerData | undefined,\n context: CopyContext,\n): ElementIDPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {\n const value = copyElementID(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const\n })\n .otherwise((v0) => copyElementID(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAKO;AACP,wBAAyB;AAEzB,MAAM,kBAAkB,aAAE,OAAO;AAIjC,MAAM,sCAAsC;AAMrC,MAAM,oCACX;AAEF,MAAM,sCAAsC,aAAE,OAAO;AAAA,EACnD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,iCAAiC;AAAA,EACjE,OAAO;AACT,CAAC;AAMM,MAAM,oCAAoC,aAAE,MAAM;AAAA,EACvD;AAAA,EACA;AACF,CAAC;AAiCM,SAAS,UACd,UAA4B,CAAC,GACN;AACvB,SAAO,EAAE,MAAM,8BAAM,WAAW,SAAS,GAAG,QAAQ;AACtD;AAEO,SAAS,wCACd,MACuB;AACvB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,kCAAkC;AAAA,IAC1D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+CACd,OACA,YAC6B;AAC7B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,cACP,MACA,SACuB;AACvB,MAAI,QAAQ,KAAM,QAAO;AAEzB,MAAI,QAAQ,mBAAmB,eAAe,IAAI,IAAI,EAAG,QAAO;AAEhE,UAAQ,mBAAmB,eAAe,IAAI,IAAI;AAElD,SAAO;AACT;AAEO,SAAS,gCACd,MACA,SACyC;AACzC,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,0CAAkB,GAAG,kCAAkC,GAAG,CAAC,OAAO;AACzE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS,KAAM,QAAO;AAE1B,WAAO;AAAA,MACL,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
1
+ {"version":3,"sources":["../../../src/element-id/element-id.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'\n\nconst elementIDSchema = z.string()\n\ntype ElementID = z.infer<typeof elementIDSchema>\n\nconst elementIDPropControllerDataV0Schema = elementIDSchema\n\nexport type ElementIDPropControllerDataV0 = z.infer<\n typeof elementIDPropControllerDataV0Schema\n>\n\nexport const ElementIDPropControllerDataV1Type =\n 'prop-controllers::element-id::v1'\n\nconst elementIDPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ElementIDPropControllerDataV1Type),\n value: elementIDSchema,\n})\n\nexport type ElementIDPropControllerDataV1 = z.infer<\n typeof elementIDPropControllerDataV1Schema\n>\n\nexport const elementIDPropControllerDataSchema = z.union([\n elementIDPropControllerDataV0Schema,\n elementIDPropControllerDataV1Schema,\n])\n\nexport type ElementIDPropControllerData = z.infer<\n typeof elementIDPropControllerDataSchema\n>\n\nexport type ElementIDOptions = Options<Record<string, never>>\n\ntype ElementIDDescriptorV0<_T = ElementIDPropControllerDataV0> = {\n type: typeof Types.ElementID\n options: ElementIDOptions\n}\n\ntype ElementIDDescriptorV1<\n _T = ElementIDPropControllerData,\n U extends ElementIDOptions = ElementIDOptions,\n> = {\n type: typeof Types.ElementID\n version: 1\n options: U\n}\n\nexport type ElementIDDescriptor<_T = ElementIDPropControllerData> =\n | ElementIDDescriptorV0\n | ElementIDDescriptorV1\n\nexport type ResolveElementIDPropControllerValue<T extends ElementIDDescriptor> =\n T extends ElementIDDescriptor ? ElementID | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function ElementID(\n options: ElementIDOptions = {},\n): ElementIDDescriptorV1 {\n return { type: Types.ElementID, version: 1, options }\n}\n\nexport function getElementIDPropControllerDataElementID(\n data: ElementIDPropControllerData | undefined,\n): ElementID | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ElementIDPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createElementIDPropControllerDataFromElementID(\n value: ElementID,\n definition: ElementIDDescriptor,\n): ElementIDPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n\nfunction copyElementID(\n data: ElementID | undefined,\n context: CopyContext,\n): ElementID | undefined {\n if (data == null) return data\n\n if (context.replacementContext.elementHtmlIds.has(data)) return undefined\n\n context.replacementContext.elementHtmlIds.add(data)\n\n return data\n}\n\nexport function copyElementIDPropControllerData(\n data: ElementIDPropControllerData | undefined,\n context: CopyContext,\n): ElementIDPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {\n const value = copyElementID(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const\n })\n .otherwise((v0) => copyElementID(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAKO;AACP,wBAAyB;AAEzB,MAAM,kBAAkB,aAAE,OAAO;AAIjC,MAAM,sCAAsC;AAMrC,MAAM,oCACX;AAEF,MAAM,sCAAsC,aAAE,OAAO;AAAA,EACnD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,iCAAiC;AAAA,EACjE,OAAO;AACT,CAAC;AAMM,MAAM,oCAAoC,aAAE,MAAM;AAAA,EACvD;AAAA,EACA;AACF,CAAC;AAiCM,SAAS,UACd,UAA4B,CAAC,GACN;AACvB,SAAO,EAAE,MAAM,8BAAM,WAAW,SAAS,GAAG,QAAQ;AACtD;AAEO,SAAS,wCACd,MACuB;AACvB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,kCAAkC;AAAA,IAC1D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+CACd,OACA,YAC6B;AAC7B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,cACP,MACA,SACuB;AACvB,MAAI,QAAQ;AAAM,WAAO;AAEzB,MAAI,QAAQ,mBAAmB,eAAe,IAAI,IAAI;AAAG,WAAO;AAEhE,UAAQ,mBAAmB,eAAe,IAAI,IAAI;AAElD,SAAO;AACT;AAEO,SAAS,gCACd,MACA,SACyC;AACzC,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,0CAAkB,GAAG,kCAAkC,GAAG,CAAC,OAAO;AACzE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
@@ -114,7 +114,8 @@ function copyGridPropControllerData(data, context) {
114
114
  function getGridPropControllerGetElementPath(data, elementKey) {
115
115
  const value = getGridPropControllerDataGridData(data);
116
116
  const idx = value?.elements.findIndex((element) => element.key === elementKey) ?? -1;
117
- if (idx === -1) return null;
117
+ if (idx === -1)
118
+ return null;
118
119
  return (0, import_ts_pattern.match)(data).with({ [import_prop_controllers.ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [
119
120
  "value",
120
121
  "elements",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/grid/grid.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Element,\n MergeTranslatableDataContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n isElementReference,\n ContextResource,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst gridColumnSchema = z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n})\n\nconst gridDataSchema = z.object({\n elements: z.array(Schema.element),\n columns: Schema.responsiveValue(gridColumnSchema),\n})\n\nexport type GridData = z.infer<typeof gridDataSchema>\n\nconst gridPropControllerDataV0Schema = gridDataSchema\n\nexport type GridPropControllerDataV0 = z.infer<\n typeof gridPropControllerDataV0Schema\n>\n\nexport const GridPropControllerDataV1Type = 'prop-controllers::grid::v1'\n\nconst gridPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(GridPropControllerDataV1Type),\n value: gridDataSchema,\n})\n\nexport type GridPropControllerDataV1 = z.infer<\n typeof gridPropControllerDataV1Schema\n>\n\nexport const gridPropControllerDataSchema = z.union([\n gridPropControllerDataV0Schema,\n gridPropControllerDataV1Schema,\n])\n\nexport type GridPropControllerData = z.infer<\n typeof gridPropControllerDataSchema\n>\n\nexport type GridOptions = Options<Record<string, never>>\n\ntype GridDescriptorV0<_T = GridPropControllerDataV0> = {\n type: typeof Types.Grid\n options: GridOptions\n}\n\ntype GridDescriptorV1<\n _T = GridPropControllerData,\n U extends GridOptions = GridOptions,\n> = {\n type: typeof Types.Grid\n version: 1\n options: U\n}\n\nexport type GridDescriptor<_T = GridPropControllerData> =\n | GridDescriptorV0\n | GridDescriptorV1\n\nexport type ResolveGridPropControllerValue<T extends GridDescriptor> =\n T extends GridDescriptor ? GridData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Grid(options: GridOptions = {}): GridDescriptorV1 {\n return { type: Types.Grid, version: 1, options }\n}\n\nexport function getGridPropControllerDataGridData(\n data: GridPropControllerData | undefined,\n): GridData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createGridPropControllerDataFromGridData(\n value: GridData,\n definition: GridDescriptor,\n): GridPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction mergeGridDataTranslatedData(\n data: GridData,\n context: MergeTranslatableDataContext,\n): GridData {\n return {\n ...data,\n elements: data.elements.map((element) =>\n context.mergeTranslatedData(element),\n ),\n }\n}\n\nexport function mergeGridPropControllerTranslatedData(\n data: GridPropControllerData,\n context: MergeTranslatableDataContext,\n): GridPropControllerData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: mergeGridDataTranslatedData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => mergeGridDataTranslatedData(v0, context))\n}\n\nexport function getGridPropControllerElementChildren(\n data: GridPropControllerData | undefined,\n): Element[] {\n return getGridPropControllerDataGridData(data)?.elements ?? []\n}\n\nfunction copyGridData(data: GridData, context: CopyContext): GridData {\n return {\n ...data,\n elements: data.elements\n .filter(\n (el) =>\n !(\n isElementReference(el) &&\n shouldRemoveResource(\n ContextResource.GlobalElement,\n el.value,\n context,\n )\n ),\n )\n .map((el) => context.copyElement(el)),\n }\n}\n\nexport function copyGridPropControllerData(\n data: GridPropControllerData | undefined,\n context: CopyContext,\n): GridPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: copyGridData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyGridData(v0, context))\n}\n\ntype Path = ReadonlyArray<string | number>\n\nexport function getGridPropControllerGetElementPath(\n data: GridPropControllerData | undefined,\n elementKey: string,\n): Path | null {\n const value = getGridPropControllerDataGridData(data)\n\n const idx =\n value?.elements.findIndex((element) => element.key === elementKey) ?? -1\n\n if (idx === -1) return null\n\n return match(data)\n .with({ [ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [\n 'value',\n 'elements',\n idx,\n ])\n .otherwise((_v0) => ['elements', idx])\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/grid/grid.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Element,\n MergeTranslatableDataContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n isElementReference,\n ContextResource,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst gridColumnSchema = z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n})\n\nconst gridDataSchema = z.object({\n elements: z.array(Schema.element),\n columns: Schema.responsiveValue(gridColumnSchema),\n})\n\nexport type GridData = z.infer<typeof gridDataSchema>\n\nconst gridPropControllerDataV0Schema = gridDataSchema\n\nexport type GridPropControllerDataV0 = z.infer<\n typeof gridPropControllerDataV0Schema\n>\n\nexport const GridPropControllerDataV1Type = 'prop-controllers::grid::v1'\n\nconst gridPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(GridPropControllerDataV1Type),\n value: gridDataSchema,\n})\n\nexport type GridPropControllerDataV1 = z.infer<\n typeof gridPropControllerDataV1Schema\n>\n\nexport const gridPropControllerDataSchema = z.union([\n gridPropControllerDataV0Schema,\n gridPropControllerDataV1Schema,\n])\n\nexport type GridPropControllerData = z.infer<\n typeof gridPropControllerDataSchema\n>\n\nexport type GridOptions = Options<Record<string, never>>\n\ntype GridDescriptorV0<_T = GridPropControllerDataV0> = {\n type: typeof Types.Grid\n options: GridOptions\n}\n\ntype GridDescriptorV1<\n _T = GridPropControllerData,\n U extends GridOptions = GridOptions,\n> = {\n type: typeof Types.Grid\n version: 1\n options: U\n}\n\nexport type GridDescriptor<_T = GridPropControllerData> =\n | GridDescriptorV0\n | GridDescriptorV1\n\nexport type ResolveGridPropControllerValue<T extends GridDescriptor> =\n T extends GridDescriptor ? GridData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Grid(options: GridOptions = {}): GridDescriptorV1 {\n return { type: Types.Grid, version: 1, options }\n}\n\nexport function getGridPropControllerDataGridData(\n data: GridPropControllerData | undefined,\n): GridData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createGridPropControllerDataFromGridData(\n value: GridData,\n definition: GridDescriptor,\n): GridPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction mergeGridDataTranslatedData(\n data: GridData,\n context: MergeTranslatableDataContext,\n): GridData {\n return {\n ...data,\n elements: data.elements.map((element) =>\n context.mergeTranslatedData(element),\n ),\n }\n}\n\nexport function mergeGridPropControllerTranslatedData(\n data: GridPropControllerData,\n context: MergeTranslatableDataContext,\n): GridPropControllerData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: mergeGridDataTranslatedData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => mergeGridDataTranslatedData(v0, context))\n}\n\nexport function getGridPropControllerElementChildren(\n data: GridPropControllerData | undefined,\n): Element[] {\n return getGridPropControllerDataGridData(data)?.elements ?? []\n}\n\nfunction copyGridData(data: GridData, context: CopyContext): GridData {\n return {\n ...data,\n elements: data.elements\n .filter(\n (el) =>\n !(\n isElementReference(el) &&\n shouldRemoveResource(\n ContextResource.GlobalElement,\n el.value,\n context,\n )\n ),\n )\n .map((el) => context.copyElement(el)),\n }\n}\n\nexport function copyGridPropControllerData(\n data: GridPropControllerData | undefined,\n context: CopyContext,\n): GridPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: copyGridData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyGridData(v0, context))\n}\n\ntype Path = ReadonlyArray<string | number>\n\nexport function getGridPropControllerGetElementPath(\n data: GridPropControllerData | undefined,\n elementKey: string,\n): Path | null {\n const value = getGridPropControllerDataGridData(data)\n\n const idx =\n value?.elements.findIndex((element) => element.key === elementKey) ?? -1\n\n if (idx === -1) return null\n\n return match(data)\n .with({ [ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [\n 'value',\n 'elements',\n idx,\n ])\n .otherwise((_v0) => ['elements', idx])\n}\n"],"mappings":"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","names":[]}
@@ -82,7 +82,8 @@ function copyImageData(data, ctx) {
82
82
  function copyImagePropControllerData(data, context) {
83
83
  return (0, import_ts_pattern.match)(data).with(void 0, () => void 0).with({ [import_prop_controllers.ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {
84
84
  const value = copyImageData(v1.value, context);
85
- if (value == null) return void 0;
85
+ if (value == null)
86
+ return void 0;
86
87
  return {
87
88
  [import_prop_controllers.ControlDataTypeKey]: ImagePropControllerDataV2Type,
88
89
  value
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/image/image.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ImageData,\n ImageDataV0,\n imageDataSchema,\n imageDataV0Schema,\n} from '../data'\n\nconst imagePropControllerDataV0Schema = imageDataV0Schema\n\nconst imagePropControllerDataV1Schema = imageDataSchema\n\nexport const ImagePropControllerDataV2Type = 'prop-controllers::image::v2'\n\nconst imagePropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(ImagePropControllerDataV2Type),\n value: imagePropControllerDataV1Schema,\n})\n\nexport type ImagePropControllerDataV2 = z.infer<\n typeof imagePropControllerDataV2Schema\n>\n\nexport const imagePropControllerDataSchema = z.union([\n imagePropControllerDataV0Schema,\n imagePropControllerDataV1Schema,\n imagePropControllerDataV2Schema,\n])\n\nexport type ImagePropControllerData = z.infer<\n typeof imagePropControllerDataSchema\n>\n\nexport type ImageOptions = Options<{ label?: string; hidden?: boolean }>\n\ntype ImageDescriptorV0<_T = ImageDataV0> = {\n type: typeof Types.Image\n options: ImageOptions\n}\n\ntype ImageDescriptorV1<_T = ImageData> = {\n type: typeof Types.Image\n version: 1\n options: ImageOptions\n}\n\ntype ImageDescriptorV2<_T = ImagePropControllerData> = {\n type: typeof Types.Image\n version: 2\n options: ImageOptions\n}\n\nexport type ImageDescriptor<_T = ImagePropControllerData> =\n | ImageDescriptorV0\n | ImageDescriptorV1\n | ImageDescriptorV2\n\nexport type ResolveImagePropControllerValue<T extends ImageDescriptor> =\n T extends ImageDescriptor ? ImageData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Image(options: ImageOptions = {}): ImageDescriptorV2 {\n return { type: Types.Image, version: 2, options }\n}\n\nexport function getImagePropControllerDataImageData(\n data: ImagePropControllerData | undefined,\n): ImageData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ImagePropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createImagePropControllerDataFromImageData(\n data: ImageData,\n definition: ImageDescriptor,\n): ImagePropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value: data,\n }) as const,\n )\n .otherwise(() => data)\n}\n\nexport function getImagePropControllerFileIds(\n data: ImagePropControllerData | undefined,\n): string[] {\n const value = getImagePropControllerDataImageData(data)\n\n return match(value)\n .with(undefined, () => [])\n .with(P.string, (v) => [v])\n .with({ type: 'makeswift-file', version: 1 }, (v) => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n}\n\nfunction copyImageData(\n data: ImageData | undefined,\n ctx: CopyContext,\n): ImageData | undefined {\n const existingFileId = match(data)\n .with(P.string, (v) => v)\n .with({ type: 'makeswift-file', version: 1 }, (v) => v.id)\n .otherwise(() => undefined)\n\n if (\n existingFileId != null &&\n shouldRemoveResource(ContextResource.File, existingFileId, ctx)\n ) {\n return undefined\n }\n\n return match(data)\n .with(P.string, (v) =>\n replaceResourceIfNeeded(ContextResource.File, v, ctx),\n )\n .with({ type: 'makeswift-file', version: 1 }, (v) => ({\n ...v,\n id: replaceResourceIfNeeded(ContextResource.File, v.id, ctx),\n }))\n .otherwise((v) => v)\n}\n\nexport function copyImagePropControllerData(\n data: ImagePropControllerData | undefined,\n context: CopyContext,\n): ImagePropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {\n const value = copyImageData(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value,\n } as const\n })\n .otherwise((v0) => copyImageData(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAIO;AACP,8BAKO;AACP,wBAAyB;AACzB,kBAKO;AAEP,MAAM,kCAAkC;AAExC,MAAM,kCAAkC;AAEjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,aAAE,OAAO;AAAA,EAC/C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,aAAE,MAAM;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,8BAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,oCACd,MACuB;AACvB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,2CACd,MACA,YACyB;AACzB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,IAAI;AACzB;AAEO,SAAS,8BACd,MACU;AACV,QAAM,QAAQ,oCAAoC,IAAI;AAEtD,aAAO,yBAAM,KAAK,EACf,KAAK,QAAW,MAAM,CAAC,CAAC,EACxB,KAAK,oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAC1D,KAAK,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EACpD,WAAW;AAChB;AAEA,SAAS,cACP,MACA,KACuB;AACvB,QAAM,qBAAiB,yBAAM,IAAI,EAC9B,KAAK,oBAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EACxD,UAAU,MAAM,MAAS;AAE5B,MACE,kBAAkB,YAClB,sCAAqB,gCAAgB,MAAM,gBAAgB,GAAG,GAC9D;AACA,WAAO;AAAA,EACT;AAEA,aAAO,yBAAM,IAAI,EACd;AAAA,IAAK,oBAAE;AAAA,IAAQ,CAAC,UACf,yCAAwB,gCAAgB,MAAM,GAAG,GAAG;AAAA,EACtD,EACC,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,OAAO;AAAA,IACpD,GAAG;AAAA,IACH,QAAI,yCAAwB,gCAAgB,MAAM,EAAE,IAAI,GAAG;AAAA,EAC7D,EAAE,EACD,UAAU,CAAC,MAAM,CAAC;AACvB;AAEO,SAAS,4BACd,MACA,SACqC;AACrC,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,0CAAkB,GAAG,8BAA8B,GAAG,CAAC,OAAO;AACrE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS,KAAM,QAAO;AAE1B,WAAO;AAAA,MACL,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
1
+ {"version":3,"sources":["../../../src/image/image.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ImageData,\n ImageDataV0,\n imageDataSchema,\n imageDataV0Schema,\n} from '../data'\n\nconst imagePropControllerDataV0Schema = imageDataV0Schema\n\nconst imagePropControllerDataV1Schema = imageDataSchema\n\nexport const ImagePropControllerDataV2Type = 'prop-controllers::image::v2'\n\nconst imagePropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(ImagePropControllerDataV2Type),\n value: imagePropControllerDataV1Schema,\n})\n\nexport type ImagePropControllerDataV2 = z.infer<\n typeof imagePropControllerDataV2Schema\n>\n\nexport const imagePropControllerDataSchema = z.union([\n imagePropControllerDataV0Schema,\n imagePropControllerDataV1Schema,\n imagePropControllerDataV2Schema,\n])\n\nexport type ImagePropControllerData = z.infer<\n typeof imagePropControllerDataSchema\n>\n\nexport type ImageOptions = Options<{ label?: string; hidden?: boolean }>\n\ntype ImageDescriptorV0<_T = ImageDataV0> = {\n type: typeof Types.Image\n options: ImageOptions\n}\n\ntype ImageDescriptorV1<_T = ImageData> = {\n type: typeof Types.Image\n version: 1\n options: ImageOptions\n}\n\ntype ImageDescriptorV2<_T = ImagePropControllerData> = {\n type: typeof Types.Image\n version: 2\n options: ImageOptions\n}\n\nexport type ImageDescriptor<_T = ImagePropControllerData> =\n | ImageDescriptorV0\n | ImageDescriptorV1\n | ImageDescriptorV2\n\nexport type ResolveImagePropControllerValue<T extends ImageDescriptor> =\n T extends ImageDescriptor ? ImageData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Image(options: ImageOptions = {}): ImageDescriptorV2 {\n return { type: Types.Image, version: 2, options }\n}\n\nexport function getImagePropControllerDataImageData(\n data: ImagePropControllerData | undefined,\n): ImageData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ImagePropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createImagePropControllerDataFromImageData(\n data: ImageData,\n definition: ImageDescriptor,\n): ImagePropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value: data,\n }) as const,\n )\n .otherwise(() => data)\n}\n\nexport function getImagePropControllerFileIds(\n data: ImagePropControllerData | undefined,\n): string[] {\n const value = getImagePropControllerDataImageData(data)\n\n return match(value)\n .with(undefined, () => [])\n .with(P.string, (v) => [v])\n .with({ type: 'makeswift-file', version: 1 }, (v) => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n}\n\nfunction copyImageData(\n data: ImageData | undefined,\n ctx: CopyContext,\n): ImageData | undefined {\n const existingFileId = match(data)\n .with(P.string, (v) => v)\n .with({ type: 'makeswift-file', version: 1 }, (v) => v.id)\n .otherwise(() => undefined)\n\n if (\n existingFileId != null &&\n shouldRemoveResource(ContextResource.File, existingFileId, ctx)\n ) {\n return undefined\n }\n\n return match(data)\n .with(P.string, (v) =>\n replaceResourceIfNeeded(ContextResource.File, v, ctx),\n )\n .with({ type: 'makeswift-file', version: 1 }, (v) => ({\n ...v,\n id: replaceResourceIfNeeded(ContextResource.File, v.id, ctx),\n }))\n .otherwise((v) => v)\n}\n\nexport function copyImagePropControllerData(\n data: ImagePropControllerData | undefined,\n context: CopyContext,\n): ImagePropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {\n const value = copyImageData(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value,\n } as const\n })\n .otherwise((v0) => copyImageData(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAIO;AACP,8BAKO;AACP,wBAAyB;AACzB,kBAKO;AAEP,MAAM,kCAAkC;AAExC,MAAM,kCAAkC;AAEjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,aAAE,OAAO;AAAA,EAC/C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,aAAE,MAAM;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,8BAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,oCACd,MACuB;AACvB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,2CACd,MACA,YACyB;AACzB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,IAAI;AACzB;AAEO,SAAS,8BACd,MACU;AACV,QAAM,QAAQ,oCAAoC,IAAI;AAEtD,aAAO,yBAAM,KAAK,EACf,KAAK,QAAW,MAAM,CAAC,CAAC,EACxB,KAAK,oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAC1D,KAAK,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EACpD,WAAW;AAChB;AAEA,SAAS,cACP,MACA,KACuB;AACvB,QAAM,qBAAiB,yBAAM,IAAI,EAC9B,KAAK,oBAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EACxD,UAAU,MAAM,MAAS;AAE5B,MACE,kBAAkB,YAClB,sCAAqB,gCAAgB,MAAM,gBAAgB,GAAG,GAC9D;AACA,WAAO;AAAA,EACT;AAEA,aAAO,yBAAM,IAAI,EACd;AAAA,IAAK,oBAAE;AAAA,IAAQ,CAAC,UACf,yCAAwB,gCAAgB,MAAM,GAAG,GAAG;AAAA,EACtD,EACC,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,OAAO;AAAA,IACpD,GAAG;AAAA,IACH,QAAI,yCAAwB,gCAAgB,MAAM,EAAE,IAAI,GAAG;AAAA,EAC7D,EAAE,EACD,UAAU,CAAC,MAAM,CAAC;AACvB;AAEO,SAAS,4BACd,MACA,SACqC;AACrC,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,0CAAkB,GAAG,8BAA8B,GAAG,CAAC,OAAO;AACrE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
@@ -94,7 +94,8 @@ function getImagesPropControllerFileIds(data) {
94
94
  ) ?? [];
95
95
  }
96
96
  function copyImagesData(data, context) {
97
- if (data == null) return data;
97
+ if (data == null)
98
+ return data;
98
99
  return data.map(copyImagesPanelItem);
99
100
  function copyImagesPanelItem(imagesPanelItem) {
100
101
  if ("version" in imagesPanelItem) {
@@ -136,7 +137,8 @@ function copyImagesData(data, context) {
136
137
  function copyImagesPropControllerData(data, context) {
137
138
  return (0, import_ts_pattern.match)(data).with(void 0, () => void 0).with({ [import_prop_controllers.ControlDataTypeKey]: ImagesPropControllerDataV2Type }, (v1) => {
138
139
  const value = copyImagesData(v1.value, context);
139
- if (value == null) return void 0;
140
+ if (value == null)
141
+ return void 0;
140
142
  return {
141
143
  [import_prop_controllers.ControlDataTypeKey]: ImagesPropControllerDataV2Type,
142
144
  value
@@ -1 +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 {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\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 if (shouldRemoveResource(ContextResource.File, f.id, context)) {\n return undefined\n }\n return {\n ...f,\n id: replaceResourceIfNeeded(\n ContextResource.File,\n f.id,\n context,\n ),\n }\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(P.string, (f) => {\n if (shouldRemoveResource(ContextResource.File, f, context)) {\n return undefined\n }\n return replaceResourceIfNeeded(ContextResource.File, f, context)\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":[]}
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 {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\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 if (shouldRemoveResource(ContextResource.File, f.id, context)) {\n return undefined\n }\n return {\n ...f,\n id: replaceResourceIfNeeded(\n ContextResource.File,\n f.id,\n context,\n ),\n }\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(P.string, (f) => {\n if (shouldRemoveResource(ContextResource.File, f, context)) {\n return undefined\n }\n return replaceResourceIfNeeded(ContextResource.File, f, context)\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":[]}
package/dist/cjs/index.js CHANGED
@@ -17,8 +17,8 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var index_exports = {};
21
- __export(index_exports, {
20
+ var src_exports = {};
21
+ __export(src_exports, {
22
22
  Border: () => import_border.Border,
23
23
  BorderPropControllerFormat: () => import_border.BorderPropControllerFormat,
24
24
  BorderRadius: () => import_border_radius.BorderRadius,
@@ -156,16 +156,16 @@ __export(index_exports, {
156
156
  videoPropControllerDataSchema: () => import_video.videoPropControllerDataSchema,
157
157
  widthPropControllerDataSchema: () => import_width.widthPropControllerDataSchema
158
158
  });
159
- module.exports = __toCommonJS(index_exports);
160
- __reExport(index_exports, require("./data"), module.exports);
161
- __reExport(index_exports, require("./versioned"), module.exports);
162
- __reExport(index_exports, require("./prop-controllers"), module.exports);
163
- __reExport(index_exports, require("./gap-x"), module.exports);
164
- __reExport(index_exports, require("./responsive-icon-radio-group"), module.exports);
165
- __reExport(index_exports, require("./responsive-number"), module.exports);
166
- __reExport(index_exports, require("./responsive-opacity"), module.exports);
167
- __reExport(index_exports, require("./responsive-select"), module.exports);
168
- __reExport(index_exports, require("./backgrounds"), module.exports);
159
+ module.exports = __toCommonJS(src_exports);
160
+ __reExport(src_exports, require("./data"), module.exports);
161
+ __reExport(src_exports, require("./versioned"), module.exports);
162
+ __reExport(src_exports, require("./prop-controllers"), module.exports);
163
+ __reExport(src_exports, require("./gap-x"), module.exports);
164
+ __reExport(src_exports, require("./responsive-icon-radio-group"), module.exports);
165
+ __reExport(src_exports, require("./responsive-number"), module.exports);
166
+ __reExport(src_exports, require("./responsive-opacity"), module.exports);
167
+ __reExport(src_exports, require("./responsive-select"), module.exports);
168
+ __reExport(src_exports, require("./backgrounds"), module.exports);
169
169
  var import_border = require("./border");
170
170
  var import_border_radius = require("./border-radius");
171
171
  var import_checkbox = require("./checkbox");
@@ -1 +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 getResponsiveColorPropControllerDataSwatchIds,\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,mBAAd;AACA,0BAAc,wBADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,oBAHd;AAIA,0BAAc,0CAJd;AAKA,0BAAc,gCALd;AAMA,0BAAc,iCANd;AAOA,0BAAc,gCAPd;AAQA,0BAAc,0BARd;AAUA,oBAQO;AASP,2BAMO;AAOP,sBAKO;AAOP,kBAKO;AAOP,wBAMO;AAOP,kBAKO;AAOP,mBAKO;AAMP,kBASO;AAQP,mBAOO;AAOP,oBAOO;AASP,kBAQO;AAOP,oBAMO;AAQP,8BAQO;AASP,oBAKO;AAOP,qBAMO;AAQP,8BAQO;AAOP,+BAMO;AAQP,0BAMO;AAOP,qBAOO;AAQP,mBAOO;AAOP,+BAMO;AAQP,uBAKO;AAOP,wBAKO;AAOP,wBAKO;AAQP,mBAMO;AAMP,mBAKO;","names":[]}
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 getResponsiveColorPropControllerDataSwatchIds,\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,mBAAd;AACA,wBAAc,wBADd;AAEA,wBAAc,+BAFd;AAGA,wBAAc,oBAHd;AAIA,wBAAc,0CAJd;AAKA,wBAAc,gCALd;AAMA,wBAAc,iCANd;AAOA,wBAAc,gCAPd;AAQA,wBAAc,0BARd;AAUA,oBAQO;AASP,2BAMO;AAOP,sBAKO;AAOP,kBAKO;AAOP,wBAMO;AAOP,kBAKO;AAOP,mBAKO;AAMP,kBASO;AAQP,mBAOO;AAOP,oBAOO;AASP,kBAQO;AAOP,oBAMO;AAQP,8BAQO;AASP,oBAKO;AAOP,qBAMO;AAQP,8BAQO;AAOP,+BAMO;AAQP,0BAMO;AAOP,qBAOO;AAQP,mBAOO;AAOP,+BAMO;AAQP,uBAKO;AAOP,wBAKO;AAOP,wBAKO;AAQP,mBAMO;AAMP,mBAKO;","names":[]}
@@ -63,7 +63,8 @@ function createLinkPropControllerDataFromLinkData(value, definition) {
63
63
  ).otherwise(() => value);
64
64
  }
65
65
  function getLinkPropControllerPageIds(linkData) {
66
- if (linkData == null) return [];
66
+ if (linkData == null)
67
+ return [];
67
68
  const link = getLinkPropControllerDataLinkData(linkData);
68
69
  switch (link.type) {
69
70
  case "OPEN_PAGE":
@@ -84,7 +85,8 @@ function copyLinkData(data, ctx) {
84
85
  case "OPEN_PAGE":
85
86
  {
86
87
  const pageId = value.payload.pageId;
87
- if (pageId == null) return value;
88
+ if (pageId == null)
89
+ return value;
88
90
  value = {
89
91
  ...value,
90
92
  payload: { ...value.payload, pageId: replacePageId(pageId) }
@@ -93,7 +95,8 @@ function copyLinkData(data, ctx) {
93
95
  break;
94
96
  case "SCROLL_TO_ELEMENT": {
95
97
  const elementIdConfig = value.payload.elementIdConfig;
96
- if (elementIdConfig == null) return value;
98
+ if (elementIdConfig == null)
99
+ return value;
97
100
  value = {
98
101
  ...value,
99
102
  payload: {
@@ -112,9 +115,11 @@ function copyLinkData(data, ctx) {
112
115
  return value;
113
116
  }
114
117
  function copyLinkPropControllerData(data, context) {
115
- if (data == null) return data;
118
+ if (data == null)
119
+ return data;
116
120
  const value = copyLinkData(getLinkPropControllerDataLinkData(data), context);
117
- if (value == null) return value;
121
+ if (value == null)
122
+ return value;
118
123
  return (0, import_ts_pattern.match)(data).with({ [import_prop_controllers.ControlDataTypeKey]: LinkPropControllerDataV1Type }, (v1) => ({
119
124
  ...v1,
120
125
  value
@@ -1 +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 {\n LinkDefinition,\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} 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 ctx: CopyContext,\n): LinkData | undefined {\n let value = data\n\n function replacePageId(pageId: string): string | undefined {\n if (shouldRemoveResource(ContextResource.Page, pageId, ctx)) {\n return undefined\n }\n return replaceResourceIfNeeded(ContextResource.Page, pageId, ctx)\n }\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: { ...value.payload, pageId: replacePageId(pageId) },\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 ctx.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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,8BAKO;AAEP,sBAKO;AAEP,iBAAkB;AAEX,MAAM,iBAAiB,+BAAe,OAAO;AAIpD,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAC5C,MAAM,iCAAiC,aAAE,OAAO;AAAA,EAC9C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,aAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,KAAK,UAAuB,CAAC,GAAmB;AAC9D,SAAO,EAAE,MAAM,8BAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACU;AACV,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACwB;AACxB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEO,SAAS,6BACd,UACU;AACV,MAAI,YAAY,KAAM,QAAO,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,KACsB;AACtB,MAAI,QAAQ;AAEZ,WAAS,cAAc,QAAoC;AACzD,YAAI,sCAAqB,gCAAgB,MAAM,QAAQ,GAAG,GAAG;AAC3D,aAAO;AAAA,IACT;AACA,eAAO,yCAAwB,gCAAgB,MAAM,QAAQ,GAAG;AAAA,EAClE;AAEA,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK;AACH;AACE,cAAM,SAAS,MAAM,QAAQ;AAE7B,YAAI,UAAU,KAAM,QAAO;AAE3B,gBAAQ;AAAA,UACN,GAAG;AAAA,UACH,SAAS,EAAE,GAAG,MAAM,SAAS,QAAQ,cAAc,MAAM,EAAE;AAAA,QAC7D;AAAA,MACF;AACA;AAAA,IAEF,KAAK,qBAAqB;AACxB,YAAM,kBAAkB,MAAM,QAAQ;AAEtC,UAAI,mBAAmB,KAAM,QAAO;AAEpC,cAAQ;AAAA,QACN,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,MAAM;AAAA,UACT,iBAAiB;AAAA,YACf,GAAG;AAAA,YACH,YACE,IAAI,mBAAmB,YAAY;AAAA,cACjC,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,KAAM,QAAO;AAEzB,QAAM,QAAQ,aAAa,kCAAkC,IAAI,GAAG,OAAO;AAE3E,MAAI,SAAS,KAAM,QAAO;AAE1B,aAAO,yBAAM,IAAI,EACd,KAAK,EAAE,CAAC,0CAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE,GAAG;AAAA,IACH;AAAA,EACF,EAAE,EACD,UAAU,CAAC,MAAM,KAAK;AAC3B;","names":[]}
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 {\n LinkDefinition,\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} 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 ctx: CopyContext,\n): LinkData | undefined {\n let value = data\n\n function replacePageId(pageId: string): string | undefined {\n if (shouldRemoveResource(ContextResource.Page, pageId, ctx)) {\n return undefined\n }\n return replaceResourceIfNeeded(ContextResource.Page, pageId, ctx)\n }\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: { ...value.payload, pageId: replacePageId(pageId) },\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 ctx.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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,8BAKO;AAEP,sBAKO;AAEP,iBAAkB;AAEX,MAAM,iBAAiB,+BAAe,OAAO;AAIpD,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAC5C,MAAM,iCAAiC,aAAE,OAAO;AAAA,EAC9C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,aAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,KAAK,UAAuB,CAAC,GAAmB;AAC9D,SAAO,EAAE,MAAM,8BAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACU;AACV,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACwB;AACxB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,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,KACsB;AACtB,MAAI,QAAQ;AAEZ,WAAS,cAAc,QAAoC;AACzD,YAAI,sCAAqB,gCAAgB,MAAM,QAAQ,GAAG,GAAG;AAC3D,aAAO;AAAA,IACT;AACA,eAAO,yCAAwB,gCAAgB,MAAM,QAAQ,GAAG;AAAA,EAClE;AAEA,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,EAAE,GAAG,MAAM,SAAS,QAAQ,cAAc,MAAM,EAAE;AAAA,QAC7D;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,IAAI,mBAAmB,YAAY;AAAA,cACjC,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,aAAO,yBAAM,IAAI,EACd,KAAK,EAAE,CAAC,0CAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE,GAAG;AAAA,IACH;AAAA,EACF,EAAE,EACD,UAAU,CAAC,MAAM,KAAK;AAC3B;","names":[]}
@@ -122,12 +122,14 @@ function createNavigationLinksPropControllerDataFromNavigationLinksData(navigati
122
122
  ).otherwise(() => navigationLinksData);
123
123
  }
124
124
  function getNavigationLinksPropControllerPageIds(data) {
125
- if (data == null) return [];
125
+ if (data == null)
126
+ return [];
126
127
  const value = getNavigationLinksPropControllerDataNavigationLinksData(data);
127
128
  return value?.flatMap((item) => {
128
129
  switch (item.type) {
129
130
  case "button": {
130
- if (item.payload.link == null) return [];
131
+ if (item.payload.link == null)
132
+ return [];
131
133
  switch (item.payload.link.type) {
132
134
  case "OPEN_PAGE":
133
135
  return item.payload.link.payload.pageId == null ? [] : [item.payload.link.payload.pageId];
@@ -137,7 +139,8 @@ function getNavigationLinksPropControllerPageIds(data) {
137
139
  }
138
140
  case "dropdown": {
139
141
  return item.payload.links?.flatMap((link) => {
140
- if (link.payload.link == null) return [];
142
+ if (link.payload.link == null)
143
+ return [];
141
144
  switch (link.payload.link.type) {
142
145
  case "OPEN_PAGE":
143
146
  return link.payload.link.payload.pageId == null ? [] : [link.payload.link.payload.pageId];
@@ -150,7 +153,8 @@ function getNavigationLinksPropControllerPageIds(data) {
150
153
  }) ?? [];
151
154
  }
152
155
  function getNavigationLinksPropControllerSwatchIds(data) {
153
- if (data == null) return [];
156
+ if (data == null)
157
+ return [];
154
158
  const value = getNavigationLinksPropControllerDataNavigationLinksData(data);
155
159
  return value?.flatMap((item) => {
156
160
  switch (item.type) {