@makeswift/prop-controllers 0.0.0-snapshot-20250610133513 → 0.0.0-snapshot-20250610140709

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 +3 -6
  2. package/dist/cjs/backgrounds/backgrounds.js.map +1 -1
  3. package/dist/cjs/border/border.js +1 -2
  4. package/dist/cjs/border/border.js.map +1 -1
  5. package/dist/cjs/element-id/element-id.js +3 -6
  6. package/dist/cjs/element-id/element-id.js.map +1 -1
  7. package/dist/cjs/grid/grid.js +1 -2
  8. package/dist/cjs/grid/grid.js.map +1 -1
  9. package/dist/cjs/image/image.js +1 -2
  10. package/dist/cjs/image/image.js.map +1 -1
  11. package/dist/cjs/images/images.js +2 -4
  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 +5 -10
  16. package/dist/cjs/link/link.js.map +1 -1
  17. package/dist/cjs/navigation-links/navigation-links.js +4 -8
  18. package/dist/cjs/navigation-links/navigation-links.js.map +1 -1
  19. package/dist/cjs/responsive-color/responsive-color.js +1 -2
  20. package/dist/cjs/responsive-color/responsive-color.js.map +1 -1
  21. package/dist/cjs/shadows/shadows.js +1 -2
  22. package/dist/cjs/shadows/shadows.js.map +1 -1
  23. package/dist/cjs/table/table.js +1 -2
  24. package/dist/cjs/table/table.js.map +1 -1
  25. package/dist/cjs/table-form-fields/table-form-fields.js +1 -2
  26. package/dist/cjs/table-form-fields/table-form-fields.js.map +1 -1
  27. package/dist/esm/backgrounds/backgrounds.js +3 -6
  28. package/dist/esm/backgrounds/backgrounds.js.map +1 -1
  29. package/dist/esm/border/border.js +1 -2
  30. package/dist/esm/border/border.js.map +1 -1
  31. package/dist/esm/element-id/element-id.js +3 -6
  32. package/dist/esm/element-id/element-id.js.map +1 -1
  33. package/dist/esm/grid/grid.js +1 -2
  34. package/dist/esm/grid/grid.js.map +1 -1
  35. package/dist/esm/image/image.js +1 -2
  36. package/dist/esm/image/image.js.map +1 -1
  37. package/dist/esm/images/images.js +2 -4
  38. package/dist/esm/images/images.js.map +1 -1
  39. package/dist/esm/link/link.js +5 -10
  40. package/dist/esm/link/link.js.map +1 -1
  41. package/dist/esm/navigation-links/navigation-links.js +4 -8
  42. package/dist/esm/navigation-links/navigation-links.js.map +1 -1
  43. package/dist/esm/responsive-color/responsive-color.js +1 -2
  44. package/dist/esm/responsive-color/responsive-color.js.map +1 -1
  45. package/dist/esm/shadows/shadows.js +1 -2
  46. package/dist/esm/shadows/shadows.js.map +1 -1
  47. package/dist/esm/table/table.js +1 -2
  48. package/dist/esm/table/table.js.map +1 -1
  49. package/dist/esm/table-form-fields/table-form-fields.js +1 -2
  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 +46 -66
  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 +4 -84
  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 +1143 -1143
  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 +8 -80
  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
@@ -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":[]}
@@ -40,8 +40,7 @@ function createLinkPropControllerDataFromLinkData(value, definition) {
40
40
  ).otherwise(() => value);
41
41
  }
42
42
  function getLinkPropControllerPageIds(linkData) {
43
- if (linkData == null)
44
- return [];
43
+ if (linkData == null) return [];
45
44
  const link = getLinkPropControllerDataLinkData(linkData);
46
45
  switch (link.type) {
47
46
  case "OPEN_PAGE":
@@ -62,8 +61,7 @@ function copyLinkData(data, ctx) {
62
61
  case "OPEN_PAGE":
63
62
  {
64
63
  const pageId = value.payload.pageId;
65
- if (pageId == null)
66
- return value;
64
+ if (pageId == null) return value;
67
65
  value = {
68
66
  ...value,
69
67
  payload: { ...value.payload, pageId: replacePageId(pageId) }
@@ -72,8 +70,7 @@ function copyLinkData(data, ctx) {
72
70
  break;
73
71
  case "SCROLL_TO_ELEMENT": {
74
72
  const elementIdConfig = value.payload.elementIdConfig;
75
- if (elementIdConfig == null)
76
- return value;
73
+ if (elementIdConfig == null) return value;
77
74
  value = {
78
75
  ...value,
79
76
  payload: {
@@ -92,11 +89,9 @@ function copyLinkData(data, ctx) {
92
89
  return value;
93
90
  }
94
91
  function copyLinkPropControllerData(data, context) {
95
- if (data == null)
96
- return data;
92
+ if (data == null) return data;
97
93
  const value = copyLinkData(getLinkPropControllerDataLinkData(data), context);
98
- if (value == null)
99
- return value;
94
+ if (value == null) return value;
100
95
  return match(data).with({ [ControlDataTypeKey]: LinkPropControllerDataV1Type }, (v1) => ({
101
96
  ...v1,
102
97
  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,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,SAAS;AAEX,MAAM,iBAAiB,eAAe,OAAO;AAIpD,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAC5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,KAAK,UAAuB,CAAC,GAAmB;AAC9D,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACU;AACV,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEO,SAAS,6BACd,UACU;AACV,MAAI,YAAY;AAAM,WAAO,CAAC;AAE9B,QAAM,OAAO,kCAAkC,QAAQ;AAEvD,UAAQ,KAAK,MAAM;AAAA,IACjB,KAAK;AACH,aAAO,KAAK,QAAQ,UAAU,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM;AAAA,IAEhE;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,aACd,MACA,KACsB;AACtB,MAAI,QAAQ;AAEZ,WAAS,cAAc,QAAoC;AACzD,QAAI,qBAAqB,gBAAgB,MAAM,QAAQ,GAAG,GAAG;AAC3D,aAAO;AAAA,IACT;AACA,WAAO,wBAAwB,gBAAgB,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,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,CAAC,kBAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE,GAAG;AAAA,IACH;AAAA,EACF,EAAE,EACD,UAAU,CAAC,MAAM,KAAK;AAC3B;","names":[]}
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,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,SAAS;AAEX,MAAM,iBAAiB,eAAe,OAAO;AAIpD,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAC5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,KAAK,UAAuB,CAAC,GAAmB;AAC9D,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACU;AACV,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEO,SAAS,6BACd,UACU;AACV,MAAI,YAAY,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,QAAI,qBAAqB,gBAAgB,MAAM,QAAQ,GAAG,GAAG;AAC3D,aAAO;AAAA,IACT;AACA,WAAO,wBAAwB,gBAAgB,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,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,CAAC,kBAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE,GAAG;AAAA,IACH;AAAA,EACF,EAAE,EACD,UAAU,CAAC,MAAM,KAAK;AAC3B;","names":[]}
@@ -96,14 +96,12 @@ function createNavigationLinksPropControllerDataFromNavigationLinksData(navigati
96
96
  ).otherwise(() => navigationLinksData);
97
97
  }
98
98
  function getNavigationLinksPropControllerPageIds(data) {
99
- if (data == null)
100
- return [];
99
+ if (data == null) return [];
101
100
  const value = getNavigationLinksPropControllerDataNavigationLinksData(data);
102
101
  return value?.flatMap((item) => {
103
102
  switch (item.type) {
104
103
  case "button": {
105
- if (item.payload.link == null)
106
- return [];
104
+ if (item.payload.link == null) return [];
107
105
  switch (item.payload.link.type) {
108
106
  case "OPEN_PAGE":
109
107
  return item.payload.link.payload.pageId == null ? [] : [item.payload.link.payload.pageId];
@@ -113,8 +111,7 @@ function getNavigationLinksPropControllerPageIds(data) {
113
111
  }
114
112
  case "dropdown": {
115
113
  return item.payload.links?.flatMap((link) => {
116
- if (link.payload.link == null)
117
- return [];
114
+ if (link.payload.link == null) return [];
118
115
  switch (link.payload.link.type) {
119
116
  case "OPEN_PAGE":
120
117
  return link.payload.link.payload.pageId == null ? [] : [link.payload.link.payload.pageId];
@@ -127,8 +124,7 @@ function getNavigationLinksPropControllerPageIds(data) {
127
124
  }) ?? [];
128
125
  }
129
126
  function getNavigationLinksPropControllerSwatchIds(data) {
130
- if (data == null)
131
- return [];
127
+ if (data == null) return [];
132
128
  const value = getNavigationLinksPropControllerDataNavigationLinksData(data);
133
129
  return value?.flatMap((item) => {
134
130
  switch (item.type) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/navigation-links/navigation-links.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\nimport { colorDataSchema } from '../data'\nimport { textStyleDataSchema } from '../text-style'\nimport { copyLinkData, linkDataSchema } from '../link'\nimport { copyResponsiveColorData } from '../responsive-color'\n\nconst buttonVariantSchema = z.enum([\n 'flat',\n 'outline',\n 'shadow',\n 'clear',\n 'blocky',\n 'bubbly',\n 'skewed',\n])\n\nconst buttonShapeSchema = z.enum(['pill', 'rounded', 'square'])\n\nconst buttonSizeSchema = z.enum(['small', 'medium', 'large'])\n\nconst navigationButtonSchema = z.object({\n id: z.string(),\n type: z.literal('button'),\n payload: z.object({\n label: z.string(),\n link: linkDataSchema.optional(),\n variant: Schema.responsiveValue(buttonVariantSchema).optional(),\n shape: Schema.responsiveValue(buttonShapeSchema).optional(),\n size: Schema.responsiveValue(buttonSizeSchema).optional(),\n textColor: Schema.responsiveValue(colorDataSchema).optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nexport type NavigationButtonData = z.infer<typeof navigationButtonSchema>\n\nconst navigationDropdownCaretTypeSchema = z.union([\n z.literal('caret'),\n z.literal('plus'),\n z.literal('arrow-down'),\n z.literal('chevron-down'),\n])\n\nconst navigationDropdownLinkSchema = z.object({\n id: z.string(),\n payload: z.object({\n label: z.string(),\n link: linkDataSchema.optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nconst navigationDropdownSchema = z.object({\n id: z.string(),\n type: z.literal('dropdown'),\n payload: z.object({\n label: z.string(),\n caret: navigationDropdownCaretTypeSchema.optional(),\n links: z.array(navigationDropdownLinkSchema).optional(),\n variant: Schema.responsiveValue(buttonVariantSchema).optional(),\n shape: Schema.responsiveValue(buttonShapeSchema).optional(),\n size: Schema.responsiveValue(buttonSizeSchema).optional(),\n textColor: Schema.responsiveValue(colorDataSchema).optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nexport type NavigationDropdownData = z.infer<typeof navigationDropdownSchema>\n\nconst navigationLinksDataSchema = z.array(\n z.union([navigationButtonSchema, navigationDropdownSchema]),\n)\n\nexport type NavigationLinksData = z.infer<typeof navigationLinksDataSchema>\n\nconst navigationLinksPropControllerDataV0Schema = navigationLinksDataSchema\n\nexport type NavigationLinksPropControllerDataV0 = z.infer<\n typeof navigationLinksPropControllerDataV0Schema\n>\n\nexport const NavigationLinksPropControllerDataV1Type =\n 'prop-controllers::navigation-links::v1'\n\nconst navigationLinksPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(NavigationLinksPropControllerDataV1Type),\n value: navigationLinksDataSchema,\n})\n\nexport type NavigationLinksPropControllerDataV1 = z.infer<\n typeof navigationLinksPropControllerDataV1Schema\n>\n\nexport const navigationLinksPropControllerDataSchema = z.union([\n navigationLinksPropControllerDataV0Schema,\n navigationLinksPropControllerDataV1Schema,\n])\n\nexport type NavigationLinksPropControllerData = z.infer<\n typeof navigationLinksPropControllerDataSchema\n>\n\ntype NavigationLinksOptions = Options<Record<string, never>>\n\ntype NavigationLinksDescriptorV0<\n _T = NavigationLinksPropControllerDataV0,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = {\n type: typeof Types.NavigationLinks\n options: U\n}\n\ntype NavigationLinksDescriptorV1<\n _T = NavigationLinksPropControllerData,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = {\n type: typeof Types.NavigationLinks\n version: 1\n options: U\n}\n\nexport type NavigationLinksDescriptor<\n _T = NavigationLinksPropControllerData,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = NavigationLinksDescriptorV0<_T, U> | NavigationLinksDescriptorV1<_T, U>\n\nexport type ResolveNavigationLinksPropControllerValue<\n T extends NavigationLinksDescriptor,\n> = T extends NavigationLinksDescriptor\n ? NavigationLinksData | undefined\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function NavigationLinks(\n options: NavigationLinksOptions = {},\n): NavigationLinksDescriptor<NavigationLinksPropControllerData> {\n return { type: Types.NavigationLinks, version: 1, options }\n}\n\nexport function getNavigationLinksPropControllerDataNavigationLinksData(\n data: NavigationLinksPropControllerData | undefined,\n): NavigationLinksData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createNavigationLinksPropControllerDataFromNavigationLinksData(\n navigationLinksData: NavigationLinksData,\n definition: NavigationLinksDescriptor,\n): NavigationLinksPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,\n value: navigationLinksData,\n }) as const,\n )\n .otherwise(() => navigationLinksData)\n}\n\nexport function getNavigationLinksPropControllerPageIds(\n data: NavigationLinksPropControllerData | null | undefined,\n): string[] {\n if (data == null) return []\n\n const value = getNavigationLinksPropControllerDataNavigationLinksData(data)\n\n return (\n value?.flatMap((item) => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap((link) => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n}\n\nexport function getNavigationLinksPropControllerSwatchIds(\n data: NavigationLinksPropControllerData | null | undefined,\n): string[] {\n if (data == null) return []\n\n const value = getNavigationLinksPropControllerDataNavigationLinksData(data)\n\n return (\n value?.flatMap((item) => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map((override) => override.value)\n .map((color) => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map((override) => override.value)\n .map((color) => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n}\n\nfunction copyNavigationLinksData(\n data: NavigationLinksData,\n context: CopyContext,\n): NavigationLinksData {\n return data?.map((item) => {\n switch (item.type) {\n case 'button': {\n const { color, link } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n link: copyLinkData(link, context),\n color:\n color != null\n ? copyResponsiveColorData(color, context)\n : undefined,\n },\n }\n }\n\n case 'dropdown': {\n const { color, links } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n links:\n links != null\n ? links.map((link) => ({\n ...link,\n payload: {\n ...link.payload,\n link: copyLinkData(link.payload.link, context),\n },\n }))\n : undefined,\n color:\n color != null\n ? copyResponsiveColorData(color, context)\n : undefined,\n },\n }\n }\n\n default:\n return item\n }\n })\n}\n\nexport function copyNavigationLinksPropControllerData(\n data: NavigationLinksPropControllerData | undefined,\n context: CopyContext,\n): NavigationLinksPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,\n value: copyNavigationLinksData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyNavigationLinksData(v0, context))\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/navigation-links/navigation-links.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\nimport { colorDataSchema } from '../data'\nimport { textStyleDataSchema } from '../text-style'\nimport { copyLinkData, linkDataSchema } from '../link'\nimport { copyResponsiveColorData } from '../responsive-color'\n\nconst buttonVariantSchema = z.enum([\n 'flat',\n 'outline',\n 'shadow',\n 'clear',\n 'blocky',\n 'bubbly',\n 'skewed',\n])\n\nconst buttonShapeSchema = z.enum(['pill', 'rounded', 'square'])\n\nconst buttonSizeSchema = z.enum(['small', 'medium', 'large'])\n\nconst navigationButtonSchema = z.object({\n id: z.string(),\n type: z.literal('button'),\n payload: z.object({\n label: z.string(),\n link: linkDataSchema.optional(),\n variant: Schema.responsiveValue(buttonVariantSchema).optional(),\n shape: Schema.responsiveValue(buttonShapeSchema).optional(),\n size: Schema.responsiveValue(buttonSizeSchema).optional(),\n textColor: Schema.responsiveValue(colorDataSchema).optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nexport type NavigationButtonData = z.infer<typeof navigationButtonSchema>\n\nconst navigationDropdownCaretTypeSchema = z.union([\n z.literal('caret'),\n z.literal('plus'),\n z.literal('arrow-down'),\n z.literal('chevron-down'),\n])\n\nconst navigationDropdownLinkSchema = z.object({\n id: z.string(),\n payload: z.object({\n label: z.string(),\n link: linkDataSchema.optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nconst navigationDropdownSchema = z.object({\n id: z.string(),\n type: z.literal('dropdown'),\n payload: z.object({\n label: z.string(),\n caret: navigationDropdownCaretTypeSchema.optional(),\n links: z.array(navigationDropdownLinkSchema).optional(),\n variant: Schema.responsiveValue(buttonVariantSchema).optional(),\n shape: Schema.responsiveValue(buttonShapeSchema).optional(),\n size: Schema.responsiveValue(buttonSizeSchema).optional(),\n textColor: Schema.responsiveValue(colorDataSchema).optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nexport type NavigationDropdownData = z.infer<typeof navigationDropdownSchema>\n\nconst navigationLinksDataSchema = z.array(\n z.union([navigationButtonSchema, navigationDropdownSchema]),\n)\n\nexport type NavigationLinksData = z.infer<typeof navigationLinksDataSchema>\n\nconst navigationLinksPropControllerDataV0Schema = navigationLinksDataSchema\n\nexport type NavigationLinksPropControllerDataV0 = z.infer<\n typeof navigationLinksPropControllerDataV0Schema\n>\n\nexport const NavigationLinksPropControllerDataV1Type =\n 'prop-controllers::navigation-links::v1'\n\nconst navigationLinksPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(NavigationLinksPropControllerDataV1Type),\n value: navigationLinksDataSchema,\n})\n\nexport type NavigationLinksPropControllerDataV1 = z.infer<\n typeof navigationLinksPropControllerDataV1Schema\n>\n\nexport const navigationLinksPropControllerDataSchema = z.union([\n navigationLinksPropControllerDataV0Schema,\n navigationLinksPropControllerDataV1Schema,\n])\n\nexport type NavigationLinksPropControllerData = z.infer<\n typeof navigationLinksPropControllerDataSchema\n>\n\ntype NavigationLinksOptions = Options<Record<string, never>>\n\ntype NavigationLinksDescriptorV0<\n _T = NavigationLinksPropControllerDataV0,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = {\n type: typeof Types.NavigationLinks\n options: U\n}\n\ntype NavigationLinksDescriptorV1<\n _T = NavigationLinksPropControllerData,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = {\n type: typeof Types.NavigationLinks\n version: 1\n options: U\n}\n\nexport type NavigationLinksDescriptor<\n _T = NavigationLinksPropControllerData,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = NavigationLinksDescriptorV0<_T, U> | NavigationLinksDescriptorV1<_T, U>\n\nexport type ResolveNavigationLinksPropControllerValue<\n T extends NavigationLinksDescriptor,\n> = T extends NavigationLinksDescriptor\n ? NavigationLinksData | undefined\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function NavigationLinks(\n options: NavigationLinksOptions = {},\n): NavigationLinksDescriptor<NavigationLinksPropControllerData> {\n return { type: Types.NavigationLinks, version: 1, options }\n}\n\nexport function getNavigationLinksPropControllerDataNavigationLinksData(\n data: NavigationLinksPropControllerData | undefined,\n): NavigationLinksData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createNavigationLinksPropControllerDataFromNavigationLinksData(\n navigationLinksData: NavigationLinksData,\n definition: NavigationLinksDescriptor,\n): NavigationLinksPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,\n value: navigationLinksData,\n }) as const,\n )\n .otherwise(() => navigationLinksData)\n}\n\nexport function getNavigationLinksPropControllerPageIds(\n data: NavigationLinksPropControllerData | null | undefined,\n): string[] {\n if (data == null) return []\n\n const value = getNavigationLinksPropControllerDataNavigationLinksData(data)\n\n return (\n value?.flatMap((item) => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap((link) => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n}\n\nexport function getNavigationLinksPropControllerSwatchIds(\n data: NavigationLinksPropControllerData | null | undefined,\n): string[] {\n if (data == null) return []\n\n const value = getNavigationLinksPropControllerDataNavigationLinksData(data)\n\n return (\n value?.flatMap((item) => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map((override) => override.value)\n .map((color) => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map((override) => override.value)\n .map((color) => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n}\n\nfunction copyNavigationLinksData(\n data: NavigationLinksData,\n context: CopyContext,\n): NavigationLinksData {\n return data?.map((item) => {\n switch (item.type) {\n case 'button': {\n const { color, link } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n link: copyLinkData(link, context),\n color:\n color != null\n ? copyResponsiveColorData(color, context)\n : undefined,\n },\n }\n }\n\n case 'dropdown': {\n const { color, links } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n links:\n links != null\n ? links.map((link) => ({\n ...link,\n payload: {\n ...link.payload,\n link: copyLinkData(link.payload.link, context),\n },\n }))\n : undefined,\n color:\n color != null\n ? copyResponsiveColorData(color, context)\n : undefined,\n },\n }\n }\n\n default:\n return item\n }\n })\n}\n\nexport function copyNavigationLinksPropControllerData(\n data: NavigationLinksPropControllerData | undefined,\n context: CopyContext,\n): NavigationLinksPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,\n value: copyNavigationLinksData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyNavigationLinksData(v0, context))\n}\n"],"mappings":"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","names":[]}
@@ -44,8 +44,7 @@ function getResponsiveColorDataSwatchIds(data) {
44
44
  return data.map((override) => override.value.swatchId);
45
45
  }
46
46
  function getResponsiveColorPropControllerDataSwatchIds(data) {
47
- if (data == null)
48
- return [];
47
+ if (data == null) return [];
49
48
  return getResponsiveColorDataSwatchIds(
50
49
  getResponsiveColorPropControllerDataResponsiveColorData(data)
51
50
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/responsive-color/responsive-color.ts"],"sourcesContent":["import { z } from 'zod'\nimport { colorDataSchema } from '../data'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { match } from 'ts-pattern'\nimport {\n ColorData,\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst responsiveColorDataSchema = Schema.responsiveValue(colorDataSchema)\n\nexport type ResponsiveColorData = z.infer<typeof responsiveColorDataSchema>\n\nconst responsiveColorPropControllerDataV0Schema = responsiveColorDataSchema\n\ntype ResponsiveColorPropControllerDataV0 = z.infer<\n typeof responsiveColorPropControllerDataV0Schema\n>\n\nconst ResponsiveColorPropControllerDataV1Type =\n 'prop-controllers::responsive-color::v1'\n\nconst responsiveColorPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ResponsiveColorPropControllerDataV1Type),\n value: responsiveColorDataSchema,\n})\n\ntype ResponsiveColorPropControllerDataV1 = z.infer<\n typeof responsiveColorPropControllerDataV1Schema\n>\n\nexport const responsiveColorPropControllerDataSchema = z.union([\n responsiveColorPropControllerDataV0Schema,\n responsiveColorPropControllerDataV1Schema,\n])\n\nexport type ResponsiveColorPropControllerData = z.infer<\n typeof responsiveColorPropControllerDataSchema\n>\n\nexport type ResponsiveColorOptions = Options<{\n label?: string\n placeholder?: string\n hidden?: boolean\n}>\n\ntype ResponsiveColorDescriptorV0<_T = ResponsiveColorPropControllerDataV0> = {\n type: typeof Types.ResponsiveColor\n options: ResponsiveColorOptions\n}\n\ntype ResponsiveColorDescriptorV1<_T = ResponsiveColorPropControllerDataV1> = {\n type: typeof Types.ResponsiveColor\n version: 1\n options: ResponsiveColorOptions\n}\n\nexport type ResponsiveColorDescriptor<_T = ResponsiveColorPropControllerData> =\n | ResponsiveColorDescriptorV0\n | ResponsiveColorDescriptorV1\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveColor(\n options: ResponsiveColorOptions = {},\n): ResponsiveColorDescriptorV1 {\n return { type: Types.ResponsiveColor, version: 1, options }\n}\n\nexport function getResponsiveColorPropControllerDataResponsiveColorData(\n data: ResponsiveColorPropControllerData,\n): ResponsiveColorData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createResponsiveColorPropControllerDataFromResponsiveColorData(\n definition: ResponsiveColorDescriptor,\n responsiveColorData: ResponsiveColorData,\n): ResponsiveColorPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type,\n value: responsiveColorData,\n }) as const,\n )\n .otherwise(() => responsiveColorData)\n}\n\nexport function getResponsiveColorDataSwatchIds(\n data: ResponsiveColorData,\n): string[] {\n return data.map((override) => override.value.swatchId)\n}\n\nexport function getResponsiveColorPropControllerDataSwatchIds(\n data: ResponsiveColorPropControllerData | undefined | null,\n): string[] {\n if (data == null) return []\n\n return getResponsiveColorDataSwatchIds(\n getResponsiveColorPropControllerDataResponsiveColorData(data),\n )\n}\n\nexport function copyResponsiveColorData(\n data: ResponsiveColorData,\n context: CopyContext,\n): ResponsiveColorData {\n return data\n .filter(\n (override) =>\n !shouldRemoveResource(\n ContextResource.Swatch,\n override.value.swatchId,\n context,\n ),\n )\n .map((override) => ({\n ...override,\n value: copyColorValue(override.value),\n }))\n\n function copyColorValue(colorValue: ColorData): ColorData {\n return {\n ...colorValue,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n colorValue.swatchId,\n context,\n ),\n }\n }\n}\n\nexport function copyResponsiveColorPropControllerData(\n data: ResponsiveColorPropControllerData | undefined,\n context: CopyContext,\n): ResponsiveColorPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type,\n value: copyResponsiveColorData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveColorData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,4BAA4B,OAAO,gBAAgB,eAAe;AAIxE,MAAM,4CAA4C;AAMlD,MAAM,0CACJ;AAEF,MAAM,4CAA4C,EAAE,OAAO;AAAA,EACzD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,uCAAuC;AAAA,EACvE,OAAO;AACT,CAAC;AAMM,MAAM,0CAA0C,EAAE,MAAM;AAAA,EAC7D;AAAA,EACA;AACF,CAAC;AA+BM,SAAS,gBACd,UAAkC,CAAC,GACN;AAC7B,SAAO,EAAE,MAAM,MAAM,iBAAiB,SAAS,GAAG,QAAQ;AAC5D;AAEO,SAAS,wDACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+DACd,YACA,qBACmC;AACnC,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,mBAAmB;AACxC;AAEO,SAAS,gCACd,MACU;AACV,SAAO,KAAK,IAAI,CAAC,aAAa,SAAS,MAAM,QAAQ;AACvD;AAEO,SAAS,8CACd,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,SAAO;AAAA,IACL,wDAAwD,IAAI;AAAA,EAC9D;AACF;AAEO,SAAS,wBACd,MACA,SACqB;AACrB,SAAO,KACJ;AAAA,IACC,CAAC,aACC,CAAC;AAAA,MACC,gBAAgB;AAAA,MAChB,SAAS,MAAM;AAAA,MACf;AAAA,IACF;AAAA,EACJ,EACC,IAAI,CAAC,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,OAAO,eAAe,SAAS,KAAK;AAAA,EACtC,EAAE;AAEJ,WAAS,eAAe,YAAkC;AACxD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,gBAAgB;AAAA,QAChB,WAAW;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,sCACd,MACA,SAC+C;AAC/C,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,wBAAwB,GAAG,OAAO,OAAO;AAAA,IAClD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,wBAAwB,IAAI,OAAO,CAAC;AAC3D;","names":[]}
1
+ {"version":3,"sources":["../../../src/responsive-color/responsive-color.ts"],"sourcesContent":["import { z } from 'zod'\nimport { colorDataSchema } from '../data'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { match } from 'ts-pattern'\nimport {\n ColorData,\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst responsiveColorDataSchema = Schema.responsiveValue(colorDataSchema)\n\nexport type ResponsiveColorData = z.infer<typeof responsiveColorDataSchema>\n\nconst responsiveColorPropControllerDataV0Schema = responsiveColorDataSchema\n\ntype ResponsiveColorPropControllerDataV0 = z.infer<\n typeof responsiveColorPropControllerDataV0Schema\n>\n\nconst ResponsiveColorPropControllerDataV1Type =\n 'prop-controllers::responsive-color::v1'\n\nconst responsiveColorPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ResponsiveColorPropControllerDataV1Type),\n value: responsiveColorDataSchema,\n})\n\ntype ResponsiveColorPropControllerDataV1 = z.infer<\n typeof responsiveColorPropControllerDataV1Schema\n>\n\nexport const responsiveColorPropControllerDataSchema = z.union([\n responsiveColorPropControllerDataV0Schema,\n responsiveColorPropControllerDataV1Schema,\n])\n\nexport type ResponsiveColorPropControllerData = z.infer<\n typeof responsiveColorPropControllerDataSchema\n>\n\nexport type ResponsiveColorOptions = Options<{\n label?: string\n placeholder?: string\n hidden?: boolean\n}>\n\ntype ResponsiveColorDescriptorV0<_T = ResponsiveColorPropControllerDataV0> = {\n type: typeof Types.ResponsiveColor\n options: ResponsiveColorOptions\n}\n\ntype ResponsiveColorDescriptorV1<_T = ResponsiveColorPropControllerDataV1> = {\n type: typeof Types.ResponsiveColor\n version: 1\n options: ResponsiveColorOptions\n}\n\nexport type ResponsiveColorDescriptor<_T = ResponsiveColorPropControllerData> =\n | ResponsiveColorDescriptorV0\n | ResponsiveColorDescriptorV1\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveColor(\n options: ResponsiveColorOptions = {},\n): ResponsiveColorDescriptorV1 {\n return { type: Types.ResponsiveColor, version: 1, options }\n}\n\nexport function getResponsiveColorPropControllerDataResponsiveColorData(\n data: ResponsiveColorPropControllerData,\n): ResponsiveColorData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createResponsiveColorPropControllerDataFromResponsiveColorData(\n definition: ResponsiveColorDescriptor,\n responsiveColorData: ResponsiveColorData,\n): ResponsiveColorPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type,\n value: responsiveColorData,\n }) as const,\n )\n .otherwise(() => responsiveColorData)\n}\n\nexport function getResponsiveColorDataSwatchIds(\n data: ResponsiveColorData,\n): string[] {\n return data.map((override) => override.value.swatchId)\n}\n\nexport function getResponsiveColorPropControllerDataSwatchIds(\n data: ResponsiveColorPropControllerData | undefined | null,\n): string[] {\n if (data == null) return []\n\n return getResponsiveColorDataSwatchIds(\n getResponsiveColorPropControllerDataResponsiveColorData(data),\n )\n}\n\nexport function copyResponsiveColorData(\n data: ResponsiveColorData,\n context: CopyContext,\n): ResponsiveColorData {\n return data\n .filter(\n (override) =>\n !shouldRemoveResource(\n ContextResource.Swatch,\n override.value.swatchId,\n context,\n ),\n )\n .map((override) => ({\n ...override,\n value: copyColorValue(override.value),\n }))\n\n function copyColorValue(colorValue: ColorData): ColorData {\n return {\n ...colorValue,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n colorValue.swatchId,\n context,\n ),\n }\n }\n}\n\nexport function copyResponsiveColorPropControllerData(\n data: ResponsiveColorPropControllerData | undefined,\n context: CopyContext,\n): ResponsiveColorPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: ResponsiveColorPropControllerDataV1Type,\n value: copyResponsiveColorData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveColorData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,4BAA4B,OAAO,gBAAgB,eAAe;AAIxE,MAAM,4CAA4C;AAMlD,MAAM,0CACJ;AAEF,MAAM,4CAA4C,EAAE,OAAO;AAAA,EACzD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,uCAAuC;AAAA,EACvE,OAAO;AACT,CAAC;AAMM,MAAM,0CAA0C,EAAE,MAAM;AAAA,EAC7D;AAAA,EACA;AACF,CAAC;AA+BM,SAAS,gBACd,UAAkC,CAAC,GACN;AAC7B,SAAO,EAAE,MAAM,MAAM,iBAAiB,SAAS,GAAG,QAAQ;AAC5D;AAEO,SAAS,wDACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+DACd,YACA,qBACmC;AACnC,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,mBAAmB;AACxC;AAEO,SAAS,gCACd,MACU;AACV,SAAO,KAAK,IAAI,CAAC,aAAa,SAAS,MAAM,QAAQ;AACvD;AAEO,SAAS,8CACd,MACU;AACV,MAAI,QAAQ,KAAM,QAAO,CAAC;AAE1B,SAAO;AAAA,IACL,wDAAwD,IAAI;AAAA,EAC9D;AACF;AAEO,SAAS,wBACd,MACA,SACqB;AACrB,SAAO,KACJ;AAAA,IACC,CAAC,aACC,CAAC;AAAA,MACC,gBAAgB;AAAA,MAChB,SAAS,MAAM;AAAA,MACf;AAAA,IACF;AAAA,EACJ,EACC,IAAI,CAAC,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,OAAO,eAAe,SAAS,KAAK;AAAA,EACtC,EAAE;AAEJ,WAAS,eAAe,YAAkC;AACxD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,gBAAgB;AAAA,QAChB,WAAW;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,sCACd,MACA,SAC+C;AAC/C,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,wBAAwB,GAAG,OAAO,OAAO;AAAA,IAClD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,wBAAwB,IAAI,OAAO,CAAC;AAC3D;","names":[]}
@@ -69,8 +69,7 @@ function copyResponsiveShadowsData(data, context) {
69
69
  ...override,
70
70
  value: override.value.map((item) => {
71
71
  const { color } = item.payload;
72
- if (color == null)
73
- return item;
72
+ if (color == null) return item;
74
73
  if (shouldRemoveResource(ContextResource.Swatch, color.swatchId, context)) {
75
74
  return { ...item, payload: { ...item.payload, color: void 0 } };
76
75
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/shadows/shadows.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { colorDataSchema } from '../data'\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst shadowDataSchema = z.object({\n color: colorDataSchema.nullable().optional(),\n blurRadius: z.number().optional(),\n spreadRadius: z.number().optional(),\n offsetX: z.number().optional(),\n offsetY: z.number().optional(),\n inset: z.boolean().optional(),\n})\n\nexport type ShadowData = z.infer<typeof shadowDataSchema>\n\nconst shadowsDataSchema = z.array(\n z.object({\n id: z.string(),\n payload: shadowDataSchema,\n }),\n)\n\nexport type ShadowsData = z.infer<typeof shadowsDataSchema>\n\nconst responsiveShadowsDataSchema = Schema.responsiveValue(shadowsDataSchema)\n\ntype ResponsiveShadowsData = z.infer<typeof responsiveShadowsDataSchema>\n\nconst shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema\n\ntype ShadowsPropControllerDataV0 = z.infer<\n typeof shadowsPropControllerDataV0Schema\n>\n\nconst ShadowsPropControllerDataV1Type = 'prop-controllers::shadows::v1'\n\nconst shadowsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ShadowsPropControllerDataV1Type),\n value: responsiveShadowsDataSchema,\n})\n\nexport const shadowsPropControllerDataSchema = z.union([\n shadowsPropControllerDataV0Schema,\n shadowsPropControllerDataV1Schema,\n])\n\nexport type ShadowsPropControllerData = z.infer<\n typeof shadowsPropControllerDataSchema\n>\n\nexport const ShadowsPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::shadows::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::shadows::format::responsive-value',\n} as const\n\nexport type ShadowsPropControllerFormat =\n (typeof ShadowsPropControllerFormat)[keyof typeof ShadowsPropControllerFormat]\n\ntype ShadowsOptions = { format?: ShadowsPropControllerFormat }\n\ntype ShadowsDescriptorV0<\n _T = ShadowsPropControllerDataV0,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n options: U\n}\n\ntype ShadowsDescriptorV1<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n version: 1\n options: U\n}\n\nexport type ShadowsDescriptor<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = ShadowsDescriptorV0<_T, U> | ShadowsDescriptorV1<_T, U>\n\nexport type ResolveShadowsPropControllerValue<T extends ShadowsDescriptor> =\n T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveShadowsData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ResponsiveShadowsData | 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 Shadows<T extends ShadowsOptions>(\n options: T & ShadowsOptions = {} as T,\n): ShadowsDescriptor<ShadowsPropControllerData, T> {\n return { type: Types.Shadows, version: 1, options }\n}\n\nShadows.Format = ShadowsPropControllerFormat\n\nexport function getShadowsPropControllerDataResponsiveShadowsData(\n data: ShadowsPropControllerData | null | undefined,\n): ResponsiveShadowsData | null | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createShadowsPropControllerDataFromResponsiveShadowsData(\n definition: ShadowsDescriptor,\n responsiveShadowsData: ResponsiveShadowsData,\n): ShadowsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: responsiveShadowsData,\n }) as const,\n )\n .otherwise(() => responsiveShadowsData)\n}\n\nexport function getShadowsPropControllerDataSwatchIds(\n data: ShadowsPropControllerData | null | undefined,\n): string[] {\n return (\n getShadowsPropControllerDataResponsiveShadowsData(data)\n ?.flatMap((override) => override.value)\n .map((item) => item.payload.color?.swatchId)\n .filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n ) ?? []\n )\n}\n\nfunction copyResponsiveShadowsData(\n data: ResponsiveShadowsData,\n context: CopyContext,\n): ResponsiveShadowsData {\n return data.map((override) => ({\n ...override,\n value: override.value.map((item) => {\n const { color } = item.payload\n\n if (color == null) return item\n\n if (\n shouldRemoveResource(ContextResource.Swatch, color.swatchId, context)\n ) {\n return { ...item, payload: { ...item.payload, color: undefined } }\n }\n\n return {\n ...item,\n payload: {\n ...item.payload,\n color: {\n ...color,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n color.swatchId,\n context,\n ),\n },\n },\n }\n }),\n }))\n}\n\nexport function copyShadowsPropControllerData(\n data: ShadowsPropControllerData | undefined,\n context: CopyContext,\n): ShadowsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: copyResponsiveShadowsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveShadowsData(v0, context))\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/shadows/shadows.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { colorDataSchema } from '../data'\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst shadowDataSchema = z.object({\n color: colorDataSchema.nullable().optional(),\n blurRadius: z.number().optional(),\n spreadRadius: z.number().optional(),\n offsetX: z.number().optional(),\n offsetY: z.number().optional(),\n inset: z.boolean().optional(),\n})\n\nexport type ShadowData = z.infer<typeof shadowDataSchema>\n\nconst shadowsDataSchema = z.array(\n z.object({\n id: z.string(),\n payload: shadowDataSchema,\n }),\n)\n\nexport type ShadowsData = z.infer<typeof shadowsDataSchema>\n\nconst responsiveShadowsDataSchema = Schema.responsiveValue(shadowsDataSchema)\n\ntype ResponsiveShadowsData = z.infer<typeof responsiveShadowsDataSchema>\n\nconst shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema\n\ntype ShadowsPropControllerDataV0 = z.infer<\n typeof shadowsPropControllerDataV0Schema\n>\n\nconst ShadowsPropControllerDataV1Type = 'prop-controllers::shadows::v1'\n\nconst shadowsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ShadowsPropControllerDataV1Type),\n value: responsiveShadowsDataSchema,\n})\n\nexport const shadowsPropControllerDataSchema = z.union([\n shadowsPropControllerDataV0Schema,\n shadowsPropControllerDataV1Schema,\n])\n\nexport type ShadowsPropControllerData = z.infer<\n typeof shadowsPropControllerDataSchema\n>\n\nexport const ShadowsPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::shadows::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::shadows::format::responsive-value',\n} as const\n\nexport type ShadowsPropControllerFormat =\n (typeof ShadowsPropControllerFormat)[keyof typeof ShadowsPropControllerFormat]\n\ntype ShadowsOptions = { format?: ShadowsPropControllerFormat }\n\ntype ShadowsDescriptorV0<\n _T = ShadowsPropControllerDataV0,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n options: U\n}\n\ntype ShadowsDescriptorV1<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n version: 1\n options: U\n}\n\nexport type ShadowsDescriptor<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = ShadowsDescriptorV0<_T, U> | ShadowsDescriptorV1<_T, U>\n\nexport type ResolveShadowsPropControllerValue<T extends ShadowsDescriptor> =\n T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveShadowsData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ResponsiveShadowsData | 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 Shadows<T extends ShadowsOptions>(\n options: T & ShadowsOptions = {} as T,\n): ShadowsDescriptor<ShadowsPropControllerData, T> {\n return { type: Types.Shadows, version: 1, options }\n}\n\nShadows.Format = ShadowsPropControllerFormat\n\nexport function getShadowsPropControllerDataResponsiveShadowsData(\n data: ShadowsPropControllerData | null | undefined,\n): ResponsiveShadowsData | null | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createShadowsPropControllerDataFromResponsiveShadowsData(\n definition: ShadowsDescriptor,\n responsiveShadowsData: ResponsiveShadowsData,\n): ShadowsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: responsiveShadowsData,\n }) as const,\n )\n .otherwise(() => responsiveShadowsData)\n}\n\nexport function getShadowsPropControllerDataSwatchIds(\n data: ShadowsPropControllerData | null | undefined,\n): string[] {\n return (\n getShadowsPropControllerDataResponsiveShadowsData(data)\n ?.flatMap((override) => override.value)\n .map((item) => item.payload.color?.swatchId)\n .filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n ) ?? []\n )\n}\n\nfunction copyResponsiveShadowsData(\n data: ResponsiveShadowsData,\n context: CopyContext,\n): ResponsiveShadowsData {\n return data.map((override) => ({\n ...override,\n value: override.value.map((item) => {\n const { color } = item.payload\n\n if (color == null) return item\n\n if (\n shouldRemoveResource(ContextResource.Swatch, color.swatchId, context)\n ) {\n return { ...item, payload: { ...item.payload, color: undefined } }\n }\n\n return {\n ...item,\n payload: {\n ...item.payload,\n color: {\n ...color,\n swatchId: replaceResourceIfNeeded(\n ContextResource.Swatch,\n color.swatchId,\n context,\n ),\n },\n },\n }\n }),\n }))\n}\n\nexport function copyShadowsPropControllerData(\n data: ShadowsPropControllerData | undefined,\n context: CopyContext,\n): ShadowsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: copyResponsiveShadowsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveShadowsData(v0, context))\n}\n"],"mappings":"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","names":[]}
@@ -40,8 +40,7 @@ function createTablePropControllerDataFromTableId(value, definition) {
40
40
  ).otherwise(() => value);
41
41
  }
42
42
  function copyTableId(data, context) {
43
- if (data == null)
44
- return data;
43
+ if (data == null) return data;
45
44
  return replaceResourceIfNeeded(ContextResource.Table, data, context);
46
45
  }
47
46
  function copyTablePropControllerData(data, ctx) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/table/table.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'\n\nconst tableIdSchema = z.string()\n\ntype TableId = z.infer<typeof tableIdSchema>\n\nconst tablePropControllerDataV0Schema = tableIdSchema\n\nexport type TablePropControllerDataV0 = z.infer<\n typeof tablePropControllerDataV0Schema\n>\n\nexport const TablePropControllerDataV1Type = 'prop-controllers::table::v1'\n\nconst tablePropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TablePropControllerDataV1Type),\n value: tableIdSchema,\n})\n\nexport type TablePropControllerDataV1 = z.infer<\n typeof tablePropControllerDataV1Schema\n>\n\nexport const tablePropControllerDataSchema = z.union([\n tablePropControllerDataV0Schema,\n tablePropControllerDataV1Schema,\n])\n\nexport type TablePropControllerData = z.infer<\n typeof tablePropControllerDataSchema\n>\n\nexport type TableOptions = Options<{\n preset?: TablePropControllerData\n}>\n\ntype TableDescriptorV0<_T = TablePropControllerDataV0> = {\n type: typeof Types.Table\n options: TableOptions\n}\n\ntype TableDescriptorV1<\n _T = TablePropControllerData,\n U extends TableOptions = TableOptions,\n> = {\n type: typeof Types.Table\n version: 1\n options: U\n}\n\nexport type TableDescriptor<_T = TablePropControllerData> =\n | TableDescriptorV0\n | TableDescriptorV1\n\nexport type ResolveTablePropControllerValue<T extends TableDescriptor> =\n T extends TableDescriptor ? TableId | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Table(options: TableOptions = {}): TableDescriptorV1 {\n return { type: Types.Table, version: 1, options }\n}\n\nexport function getTablePropControllerDataTableId(\n data: TablePropControllerData | undefined,\n): TableId | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTablePropControllerDataFromTableId(\n value: TableId,\n definition?: TableDescriptor,\n): TablePropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction copyTableId(data: TableId, context: CopyContext): TableId {\n if (data == null) return data\n\n return replaceResourceIfNeeded(ContextResource.Table, data, context)\n}\n\nexport function copyTablePropControllerData(\n data: TablePropControllerData | undefined,\n ctx: CopyContext,\n): TablePropControllerData | undefined {\n const currentTableId = getTablePropControllerDataTableId(data)\n if (\n currentTableId != null &&\n shouldRemoveResource(ContextResource.Table, currentTableId, ctx)\n ) {\n return undefined\n }\n\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value: copyTableId(v1.value, ctx),\n }) as const,\n )\n .otherwise((v0) => copyTableId(v0, ctx))\n}\n\nexport function getTablePropControllerDataTableIds(\n data: TablePropControllerData | undefined,\n): string[] {\n const value = getTablePropControllerDataTableId(data)\n\n return value ? [value] : []\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,gBAAgB,EAAE,OAAO;AAI/B,MAAM,kCAAkC;AAMjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,EAAE,OAAO;AAAA,EAC/C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,EAAE,MAAM;AAAA,EACnD;AAAA,EACA;AACF,CAAC;AAmCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,MAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,kCACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACyB;AACzB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,YAAY,MAAe,SAA+B;AACjE,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,wBAAwB,gBAAgB,OAAO,MAAM,OAAO;AACrE;AAEO,SAAS,4BACd,MACA,KACqC;AACrC,QAAM,iBAAiB,kCAAkC,IAAI;AAC7D,MACE,kBAAkB,QAClB,qBAAqB,gBAAgB,OAAO,gBAAgB,GAAG,GAC/D;AACA,WAAO;AAAA,EACT;AAEA,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,YAAY,GAAG,OAAO,GAAG;AAAA,IAClC;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,YAAY,IAAI,GAAG,CAAC;AAC3C;AAEO,SAAS,mCACd,MACU;AACV,QAAM,QAAQ,kCAAkC,IAAI;AAEpD,SAAO,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5B;","names":[]}
1
+ {"version":3,"sources":["../../../src/table/table.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'\n\nconst tableIdSchema = z.string()\n\ntype TableId = z.infer<typeof tableIdSchema>\n\nconst tablePropControllerDataV0Schema = tableIdSchema\n\nexport type TablePropControllerDataV0 = z.infer<\n typeof tablePropControllerDataV0Schema\n>\n\nexport const TablePropControllerDataV1Type = 'prop-controllers::table::v1'\n\nconst tablePropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TablePropControllerDataV1Type),\n value: tableIdSchema,\n})\n\nexport type TablePropControllerDataV1 = z.infer<\n typeof tablePropControllerDataV1Schema\n>\n\nexport const tablePropControllerDataSchema = z.union([\n tablePropControllerDataV0Schema,\n tablePropControllerDataV1Schema,\n])\n\nexport type TablePropControllerData = z.infer<\n typeof tablePropControllerDataSchema\n>\n\nexport type TableOptions = Options<{\n preset?: TablePropControllerData\n}>\n\ntype TableDescriptorV0<_T = TablePropControllerDataV0> = {\n type: typeof Types.Table\n options: TableOptions\n}\n\ntype TableDescriptorV1<\n _T = TablePropControllerData,\n U extends TableOptions = TableOptions,\n> = {\n type: typeof Types.Table\n version: 1\n options: U\n}\n\nexport type TableDescriptor<_T = TablePropControllerData> =\n | TableDescriptorV0\n | TableDescriptorV1\n\nexport type ResolveTablePropControllerValue<T extends TableDescriptor> =\n T extends TableDescriptor ? TableId | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Table(options: TableOptions = {}): TableDescriptorV1 {\n return { type: Types.Table, version: 1, options }\n}\n\nexport function getTablePropControllerDataTableId(\n data: TablePropControllerData | undefined,\n): TableId | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTablePropControllerDataFromTableId(\n value: TableId,\n definition?: TableDescriptor,\n): TablePropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction copyTableId(data: TableId, context: CopyContext): TableId {\n if (data == null) return data\n\n return replaceResourceIfNeeded(ContextResource.Table, data, context)\n}\n\nexport function copyTablePropControllerData(\n data: TablePropControllerData | undefined,\n ctx: CopyContext,\n): TablePropControllerData | undefined {\n const currentTableId = getTablePropControllerDataTableId(data)\n if (\n currentTableId != null &&\n shouldRemoveResource(ContextResource.Table, currentTableId, ctx)\n ) {\n return undefined\n }\n\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value: copyTableId(v1.value, ctx),\n }) as const,\n )\n .otherwise((v0) => copyTableId(v0, ctx))\n}\n\nexport function getTablePropControllerDataTableIds(\n data: TablePropControllerData | undefined,\n): string[] {\n const value = getTablePropControllerDataTableId(data)\n\n return value ? [value] : []\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,gBAAgB,EAAE,OAAO;AAI/B,MAAM,kCAAkC;AAMjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,EAAE,OAAO;AAAA,EAC/C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,EAAE,MAAM;AAAA,EACnD;AAAA,EACA;AACF,CAAC;AAmCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,MAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,kCACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACyB;AACzB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,YAAY,MAAe,SAA+B;AACjE,MAAI,QAAQ,KAAM,QAAO;AAEzB,SAAO,wBAAwB,gBAAgB,OAAO,MAAM,OAAO;AACrE;AAEO,SAAS,4BACd,MACA,KACqC;AACrC,QAAM,iBAAiB,kCAAkC,IAAI;AAC7D,MACE,kBAAkB,QAClB,qBAAqB,gBAAgB,OAAO,gBAAgB,GAAG,GAC/D;AACA,WAAO;AAAA,EACT;AAEA,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,YAAY,GAAG,OAAO,GAAG;AAAA,IAClC;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,YAAY,IAAI,GAAG,CAAC;AAC3C;AAEO,SAAS,mCACd,MACU;AACV,QAAM,QAAQ,kCAAkC,IAAI;AAEpD,SAAO,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5B;","names":[]}
@@ -61,8 +61,7 @@ function createTableFormFieldsPropControllerDataFromTableFormFieldsData(value, d
61
61
  ).otherwise(() => value);
62
62
  }
63
63
  function copyTableFormFieldsData(data, context) {
64
- if (data == null)
65
- return data;
64
+ if (data == null) return data;
66
65
  return {
67
66
  ...data,
68
67
  fields: data.fields.filter(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/table-form-fields/table-form-fields.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst tableFormFieldSchema = z.object({\n id: z.string(),\n tableColumnId: z.string(),\n label: z.string().optional(),\n placeholder: z.string().optional(),\n defaultValue: z\n .union([z.string(), z.boolean(), z.array(z.string())])\n .optional(),\n required: z.boolean().optional(),\n hidden: z.boolean().optional(),\n type: z.union([z.literal('select'), z.literal('radio')]).optional(),\n hideLabel: z.boolean().optional(),\n autofill: z.boolean().optional(),\n})\n\nexport const tableFormFieldsDataSchema = z.object({\n fields: z.array(tableFormFieldSchema),\n grid: Schema.responsiveValue(\n z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n }),\n ),\n})\n\nexport type TableFormFieldsData = z.infer<typeof tableFormFieldsDataSchema>\n\nconst tableFormFieldsPropControllerDataV0Schema = tableFormFieldsDataSchema\n\nexport type TableFormFieldsPropControllerDataV0 = z.infer<\n typeof tableFormFieldsPropControllerDataV0Schema\n>\n\nexport const TableFormFieldsPropControllerDataV1Type =\n 'prop-controllers::table-form-fields::v1'\n\nconst tableFormFieldsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TableFormFieldsPropControllerDataV1Type),\n value: tableFormFieldsDataSchema,\n})\n\nexport type TableFormFieldsPropControllerDataV1 = z.infer<\n typeof tableFormFieldsPropControllerDataV1Schema\n>\n\nexport const tableFormFieldsPropControllerDataSchema = z.union([\n tableFormFieldsPropControllerDataV0Schema,\n tableFormFieldsPropControllerDataV1Schema,\n])\n\nexport type TableFormFieldsPropControllerData = z.infer<\n typeof tableFormFieldsPropControllerDataSchema\n>\n\nexport type TableFormFieldsOptions = Options<{\n preset?: TableFormFieldsPropControllerData\n}>\n\ntype TableFormFieldsDescriptorV0<_T = TableFormFieldsPropControllerDataV0> = {\n type: typeof Types.TableFormFields\n options: TableFormFieldsOptions\n}\n\ntype TableFormFieldsDescriptorV1<\n _T = TableFormFieldsPropControllerData,\n U extends TableFormFieldsOptions = TableFormFieldsOptions,\n> = {\n type: typeof Types.TableFormFields\n version: 1\n options: U\n}\n\nexport type TableFormFieldsDescriptor<_T = TableFormFieldsPropControllerData> =\n | TableFormFieldsDescriptorV0\n | TableFormFieldsDescriptorV1\n\nexport type ResolveTableFormFieldsPropControllerValue<\n T extends TableFormFieldsDescriptor,\n> = T extends TableFormFieldsDescriptor\n ? TableFormFieldsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function TableFormFields(\n options: TableFormFieldsOptions = {},\n): TableFormFieldsDescriptorV1 {\n return { type: Types.TableFormFields, version: 1, options }\n}\n\nexport function getTableFormFieldsPropControllerDataTableFormFieldsData(\n data: TableFormFieldsPropControllerData | undefined,\n): TableFormFieldsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTableFormFieldsPropControllerDataFromTableFormFieldsData(\n value: TableFormFieldsData,\n definition: TableFormFieldsDescriptor,\n): TableFormFieldsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction copyTableFormFieldsData(\n data: TableFormFieldsData,\n context: CopyContext,\n): TableFormFieldsData {\n if (data == null) return data\n\n return {\n ...data,\n fields: data.fields\n .filter(\n (field) =>\n !shouldRemoveResource(\n ContextResource.TableColumn,\n field.tableColumnId,\n context,\n ),\n )\n .map((field) => ({\n ...field,\n tableColumnId: replaceResourceIfNeeded(\n ContextResource.TableColumn,\n field.tableColumnId,\n context,\n ),\n })),\n }\n}\n\nexport function copyTableFormFieldsPropControllerData(\n data: TableFormFieldsPropControllerData | undefined,\n context: CopyContext,\n): TableFormFieldsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value: copyTableFormFieldsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyTableFormFieldsData(v0, context))\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/table-form-fields/table-form-fields.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ContextResource,\n replaceResourceIfNeeded,\n shouldRemoveResource,\n} from '@makeswift/controls'\n\nconst tableFormFieldSchema = z.object({\n id: z.string(),\n tableColumnId: z.string(),\n label: z.string().optional(),\n placeholder: z.string().optional(),\n defaultValue: z\n .union([z.string(), z.boolean(), z.array(z.string())])\n .optional(),\n required: z.boolean().optional(),\n hidden: z.boolean().optional(),\n type: z.union([z.literal('select'), z.literal('radio')]).optional(),\n hideLabel: z.boolean().optional(),\n autofill: z.boolean().optional(),\n})\n\nexport const tableFormFieldsDataSchema = z.object({\n fields: z.array(tableFormFieldSchema),\n grid: Schema.responsiveValue(\n z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n }),\n ),\n})\n\nexport type TableFormFieldsData = z.infer<typeof tableFormFieldsDataSchema>\n\nconst tableFormFieldsPropControllerDataV0Schema = tableFormFieldsDataSchema\n\nexport type TableFormFieldsPropControllerDataV0 = z.infer<\n typeof tableFormFieldsPropControllerDataV0Schema\n>\n\nexport const TableFormFieldsPropControllerDataV1Type =\n 'prop-controllers::table-form-fields::v1'\n\nconst tableFormFieldsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TableFormFieldsPropControllerDataV1Type),\n value: tableFormFieldsDataSchema,\n})\n\nexport type TableFormFieldsPropControllerDataV1 = z.infer<\n typeof tableFormFieldsPropControllerDataV1Schema\n>\n\nexport const tableFormFieldsPropControllerDataSchema = z.union([\n tableFormFieldsPropControllerDataV0Schema,\n tableFormFieldsPropControllerDataV1Schema,\n])\n\nexport type TableFormFieldsPropControllerData = z.infer<\n typeof tableFormFieldsPropControllerDataSchema\n>\n\nexport type TableFormFieldsOptions = Options<{\n preset?: TableFormFieldsPropControllerData\n}>\n\ntype TableFormFieldsDescriptorV0<_T = TableFormFieldsPropControllerDataV0> = {\n type: typeof Types.TableFormFields\n options: TableFormFieldsOptions\n}\n\ntype TableFormFieldsDescriptorV1<\n _T = TableFormFieldsPropControllerData,\n U extends TableFormFieldsOptions = TableFormFieldsOptions,\n> = {\n type: typeof Types.TableFormFields\n version: 1\n options: U\n}\n\nexport type TableFormFieldsDescriptor<_T = TableFormFieldsPropControllerData> =\n | TableFormFieldsDescriptorV0\n | TableFormFieldsDescriptorV1\n\nexport type ResolveTableFormFieldsPropControllerValue<\n T extends TableFormFieldsDescriptor,\n> = T extends TableFormFieldsDescriptor\n ? TableFormFieldsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function TableFormFields(\n options: TableFormFieldsOptions = {},\n): TableFormFieldsDescriptorV1 {\n return { type: Types.TableFormFields, version: 1, options }\n}\n\nexport function getTableFormFieldsPropControllerDataTableFormFieldsData(\n data: TableFormFieldsPropControllerData | undefined,\n): TableFormFieldsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTableFormFieldsPropControllerDataFromTableFormFieldsData(\n value: TableFormFieldsData,\n definition: TableFormFieldsDescriptor,\n): TableFormFieldsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction copyTableFormFieldsData(\n data: TableFormFieldsData,\n context: CopyContext,\n): TableFormFieldsData {\n if (data == null) return data\n\n return {\n ...data,\n fields: data.fields\n .filter(\n (field) =>\n !shouldRemoveResource(\n ContextResource.TableColumn,\n field.tableColumnId,\n context,\n ),\n )\n .map((field) => ({\n ...field,\n tableColumnId: replaceResourceIfNeeded(\n ContextResource.TableColumn,\n field.tableColumnId,\n context,\n ),\n })),\n }\n}\n\nexport function copyTableFormFieldsPropControllerData(\n data: TableFormFieldsPropControllerData | undefined,\n context: CopyContext,\n): TableFormFieldsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value: copyTableFormFieldsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyTableFormFieldsData(v0, context))\n}\n"],"mappings":"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","names":[]}