@makeswift/prop-controllers 0.0.0-snapshot-20241219141106 → 0.0.0-snapshot-20241219151731
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/backgrounds/backgrounds.js.map +1 -0
- package/dist/cjs/border/border.js.map +1 -0
- package/dist/cjs/border-radius/border-radius.js.map +1 -0
- package/dist/cjs/checkbox/checkbox.js.map +1 -0
- package/dist/cjs/data.js.map +1 -0
- package/dist/cjs/date/date.js.map +1 -0
- package/dist/cjs/element-id/element-id.js.map +1 -0
- package/dist/cjs/font/font.js.map +1 -0
- package/dist/cjs/gap-x/gap-x.js.map +1 -0
- package/package.json +2 -2
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/backgrounds/backgrounds.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 { colorDataSchema, imageDataV0Schema, imageDataV1Schema } from '../data'\n\nconst colorBackgroundDataSchema = z.object({\n type: z.literal('color'),\n id: z.string(),\n payload: colorDataSchema.nullable(),\n})\n\nconst gradientStopDataSchema = z.object({\n id: z.string(),\n location: z.number(),\n color: colorDataSchema.nullable(),\n})\n\nconst gradientDataSchema = z.object({\n angle: z.number().optional(),\n isRadial: z.boolean().optional(),\n stops: z.array(gradientStopDataSchema),\n})\n\nconst gradientBackgroundDataSchema = z.object({\n type: z.literal('gradient'),\n id: z.string(),\n payload: gradientDataSchema,\n})\n\nconst backgroundImagePositionDataSchema = z.object({\n x: z.number(),\n y: z.number(),\n})\n\nconst backgroundSizeDataSchema = z.union([\n z.literal('cover'),\n z.literal('contain'),\n z.literal('auto'),\n])\n\nconst backgroundImageRepeatDataSchema = z.union([\n z.literal('no-repeat'),\n z.literal('repeat-x'),\n z.literal('repeat-y'),\n z.literal('repeat'),\n])\n\nconst backgroundImageV0DataSchema = z.object({\n imageId: imageDataV0Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nconst backgroundImageV1DataSchema = z.object({\n version: z.literal(1),\n image: imageDataV1Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nexport const backgroundImageDataSchema = z.union([\n backgroundImageV0DataSchema,\n backgroundImageV1DataSchema,\n])\n\nexport type BackgroundImageData = z.infer<typeof backgroundImageDataSchema>\n\nconst imageBackgroundV0DataSchema = z.object({\n type: z.literal('image'),\n id: z.string(),\n payload: backgroundImageV0DataSchema,\n})\n\nconst imageBackgroundV1DataSchema = z.object({\n type: z.literal('image-v1'),\n id: z.string(),\n payload: backgroundImageV1DataSchema,\n})\n\nexport const imageBackgroundDataSchema = z.union([\n imageBackgroundV0DataSchema,\n imageBackgroundV1DataSchema,\n])\n\nexport type ImageBackgroundData = z.infer<typeof imageBackgroundDataSchema>\n\nconst backgroundVideoAspectRatioDataSchema = z.union([\n z.literal('wide'),\n z.literal('standard'),\n])\n\nconst backgroundVideoDataSchema = z.object({\n url: z.string().optional(),\n maskColor: colorDataSchema.nullable().optional(),\n opacity: z.number().optional(),\n zoom: z.number().optional(),\n aspectRatio: backgroundVideoAspectRatioDataSchema.optional(),\n parallax: z.number().optional(),\n})\n\nconst videoBackgroundDataSchema = z.object({\n type: z.literal('video'),\n id: z.string(),\n payload: backgroundVideoDataSchema,\n})\n\nconst backgroundDataSchema = z.union([\n colorBackgroundDataSchema,\n gradientBackgroundDataSchema,\n imageBackgroundDataSchema,\n videoBackgroundDataSchema,\n])\n\nexport type BackgroundData = z.infer<typeof backgroundDataSchema>\n\nconst responsiveBackgroundsDataSchema = Schema.responsiveValue(\n z.array(backgroundDataSchema),\n)\n\nexport type ResponsiveBackgroundsData = z.infer<\n typeof responsiveBackgroundsDataSchema\n>\n\nconst backgroundsPropControllerDataV1Schema = responsiveBackgroundsDataSchema\n\nexport type BackgroundsPropControllerDataV1 = z.infer<\n typeof backgroundsPropControllerDataV1Schema\n>\n\nexport const BackgroundsPropControllerDataV2Type =\n 'prop-controllers::backgrounds::v2'\n\nconst backgroundsPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(BackgroundsPropControllerDataV2Type),\n value: responsiveBackgroundsDataSchema,\n})\n\nexport type BackgroundsPropControllerDataV2 = z.infer<\n typeof backgroundsPropControllerDataV2Schema\n>\n\nexport const backgroundsPropControllerDataSchema = z.union([\n backgroundsPropControllerDataV1Schema,\n backgroundsPropControllerDataV2Schema,\n])\n\nexport type BackgroundsPropControllerData = z.infer<\n typeof backgroundsPropControllerDataSchema\n>\n\nexport type BackgroundsOptions = Options<Record<string, never>>\n\ntype BackgroundsDescriptorV1<_T = BackgroundsPropControllerDataV1> = {\n type: typeof Types.Backgrounds\n version?: 1\n options: BackgroundsOptions\n}\n\ntype BackgroundsDescriptorV2<_T = BackgroundsPropControllerData> = {\n type: typeof Types.Backgrounds\n version: 2\n options: BackgroundsOptions\n}\n\nexport type BackgroundsDescriptor<_T = BackgroundsPropControllerData> =\n | BackgroundsDescriptorV1\n | BackgroundsDescriptorV2\n\nexport type ResolveBackgroundsPropControllerValue<\n T extends BackgroundsDescriptor,\n> = T extends BackgroundsDescriptor\n ? ResponsiveBackgroundsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Backgrounds(\n options: BackgroundsOptions = {},\n): BackgroundsDescriptorV2 {\n return { type: Types.Backgrounds, version: 2, options }\n}\n\nexport function getBackgroundsPropControllerDataResponsiveBackgroundsData(\n data: BackgroundsPropControllerData | undefined,\n): ResponsiveBackgroundsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBackgroundsPropControllerDataFromResponsiveBackgroundsData(\n data: ResponsiveBackgroundsData,\n definition: BackgroundsDescriptor,\n): BackgroundsPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value: data,\n }) as const,\n )\n .otherwise(() => data)\n}\n\nexport function getBackgroundsPropControllerFileIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n return match(backgroundItem)\n .with(\n {\n type: 'image-v1',\n payload: { image: { type: 'makeswift-file' } },\n },\n (item) => [item.payload.image.id],\n )\n .with({ type: 'image', payload: { imageId: P.string } }, (item) => [\n item.payload.imageId,\n ])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getBackgroundsPropControllerSwatchIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null\n ? []\n : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap((stop) =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nfunction copyResponsiveBackgroundsData(\n descriptor: BackgroundsDescriptor,\n data: ResponsiveBackgroundsData | undefined,\n context: CopyContext,\n): ResponsiveBackgroundsData | undefined {\n if (data == null) return data\n\n return data.map((override) => ({\n ...override,\n value: override.value.map((backgroundItem) => {\n return match([descriptor, backgroundItem])\n .with([P.any, { type: 'color' }], ([, item]) => {\n return {\n ...item,\n payload:\n item.payload === null\n ? null\n : {\n ...item.payload,\n swatchId:\n context.replacementContext.swatchIds.get(\n item.payload.swatchId,\n ) ?? item.payload.swatchId,\n },\n }\n })\n .with([P.any, { type: 'gradient' }], ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n stops: item.payload.stops.map((stop) => ({\n ...stop,\n color:\n stop.color == null\n ? null\n : {\n ...stop.color,\n swatchId:\n context.replacementContext.swatchIds.get(\n stop.color.swatchId,\n ) ?? stop.color.swatchId,\n },\n })),\n },\n }\n })\n .with(\n [\n { version: P.when((v) => v && v >= 1) },\n {\n type: 'image-v1',\n payload: {\n version: 1,\n image: { type: 'makeswift-file' },\n },\n },\n ],\n ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n image: {\n ...item.payload.image,\n id:\n context.replacementContext.fileIds.get(\n item.payload.image.id,\n ) ?? item.payload.image.id,\n },\n },\n }\n },\n )\n .with(\n [P.any, { type: 'image', payload: { imageId: P.string } }],\n ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n imageId:\n context.replacementContext.fileIds.get(\n item.payload.imageId,\n ) ?? item.payload.imageId,\n },\n }\n },\n )\n .otherwise(() => backgroundItem)\n }),\n }))\n}\n\nexport function copyBackgroundsPropControllerData(\n descriptor: BackgroundsDescriptor,\n data: BackgroundsPropControllerData | undefined,\n context: CopyContext,\n): BackgroundsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v1) => {\n const value = copyResponsiveBackgroundsData(\n descriptor,\n v1.value,\n context,\n )\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value,\n } as const\n },\n )\n .otherwise((v0) => copyResponsiveBackgroundsData(descriptor, v0, context))\n}\n"],"mappings":"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","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/border/border.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { StyleSchema } from '@makeswift/controls'\n\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\n\nimport { z } from 'zod'\n\nconst responsiveBorderDataSchema = Schema.responsiveValue(StyleSchema.border)\n\nexport type ResponsiveBorderData = z.infer<typeof responsiveBorderDataSchema>\n\nconst borderPropControllerDataV0Schema = responsiveBorderDataSchema\n\nexport type BorderPropControllerDataV0 = z.infer<\n typeof borderPropControllerDataV0Schema\n>\n\nexport const BorderPropControllerDataV1Type = 'prop-controllers::border::v1'\n\nconst borderPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(BorderPropControllerDataV1Type),\n value: responsiveBorderDataSchema,\n})\n\nexport type BorderPropControllerDataV1 = z.infer<\n typeof borderPropControllerDataV1Schema\n>\n\nexport const borderPropControllerDataSchema = z.union([\n borderPropControllerDataV0Schema,\n borderPropControllerDataV1Schema,\n])\n\nexport type BorderPropControllerData = z.infer<\n typeof borderPropControllerDataSchema\n>\n\nexport const BorderPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::border::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::border::format::responsive-value',\n} as const\n\nexport type BorderPropControllerFormat =\n (typeof BorderPropControllerFormat)[keyof typeof BorderPropControllerFormat]\n\ntype BorderOptions = { format?: BorderPropControllerFormat }\n\ntype BorderDescriptorV0<\n _T = BorderPropControllerDataV0,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n options: U\n}\n\ntype BorderDescriptorV1<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n version: 1\n options: U\n}\n\nexport type BorderDescriptor<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = BorderDescriptorV0<_T, U> | BorderDescriptorV1<_T, U>\n\nexport type ResolveBorderPropControllerValue<T extends BorderDescriptor> =\n T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveBorderData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? ResponsiveBorderData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Border<T extends BorderOptions>(\n options: T & BorderOptions = {} as T,\n): BorderDescriptor<BorderPropControllerData, T> {\n return { type: Types.Border, version: 1, options }\n}\n\nBorder.Format = BorderPropControllerFormat\n\nexport function getBorderPropControllerDataResponsiveBorderData(\n data: BorderPropControllerData | undefined,\n): ResponsiveBorderData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBorderPropControllerDataFromResponsiveBorderData(\n definition: BorderDescriptor,\n responsiveBorderData: ResponsiveBorderData,\n): BorderPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: responsiveBorderData,\n }) as const,\n )\n .otherwise(() => responsiveBorderData)\n}\n\nexport function getBorderPropControllerDataSwatchIds(\n data: BorderPropControllerData | undefined,\n): string[] {\n return (\n getBorderPropControllerDataResponsiveBorderData(data)\n ?.flatMap((override) => override.value)\n .flatMap((borderValue) => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n )\n }) ?? []\n )\n}\n\nfunction copyResponsiveBorderData(\n data: ResponsiveBorderData,\n context: CopyContext,\n): ResponsiveBorderData {\n return data.map((override) => ({\n ...override,\n value: copyBorderValue(override.value),\n }))\n\n function copyBorderValue({\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n }: any): any {\n return {\n borderTop: borderTop && copyBorderSide(borderTop),\n borderRight: borderRight && copyBorderSide(borderRight),\n borderBottom: borderBottom && copyBorderSide(borderBottom),\n borderLeft: borderLeft && copyBorderSide(borderLeft),\n }\n }\n\n function copyBorderSide(borderSide: any): any {\n const { color } = borderSide\n\n if (color == null) return borderSide\n\n return {\n ...borderSide,\n color: {\n ...color,\n swatchId:\n context.replacementContext.swatchIds.get(color.swatchId) ??\n color.swatchId,\n },\n }\n }\n}\n\nexport function copyBorderPropControllerData(\n data: BorderPropControllerData | undefined,\n context: CopyContext,\n): BorderPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: copyResponsiveBorderData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveBorderData(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,sBAA4B;AAE5B,8BAMO;AAEP,iBAAkB;AAElB,MAAM,6BAA6B,+BAAO,gBAAgB,4BAAY,MAAM;AAI5E,MAAM,mCAAmC;AAMlC,MAAM,iCAAiC;AAE9C,MAAM,mCAAmC,aAAE,OAAO;AAAA,EAChD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,8BAA8B;AAAA,EAC9D,OAAO;AACT,CAAC;AAMM,MAAM,iCAAiC,aAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,6BAA6B;AAAA,EACxC,WAAW;AAAA,EACX,iBACE;AACJ;AAgDO,SAAS,OACd,UAA6B,CAAC,GACiB;AAC/C,SAAO,EAAE,MAAM,8BAAM,QAAQ,SAAS,GAAG,QAAQ;AACnD;AAEA,OAAO,SAAS;AAET,SAAS,gDACd,MACkC;AAClC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,+BAA+B;AAAA,IACvD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uDACd,YACA,sBAC0B;AAC1B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,oBAAoB;AACzC;AAEO,SAAS,qCACd,MACU;AACV,SACE,gDAAgD,IAAI,GAChD,QAAQ,CAAC,aAAa,SAAS,KAAK,EACrC,QAAQ,CAAC,gBAAgB;AACxB,WAAO;AAAA,MACL,YAAY,WAAW,OAAO;AAAA,MAC9B,YAAY,aAAa,OAAO;AAAA,MAChC,YAAY,cAAc,OAAO;AAAA,MACjC,YAAY,YAAY,OAAO;AAAA,IACjC,EAAE;AAAA,MACA,CAAC,aACC,YAAY;AAAA,IAChB;AAAA,EACF,CAAC,KAAK,CAAC;AAEb;AAEA,SAAS,yBACP,MACA,SACsB;AACtB,SAAO,KAAK,IAAI,CAAC,cAAc;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,gBAAgB,SAAS,KAAK;AAAA,EACvC,EAAE;AAEF,WAAS,gBAAgB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAa;AACX,WAAO;AAAA,MACL,WAAW,aAAa,eAAe,SAAS;AAAA,MAChD,aAAa,eAAe,eAAe,WAAW;AAAA,MACtD,cAAc,gBAAgB,eAAe,YAAY;AAAA,MACzD,YAAY,cAAc,eAAe,UAAU;AAAA,IACrD;AAAA,EACF;AAEA,WAAS,eAAe,YAAsB;AAC5C,UAAM,EAAE,MAAM,IAAI;AAElB,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,QACL,GAAG;AAAA,QACH,UACE,QAAQ,mBAAmB,UAAU,IAAI,MAAM,QAAQ,KACvD,MAAM;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACd,MACA,SACsC;AACtC,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,+BAA+B;AAAA,IACvD,CAAC,QACE;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO,yBAAyB,GAAG,OAAO,OAAO;AAAA,IACnD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,yBAAyB,IAAI,OAAO,CAAC;AAC5D;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/border-radius/border-radius.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { lengthDataSchema } from '../data'\nimport { match } from 'ts-pattern'\n\nconst borderRadiusDataSchema = z.object({\n borderTopLeftRadius: lengthDataSchema.nullable().optional(),\n borderTopRightRadius: lengthDataSchema.nullable().optional(),\n borderBottomLeftRadius: lengthDataSchema.nullable().optional(),\n borderBottomRightRadius: lengthDataSchema.nullable().optional(),\n})\n\nconst responsiveBorderRadiusDataSchema = Schema.responsiveValue(\n borderRadiusDataSchema,\n)\n\nexport type ResponsiveBorderRadiusData = z.infer<\n typeof responsiveBorderRadiusDataSchema\n>\n\nconst borderRadiusPropControllerDataV0Schema = responsiveBorderRadiusDataSchema\n\ntype BorderRadiusPropControllerDataV0 = z.infer<\n typeof borderRadiusPropControllerDataV0Schema\n>\n\nconst BorderRadiusPropControllerDataV1Type =\n 'prop-controllers::border-radius::v1'\n\nconst borderRadiusPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(BorderRadiusPropControllerDataV1Type),\n value: responsiveBorderRadiusDataSchema,\n})\n\nexport const borderRadiusPropControllerDataSchema = z.union([\n borderRadiusPropControllerDataV0Schema,\n borderRadiusPropControllerDataV1Schema,\n])\n\nexport type BorderRadiusPropControllerData = z.infer<\n typeof borderRadiusPropControllerDataSchema\n>\n\nexport const BorderRadiusPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::border-radius::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::border-radius::format::responsive-value',\n} as const\n\nexport type BorderRadiusPropControllerFormat =\n (typeof BorderRadiusPropControllerFormat)[keyof typeof BorderRadiusPropControllerFormat]\n\ntype BorderRadiusOptions = { format?: BorderRadiusPropControllerFormat }\n\ntype BorderRadiusDescriptorV0<\n _T = BorderRadiusPropControllerDataV0,\n U extends BorderRadiusOptions = BorderRadiusOptions,\n> = {\n type: typeof Types.BorderRadius\n options: U\n}\n\ntype BorderRadiusDescriptorV1<\n _T = BorderRadiusPropControllerData,\n U extends BorderRadiusOptions = BorderRadiusOptions,\n> = {\n type: typeof Types.BorderRadius\n version: 1\n options: U\n}\n\nexport type BorderRadiusDescriptor<\n _T = BorderRadiusPropControllerData,\n U extends BorderRadiusOptions = BorderRadiusOptions,\n> = BorderRadiusDescriptorV0<_T, U> | BorderRadiusDescriptorV1<_T, U>\n\nexport type ResolveBorderRadiusPropControllerValue<\n T extends BorderRadiusDescriptor,\n> = T extends BorderRadiusDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveBorderRadiusData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ResponsiveValue\n ? ResponsiveBorderRadiusData | 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 BorderRadius<T extends BorderRadiusOptions>(\n options: T & BorderRadiusOptions = {} as T,\n): BorderRadiusDescriptor<BorderRadiusPropControllerData, T> {\n return { type: Types.BorderRadius, version: 1, options }\n}\n\nBorderRadius.Format = BorderRadiusPropControllerFormat\n\nexport function getBorderRadiusPropControllerDataResponsiveBorderRadiusData(\n data: BorderRadiusPropControllerData | undefined,\n): ResponsiveBorderRadiusData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData(\n definition: BorderRadiusDescriptor,\n responsiveBorderRadiusData: ResponsiveBorderRadiusData,\n): BorderRadiusPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type,\n value: responsiveBorderRadiusData,\n }) as const,\n )\n .otherwise(() => responsiveBorderRadiusData)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAKO;AACP,kBAAiC;AACjC,wBAAsB;AAEtB,MAAM,yBAAyB,aAAE,OAAO;AAAA,EACtC,qBAAqB,6BAAiB,SAAS,EAAE,SAAS;AAAA,EAC1D,sBAAsB,6BAAiB,SAAS,EAAE,SAAS;AAAA,EAC3D,wBAAwB,6BAAiB,SAAS,EAAE,SAAS;AAAA,EAC7D,yBAAyB,6BAAiB,SAAS,EAAE,SAAS;AAChE,CAAC;AAED,MAAM,mCAAmC,+BAAO;AAAA,EAC9C;AACF;AAMA,MAAM,yCAAyC;AAM/C,MAAM,uCACJ;AAEF,MAAM,yCAAyC,aAAE,OAAO;AAAA,EACtD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,oCAAoC;AAAA,EACpE,OAAO;AACT,CAAC;AAEM,MAAM,uCAAuC,aAAE,MAAM;AAAA,EAC1D;AAAA,EACA;AACF,CAAC;AAMM,MAAM,mCAAmC;AAAA,EAC9C,WAAW;AAAA,EACX,iBACE;AACJ;AAiDO,SAAS,aACd,UAAmC,CAAC,GACuB;AAC3D,SAAO,EAAE,MAAM,8BAAM,cAAc,SAAS,GAAG,QAAQ;AACzD;AAEA,aAAa,SAAS;AAEf,SAAS,4DACd,MACwC;AACxC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,qCAAqC;AAAA,IAC7D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,mEACd,YACA,4BACgC;AAChC,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,0BAA0B;AAC/C;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/checkbox/checkbox.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst checkboxPropControllerDataV0Schema = z.boolean()\n\nexport type CheckboxPropControllerDataV0 = z.infer<\n typeof checkboxPropControllerDataV0Schema\n>\n\nexport const CheckboxPropControllerDataV1Type = 'prop-controllers::checkbox::v1'\n\nconst checkboxPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(CheckboxPropControllerDataV1Type),\n value: z.boolean(),\n})\n\nexport type CheckboxPropControllerDataV1 = z.infer<\n typeof checkboxPropControllerDataV1Schema\n>\n\nexport const checkboxPropControllerDataSchema = z.union([\n checkboxPropControllerDataV0Schema,\n checkboxPropControllerDataV1Schema,\n])\n\nexport type CheckboxPropControllerData = z.infer<\n typeof checkboxPropControllerDataSchema\n>\n\nexport type CheckboxOptions = Options<{\n preset?: CheckboxPropControllerData\n label: string\n hidden?: boolean\n}>\n\ntype CheckboxDescriptorV0<_T = CheckboxPropControllerDataV0> = {\n type: typeof Types.Checkbox\n options: CheckboxOptions\n}\n\ntype CheckboxDescriptorV1<\n _T = CheckboxPropControllerData,\n U extends CheckboxOptions = CheckboxOptions,\n> = {\n type: typeof Types.Checkbox\n version: 1\n options: U\n}\n\nexport type CheckboxDescriptor<_T = CheckboxPropControllerData> =\n | CheckboxDescriptorV0\n | CheckboxDescriptorV1\n\nexport type ResolveCheckboxPropControllerValue<T extends CheckboxDescriptor> =\n T extends CheckboxDescriptor ? boolean | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Checkbox(options: CheckboxOptions): CheckboxDescriptorV1 {\n return { type: Types.Checkbox, version: 1, options }\n}\n\nexport function getCheckboxPropControllerDataBoolean(\n data: CheckboxPropControllerData | undefined,\n): boolean | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: CheckboxPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createCheckboxPropControllerDataFromBoolean(\n value: boolean,\n definition?: CheckboxDescriptor,\n): CheckboxPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: CheckboxPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAAmD;AACnD,wBAAyB;AAEzB,MAAM,qCAAqC,aAAE,QAAQ;AAM9C,MAAM,mCAAmC;AAEhD,MAAM,qCAAqC,aAAE,OAAO;AAAA,EAClD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,gCAAgC;AAAA,EAChE,OAAO,aAAE,QAAQ;AACnB,CAAC;AAMM,MAAM,mCAAmC,aAAE,MAAM;AAAA,EACtD;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,SAAS,SAAgD;AACvE,SAAO,EAAE,MAAM,8BAAM,UAAU,SAAS,GAAG,QAAQ;AACrD;AAEO,SAAS,qCACd,MACqB;AACrB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,iCAAiC;AAAA,IACzD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,4CACd,OACA,YAC4B;AAC5B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;","names":[]}
|
package/dist/cjs/data.js.map
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/data.ts"],"sourcesContent":["import { z } from 'zod'\nimport { Schema, type ResponsiveValue } from './prop-controllers'\n\nexport const colorDataSchema = z.object({\n swatchId: z.string(),\n alpha: z.number(),\n})\n\nexport type ColorData = z.infer<typeof colorDataSchema>\n\nexport const lengthDataSchema = z.object({\n value: z.number(),\n unit: z.enum(['px', '%']),\n})\n\nexport type LengthData = z.infer<typeof lengthDataSchema>\n\nexport const gapDataSchema = z.object({\n value: z.number(),\n unit: z.literal('px'),\n})\n\nexport type GapData = z.infer<typeof gapDataSchema>\n\nexport const responsiveGapDataSchema = Schema.responsiveValue(gapDataSchema)\n\nexport type ResponsiveGapData = z.infer<typeof responsiveGapDataSchema>\n\nconst fileIdSchema = z.string()\n\nexport const imageDataV0Schema = fileIdSchema\n\nexport type ImageDataV0 = z.infer<typeof imageDataV0Schema>\n\nconst imageDataV1MakeswiftFileSchema = z.object({\n version: z.literal(1),\n type: z.literal('makeswift-file'),\n id: z.string(),\n})\n\nconst imageDataV1ExternalFileSchema = z.object({\n version: z.literal(1),\n type: z.literal('external-file'),\n url: z.string(),\n width: z.number().nullable().optional(),\n height: z.number().nullable().optional(),\n})\n\nexport const imageDataV1Schema = z.union([\n imageDataV1MakeswiftFileSchema,\n imageDataV1ExternalFileSchema,\n])\n\nexport type ImageDataV1 = z.infer<typeof imageDataV1Schema>\n\nexport const imageDataSchema = z.union([imageDataV0Schema, imageDataV1Schema])\n\nexport type ImageData = z.infer<typeof imageDataSchema>\n\nexport const responsiveNumberValueSchema = Schema.responsiveValue(z.number())\n\nexport type ResponsiveNumberValue = z.infer<typeof responsiveNumberValueSchema>\n\nexport const responsiveSelectValueSchema = Schema.responsiveValue(z.string())\n\nexport type ResponsiveSelectValue<T extends string = string> =\n ResponsiveValue<T>\n\nexport const responsiveIconRadioGroupValueSchema = Schema.responsiveValue(\n z.string(),\n)\n\nexport type ResponsiveIconRadioGroupValue<T extends string = string> =\n ResponsiveValue<T>\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAA6C;AAEtC,MAAM,kBAAkB,aAAE,OAAO;AAAA,EACtC,UAAU,aAAE,OAAO;AAAA,EACnB,OAAO,aAAE,OAAO;AAClB,CAAC;AAIM,MAAM,mBAAmB,aAAE,OAAO;AAAA,EACvC,OAAO,aAAE,OAAO;AAAA,EAChB,MAAM,aAAE,KAAK,CAAC,MAAM,GAAG,CAAC;AAC1B,CAAC;AAIM,MAAM,gBAAgB,aAAE,OAAO;AAAA,EACpC,OAAO,aAAE,OAAO;AAAA,EAChB,MAAM,aAAE,QAAQ,IAAI;AACtB,CAAC;AAIM,MAAM,0BAA0B,+BAAO,gBAAgB,aAAa;AAI3E,MAAM,eAAe,aAAE,OAAO;AAEvB,MAAM,oBAAoB;AAIjC,MAAM,iCAAiC,aAAE,OAAO;AAAA,EAC9C,SAAS,aAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,aAAE,QAAQ,gBAAgB;AAAA,EAChC,IAAI,aAAE,OAAO;AACf,CAAC;AAED,MAAM,gCAAgC,aAAE,OAAO;AAAA,EAC7C,SAAS,aAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,aAAE,QAAQ,eAAe;AAAA,EAC/B,KAAK,aAAE,OAAO;AAAA,EACd,OAAO,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EACtC,QAAQ,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AACzC,CAAC;AAEM,MAAM,oBAAoB,aAAE,MAAM;AAAA,EACvC;AAAA,EACA;AACF,CAAC;AAIM,MAAM,kBAAkB,aAAE,MAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAItE,MAAM,8BAA8B,+BAAO,gBAAgB,aAAE,OAAO,CAAC;AAIrE,MAAM,8BAA8B,+BAAO,gBAAgB,aAAE,OAAO,CAAC;AAKrE,MAAM,sCAAsC,+BAAO;AAAA,EACxD,aAAE,OAAO;AACX;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/date/date.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst datePropControllerDataV0Schema = z.string()\n\nexport type DatePropControllerDataV0 = z.infer<\n typeof datePropControllerDataV0Schema\n>\n\nexport const DatePropControllerDataV1Type = 'prop-controllers::date::v1'\n\nconst datePropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(DatePropControllerDataV1Type),\n value: z.string(),\n})\n\nexport type DatePropControllerDataV1 = z.infer<\n typeof datePropControllerDataV1Schema\n>\n\nexport const datePropControllerDataSchema = z.union([\n datePropControllerDataV0Schema,\n datePropControllerDataV1Schema,\n])\n\nexport type DatePropControllerData = z.infer<\n typeof datePropControllerDataSchema\n>\n\nexport type DateOptions = Options<{\n preset?: DatePropControllerData\n}>\n\ntype DateDescriptorV0<_T = DatePropControllerDataV0> = {\n type: typeof Types.Date\n options: DateOptions\n}\n\ntype DateDescriptorV1<\n _T = DatePropControllerData,\n U extends DateOptions = DateOptions,\n> = {\n type: typeof Types.Date\n version: 1\n options: U\n}\n\nexport type DateDescriptor<_T = DatePropControllerData> =\n | DateDescriptorV0\n | DateDescriptorV1\n\nexport type ResolveDatePropControllerValue<T extends DateDescriptor> =\n T extends DateDescriptor ? string | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Date(options: DateOptions = {}): DateDescriptorV1 {\n return { type: Types.Date, version: 1, options }\n}\n\nexport function getDatePropControllerDataString(\n data: DatePropControllerData | undefined,\n): string | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: DatePropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createDatePropControllerDataFromString(\n value: string,\n definition?: DateDescriptor,\n): DatePropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: DatePropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAAmD;AACnD,wBAAyB;AAEzB,MAAM,iCAAiC,aAAE,OAAO;AAMzC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,aAAE,OAAO;AAAA,EAC9C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO,aAAE,OAAO;AAClB,CAAC;AAMM,MAAM,+BAA+B,aAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAmCM,SAAS,KAAK,UAAuB,CAAC,GAAqB;AAChE,SAAO,EAAE,MAAM,8BAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,gCACd,MACoB;AACpB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uCACd,OACA,YACwB;AACxB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/element-id/element-id.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst elementIDSchema = z.string()\n\ntype ElementID = z.infer<typeof elementIDSchema>\n\nconst elementIDPropControllerDataV0Schema = elementIDSchema\n\nexport type ElementIDPropControllerDataV0 = z.infer<\n typeof elementIDPropControllerDataV0Schema\n>\n\nexport const ElementIDPropControllerDataV1Type =\n 'prop-controllers::element-id::v1'\n\nconst elementIDPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ElementIDPropControllerDataV1Type),\n value: elementIDSchema,\n})\n\nexport type ElementIDPropControllerDataV1 = z.infer<\n typeof elementIDPropControllerDataV1Schema\n>\n\nexport const elementIDPropControllerDataSchema = z.union([\n elementIDPropControllerDataV0Schema,\n elementIDPropControllerDataV1Schema,\n])\n\nexport type ElementIDPropControllerData = z.infer<\n typeof elementIDPropControllerDataSchema\n>\n\nexport type ElementIDOptions = Options<Record<string, never>>\n\ntype ElementIDDescriptorV0<_T = ElementIDPropControllerDataV0> = {\n type: typeof Types.ElementID\n options: ElementIDOptions\n}\n\ntype ElementIDDescriptorV1<\n _T = ElementIDPropControllerData,\n U extends ElementIDOptions = ElementIDOptions,\n> = {\n type: typeof Types.ElementID\n version: 1\n options: U\n}\n\nexport type ElementIDDescriptor<_T = ElementIDPropControllerData> =\n | ElementIDDescriptorV0\n | ElementIDDescriptorV1\n\nexport type ResolveElementIDPropControllerValue<T extends ElementIDDescriptor> =\n T extends ElementIDDescriptor ? ElementID | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function ElementID(\n options: ElementIDOptions = {},\n): ElementIDDescriptorV1 {\n return { type: Types.ElementID, version: 1, options }\n}\n\nexport function getElementIDPropControllerDataElementID(\n data: ElementIDPropControllerData | undefined,\n): ElementID | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ElementIDPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createElementIDPropControllerDataFromElementID(\n value: ElementID,\n definition: ElementIDDescriptor,\n): ElementIDPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n\nfunction copyElementID(\n data: ElementID | undefined,\n context: CopyContext,\n): ElementID | undefined {\n if (data == null) return data\n\n if (context.replacementContext.elementHtmlIds.has(data)) return undefined\n\n context.replacementContext.elementHtmlIds.add(data)\n\n return data\n}\n\nexport function copyElementIDPropControllerData(\n data: ElementIDPropControllerData | undefined,\n context: CopyContext,\n): ElementIDPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {\n const value = copyElementID(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const\n })\n .otherwise((v0) => copyElementID(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAKO;AACP,wBAAyB;AAEzB,MAAM,kBAAkB,aAAE,OAAO;AAIjC,MAAM,sCAAsC;AAMrC,MAAM,oCACX;AAEF,MAAM,sCAAsC,aAAE,OAAO;AAAA,EACnD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,iCAAiC;AAAA,EACjE,OAAO;AACT,CAAC;AAMM,MAAM,oCAAoC,aAAE,MAAM;AAAA,EACvD;AAAA,EACA;AACF,CAAC;AAiCM,SAAS,UACd,UAA4B,CAAC,GACN;AACvB,SAAO,EAAE,MAAM,8BAAM,WAAW,SAAS,GAAG,QAAQ;AACtD;AAEO,SAAS,wCACd,MACuB;AACvB,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,kCAAkC;AAAA,IAC1D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+CACd,OACA,YAC6B;AAC7B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,cACP,MACA,SACuB;AACvB,MAAI,QAAQ;AAAM,WAAO;AAEzB,MAAI,QAAQ,mBAAmB,eAAe,IAAI,IAAI;AAAG,WAAO;AAEhE,UAAQ,mBAAmB,eAAe,IAAI,IAAI;AAElD,SAAO;AACT;AAEO,SAAS,gCACd,MACA,SACyC;AACzC,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,0CAAkB,GAAG,kCAAkC,GAAG,CAAC,OAAO;AACzE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/font/font.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport { ControlDataTypeKey, Options, Types, Schema } from '../prop-controllers'\nimport { z } from 'zod'\n\nconst fontDataSchema = z.string()\n\nexport type FontData = z.infer<typeof fontDataSchema>\n\nconst responsiveFontDataSchema = Schema.responsiveValue(fontDataSchema)\n\nexport type ResponsiveFontData = z.infer<typeof responsiveFontDataSchema>\n\nconst fontPropControllerDataV0Schema = responsiveFontDataSchema\n\nexport type FontPropControllerDataV0 = z.infer<\n typeof fontPropControllerDataV0Schema\n>\n\nexport const FontPropControllerDataV1Type = 'prop-controllers::font::v1'\n\nconst fontPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(FontPropControllerDataV1Type),\n value: responsiveFontDataSchema,\n})\n\nexport type FontPropControllerDataV1 = z.infer<\n typeof fontPropControllerDataV1Schema\n>\n\nexport const fontPropControllerDataSchema = z.union([\n fontPropControllerDataV0Schema,\n fontPropControllerDataV1Schema,\n])\n\nexport type FontPropControllerData = z.infer<\n typeof fontPropControllerDataSchema\n>\n\ntype FontOptions = Options<{ preset?: FontPropControllerData; label?: string }>\n\ntype FontDescriptorV0<\n _T = FontPropControllerDataV0,\n U extends FontOptions = FontOptions,\n> = {\n type: typeof Types.Font\n options: U\n}\n\ntype FontDescriptorV1<\n _T = FontPropControllerData,\n U extends FontOptions = FontOptions,\n> = {\n type: typeof Types.Font\n version: 1\n options: U\n}\n\nexport type FontDescriptor<\n _T = FontPropControllerData,\n U extends FontOptions = FontOptions,\n> = FontDescriptorV0<_T, U> | FontDescriptorV1<_T, U>\n\nexport type ResolveFontPropControllerValue<T extends FontDescriptor> =\n T extends FontDescriptor ? ResponsiveFontData | undefined : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Font(\n options: FontOptions = {},\n): FontDescriptor<FontPropControllerData> {\n return { type: Types.Font, version: 1, options }\n}\n\nexport function getFontPropControllerDataResponsiveFontData(\n data: FontPropControllerData | undefined,\n): ResponsiveFontData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: FontPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createFontPropControllerDataFromResponsiveFontData(\n responsiveFontData: ResponsiveFontData,\n definition?: FontDescriptor,\n): FontPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: FontPropControllerDataV1Type,\n value: responsiveFontData,\n }) as const,\n )\n .otherwise(() => responsiveFontData)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAyB;AACzB,8BAA2D;AAC3D,iBAAkB;AAElB,MAAM,iBAAiB,aAAE,OAAO;AAIhC,MAAM,2BAA2B,+BAAO,gBAAgB,cAAc;AAItE,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,aAAE,OAAO;AAAA,EAC9C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,aAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,KACd,UAAuB,CAAC,GACgB;AACxC,SAAO,EAAE,MAAM,8BAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,4CACd,MACgC;AAChC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,mDACd,oBACA,YACwB;AACxB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,kBAAkB;AACvC;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/gap-x/gap-x.ts"],"sourcesContent":["import { Types } from '../prop-controllers'\nimport { GapData, responsiveGapDataSchema } from '../data'\nimport { versionedPropDef, typeArg } from '../versioned'\n\nexport const GapX = versionedPropDef(\n Types.GapX,\n responsiveGapDataSchema,\n {\n version: 1,\n dataKey: 'prop-controllers::gap-x::v1',\n },\n typeArg<{\n preset?: unknown\n label?: string\n defaultValue?: GapData\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n }>(),\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAsB;AACtB,kBAAiD;AACjD,uBAA0C;AAEnC,MAAM,WAAO;AAAA,EAClB,8BAAM;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,MACA,0BAQG;AACL;","names":[]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@makeswift/prop-controllers",
|
3
|
-
"version": "0.0.0-snapshot-
|
3
|
+
"version": "0.0.0-snapshot-20241219151731",
|
4
4
|
"license": "MIT",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -11,7 +11,7 @@
|
|
11
11
|
"dependencies": {
|
12
12
|
"ts-pattern": "^5.0.8",
|
13
13
|
"zod": "^3.21.4",
|
14
|
-
"@makeswift/controls": "0.0.0-snapshot-
|
14
|
+
"@makeswift/controls": "0.0.0-snapshot-20241219151731"
|
15
15
|
},
|
16
16
|
"devDependencies": {
|
17
17
|
"@swc/jest": "^0.2.36",
|