@makeswift/prop-controllers 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/backgrounds/backgrounds.js +297 -0
- package/dist/cjs/backgrounds/backgrounds.js.map +1 -0
- package/dist/cjs/backgrounds/index.js +23 -0
- package/dist/cjs/backgrounds/index.js.map +1 -0
- package/dist/cjs/border/border.js +132 -0
- package/dist/cjs/border/border.js.map +1 -0
- package/dist/cjs/border/index.js +23 -0
- package/dist/cjs/border/index.js.map +1 -0
- package/dist/cjs/border-radius/border-radius.js +82 -0
- package/dist/cjs/border-radius/border-radius.js.map +1 -0
- package/dist/cjs/border-radius/index.js +23 -0
- package/dist/cjs/border-radius/index.js.map +1 -0
- package/dist/cjs/checkbox/checkbox.js +68 -0
- package/dist/cjs/checkbox/checkbox.js.map +1 -0
- package/dist/cjs/checkbox/index.js +23 -0
- package/dist/cjs/checkbox/index.js.map +1 -0
- package/dist/cjs/data.js +85 -0
- package/dist/cjs/data.js.map +1 -0
- package/dist/cjs/date/date.js +68 -0
- package/dist/cjs/date/date.js.map +1 -0
- package/dist/cjs/date/index.js +23 -0
- package/dist/cjs/date/index.js.map +1 -0
- package/dist/cjs/element-id/element-id.js +90 -0
- package/dist/cjs/element-id/element-id.js.map +1 -0
- package/dist/cjs/element-id/index.js +23 -0
- package/dist/cjs/element-id/index.js.map +1 -0
- package/dist/cjs/font/font.js +70 -0
- package/dist/cjs/font/font.js.map +1 -0
- package/dist/cjs/font/index.js +23 -0
- package/dist/cjs/font/index.js.map +1 -0
- package/dist/cjs/gap-x/gap-x.js +40 -0
- package/dist/cjs/gap-x/gap-x.js.map +1 -0
- package/dist/cjs/gap-x/index.js +23 -0
- package/dist/cjs/gap-x/index.js.map +1 -0
- package/dist/cjs/gap-y/gap-y.js +68 -0
- package/dist/cjs/gap-y/gap-y.js.map +1 -0
- package/dist/cjs/gap-y/index.js +23 -0
- package/dist/cjs/gap-y/index.js.map +1 -0
- package/dist/cjs/grid/grid.js +130 -0
- package/dist/cjs/grid/grid.js.map +1 -0
- package/dist/cjs/grid/index.js +23 -0
- package/dist/cjs/grid/index.js.map +1 -0
- package/dist/cjs/image/image.js +95 -0
- package/dist/cjs/image/image.js.map +1 -0
- package/dist/cjs/image/index.js +23 -0
- package/dist/cjs/image/index.js.map +1 -0
- package/dist/cjs/images/images.js +147 -0
- package/dist/cjs/images/images.js.map +1 -0
- package/dist/cjs/images/index.js +23 -0
- package/dist/cjs/images/index.js.map +1 -0
- package/dist/cjs/index.js +343 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/link/index.js +23 -0
- package/dist/cjs/link/index.js.map +1 -0
- package/dist/cjs/link/link.js +137 -0
- package/dist/cjs/link/link.js.map +1 -0
- package/dist/cjs/margin/index.js +23 -0
- package/dist/cjs/margin/index.js.map +1 -0
- package/dist/cjs/margin/margin.js +94 -0
- package/dist/cjs/margin/margin.js.map +1 -0
- package/dist/cjs/navigation-links/index.js +23 -0
- package/dist/cjs/navigation-links/index.js.map +1 -0
- package/dist/cjs/navigation-links/navigation-links.js +226 -0
- package/dist/cjs/navigation-links/navigation-links.js.map +1 -0
- package/dist/cjs/number.js +66 -0
- package/dist/cjs/number.js.map +1 -0
- package/dist/cjs/padding/index.js +23 -0
- package/dist/cjs/padding/index.js.map +1 -0
- package/dist/cjs/padding/padding.js +91 -0
- package/dist/cjs/padding/padding.js.map +1 -0
- package/dist/cjs/prop-controllers.js +67 -0
- package/dist/cjs/prop-controllers.js.map +1 -0
- package/dist/cjs/responsive-color.js +106 -0
- package/dist/cjs/responsive-color.js.map +1 -0
- package/dist/cjs/responsive-icon-radio-group/index.js +23 -0
- package/dist/cjs/responsive-icon-radio-group/index.js.map +1 -0
- package/dist/cjs/responsive-icon-radio-group/responsive-icon-radio-group.js +42 -0
- package/dist/cjs/responsive-icon-radio-group/responsive-icon-radio-group.js.map +1 -0
- package/dist/cjs/responsive-length.js +73 -0
- package/dist/cjs/responsive-length.js.map +1 -0
- package/dist/cjs/responsive-number/index.js +23 -0
- package/dist/cjs/responsive-number/index.js.map +1 -0
- package/dist/cjs/responsive-number/responsive-number.js +40 -0
- package/dist/cjs/responsive-number/responsive-number.js.map +1 -0
- package/dist/cjs/responsive-opacity/index.js +23 -0
- package/dist/cjs/responsive-opacity/index.js.map +1 -0
- package/dist/cjs/responsive-opacity/responsive-opacity.js +43 -0
- package/dist/cjs/responsive-opacity/responsive-opacity.js.map +1 -0
- package/dist/cjs/responsive-select/index.js +23 -0
- package/dist/cjs/responsive-select/index.js.map +1 -0
- package/dist/cjs/responsive-select/responsive-select.js +42 -0
- package/dist/cjs/responsive-select/responsive-select.js.map +1 -0
- package/dist/cjs/shadows.js +126 -0
- package/dist/cjs/shadows.js.map +1 -0
- package/dist/cjs/social-links/index.js +23 -0
- package/dist/cjs/social-links/index.js.map +1 -0
- package/dist/cjs/social-links/social-links.js +128 -0
- package/dist/cjs/social-links/social-links.js.map +1 -0
- package/dist/cjs/table/index.js +23 -0
- package/dist/cjs/table/index.js.map +1 -0
- package/dist/cjs/table/table.js +91 -0
- package/dist/cjs/table/table.js.map +1 -0
- package/dist/cjs/table-form-fields/index.js +23 -0
- package/dist/cjs/table-form-fields/index.js.map +1 -0
- package/dist/cjs/table-form-fields/table-form-fields.js +113 -0
- package/dist/cjs/table-form-fields/table-form-fields.js.map +1 -0
- package/dist/cjs/text-area/index.js +23 -0
- package/dist/cjs/text-area/index.js.map +1 -0
- package/dist/cjs/text-area/text-area.js +67 -0
- package/dist/cjs/text-area/text-area.js.map +1 -0
- package/dist/cjs/text-input/index.js +23 -0
- package/dist/cjs/text-input/index.js.map +1 -0
- package/dist/cjs/text-input/text-input.js +67 -0
- package/dist/cjs/text-input/text-input.js.map +1 -0
- package/dist/cjs/text-style/index.js +23 -0
- package/dist/cjs/text-style/index.js.map +1 -0
- package/dist/cjs/text-style/text-style.js +88 -0
- package/dist/cjs/text-style/text-style.js.map +1 -0
- package/dist/cjs/utils/associated-types.js +17 -0
- package/dist/cjs/utils/associated-types.js.map +1 -0
- package/dist/cjs/utils/utils.js +42 -0
- package/dist/cjs/utils/utils.js.map +1 -0
- package/dist/cjs/versioned.js +66 -0
- package/dist/cjs/versioned.js.map +1 -0
- package/dist/cjs/video/index.js +23 -0
- package/dist/cjs/video/index.js.map +1 -0
- package/dist/cjs/video/video.js +75 -0
- package/dist/cjs/video/video.js.map +1 -0
- package/dist/cjs/width/index.js +23 -0
- package/dist/cjs/width/index.js.map +1 -0
- package/dist/cjs/width/width.js +76 -0
- package/dist/cjs/width/width.js.map +1 -0
- package/dist/esm/backgrounds/backgrounds.js +268 -0
- package/dist/esm/backgrounds/backgrounds.js.map +1 -0
- package/dist/esm/backgrounds/index.js +2 -0
- package/dist/esm/backgrounds/index.js.map +1 -0
- package/dist/esm/border/border.js +105 -0
- package/dist/esm/border/border.js.map +1 -0
- package/dist/esm/border/index.js +2 -0
- package/dist/esm/border/index.js.map +1 -0
- package/dist/esm/border-radius/border-radius.js +58 -0
- package/dist/esm/border-radius/border-radius.js.map +1 -0
- package/dist/esm/border-radius/index.js +2 -0
- package/dist/esm/border-radius/index.js.map +1 -0
- package/dist/esm/checkbox/checkbox.js +40 -0
- package/dist/esm/checkbox/checkbox.js.map +1 -0
- package/dist/esm/checkbox/index.js +2 -0
- package/dist/esm/checkbox/index.js.map +1 -0
- package/dist/esm/data.js +52 -0
- package/dist/esm/data.js.map +1 -0
- package/dist/esm/date/date.js +40 -0
- package/dist/esm/date/date.js.map +1 -0
- package/dist/esm/date/index.js +2 -0
- package/dist/esm/date/index.js.map +1 -0
- package/dist/esm/element-id/element-id.js +64 -0
- package/dist/esm/element-id/element-id.js.map +1 -0
- package/dist/esm/element-id/index.js +2 -0
- package/dist/esm/element-id/index.js.map +1 -0
- package/dist/esm/font/font.js +42 -0
- package/dist/esm/font/font.js.map +1 -0
- package/dist/esm/font/index.js +2 -0
- package/dist/esm/font/index.js.map +1 -0
- package/dist/esm/gap-x/gap-x.js +16 -0
- package/dist/esm/gap-x/gap-x.js.map +1 -0
- package/dist/esm/gap-x/index.js +2 -0
- package/dist/esm/gap-x/index.js.map +1 -0
- package/dist/esm/gap-y/gap-y.js +40 -0
- package/dist/esm/gap-y/gap-y.js.map +1 -0
- package/dist/esm/gap-y/index.js +2 -0
- package/dist/esm/gap-y/index.js.map +1 -0
- package/dist/esm/grid/grid.js +102 -0
- package/dist/esm/grid/grid.js.map +1 -0
- package/dist/esm/grid/index.js +2 -0
- package/dist/esm/grid/index.js.map +1 -0
- package/dist/esm/image/image.js +71 -0
- package/dist/esm/image/image.js.map +1 -0
- package/dist/esm/image/index.js +2 -0
- package/dist/esm/image/index.js.map +1 -0
- package/dist/esm/images/images.js +119 -0
- package/dist/esm/images/images.js.map +1 -0
- package/dist/esm/images/index.js +2 -0
- package/dist/esm/images/index.js.map +1 -0
- package/dist/esm/index.js +336 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/link/index.js +2 -0
- package/dist/esm/link/index.js.map +1 -0
- package/dist/esm/link/link.js +108 -0
- package/dist/esm/link/link.js.map +1 -0
- package/dist/esm/margin/index.js +2 -0
- package/dist/esm/margin/index.js.map +1 -0
- package/dist/esm/margin/margin.js +69 -0
- package/dist/esm/margin/margin.js.map +1 -0
- package/dist/esm/navigation-links/index.js +2 -0
- package/dist/esm/navigation-links/index.js.map +1 -0
- package/dist/esm/navigation-links/navigation-links.js +199 -0
- package/dist/esm/navigation-links/navigation-links.js.map +1 -0
- package/dist/esm/number.js +39 -0
- package/dist/esm/number.js.map +1 -0
- package/dist/esm/padding/index.js +2 -0
- package/dist/esm/padding/index.js.map +1 -0
- package/dist/esm/padding/padding.js +66 -0
- package/dist/esm/padding/padding.js.map +1 -0
- package/dist/esm/prop-controllers.js +44 -0
- package/dist/esm/prop-controllers.js.map +1 -0
- package/dist/esm/responsive-color.js +79 -0
- package/dist/esm/responsive-color.js.map +1 -0
- package/dist/esm/responsive-icon-radio-group/index.js +2 -0
- package/dist/esm/responsive-icon-radio-group/index.js.map +1 -0
- package/dist/esm/responsive-icon-radio-group/responsive-icon-radio-group.js +21 -0
- package/dist/esm/responsive-icon-radio-group/responsive-icon-radio-group.js.map +1 -0
- package/dist/esm/responsive-length.js +43 -0
- package/dist/esm/responsive-length.js.map +1 -0
- package/dist/esm/responsive-number/index.js +2 -0
- package/dist/esm/responsive-number/index.js.map +1 -0
- package/dist/esm/responsive-number/responsive-number.js +16 -0
- package/dist/esm/responsive-number/responsive-number.js.map +1 -0
- package/dist/esm/responsive-opacity/index.js +2 -0
- package/dist/esm/responsive-opacity/index.js.map +1 -0
- package/dist/esm/responsive-opacity/responsive-opacity.js +18 -0
- package/dist/esm/responsive-opacity/responsive-opacity.js.map +1 -0
- package/dist/esm/responsive-select/index.js +2 -0
- package/dist/esm/responsive-select/index.js.map +1 -0
- package/dist/esm/responsive-select/responsive-select.js +21 -0
- package/dist/esm/responsive-select/responsive-select.js.map +1 -0
- package/dist/esm/shadows.js +100 -0
- package/dist/esm/shadows.js.map +1 -0
- package/dist/esm/social-links/index.js +2 -0
- package/dist/esm/social-links/index.js.map +1 -0
- package/dist/esm/social-links/social-links.js +98 -0
- package/dist/esm/social-links/social-links.js.map +1 -0
- package/dist/esm/table/index.js +2 -0
- package/dist/esm/table/index.js.map +1 -0
- package/dist/esm/table/table.js +64 -0
- package/dist/esm/table/table.js.map +1 -0
- package/dist/esm/table-form-fields/index.js +2 -0
- package/dist/esm/table-form-fields/index.js.map +1 -0
- package/dist/esm/table-form-fields/table-form-fields.js +87 -0
- package/dist/esm/table-form-fields/table-form-fields.js.map +1 -0
- package/dist/esm/text-area/index.js +2 -0
- package/dist/esm/text-area/index.js.map +1 -0
- package/dist/esm/text-area/text-area.js +39 -0
- package/dist/esm/text-area/text-area.js.map +1 -0
- package/dist/esm/text-input/index.js +2 -0
- package/dist/esm/text-input/index.js.map +1 -0
- package/dist/esm/text-input/text-input.js +39 -0
- package/dist/esm/text-input/text-input.js.map +1 -0
- package/dist/esm/text-style/index.js +2 -0
- package/dist/esm/text-style/index.js.map +1 -0
- package/dist/esm/text-style/text-style.js +59 -0
- package/dist/esm/text-style/text-style.js.map +1 -0
- package/dist/esm/utils/associated-types.js +1 -0
- package/dist/esm/utils/associated-types.js.map +1 -0
- package/dist/esm/utils/utils.js +18 -0
- package/dist/esm/utils/utils.js.map +1 -0
- package/dist/esm/versioned.js +43 -0
- package/dist/esm/versioned.js.map +1 -0
- package/dist/esm/video/index.js +2 -0
- package/dist/esm/video/index.js.map +1 -0
- package/dist/esm/video/video.js +47 -0
- package/dist/esm/video/video.js.map +1 -0
- package/dist/esm/width/index.js +2 -0
- package/dist/esm/width/index.js.map +1 -0
- package/dist/esm/width/width.js +49 -0
- package/dist/esm/width/width.js.map +1 -0
- package/dist/types/backgrounds/backgrounds.d.ts +97 -97
- package/dist/types/border/border.d.ts +595 -765
- package/dist/types/border/border.d.ts.map +1 -1
- package/dist/types/border/index.d.ts +1 -0
- package/dist/types/border/index.d.ts.map +1 -1
- package/dist/types/border-radius/border-radius.d.ts +23 -23
- package/dist/types/border-radius/border-radius.d.ts.map +1 -1
- package/dist/types/checkbox/checkbox.d.ts +4 -4
- package/dist/types/data.d.ts +5 -5
- package/dist/types/data.d.ts.map +1 -1
- package/dist/types/date/date.d.ts +4 -4
- package/dist/types/element-id/element-id.d.ts +4 -4
- package/dist/types/font/font.d.ts +9 -9
- package/dist/types/font/font.d.ts.map +1 -1
- package/dist/types/gap-x/gap-x.d.ts +204 -120
- package/dist/types/gap-x/gap-x.d.ts.map +1 -1
- package/dist/types/gap-y/gap-y.d.ts +8 -8
- package/dist/types/grid/grid.d.ts +854 -38
- package/dist/types/grid/grid.d.ts.map +1 -1
- package/dist/types/image/image.d.ts +4 -4
- package/dist/types/images/images.d.ts +94 -94
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/link/link.d.ts +21 -21
- package/dist/types/link/link.d.ts.map +1 -1
- package/dist/types/margin/margin.d.ts +10 -10
- package/dist/types/margin/margin.d.ts.map +1 -1
- package/dist/types/navigation-links/navigation-links.d.ts +164 -164
- package/dist/types/number.d.ts +4 -4
- package/dist/types/padding/padding.d.ts +10 -10
- package/dist/types/padding/padding.d.ts.map +1 -1
- package/dist/types/prop-controllers.d.ts +2 -99
- package/dist/types/prop-controllers.d.ts.map +1 -1
- package/dist/types/responsive-color.d.ts +9 -9
- package/dist/types/responsive-color.d.ts.map +1 -1
- package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts +88 -35
- package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts.map +1 -1
- package/dist/types/responsive-length.d.ts +14 -14
- package/dist/types/responsive-length.d.ts.map +1 -1
- package/dist/types/responsive-number/responsive-number.d.ts +118 -67
- package/dist/types/responsive-number/responsive-number.d.ts.map +1 -1
- package/dist/types/responsive-opacity/responsive-opacity.d.ts +120 -69
- package/dist/types/responsive-opacity/responsive-opacity.d.ts.map +1 -1
- package/dist/types/responsive-select/responsive-select.d.ts +88 -35
- package/dist/types/responsive-select/responsive-select.d.ts.map +1 -1
- package/dist/types/shadows.d.ts +7 -7
- package/dist/types/shadows.d.ts.map +1 -1
- package/dist/types/social-links/social-links.d.ts +4 -4
- package/dist/types/table/table.d.ts +4 -4
- package/dist/types/table-form-fields/table-form-fields.d.ts +9 -9
- package/dist/types/text-area/text-area.d.ts +4 -4
- package/dist/types/text-input/text-input.d.ts +4 -4
- package/dist/types/text-style/text-style.d.ts +9 -9
- package/dist/types/text-style/text-style.d.ts.map +1 -1
- package/dist/types/utils/associated-types.d.ts +4 -1
- package/dist/types/utils/associated-types.d.ts.map +1 -1
- package/dist/types/versioned.d.ts +187 -122
- package/dist/types/versioned.d.ts.map +1 -1
- package/dist/types/video/video.d.ts +4 -4
- package/dist/types/width/width.d.ts +12 -12
- package/package.json +9 -7
- package/dist/index.cjs +0 -2489
@@ -0,0 +1 @@
|
|
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,SAAS,SAAS;AAClB,SAAS,oBAA6B,aAAa;AACnD,SAAS,GAAG,aAAa;AAEzB,MAAM,qCAAqC,EAAE,QAAQ;AAM9C,MAAM,mCAAmC;AAEhD,MAAM,qCAAqC,EAAE,OAAO;AAAA,EAClD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,gCAAgC;AAAA,EAChE,OAAO,EAAE,QAAQ;AACnB,CAAC;AAMM,MAAM,mCAAmC,EAAE,MAAM;AAAA,EACtD;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,SAAS,SAAgD;AACvE,SAAO,EAAE,MAAM,MAAM,UAAU,SAAS,GAAG,QAAQ;AACrD;AAEO,SAAS,qCACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,iCAAiC;AAAA,IACzD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,4CACd,OACA,YAC4B;AAC5B,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;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/checkbox/index.ts"],"sourcesContent":["export * from './checkbox'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
package/dist/esm/data.js
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import { Schema } from "./prop-controllers";
|
3
|
+
const colorDataSchema = z.object({
|
4
|
+
swatchId: z.string(),
|
5
|
+
alpha: z.number()
|
6
|
+
});
|
7
|
+
const lengthDataSchema = z.object({
|
8
|
+
value: z.number(),
|
9
|
+
unit: z.enum(["px", "%"])
|
10
|
+
});
|
11
|
+
const gapDataSchema = z.object({
|
12
|
+
value: z.number(),
|
13
|
+
unit: z.literal("px")
|
14
|
+
});
|
15
|
+
const responsiveGapDataSchema = Schema.responsiveValue(gapDataSchema);
|
16
|
+
const fileIdSchema = z.string();
|
17
|
+
const imageDataV0Schema = fileIdSchema;
|
18
|
+
const imageDataV1MakeswiftFileSchema = z.object({
|
19
|
+
version: z.literal(1),
|
20
|
+
type: z.literal("makeswift-file"),
|
21
|
+
id: z.string()
|
22
|
+
});
|
23
|
+
const imageDataV1ExternalFileSchema = z.object({
|
24
|
+
version: z.literal(1),
|
25
|
+
type: z.literal("external-file"),
|
26
|
+
url: z.string(),
|
27
|
+
width: z.number().nullable().optional(),
|
28
|
+
height: z.number().nullable().optional()
|
29
|
+
});
|
30
|
+
const imageDataV1Schema = z.union([
|
31
|
+
imageDataV1MakeswiftFileSchema,
|
32
|
+
imageDataV1ExternalFileSchema
|
33
|
+
]);
|
34
|
+
const imageDataSchema = z.union([imageDataV0Schema, imageDataV1Schema]);
|
35
|
+
const responsiveNumberValueSchema = Schema.responsiveValue(z.number());
|
36
|
+
const responsiveSelectValueSchema = Schema.responsiveValue(z.string());
|
37
|
+
const responsiveIconRadioGroupValueSchema = Schema.responsiveValue(
|
38
|
+
z.string()
|
39
|
+
);
|
40
|
+
export {
|
41
|
+
colorDataSchema,
|
42
|
+
gapDataSchema,
|
43
|
+
imageDataSchema,
|
44
|
+
imageDataV0Schema,
|
45
|
+
imageDataV1Schema,
|
46
|
+
lengthDataSchema,
|
47
|
+
responsiveGapDataSchema,
|
48
|
+
responsiveIconRadioGroupValueSchema,
|
49
|
+
responsiveNumberValueSchema,
|
50
|
+
responsiveSelectValueSchema
|
51
|
+
};
|
52
|
+
//# sourceMappingURL=data.js.map
|
@@ -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,SAAS,SAAS;AAClB,SAAS,cAAoC;AAEtC,MAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,UAAU,EAAE,OAAO;AAAA,EACnB,OAAO,EAAE,OAAO;AAClB,CAAC;AAIM,MAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;AAC1B,CAAC;AAIM,MAAM,gBAAgB,EAAE,OAAO;AAAA,EACpC,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,QAAQ,IAAI;AACtB,CAAC;AAIM,MAAM,0BAA0B,OAAO,gBAAgB,aAAa;AAI3E,MAAM,eAAe,EAAE,OAAO;AAEvB,MAAM,oBAAoB;AAIjC,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,gBAAgB;AAAA,EAChC,IAAI,EAAE,OAAO;AACf,CAAC;AAED,MAAM,gCAAgC,EAAE,OAAO;AAAA,EAC7C,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,eAAe;AAAA,EAC/B,KAAK,EAAE,OAAO;AAAA,EACd,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EACtC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AACzC,CAAC;AAEM,MAAM,oBAAoB,EAAE,MAAM;AAAA,EACvC;AAAA,EACA;AACF,CAAC;AAIM,MAAM,kBAAkB,EAAE,MAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAItE,MAAM,8BAA8B,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAIrE,MAAM,8BAA8B,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAKrE,MAAM,sCAAsC,OAAO;AAAA,EACxD,EAAE,OAAO;AACX;","names":[]}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import { ControlDataTypeKey, Types } from "../prop-controllers";
|
3
|
+
import { P, match } from "ts-pattern";
|
4
|
+
const datePropControllerDataV0Schema = z.string();
|
5
|
+
const DatePropControllerDataV1Type = "prop-controllers::date::v1";
|
6
|
+
const datePropControllerDataV1Schema = z.object({
|
7
|
+
[ControlDataTypeKey]: z.literal(DatePropControllerDataV1Type),
|
8
|
+
value: z.string()
|
9
|
+
});
|
10
|
+
const datePropControllerDataSchema = z.union([
|
11
|
+
datePropControllerDataV0Schema,
|
12
|
+
datePropControllerDataV1Schema
|
13
|
+
]);
|
14
|
+
function Date(options = {}) {
|
15
|
+
return { type: Types.Date, version: 1, options };
|
16
|
+
}
|
17
|
+
function getDatePropControllerDataString(data) {
|
18
|
+
return match(data).with(
|
19
|
+
{ [ControlDataTypeKey]: DatePropControllerDataV1Type },
|
20
|
+
(v1) => v1.value
|
21
|
+
).otherwise((v0) => v0);
|
22
|
+
}
|
23
|
+
function createDatePropControllerDataFromString(value, definition) {
|
24
|
+
return match(definition).with(
|
25
|
+
{ version: 1 },
|
26
|
+
P.nullish,
|
27
|
+
() => ({
|
28
|
+
[ControlDataTypeKey]: DatePropControllerDataV1Type,
|
29
|
+
value
|
30
|
+
})
|
31
|
+
).otherwise(() => value);
|
32
|
+
}
|
33
|
+
export {
|
34
|
+
Date,
|
35
|
+
DatePropControllerDataV1Type,
|
36
|
+
createDatePropControllerDataFromString,
|
37
|
+
datePropControllerDataSchema,
|
38
|
+
getDatePropControllerDataString
|
39
|
+
};
|
40
|
+
//# sourceMappingURL=date.js.map
|
@@ -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,SAAS,SAAS;AAClB,SAAS,oBAA6B,aAAa;AACnD,SAAS,GAAG,aAAa;AAEzB,MAAM,iCAAiC,EAAE,OAAO;AAMzC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO,EAAE,OAAO;AAClB,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAmCM,SAAS,KAAK,UAAuB,CAAC,GAAqB;AAChE,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,gCACd,MACoB;AACpB,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,uCACd,OACA,YACwB;AACxB,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;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/date/index.ts"],"sourcesContent":["export * from './date'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import {
|
3
|
+
ControlDataTypeKey,
|
4
|
+
Types
|
5
|
+
} from "../prop-controllers";
|
6
|
+
import { P, match } from "ts-pattern";
|
7
|
+
const elementIDSchema = z.string();
|
8
|
+
const elementIDPropControllerDataV0Schema = elementIDSchema;
|
9
|
+
const ElementIDPropControllerDataV1Type = "prop-controllers::element-id::v1";
|
10
|
+
const elementIDPropControllerDataV1Schema = z.object({
|
11
|
+
[ControlDataTypeKey]: z.literal(ElementIDPropControllerDataV1Type),
|
12
|
+
value: elementIDSchema
|
13
|
+
});
|
14
|
+
const elementIDPropControllerDataSchema = z.union([
|
15
|
+
elementIDPropControllerDataV0Schema,
|
16
|
+
elementIDPropControllerDataV1Schema
|
17
|
+
]);
|
18
|
+
function ElementID(options = {}) {
|
19
|
+
return { type: Types.ElementID, version: 1, options };
|
20
|
+
}
|
21
|
+
function getElementIDPropControllerDataElementID(data) {
|
22
|
+
return match(data).with(
|
23
|
+
{ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type },
|
24
|
+
(v1) => v1.value
|
25
|
+
).otherwise((v0) => v0);
|
26
|
+
}
|
27
|
+
function createElementIDPropControllerDataFromElementID(value, definition) {
|
28
|
+
return match(definition).with(
|
29
|
+
{ version: 1 },
|
30
|
+
P.nullish,
|
31
|
+
() => ({
|
32
|
+
[ControlDataTypeKey]: ElementIDPropControllerDataV1Type,
|
33
|
+
value
|
34
|
+
})
|
35
|
+
).otherwise(() => value);
|
36
|
+
}
|
37
|
+
function copyElementID(data, context) {
|
38
|
+
if (data == null)
|
39
|
+
return data;
|
40
|
+
if (context.replacementContext.elementHtmlIds.has(data))
|
41
|
+
return void 0;
|
42
|
+
context.replacementContext.elementHtmlIds.add(data);
|
43
|
+
return data;
|
44
|
+
}
|
45
|
+
function copyElementIDPropControllerData(data, context) {
|
46
|
+
return match(data).with(void 0, () => void 0).with({ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {
|
47
|
+
const value = copyElementID(v1.value, context);
|
48
|
+
if (value == null)
|
49
|
+
return void 0;
|
50
|
+
return {
|
51
|
+
[ControlDataTypeKey]: ElementIDPropControllerDataV1Type,
|
52
|
+
value
|
53
|
+
};
|
54
|
+
}).otherwise((v0) => copyElementID(v0, context));
|
55
|
+
}
|
56
|
+
export {
|
57
|
+
ElementID,
|
58
|
+
ElementIDPropControllerDataV1Type,
|
59
|
+
copyElementIDPropControllerData,
|
60
|
+
createElementIDPropControllerDataFromElementID,
|
61
|
+
elementIDPropControllerDataSchema,
|
62
|
+
getElementIDPropControllerDataElementID
|
63
|
+
};
|
64
|
+
//# sourceMappingURL=element-id.js.map
|
@@ -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,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,kBAAkB,EAAE,OAAO;AAIjC,MAAM,sCAAsC;AAMrC,MAAM,oCACX;AAEF,MAAM,sCAAsC,EAAE,OAAO;AAAA,EACnD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,iCAAiC;AAAA,EACjE,OAAO;AACT,CAAC;AAMM,MAAM,oCAAoC,EAAE,MAAM;AAAA,EACvD;AAAA,EACA;AACF,CAAC;AAiCM,SAAS,UACd,UAA4B,CAAC,GACN;AACvB,SAAO,EAAE,MAAM,MAAM,WAAW,SAAS,GAAG,QAAQ;AACtD;AAEO,SAAS,wCACd,MACuB;AACvB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,kCAAkC;AAAA,IAC1D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+CACd,OACA,YAC6B;AAC7B,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,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,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,kBAAkB,GAAG,kCAAkC,GAAG,CAAC,OAAO;AACzE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,kBAAkB,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/element-id/index.ts"],"sourcesContent":["export * from './element-id'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { P, match } from "ts-pattern";
|
2
|
+
import { ControlDataTypeKey, Types, Schema } from "../prop-controllers";
|
3
|
+
import { z } from "zod";
|
4
|
+
const fontDataSchema = z.string();
|
5
|
+
const responsiveFontDataSchema = Schema.responsiveValue(fontDataSchema);
|
6
|
+
const fontPropControllerDataV0Schema = responsiveFontDataSchema;
|
7
|
+
const FontPropControllerDataV1Type = "prop-controllers::font::v1";
|
8
|
+
const fontPropControllerDataV1Schema = z.object({
|
9
|
+
[ControlDataTypeKey]: z.literal(FontPropControllerDataV1Type),
|
10
|
+
value: responsiveFontDataSchema
|
11
|
+
});
|
12
|
+
const fontPropControllerDataSchema = z.union([
|
13
|
+
fontPropControllerDataV0Schema,
|
14
|
+
fontPropControllerDataV1Schema
|
15
|
+
]);
|
16
|
+
function Font(options = {}) {
|
17
|
+
return { type: Types.Font, version: 1, options };
|
18
|
+
}
|
19
|
+
function getFontPropControllerDataResponsiveFontData(data) {
|
20
|
+
return match(data).with(
|
21
|
+
{ [ControlDataTypeKey]: FontPropControllerDataV1Type },
|
22
|
+
(v1) => v1.value
|
23
|
+
).otherwise((v0) => v0);
|
24
|
+
}
|
25
|
+
function createFontPropControllerDataFromResponsiveFontData(responsiveFontData, definition) {
|
26
|
+
return match(definition).with(
|
27
|
+
{ version: 1 },
|
28
|
+
P.nullish,
|
29
|
+
() => ({
|
30
|
+
[ControlDataTypeKey]: FontPropControllerDataV1Type,
|
31
|
+
value: responsiveFontData
|
32
|
+
})
|
33
|
+
).otherwise(() => responsiveFontData);
|
34
|
+
}
|
35
|
+
export {
|
36
|
+
Font,
|
37
|
+
FontPropControllerDataV1Type,
|
38
|
+
createFontPropControllerDataFromResponsiveFontData,
|
39
|
+
fontPropControllerDataSchema,
|
40
|
+
getFontPropControllerDataResponsiveFontData
|
41
|
+
};
|
42
|
+
//# sourceMappingURL=font.js.map
|
@@ -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,SAAS,GAAG,aAAa;AACzB,SAAS,oBAA6B,OAAO,cAAc;AAC3D,SAAS,SAAS;AAElB,MAAM,iBAAiB,EAAE,OAAO;AAIhC,MAAM,2BAA2B,OAAO,gBAAgB,cAAc;AAItE,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,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;AAqCM,SAAS,KACd,UAAuB,CAAC,GACgB;AACxC,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,4CACd,MACgC;AAChC,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,mDACd,oBACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,kBAAkB;AACvC;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/font/index.ts"],"sourcesContent":["export * from './font'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Types } from "../prop-controllers";
|
2
|
+
import { responsiveGapDataSchema } from "../data";
|
3
|
+
import { versionedPropDef, typeArg } from "../versioned";
|
4
|
+
const GapX = versionedPropDef(
|
5
|
+
Types.GapX,
|
6
|
+
responsiveGapDataSchema,
|
7
|
+
{
|
8
|
+
version: 1,
|
9
|
+
dataKey: "prop-controllers::gap-x::v1"
|
10
|
+
},
|
11
|
+
typeArg()
|
12
|
+
);
|
13
|
+
export {
|
14
|
+
GapX
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=gap-x.js.map
|
@@ -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,SAAS,aAAa;AACtB,SAAkB,+BAA+B;AACjD,SAAS,kBAAkB,eAAe;AAEnC,MAAM,OAAO;AAAA,EAClB,MAAM;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,QAQG;AACL;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/gap-x/index.ts"],"sourcesContent":["export * from './gap-x'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { match } from "ts-pattern";
|
2
|
+
import { ControlDataTypeKey, Types } from "../prop-controllers";
|
3
|
+
import { z } from "zod";
|
4
|
+
import { responsiveGapDataSchema } from "../data";
|
5
|
+
const gapYPropControllerDataV0Schema = responsiveGapDataSchema;
|
6
|
+
const GapYPropControllerDataV1Type = "prop-controllers::gap-y::v1";
|
7
|
+
const gapYPropControllerDataV1Schema = z.object({
|
8
|
+
[ControlDataTypeKey]: z.literal(GapYPropControllerDataV1Type),
|
9
|
+
value: responsiveGapDataSchema
|
10
|
+
});
|
11
|
+
const gapYPropControllerDataSchema = z.union([
|
12
|
+
gapYPropControllerDataV0Schema,
|
13
|
+
gapYPropControllerDataV1Schema
|
14
|
+
]);
|
15
|
+
function GapY(options = {}) {
|
16
|
+
return { type: Types.GapY, version: 1, options };
|
17
|
+
}
|
18
|
+
function getGapYPropControllerDataResponsiveGapData(data) {
|
19
|
+
return match(data).with(
|
20
|
+
{ [ControlDataTypeKey]: GapYPropControllerDataV1Type },
|
21
|
+
(v1) => v1.value
|
22
|
+
).otherwise((v0) => v0);
|
23
|
+
}
|
24
|
+
function createGapYPropControllerDataFromResponsiveGapData(responsiveGapData, definition) {
|
25
|
+
return match(definition).with(
|
26
|
+
{ version: 1 },
|
27
|
+
() => ({
|
28
|
+
[ControlDataTypeKey]: GapYPropControllerDataV1Type,
|
29
|
+
value: responsiveGapData
|
30
|
+
})
|
31
|
+
).otherwise(() => responsiveGapData);
|
32
|
+
}
|
33
|
+
export {
|
34
|
+
GapY,
|
35
|
+
GapYPropControllerDataV1Type,
|
36
|
+
createGapYPropControllerDataFromResponsiveGapData,
|
37
|
+
gapYPropControllerDataSchema,
|
38
|
+
getGapYPropControllerDataResponsiveGapData
|
39
|
+
};
|
40
|
+
//# sourceMappingURL=gap-y.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/gap-y/gap-y.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { z } from 'zod'\nimport { GapData, ResponsiveGapData, responsiveGapDataSchema } from '../data'\n\nconst gapYPropControllerDataV0Schema = responsiveGapDataSchema\n\nexport type GapYPropControllerDataV0 = z.infer<\n typeof gapYPropControllerDataV0Schema\n>\n\nexport const GapYPropControllerDataV1Type = 'prop-controllers::gap-y::v1'\n\nconst gapYPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(GapYPropControllerDataV1Type),\n value: responsiveGapDataSchema,\n})\n\nexport type GapYPropControllerDataV1 = z.infer<\n typeof gapYPropControllerDataV1Schema\n>\n\nexport const gapYPropControllerDataSchema = z.union([\n gapYPropControllerDataV0Schema,\n gapYPropControllerDataV1Schema,\n])\n\nexport type GapYPropControllerData = z.infer<\n typeof gapYPropControllerDataSchema\n>\n\nexport type GapYOptions = Options<{\n preset?: ResponsiveGapData\n label?: string\n defaultValue?: GapData\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}>\n\ntype GapYDescriptorV0<\n _T = GapYPropControllerDataV0,\n U extends GapYOptions = GapYOptions,\n> = {\n type: typeof Types.GapY\n options: U\n}\n\ntype GapYDescriptorV1<\n _T = GapYPropControllerData,\n U extends GapYOptions = GapYOptions,\n> = {\n type: typeof Types.GapY\n version: 1\n options: U\n}\n\nexport type GapYDescriptor<\n _T = GapYPropControllerData,\n U extends GapYOptions = GapYOptions,\n> = GapYDescriptorV0<_T, U> | GapYDescriptorV1<_T, U>\n\nexport type ResolveGapYPropControllerValue<T extends GapYDescriptor> =\n T extends GapYDescriptor ? ResponsiveGapData | undefined : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function GapY(\n options: GapYOptions = {},\n): GapYDescriptor<GapYPropControllerData> {\n return { type: Types.GapY, version: 1, options }\n}\n\nexport function getGapYPropControllerDataResponsiveGapData(\n data: GapYPropControllerData | undefined,\n): ResponsiveGapData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GapYPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createGapYPropControllerDataFromResponsiveGapData(\n responsiveGapData: ResponsiveGapData,\n definition: GapYDescriptor,\n): GapYPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: GapYPropControllerDataV1Type,\n value: responsiveGapData,\n } as const),\n )\n .otherwise(() => responsiveGapData)\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,oBAA6B,aAAa;AACnD,SAAS,SAAS;AAClB,SAAqC,+BAA+B;AAEpE,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,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;AA6CM,SAAS,KACd,UAAuB,CAAC,GACgB;AACxC,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,2CACd,MAC+B;AAC/B,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,kDACd,mBACA,YACwB;AACxB,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,iBAAiB;AACtC;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/gap-y/index.ts"],"sourcesContent":["export * from './gap-y'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import {
|
3
|
+
ControlDataTypeKey,
|
4
|
+
Types,
|
5
|
+
Schema
|
6
|
+
} from "../prop-controllers";
|
7
|
+
import { P, match } from "ts-pattern";
|
8
|
+
const gridColumnSchema = z.object({
|
9
|
+
count: z.number(),
|
10
|
+
spans: z.array(z.array(z.number()))
|
11
|
+
});
|
12
|
+
const gridDataSchema = z.object({
|
13
|
+
elements: z.array(Schema.element),
|
14
|
+
columns: Schema.responsiveValue(gridColumnSchema)
|
15
|
+
});
|
16
|
+
const gridPropControllerDataV0Schema = gridDataSchema;
|
17
|
+
const GridPropControllerDataV1Type = "prop-controllers::grid::v1";
|
18
|
+
const gridPropControllerDataV1Schema = z.object({
|
19
|
+
[ControlDataTypeKey]: z.literal(GridPropControllerDataV1Type),
|
20
|
+
value: gridDataSchema
|
21
|
+
});
|
22
|
+
const gridPropControllerDataSchema = z.union([
|
23
|
+
gridPropControllerDataV0Schema,
|
24
|
+
gridPropControllerDataV1Schema
|
25
|
+
]);
|
26
|
+
function Grid(options = {}) {
|
27
|
+
return { type: Types.Grid, version: 1, options };
|
28
|
+
}
|
29
|
+
function getGridPropControllerDataGridData(data) {
|
30
|
+
return match(data).with(
|
31
|
+
{ [ControlDataTypeKey]: GridPropControllerDataV1Type },
|
32
|
+
(v1) => v1.value
|
33
|
+
).otherwise((v0) => v0);
|
34
|
+
}
|
35
|
+
function createGridPropControllerDataFromGridData(value, definition) {
|
36
|
+
return match(definition).with(
|
37
|
+
{ version: 1 },
|
38
|
+
P.nullish,
|
39
|
+
() => ({
|
40
|
+
[ControlDataTypeKey]: GridPropControllerDataV1Type,
|
41
|
+
value
|
42
|
+
})
|
43
|
+
).otherwise(() => value);
|
44
|
+
}
|
45
|
+
function mergeGridDataTranslatedData(data, context) {
|
46
|
+
return {
|
47
|
+
...data,
|
48
|
+
elements: data.elements.map(
|
49
|
+
(element) => context.mergeTranslatedData(element)
|
50
|
+
)
|
51
|
+
};
|
52
|
+
}
|
53
|
+
function mergeGridPropControllerTranslatedData(data, context) {
|
54
|
+
return match(data).with(
|
55
|
+
{ [ControlDataTypeKey]: GridPropControllerDataV1Type },
|
56
|
+
(v1) => ({
|
57
|
+
[ControlDataTypeKey]: GridPropControllerDataV1Type,
|
58
|
+
value: mergeGridDataTranslatedData(v1.value, context)
|
59
|
+
})
|
60
|
+
).otherwise((v0) => mergeGridDataTranslatedData(v0, context));
|
61
|
+
}
|
62
|
+
function getGridPropControllerElementChildren(data) {
|
63
|
+
return getGridPropControllerDataGridData(data)?.elements ?? [];
|
64
|
+
}
|
65
|
+
function copyGridData(data, context) {
|
66
|
+
return {
|
67
|
+
...data,
|
68
|
+
elements: data.elements.map((element) => context.copyElement(element))
|
69
|
+
};
|
70
|
+
}
|
71
|
+
function copyGridPropControllerData(data, context) {
|
72
|
+
return match(data).with(void 0, () => void 0).with(
|
73
|
+
{ [ControlDataTypeKey]: GridPropControllerDataV1Type },
|
74
|
+
(v1) => ({
|
75
|
+
[ControlDataTypeKey]: GridPropControllerDataV1Type,
|
76
|
+
value: copyGridData(v1.value, context)
|
77
|
+
})
|
78
|
+
).otherwise((v0) => copyGridData(v0, context));
|
79
|
+
}
|
80
|
+
function getGridPropControllerGetElementPath(data, elementKey) {
|
81
|
+
const value = getGridPropControllerDataGridData(data);
|
82
|
+
const idx = value?.elements.findIndex((element) => element.key === elementKey) ?? -1;
|
83
|
+
if (idx === -1)
|
84
|
+
return null;
|
85
|
+
return match(data).with({ [ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [
|
86
|
+
"value",
|
87
|
+
"elements",
|
88
|
+
idx
|
89
|
+
]).otherwise((_v0) => ["elements", idx]);
|
90
|
+
}
|
91
|
+
export {
|
92
|
+
Grid,
|
93
|
+
GridPropControllerDataV1Type,
|
94
|
+
copyGridPropControllerData,
|
95
|
+
createGridPropControllerDataFromGridData,
|
96
|
+
getGridPropControllerDataGridData,
|
97
|
+
getGridPropControllerElementChildren,
|
98
|
+
getGridPropControllerGetElementPath,
|
99
|
+
gridPropControllerDataSchema,
|
100
|
+
mergeGridPropControllerTranslatedData
|
101
|
+
};
|
102
|
+
//# sourceMappingURL=grid.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/grid/grid.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Element,\n MergeTranslatableDataContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst gridColumnSchema = z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n})\n\nconst gridDataSchema = z.object({\n elements: z.array(Schema.element),\n columns: Schema.responsiveValue(gridColumnSchema),\n})\n\nexport type GridData = z.infer<typeof gridDataSchema>\n\nconst gridPropControllerDataV0Schema = gridDataSchema\n\nexport type GridPropControllerDataV0 = z.infer<\n typeof gridPropControllerDataV0Schema\n>\n\nexport const GridPropControllerDataV1Type = 'prop-controllers::grid::v1'\n\nconst gridPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(GridPropControllerDataV1Type),\n value: gridDataSchema,\n})\n\nexport type GridPropControllerDataV1 = z.infer<\n typeof gridPropControllerDataV1Schema\n>\n\nexport const gridPropControllerDataSchema = z.union([\n gridPropControllerDataV0Schema,\n gridPropControllerDataV1Schema,\n])\n\nexport type GridPropControllerData = z.infer<\n typeof gridPropControllerDataSchema\n>\n\nexport type GridOptions = Options<Record<string, never>>\n\ntype GridDescriptorV0<_T = GridPropControllerDataV0> = {\n type: typeof Types.Grid\n options: GridOptions\n}\n\ntype GridDescriptorV1<\n _T = GridPropControllerData,\n U extends GridOptions = GridOptions,\n> = {\n type: typeof Types.Grid\n version: 1\n options: U\n}\n\nexport type GridDescriptor<_T = GridPropControllerData> =\n | GridDescriptorV0\n | GridDescriptorV1\n\nexport type ResolveGridPropControllerValue<T extends GridDescriptor> =\n T extends GridDescriptor ? GridData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Grid(options: GridOptions = {}): GridDescriptorV1 {\n return { type: Types.Grid, version: 1, options }\n}\n\nexport function getGridPropControllerDataGridData(\n data: GridPropControllerData | undefined,\n): GridData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createGridPropControllerDataFromGridData(\n value: GridData,\n definition: GridDescriptor,\n): GridPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction mergeGridDataTranslatedData(\n data: GridData,\n context: MergeTranslatableDataContext,\n): GridData {\n return {\n ...data,\n elements: data.elements.map((element) =>\n context.mergeTranslatedData(element),\n ),\n }\n}\n\nexport function mergeGridPropControllerTranslatedData(\n data: GridPropControllerData,\n context: MergeTranslatableDataContext,\n): GridPropControllerData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: mergeGridDataTranslatedData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => mergeGridDataTranslatedData(v0, context))\n}\n\nexport function getGridPropControllerElementChildren(\n data: GridPropControllerData | undefined,\n): Element[] {\n return getGridPropControllerDataGridData(data)?.elements ?? []\n}\n\nfunction copyGridData(data: GridData, context: CopyContext): GridData {\n return {\n ...data,\n elements: data.elements.map((element) => context.copyElement(element)),\n }\n}\n\nexport function copyGridPropControllerData(\n data: GridPropControllerData | undefined,\n context: CopyContext,\n): GridPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: copyGridData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyGridData(v0, context))\n}\n\ntype Path = ReadonlyArray<string | number>\n\nexport function getGridPropControllerGetElementPath(\n data: GridPropControllerData | undefined,\n elementKey: string,\n): Path | null {\n const value = getGridPropControllerDataGridData(data)\n\n const idx =\n value?.elements.findIndex((element) => element.key === elementKey) ?? -1\n\n if (idx === -1) return null\n\n return match(data)\n .with({ [ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [\n 'value',\n 'elements',\n idx,\n ])\n .otherwise((_v0) => ['elements', idx])\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAKA;AAAA,EACA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,mBAAmB,EAAE,OAAO;AAAA,EAChC,OAAO,EAAE,OAAO;AAAA,EAChB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,iBAAiB,EAAE,OAAO;AAAA,EAC9B,UAAU,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC,SAAS,OAAO,gBAAgB,gBAAgB;AAClD,CAAC;AAID,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,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;AAiCM,SAAS,KAAK,UAAuB,CAAC,GAAqB;AAChE,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACsB;AACtB,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,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,4BACP,MACA,SACU;AACV,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,KAAK,SAAS;AAAA,MAAI,CAAC,YAC3B,QAAQ,oBAAoB,OAAO;AAAA,IACrC;AAAA,EACF;AACF;AAEO,SAAS,sCACd,MACA,SACwB;AACxB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,4BAA4B,GAAG,OAAO,OAAO;AAAA,IACtD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,4BAA4B,IAAI,OAAO,CAAC;AAC/D;AAEO,SAAS,qCACd,MACW;AACX,SAAO,kCAAkC,IAAI,GAAG,YAAY,CAAC;AAC/D;AAEA,SAAS,aAAa,MAAgB,SAAgC;AACpE,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,KAAK,SAAS,IAAI,CAAC,YAAY,QAAQ,YAAY,OAAO,CAAC;AAAA,EACvE;AACF;AAEO,SAAS,2BACd,MACA,SACoC;AACpC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,aAAa,GAAG,OAAO,OAAO;AAAA,IACvC;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,aAAa,IAAI,OAAO,CAAC;AAChD;AAIO,SAAS,oCACd,MACA,YACa;AACb,QAAM,QAAQ,kCAAkC,IAAI;AAEpD,QAAM,MACJ,OAAO,SAAS,UAAU,CAAC,YAAY,QAAQ,QAAQ,UAAU,KAAK;AAExE,MAAI,QAAQ;AAAI,WAAO;AAEvB,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,CAAC,kBAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACA,UAAU,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC;AACzC;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/grid/index.ts"],"sourcesContent":["export * from './grid'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import {
|
3
|
+
ControlDataTypeKey,
|
4
|
+
Types
|
5
|
+
} from "../prop-controllers";
|
6
|
+
import { P, match } from "ts-pattern";
|
7
|
+
import {
|
8
|
+
imageDataSchema,
|
9
|
+
imageDataV0Schema
|
10
|
+
} from "../data";
|
11
|
+
const imagePropControllerDataV0Schema = imageDataV0Schema;
|
12
|
+
const imagePropControllerDataV1Schema = imageDataSchema;
|
13
|
+
const ImagePropControllerDataV2Type = "prop-controllers::image::v2";
|
14
|
+
const imagePropControllerDataV2Schema = z.object({
|
15
|
+
[ControlDataTypeKey]: z.literal(ImagePropControllerDataV2Type),
|
16
|
+
value: imagePropControllerDataV1Schema
|
17
|
+
});
|
18
|
+
const imagePropControllerDataSchema = z.union([
|
19
|
+
imagePropControllerDataV0Schema,
|
20
|
+
imagePropControllerDataV1Schema,
|
21
|
+
imagePropControllerDataV2Schema
|
22
|
+
]);
|
23
|
+
function Image(options = {}) {
|
24
|
+
return { type: Types.Image, version: 2, options };
|
25
|
+
}
|
26
|
+
function getImagePropControllerDataImageData(data) {
|
27
|
+
return match(data).with(
|
28
|
+
{ [ControlDataTypeKey]: ImagePropControllerDataV2Type },
|
29
|
+
(v2) => v2.value
|
30
|
+
).otherwise((v0) => v0);
|
31
|
+
}
|
32
|
+
function createImagePropControllerDataFromImageData(data, definition) {
|
33
|
+
return match(definition).with(
|
34
|
+
{ version: 2 },
|
35
|
+
() => ({
|
36
|
+
[ControlDataTypeKey]: ImagePropControllerDataV2Type,
|
37
|
+
value: data
|
38
|
+
})
|
39
|
+
).otherwise(() => data);
|
40
|
+
}
|
41
|
+
function getImagePropControllerFileIds(data) {
|
42
|
+
const value = getImagePropControllerDataImageData(data);
|
43
|
+
return match(value).with(void 0, () => []).with(P.string, (v) => [v]).with({ type: "makeswift-file", version: 1 }, (v) => [v.id]).with({ type: "external-file", version: 1 }, () => []).exhaustive();
|
44
|
+
}
|
45
|
+
function copyImageData(data, context) {
|
46
|
+
return match(data).with(P.string, (v) => context.replacementContext.fileIds.get(v) ?? v).with({ type: "makeswift-file", version: 1 }, (v) => ({
|
47
|
+
...v,
|
48
|
+
id: context.replacementContext.fileIds.get(v.id) ?? v.id
|
49
|
+
})).otherwise((v) => v);
|
50
|
+
}
|
51
|
+
function copyImagePropControllerData(data, context) {
|
52
|
+
return match(data).with(void 0, () => void 0).with({ [ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {
|
53
|
+
const value = copyImageData(v1.value, context);
|
54
|
+
if (value == null)
|
55
|
+
return void 0;
|
56
|
+
return {
|
57
|
+
[ControlDataTypeKey]: ImagePropControllerDataV2Type,
|
58
|
+
value
|
59
|
+
};
|
60
|
+
}).otherwise((v0) => copyImageData(v0, context));
|
61
|
+
}
|
62
|
+
export {
|
63
|
+
Image,
|
64
|
+
ImagePropControllerDataV2Type,
|
65
|
+
copyImagePropControllerData,
|
66
|
+
createImagePropControllerDataFromImageData,
|
67
|
+
getImagePropControllerDataImageData,
|
68
|
+
getImagePropControllerFileIds,
|
69
|
+
imagePropControllerDataSchema
|
70
|
+
};
|
71
|
+
//# sourceMappingURL=image.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/image/image.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ImageData,\n ImageDataV0,\n imageDataSchema,\n imageDataV0Schema,\n} from '../data'\n\nconst imagePropControllerDataV0Schema = imageDataV0Schema\n\nconst imagePropControllerDataV1Schema = imageDataSchema\n\nexport const ImagePropControllerDataV2Type = 'prop-controllers::image::v2'\n\nconst imagePropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(ImagePropControllerDataV2Type),\n value: imagePropControllerDataV1Schema,\n})\n\nexport type ImagePropControllerDataV2 = z.infer<\n typeof imagePropControllerDataV2Schema\n>\n\nexport const imagePropControllerDataSchema = z.union([\n imagePropControllerDataV0Schema,\n imagePropControllerDataV1Schema,\n imagePropControllerDataV2Schema,\n])\n\nexport type ImagePropControllerData = z.infer<\n typeof imagePropControllerDataSchema\n>\n\nexport type ImageOptions = Options<{ label?: string; hidden?: boolean }>\n\ntype ImageDescriptorV0<_T = ImageDataV0> = {\n type: typeof Types.Image\n options: ImageOptions\n}\n\ntype ImageDescriptorV1<_T = ImageData> = {\n type: typeof Types.Image\n version: 1\n options: ImageOptions\n}\n\ntype ImageDescriptorV2<_T = ImagePropControllerData> = {\n type: typeof Types.Image\n version: 2\n options: ImageOptions\n}\n\nexport type ImageDescriptor<_T = ImagePropControllerData> =\n | ImageDescriptorV0\n | ImageDescriptorV1\n | ImageDescriptorV2\n\nexport type ResolveImagePropControllerValue<T extends ImageDescriptor> =\n T extends ImageDescriptor ? ImageData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Image(options: ImageOptions = {}): ImageDescriptorV2 {\n return { type: Types.Image, version: 2, options }\n}\n\nexport function getImagePropControllerDataImageData(\n data: ImagePropControllerData | undefined,\n): ImageData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ImagePropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createImagePropControllerDataFromImageData(\n data: ImageData,\n definition: ImageDescriptor,\n): ImagePropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value: data,\n } as const),\n )\n .otherwise(() => data)\n}\n\nexport function getImagePropControllerFileIds(\n data: ImagePropControllerData | undefined,\n): string[] {\n const value = getImagePropControllerDataImageData(data)\n\n return match(value)\n .with(undefined, () => [])\n .with(P.string, (v) => [v])\n .with({ type: 'makeswift-file', version: 1 }, (v) => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n}\n\nfunction copyImageData(\n data: ImageData | undefined,\n context: CopyContext,\n): ImageData | undefined {\n return match(data)\n .with(P.string, (v) => context.replacementContext.fileIds.get(v) ?? v)\n .with({ type: 'makeswift-file', version: 1 }, (v) => ({\n ...v,\n id: context.replacementContext.fileIds.get(v.id) ?? v.id,\n }))\n .otherwise((v) => v)\n}\n\nexport function copyImagePropControllerData(\n data: ImagePropControllerData | undefined,\n context: CopyContext,\n): ImagePropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {\n const value = copyImageData(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value,\n } as const\n })\n .otherwise((v0) => copyImageData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AACzB;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAEP,MAAM,kCAAkC;AAExC,MAAM,kCAAkC;AAEjC,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;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,MAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,oCACd,MACuB;AACvB,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,2CACd,MACA,YACyB;AACzB,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,IAAI;AACzB;AAEO,SAAS,8BACd,MACU;AACV,QAAM,QAAQ,oCAAoC,IAAI;AAEtD,SAAO,MAAM,KAAK,EACf,KAAK,QAAW,MAAM,CAAC,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAC1D,KAAK,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EACpD,WAAW;AAChB;AAEA,SAAS,cACP,MACA,SACuB;AACvB,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,QAAQ,CAAC,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,CAAC,KAAK,CAAC,EACpE,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,OAAO;AAAA,IACpD,GAAG;AAAA,IACH,IAAI,QAAQ,mBAAmB,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE;AAAA,EACxD,EAAE,EACD,UAAU,CAAC,MAAM,CAAC;AACvB;AAEO,SAAS,4BACd,MACA,SACqC;AACrC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,kBAAkB,GAAG,8BAA8B,GAAG,CAAC,OAAO;AACrE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,kBAAkB,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/image/index.ts"],"sourcesContent":["export * from './image'\n"],"mappings":"AAAA,cAAc;","names":[]}
|