@makeswift/prop-controllers 0.3.0 → 0.3.1-canary.0
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,43 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import { lengthDataSchema } from "./data";
|
3
|
+
import { ControlDataTypeKey, Types, Schema } from "./prop-controllers";
|
4
|
+
import { match } from "ts-pattern";
|
5
|
+
const responsiveLengthDataSchema = Schema.responsiveValue(lengthDataSchema);
|
6
|
+
const responsiveLengthPropControllerDataV0Schema = responsiveLengthDataSchema;
|
7
|
+
const ResponsiveLengthPropControllerDataV1Type = "prop-controllers::responsive-length::v1";
|
8
|
+
const responsiveLengthPropControllerDataV1Schema = z.object({
|
9
|
+
[ControlDataTypeKey]: z.literal(ResponsiveLengthPropControllerDataV1Type),
|
10
|
+
value: responsiveLengthDataSchema
|
11
|
+
});
|
12
|
+
const responsiveLengthPropControllerDataSchema = z.union([
|
13
|
+
responsiveLengthPropControllerDataV0Schema,
|
14
|
+
responsiveLengthPropControllerDataV1Schema
|
15
|
+
]);
|
16
|
+
function ResponsiveLength(options = {}) {
|
17
|
+
return { type: Types.ResponsiveLength, version: 1, options };
|
18
|
+
}
|
19
|
+
function getResponsiveLengthPropControllerDataResponsiveLengthData(data) {
|
20
|
+
return match(data).with(
|
21
|
+
{ [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type },
|
22
|
+
(v1) => v1.value
|
23
|
+
).otherwise((v0) => v0);
|
24
|
+
}
|
25
|
+
function createResponsiveLengthPropControllerDataFromResponsiveLengthData(definition, responsiveLengthData) {
|
26
|
+
return match(definition).with(
|
27
|
+
{ version: 1 },
|
28
|
+
() => ({
|
29
|
+
[ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,
|
30
|
+
value: responsiveLengthData
|
31
|
+
})
|
32
|
+
).otherwise(() => responsiveLengthData);
|
33
|
+
}
|
34
|
+
export {
|
35
|
+
ResponsiveLength,
|
36
|
+
ResponsiveLengthPropControllerDataV1Type,
|
37
|
+
createResponsiveLengthPropControllerDataFromResponsiveLengthData,
|
38
|
+
getResponsiveLengthPropControllerDataResponsiveLengthData,
|
39
|
+
responsiveLengthDataSchema,
|
40
|
+
responsiveLengthPropControllerDataSchema,
|
41
|
+
responsiveLengthPropControllerDataV0Schema
|
42
|
+
};
|
43
|
+
//# sourceMappingURL=responsive-length.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/responsive-length.ts"],"sourcesContent":["import { z } from 'zod'\nimport { LengthData, lengthDataSchema } from './data'\nimport { ControlDataTypeKey, Options, Types, Schema } from './prop-controllers'\nimport { match } from 'ts-pattern'\n\nexport const responsiveLengthDataSchema =\n Schema.responsiveValue(lengthDataSchema)\n\nexport type ResponsiveLengthData = z.infer<typeof responsiveLengthDataSchema>\n\nexport const responsiveLengthPropControllerDataV0Schema =\n responsiveLengthDataSchema\n\ntype ResponsiveLengthPropControllerDataV0 = z.infer<\n typeof responsiveLengthPropControllerDataV0Schema\n>\n\nexport const ResponsiveLengthPropControllerDataV1Type =\n 'prop-controllers::responsive-length::v1'\n\nconst responsiveLengthPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ResponsiveLengthPropControllerDataV1Type),\n value: responsiveLengthDataSchema,\n})\n\ntype ResponsiveLengthPropControllerDataV1 = z.infer<\n typeof responsiveLengthPropControllerDataV1Schema\n>\n\nexport const responsiveLengthPropControllerDataSchema = z.union([\n responsiveLengthPropControllerDataV0Schema,\n responsiveLengthPropControllerDataV1Schema,\n])\n\nexport type ResponsiveLengthPropControllerData = z.infer<\n typeof responsiveLengthPropControllerDataSchema\n>\n\nexport type LengthOption =\n | { value: 'px'; label: 'Pixels'; icon: 'Px16' }\n | { value: '%'; label: 'Percentage'; icon: 'Percent16' }\n\nexport type ResponsiveLengthOptions = Options<{\n preset?: ResponsiveLengthPropControllerData\n label?: string\n options?: LengthOption[]\n defaultValue?: LengthData\n hidden?: boolean\n}>\n\ntype ResponsiveLengthDescriptorV0<_T = ResponsiveLengthPropControllerDataV0> = {\n type: typeof Types.ResponsiveLength\n options: ResponsiveLengthOptions\n}\n\ntype ResponsiveLengthDescriptorV1<_T = ResponsiveLengthPropControllerDataV1> = {\n type: typeof Types.ResponsiveLength\n version: 1\n options: ResponsiveLengthOptions\n}\n\nexport type ResponsiveLengthDescriptor<\n _T = ResponsiveLengthPropControllerData,\n> = ResponsiveLengthDescriptorV0<_T> | ResponsiveLengthDescriptorV1<_T>\n\nexport type ResolveResponsiveLengthPropControllerValue<\n T extends ResponsiveLengthDescriptor,\n> = T extends ResponsiveLengthDescriptor\n ? ResponsiveLengthData | undefined\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveLength(\n options: ResponsiveLengthOptions = {},\n): ResponsiveLengthDescriptorV1 {\n return { type: Types.ResponsiveLength, version: 1, options }\n}\n\nexport function getResponsiveLengthPropControllerDataResponsiveLengthData(\n data: ResponsiveLengthPropControllerData,\n): ResponsiveLengthData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createResponsiveLengthPropControllerDataFromResponsiveLengthData(\n definition: ResponsiveLengthDescriptor,\n responsiveLengthData: ResponsiveLengthData,\n): ResponsiveLengthPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,\n value: responsiveLengthData,\n }) as const,\n )\n .otherwise(() => responsiveLengthData)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAqB,wBAAwB;AAC7C,SAAS,oBAA6B,OAAO,cAAc;AAC3D,SAAS,aAAa;AAEf,MAAM,6BACX,OAAO,gBAAgB,gBAAgB;AAIlC,MAAM,6CACX;AAMK,MAAM,2CACX;AAEF,MAAM,6CAA6C,EAAE,OAAO;AAAA,EAC1D,CAAC,kBAAkB,GAAG,EAAE,QAAQ,wCAAwC;AAAA,EACxE,OAAO;AACT,CAAC;AAMM,MAAM,2CAA2C,EAAE,MAAM;AAAA,EAC9D;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,iBACd,UAAmC,CAAC,GACN;AAC9B,SAAO,EAAE,MAAM,MAAM,kBAAkB,SAAS,GAAG,QAAQ;AAC7D;AAEO,SAAS,0DACd,MACsB;AACtB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,yCAAyC;AAAA,IACjE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,iEACd,YACA,sBACoC;AACpC,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,oBAAoB;AACzC;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/responsive-number/index.ts"],"sourcesContent":["export * from './responsive-number'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Types } from "../prop-controllers";
|
2
|
+
import { responsiveNumberValueSchema } from "../data";
|
3
|
+
import { versionedPropDef, typeArg } from "../versioned";
|
4
|
+
const ResponsiveNumber = versionedPropDef(
|
5
|
+
Types.ResponsiveNumber,
|
6
|
+
responsiveNumberValueSchema,
|
7
|
+
{
|
8
|
+
version: 1,
|
9
|
+
dataKey: "prop-controllers::responsive-number::v1"
|
10
|
+
},
|
11
|
+
typeArg()
|
12
|
+
);
|
13
|
+
export {
|
14
|
+
ResponsiveNumber
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=responsive-number.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/responsive-number/responsive-number.ts"],"sourcesContent":["import { Types } from '../prop-controllers'\nimport { responsiveNumberValueSchema } from '../data'\nimport { versionedPropDef, typeArg } from '../versioned'\n\nexport const ResponsiveNumber = versionedPropDef(\n Types.ResponsiveNumber,\n responsiveNumberValueSchema,\n {\n version: 1,\n dataKey: 'prop-controllers::responsive-number::v1',\n },\n typeArg<{\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n hidden?: boolean\n }>(),\n)\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,mCAAmC;AAC5C,SAAS,kBAAkB,eAAe;AAEnC,MAAM,mBAAmB;AAAA,EAC9B,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/responsive-opacity/index.ts"],"sourcesContent":["export * from './responsive-opacity'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Types, Schema } from "../prop-controllers";
|
2
|
+
import { versionedPropDef, typeArg } from "../versioned";
|
3
|
+
import { z } from "zod";
|
4
|
+
const responsiveOpacityValueSchema = Schema.responsiveValue(z.number());
|
5
|
+
const ResponsiveOpacity = versionedPropDef(
|
6
|
+
Types.ResponsiveOpacity,
|
7
|
+
responsiveOpacityValueSchema,
|
8
|
+
{
|
9
|
+
version: 1,
|
10
|
+
dataKey: "prop-controllers::responsive-opacity::v1"
|
11
|
+
},
|
12
|
+
typeArg()
|
13
|
+
);
|
14
|
+
export {
|
15
|
+
ResponsiveOpacity,
|
16
|
+
responsiveOpacityValueSchema
|
17
|
+
};
|
18
|
+
//# sourceMappingURL=responsive-opacity.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/responsive-opacity/responsive-opacity.ts"],"sourcesContent":["import { Types, Schema } from '../prop-controllers'\nimport { versionedPropDef, typeArg } from '../versioned'\nimport { z } from 'zod'\n\nexport const responsiveOpacityValueSchema = Schema.responsiveValue(z.number())\n\nexport type ResponsiveOpacityValue = z.infer<\n typeof responsiveOpacityValueSchema\n>\n\nexport const ResponsiveOpacity = versionedPropDef(\n Types.ResponsiveOpacity,\n responsiveOpacityValueSchema,\n {\n version: 1,\n dataKey: 'prop-controllers::responsive-opacity::v1',\n },\n typeArg<Record<string, never>>(),\n)\n"],"mappings":"AAAA,SAAS,OAAO,cAAc;AAC9B,SAAS,kBAAkB,eAAe;AAC1C,SAAS,SAAS;AAEX,MAAM,+BAA+B,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAMtE,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,QAA+B;AACjC;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/responsive-select/index.ts"],"sourcesContent":["export * from './responsive-select'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Types } from "../prop-controllers";
|
2
|
+
import { responsiveSelectValueSchema } from "../data";
|
3
|
+
import {
|
4
|
+
versionedPropDef,
|
5
|
+
typeArg
|
6
|
+
} from "../versioned";
|
7
|
+
const discriminator = {
|
8
|
+
version: 1,
|
9
|
+
dataKey: "prop-controllers::responsive-select::v1"
|
10
|
+
};
|
11
|
+
const ResponsiveSelect = versionedPropDef(
|
12
|
+
Types.ResponsiveSelect,
|
13
|
+
responsiveSelectValueSchema,
|
14
|
+
discriminator,
|
15
|
+
typeArg(),
|
16
|
+
typeArg()
|
17
|
+
);
|
18
|
+
export {
|
19
|
+
ResponsiveSelect
|
20
|
+
};
|
21
|
+
//# sourceMappingURL=responsive-select.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/responsive-select/responsive-select.ts"],"sourcesContent":["import { type Options, Types } from '../prop-controllers'\nimport { responsiveSelectValueSchema } from '../data'\nimport {\n versionedPropDef,\n typeArg,\n type VersionedDescriptor,\n} from '../versioned'\n\nexport type SelectLabelOrientation = 'vertical' | 'horizontal'\n\nexport type SelectOption<T extends string> = { value: T; label: string }\n\nexport type RawSelectOptions<T extends string = string, U extends T = T> = {\n label?: string\n labelOrientation?: SelectLabelOrientation\n options: SelectOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}\n\nconst discriminator = {\n version: 1,\n dataKey: 'prop-controllers::responsive-select::v1' as const,\n}\n\nexport interface ResponsiveSelectCtor {\n // HACK(miguel): We have to use a layer of indirection with `_T` and `T` because otherwise the\n // values provided would undergo type widening. For some reason, the extra layer of indirection\n // reuslts in TypeScript not widening types. Note, this only happens when the returned value of this\n // function is passed to another as an argument, which is common with the `registerComponent` API.\n /**\n * @deprecated Prop controllers are deprecated. Use `@makeswift/runtime/controls` instead.\n */\n <_T extends string, T extends _T, U extends T>(\n options: Options<RawSelectOptions<T, U>>,\n ): VersionedDescriptor<\n typeof discriminator,\n typeof Types.ResponsiveSelect,\n Options<RawSelectOptions<T, U>>\n >\n}\n\nexport const ResponsiveSelect = versionedPropDef(\n Types.ResponsiveSelect,\n responsiveSelectValueSchema,\n discriminator,\n typeArg<RawSelectOptions>(),\n typeArg<ResponsiveSelectCtor>(),\n)\n"],"mappings":"AAAA,SAAuB,aAAa;AACpC,SAAS,mCAAmC;AAC5C;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAcP,MAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AACX;AAmBO,MAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,QAA0B;AAAA,EAC1B,QAA8B;AAChC;","names":[]}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import { match } from "ts-pattern";
|
2
|
+
import { colorDataSchema } from "./data";
|
3
|
+
import {
|
4
|
+
ControlDataTypeKey,
|
5
|
+
Types,
|
6
|
+
Schema
|
7
|
+
} from "./prop-controllers";
|
8
|
+
import { z } from "zod";
|
9
|
+
const shadowDataSchema = z.object({
|
10
|
+
color: colorDataSchema.nullable().optional(),
|
11
|
+
blurRadius: z.number().optional(),
|
12
|
+
spreadRadius: z.number().optional(),
|
13
|
+
offsetX: z.number().optional(),
|
14
|
+
offsetY: z.number().optional(),
|
15
|
+
inset: z.boolean().optional()
|
16
|
+
});
|
17
|
+
const shadowsDataSchema = z.array(
|
18
|
+
z.object({
|
19
|
+
id: z.string(),
|
20
|
+
payload: shadowDataSchema
|
21
|
+
})
|
22
|
+
);
|
23
|
+
const responsiveShadowsDataSchema = Schema.responsiveValue(shadowsDataSchema);
|
24
|
+
const shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema;
|
25
|
+
const ShadowsPropControllerDataV1Type = "prop-controllers::shadows::v1";
|
26
|
+
const shadowsPropControllerDataV1Schema = z.object({
|
27
|
+
[ControlDataTypeKey]: z.literal(ShadowsPropControllerDataV1Type),
|
28
|
+
value: responsiveShadowsDataSchema
|
29
|
+
});
|
30
|
+
const shadowsPropControllerDataSchema = z.union([
|
31
|
+
shadowsPropControllerDataV0Schema,
|
32
|
+
shadowsPropControllerDataV1Schema
|
33
|
+
]);
|
34
|
+
const ShadowsPropControllerFormat = {
|
35
|
+
ClassName: "makeswift::prop-controllers::shadows::format::class-name",
|
36
|
+
ResponsiveValue: "makeswift::prop-controllers::shadows::format::responsive-value"
|
37
|
+
};
|
38
|
+
function Shadows(options = {}) {
|
39
|
+
return { type: Types.Shadows, version: 1, options };
|
40
|
+
}
|
41
|
+
Shadows.Format = ShadowsPropControllerFormat;
|
42
|
+
function getShadowsPropControllerDataResponsiveShadowsData(data) {
|
43
|
+
return match(data).with(
|
44
|
+
{ [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },
|
45
|
+
(v1) => v1.value
|
46
|
+
).otherwise((v0) => v0);
|
47
|
+
}
|
48
|
+
function createShadowsPropControllerDataFromResponsiveShadowsData(definition, responsiveShadowsData) {
|
49
|
+
return match(definition).with(
|
50
|
+
{ version: 1 },
|
51
|
+
() => ({
|
52
|
+
[ControlDataTypeKey]: ShadowsPropControllerDataV1Type,
|
53
|
+
value: responsiveShadowsData
|
54
|
+
})
|
55
|
+
).otherwise(() => responsiveShadowsData);
|
56
|
+
}
|
57
|
+
function getShadowsPropControllerDataSwatchIds(data) {
|
58
|
+
return getShadowsPropControllerDataResponsiveShadowsData(data)?.flatMap((override) => override.value).map((item) => item.payload.color?.swatchId).filter(
|
59
|
+
(swatchId) => swatchId != null
|
60
|
+
) ?? [];
|
61
|
+
}
|
62
|
+
function copyResponsiveShadowsData(data, context) {
|
63
|
+
return data.map((override) => ({
|
64
|
+
...override,
|
65
|
+
value: override.value.map((item) => {
|
66
|
+
const { color } = item.payload;
|
67
|
+
if (color == null)
|
68
|
+
return item;
|
69
|
+
return {
|
70
|
+
...item,
|
71
|
+
payload: {
|
72
|
+
...item.payload,
|
73
|
+
color: {
|
74
|
+
...color,
|
75
|
+
swatchId: context.replacementContext.swatchIds.get(color.swatchId) ?? color.swatchId
|
76
|
+
}
|
77
|
+
}
|
78
|
+
};
|
79
|
+
})
|
80
|
+
}));
|
81
|
+
}
|
82
|
+
function copyShadowsPropControllerData(data, context) {
|
83
|
+
return match(data).with(void 0, () => void 0).with(
|
84
|
+
{ [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },
|
85
|
+
(v1) => ({
|
86
|
+
[ControlDataTypeKey]: ShadowsPropControllerDataV1Type,
|
87
|
+
value: copyResponsiveShadowsData(v1.value, context)
|
88
|
+
})
|
89
|
+
).otherwise((v0) => copyResponsiveShadowsData(v0, context));
|
90
|
+
}
|
91
|
+
export {
|
92
|
+
Shadows,
|
93
|
+
ShadowsPropControllerFormat,
|
94
|
+
copyShadowsPropControllerData,
|
95
|
+
createShadowsPropControllerDataFromResponsiveShadowsData,
|
96
|
+
getShadowsPropControllerDataResponsiveShadowsData,
|
97
|
+
getShadowsPropControllerDataSwatchIds,
|
98
|
+
shadowsPropControllerDataSchema
|
99
|
+
};
|
100
|
+
//# sourceMappingURL=shadows.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/shadows.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { colorDataSchema } from './data'\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from './prop-controllers'\nimport { z } from 'zod'\n\nconst shadowDataSchema = z.object({\n color: colorDataSchema.nullable().optional(),\n blurRadius: z.number().optional(),\n spreadRadius: z.number().optional(),\n offsetX: z.number().optional(),\n offsetY: z.number().optional(),\n inset: z.boolean().optional(),\n})\n\nexport type ShadowData = z.infer<typeof shadowDataSchema>\n\nconst shadowsDataSchema = z.array(\n z.object({\n id: z.string(),\n payload: shadowDataSchema,\n }),\n)\n\nexport type ShadowsData = z.infer<typeof shadowsDataSchema>\n\nconst responsiveShadowsDataSchema = Schema.responsiveValue(shadowsDataSchema)\n\ntype ResponsiveShadowsData = z.infer<typeof responsiveShadowsDataSchema>\n\nconst shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema\n\ntype ShadowsPropControllerDataV0 = z.infer<\n typeof shadowsPropControllerDataV0Schema\n>\n\nconst ShadowsPropControllerDataV1Type = 'prop-controllers::shadows::v1'\n\nconst shadowsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ShadowsPropControllerDataV1Type),\n value: responsiveShadowsDataSchema,\n})\n\nexport const shadowsPropControllerDataSchema = z.union([\n shadowsPropControllerDataV0Schema,\n shadowsPropControllerDataV1Schema,\n])\n\nexport type ShadowsPropControllerData = z.infer<\n typeof shadowsPropControllerDataSchema\n>\n\nexport const ShadowsPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::shadows::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::shadows::format::responsive-value',\n} as const\n\nexport type ShadowsPropControllerFormat =\n (typeof ShadowsPropControllerFormat)[keyof typeof ShadowsPropControllerFormat]\n\ntype ShadowsOptions = { format?: ShadowsPropControllerFormat }\n\ntype ShadowsDescriptorV0<\n _T = ShadowsPropControllerDataV0,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n options: U\n}\n\ntype ShadowsDescriptorV1<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n version: 1\n options: U\n}\n\nexport type ShadowsDescriptor<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = ShadowsDescriptorV0<_T, U> | ShadowsDescriptorV1<_T, U>\n\nexport type ResolveShadowsPropControllerValue<T extends ShadowsDescriptor> =\n T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveShadowsData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ResponsiveShadowsData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Shadows<T extends ShadowsOptions>(\n options: T & ShadowsOptions = {} as T,\n): ShadowsDescriptor<ShadowsPropControllerData, T> {\n return { type: Types.Shadows, version: 1, options }\n}\n\nShadows.Format = ShadowsPropControllerFormat\n\nexport function getShadowsPropControllerDataResponsiveShadowsData(\n data: ShadowsPropControllerData | null | undefined,\n): ResponsiveShadowsData | null | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createShadowsPropControllerDataFromResponsiveShadowsData(\n definition: ShadowsDescriptor,\n responsiveShadowsData: ResponsiveShadowsData,\n): ShadowsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: responsiveShadowsData,\n }) as const,\n )\n .otherwise(() => responsiveShadowsData)\n}\n\nexport function getShadowsPropControllerDataSwatchIds(\n data: ShadowsPropControllerData | null | undefined,\n): string[] {\n return (\n getShadowsPropControllerDataResponsiveShadowsData(data)\n ?.flatMap((override) => override.value)\n .map((item) => item.payload.color?.swatchId)\n .filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n ) ?? []\n )\n}\n\nfunction copyResponsiveShadowsData(\n data: ResponsiveShadowsData,\n context: CopyContext,\n): ResponsiveShadowsData {\n return data.map((override) => ({\n ...override,\n value: override.value.map((item) => {\n const { color } = item.payload\n\n if (color == null) return item\n\n return {\n ...item,\n payload: {\n ...item.payload,\n color: {\n ...color,\n swatchId:\n context.replacementContext.swatchIds.get(color.swatchId) ??\n color.swatchId,\n },\n },\n }\n }),\n }))\n}\n\nexport function copyShadowsPropControllerData(\n data: ShadowsPropControllerData | undefined,\n context: CopyContext,\n): ShadowsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: copyResponsiveShadowsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveShadowsData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAElB,MAAM,mBAAmB,EAAE,OAAO;AAAA,EAChC,OAAO,gBAAgB,SAAS,EAAE,SAAS;AAAA,EAC3C,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,QAAQ,EAAE,SAAS;AAC9B,CAAC;AAID,MAAM,oBAAoB,EAAE;AAAA,EAC1B,EAAE,OAAO;AAAA,IACP,IAAI,EAAE,OAAO;AAAA,IACb,SAAS;AAAA,EACX,CAAC;AACH;AAIA,MAAM,8BAA8B,OAAO,gBAAgB,iBAAiB;AAI5E,MAAM,oCAAoC;AAM1C,MAAM,kCAAkC;AAExC,MAAM,oCAAoC,EAAE,OAAO;AAAA,EACjD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,+BAA+B;AAAA,EAC/D,OAAO;AACT,CAAC;AAEM,MAAM,kCAAkC,EAAE,MAAM;AAAA,EACrD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,8BAA8B;AAAA,EACzC,WAAW;AAAA,EACX,iBACE;AACJ;AAgDO,SAAS,QACd,UAA8B,CAAC,GACkB;AACjD,SAAO,EAAE,MAAM,MAAM,SAAS,SAAS,GAAG,QAAQ;AACpD;AAEA,QAAQ,SAAS;AAEV,SAAS,kDACd,MAC0C;AAC1C,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,gCAAgC;AAAA,IACxD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yDACd,YACA,uBAC2B;AAC3B,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,qBAAqB;AAC1C;AAEO,SAAS,sCACd,MACU;AACV,SACE,kDAAkD,IAAI,GAClD,QAAQ,CAAC,aAAa,SAAS,KAAK,EACrC,IAAI,CAAC,SAAS,KAAK,QAAQ,OAAO,QAAQ,EAC1C;AAAA,IACC,CAAC,aACC,YAAY;AAAA,EAChB,KAAK,CAAC;AAEZ;AAEA,SAAS,0BACP,MACA,SACuB;AACvB,SAAO,KAAK,IAAI,CAAC,cAAc;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS;AAClC,YAAM,EAAE,MAAM,IAAI,KAAK;AAEvB,UAAI,SAAS;AAAM,eAAO;AAE1B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,KAAK;AAAA,UACR,OAAO;AAAA,YACL,GAAG;AAAA,YACH,UACE,QAAQ,mBAAmB,UAAU,IAAI,MAAM,QAAQ,KACvD,MAAM;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,EAAE;AACJ;AAEO,SAAS,8BACd,MACA,SACuC;AACvC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,gCAAgC;AAAA,IACxD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,0BAA0B,GAAG,OAAO,OAAO;AAAA,IACpD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,0BAA0B,IAAI,OAAO,CAAC;AAC7D;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/social-links/index.ts"],"sourcesContent":["export * from './social-links'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import { ControlDataTypeKey, Types } from "../prop-controllers";
|
3
|
+
import { P, match } from "ts-pattern";
|
4
|
+
const socialLinkTypesV0 = [
|
5
|
+
"angellist",
|
6
|
+
"codepen",
|
7
|
+
"discord",
|
8
|
+
"dribbble",
|
9
|
+
"facebook",
|
10
|
+
"github",
|
11
|
+
"instagram",
|
12
|
+
"linkedin",
|
13
|
+
"medium",
|
14
|
+
"pinterest",
|
15
|
+
"reddit",
|
16
|
+
"rss",
|
17
|
+
"snapchat",
|
18
|
+
"soundcloud",
|
19
|
+
"spotify",
|
20
|
+
"telegram",
|
21
|
+
"tumblr",
|
22
|
+
"twitch",
|
23
|
+
"twitter",
|
24
|
+
"vimeo",
|
25
|
+
"whatsapp",
|
26
|
+
"yelp",
|
27
|
+
"youtube"
|
28
|
+
];
|
29
|
+
const socialLinkTypesV1 = [...socialLinkTypesV0, "x", "slack"];
|
30
|
+
const socialLinkV0Schema = z.object({
|
31
|
+
type: z.enum(socialLinkTypesV0),
|
32
|
+
url: z.string()
|
33
|
+
});
|
34
|
+
const socialLinkV1Schema = z.object({
|
35
|
+
type: z.enum(socialLinkTypesV1),
|
36
|
+
url: z.string()
|
37
|
+
});
|
38
|
+
const socialLinksLinkV0Schema = z.object({
|
39
|
+
id: z.string(),
|
40
|
+
payload: socialLinkV0Schema
|
41
|
+
});
|
42
|
+
const socialLinksLinkV1Schema = z.object({
|
43
|
+
id: z.string(),
|
44
|
+
payload: socialLinkV1Schema
|
45
|
+
});
|
46
|
+
const socialLinksDataV0Schema = z.object({
|
47
|
+
links: z.array(socialLinksLinkV0Schema),
|
48
|
+
openInNewTab: z.boolean()
|
49
|
+
});
|
50
|
+
const socialLinksDataV1Schema = z.object({
|
51
|
+
links: z.array(socialLinksLinkV1Schema),
|
52
|
+
openInNewTab: z.boolean()
|
53
|
+
});
|
54
|
+
const socialLinksDataSchema = z.union([
|
55
|
+
socialLinksDataV0Schema,
|
56
|
+
socialLinksDataV1Schema
|
57
|
+
]);
|
58
|
+
const socialLinksPropControllerDataV1Schema = socialLinksDataSchema;
|
59
|
+
const SocialLinksPropControllerDataV2Type = "prop-controllers::social-links::v2";
|
60
|
+
const socialLinksPropControllerDataV2Schema = z.object({
|
61
|
+
[ControlDataTypeKey]: z.literal(SocialLinksPropControllerDataV2Type),
|
62
|
+
value: socialLinksDataSchema
|
63
|
+
});
|
64
|
+
const socialLinksPropControllerDataSchema = z.union([
|
65
|
+
socialLinksPropControllerDataV1Schema,
|
66
|
+
socialLinksPropControllerDataV2Schema
|
67
|
+
]);
|
68
|
+
function SocialLinks(options = {}) {
|
69
|
+
return { type: Types.SocialLinks, version: 2, options };
|
70
|
+
}
|
71
|
+
function getSocialLinkTypes(descriptor) {
|
72
|
+
return match(descriptor).with({ version: P.union(1, 2) }, () => socialLinkTypesV1).otherwise(() => socialLinkTypesV0);
|
73
|
+
}
|
74
|
+
function getSocialLinksPropControllerDataSocialLinksData(data) {
|
75
|
+
return match(data).with(
|
76
|
+
{ [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type },
|
77
|
+
(v2) => v2.value
|
78
|
+
).otherwise((v0) => v0);
|
79
|
+
}
|
80
|
+
function createSocialLinksPropControllerDataFromSocialLinksData(data, definition) {
|
81
|
+
return match(definition).with(
|
82
|
+
{ version: 2 },
|
83
|
+
() => ({
|
84
|
+
[ControlDataTypeKey]: SocialLinksPropControllerDataV2Type,
|
85
|
+
value: data
|
86
|
+
})
|
87
|
+
).otherwise(() => data);
|
88
|
+
}
|
89
|
+
export {
|
90
|
+
SocialLinks,
|
91
|
+
SocialLinksPropControllerDataV2Type,
|
92
|
+
createSocialLinksPropControllerDataFromSocialLinksData,
|
93
|
+
getSocialLinkTypes,
|
94
|
+
getSocialLinksPropControllerDataSocialLinksData,
|
95
|
+
socialLinksDataSchema,
|
96
|
+
socialLinksPropControllerDataSchema
|
97
|
+
};
|
98
|
+
//# sourceMappingURL=social-links.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/social-links/social-links.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst socialLinkTypesV0 = [\n 'angellist',\n 'codepen',\n 'discord',\n 'dribbble',\n 'facebook',\n 'github',\n 'instagram',\n 'linkedin',\n 'medium',\n 'pinterest',\n 'reddit',\n 'rss',\n 'snapchat',\n 'soundcloud',\n 'spotify',\n 'telegram',\n 'tumblr',\n 'twitch',\n 'twitter',\n 'vimeo',\n 'whatsapp',\n 'yelp',\n 'youtube',\n] as const\n\nconst socialLinkTypesV1 = [...socialLinkTypesV0, 'x', 'slack'] as const\n\nconst socialLinkV0Schema = z.object({\n type: z.enum(socialLinkTypesV0),\n url: z.string(),\n})\n\nconst socialLinkV1Schema = z.object({\n type: z.enum(socialLinkTypesV1),\n url: z.string(),\n})\n\nconst socialLinksLinkV0Schema = z.object({\n id: z.string(),\n payload: socialLinkV0Schema,\n})\n\nconst socialLinksLinkV1Schema = z.object({\n id: z.string(),\n payload: socialLinkV1Schema,\n})\n\nconst socialLinksDataV0Schema = z.object({\n links: z.array(socialLinksLinkV0Schema),\n openInNewTab: z.boolean(),\n})\n\nconst socialLinksDataV1Schema = z.object({\n links: z.array(socialLinksLinkV1Schema),\n openInNewTab: z.boolean(),\n})\n\nexport const socialLinksDataSchema = z.union([\n socialLinksDataV0Schema,\n socialLinksDataV1Schema,\n])\n\nexport type SocialLinksData = z.infer<typeof socialLinksDataSchema>\n\nconst socialLinksPropControllerDataV1Schema = socialLinksDataSchema\n\nexport type SocialLinksPropControllerDataV1 = z.infer<\n typeof socialLinksPropControllerDataV1Schema\n>\n\nexport const SocialLinksPropControllerDataV2Type =\n 'prop-controllers::social-links::v2'\n\nconst socialLinksPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(SocialLinksPropControllerDataV2Type),\n value: socialLinksDataSchema,\n})\n\nexport type SocialLinksPropControllerDataV2 = z.infer<\n typeof socialLinksPropControllerDataV2Schema\n>\n\nexport const socialLinksPropControllerDataSchema = z.union([\n socialLinksPropControllerDataV1Schema,\n socialLinksPropControllerDataV2Schema,\n])\n\nexport type SocialLinksPropControllerData = z.infer<\n typeof socialLinksPropControllerDataSchema\n>\n\nexport type SocialLinksOptions = Options<{\n preset?: SocialLinksPropControllerData\n}>\n\ntype SocialLinksDescriptorV1<_T = SocialLinksPropControllerDataV1> = {\n type: typeof Types.SocialLinks\n version?: 1\n options: SocialLinksOptions\n}\n\ntype SocialLinksDescriptorV2<_T = SocialLinksPropControllerData> = {\n type: typeof Types.SocialLinks\n version: 2\n options: SocialLinksOptions\n}\n\nexport type SocialLinksDescriptor<_T = SocialLinksPropControllerData> =\n | SocialLinksDescriptorV1\n | SocialLinksDescriptorV2\n\nexport type ResolveSocialLinksPropControllerValue<\n T extends SocialLinksDescriptor,\n> = T extends SocialLinksDescriptor ? SocialLinksData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function SocialLinks(\n options: SocialLinksOptions = {},\n): SocialLinksDescriptorV2 {\n return { type: Types.SocialLinks, version: 2, options }\n}\n\nexport function getSocialLinkTypes(descriptor: SocialLinksDescriptor) {\n return match(descriptor)\n .with({ version: P.union(1, 2) }, () => socialLinkTypesV1)\n .otherwise(() => socialLinkTypesV0)\n}\n\nexport function getSocialLinksPropControllerDataSocialLinksData(\n data: SocialLinksPropControllerData | undefined,\n): SocialLinksData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createSocialLinksPropControllerDataFromSocialLinksData(\n data: SocialLinksData,\n definition: SocialLinksDescriptor,\n): SocialLinksPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type,\n value: data,\n } as const),\n )\n .otherwise(() => data)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,oBAA6B,aAAa;AACnD,SAAS,GAAG,aAAa;AAEzB,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,oBAAoB,CAAC,GAAG,mBAAmB,KAAK,OAAO;AAE7D,MAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,MAAM,EAAE,KAAK,iBAAiB;AAAA,EAC9B,KAAK,EAAE,OAAO;AAChB,CAAC;AAED,MAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,MAAM,EAAE,KAAK,iBAAiB;AAAA,EAC9B,KAAK,EAAE,OAAO;AAChB,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,IAAI,EAAE,OAAO;AAAA,EACb,SAAS;AACX,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,IAAI,EAAE,OAAO;AAAA,EACb,SAAS;AACX,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,MAAM,uBAAuB;AAAA,EACtC,cAAc,EAAE,QAAQ;AAC1B,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,MAAM,uBAAuB;AAAA,EACtC,cAAc,EAAE,QAAQ;AAC1B,CAAC;AAEM,MAAM,wBAAwB,EAAE,MAAM;AAAA,EAC3C;AAAA,EACA;AACF,CAAC;AAID,MAAM,wCAAwC;AAMvC,MAAM,sCACX;AAEF,MAAM,wCAAwC,EAAE,OAAO;AAAA,EACrD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,mCAAmC;AAAA,EACnE,OAAO;AACT,CAAC;AAMM,MAAM,sCAAsC,EAAE,MAAM;AAAA,EACzD;AAAA,EACA;AACF,CAAC;AAkCM,SAAS,YACd,UAA8B,CAAC,GACN;AACzB,SAAO,EAAE,MAAM,MAAM,aAAa,SAAS,GAAG,QAAQ;AACxD;AAEO,SAAS,mBAAmB,YAAmC;AACpE,SAAO,MAAM,UAAU,EACpB,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,iBAAiB,EACxD,UAAU,MAAM,iBAAiB;AACtC;AAEO,SAAS,gDACd,MAC6B;AAC7B,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,oCAAoC;AAAA,IAC5D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uDACd,MACA,YAC+B;AAC/B,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;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/table/index.ts"],"sourcesContent":["export * from './table'\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 tableIdSchema = z.string();
|
8
|
+
const tablePropControllerDataV0Schema = tableIdSchema;
|
9
|
+
const TablePropControllerDataV1Type = "prop-controllers::table::v1";
|
10
|
+
const tablePropControllerDataV1Schema = z.object({
|
11
|
+
[ControlDataTypeKey]: z.literal(TablePropControllerDataV1Type),
|
12
|
+
value: tableIdSchema
|
13
|
+
});
|
14
|
+
const tablePropControllerDataSchema = z.union([
|
15
|
+
tablePropControllerDataV0Schema,
|
16
|
+
tablePropControllerDataV1Schema
|
17
|
+
]);
|
18
|
+
function Table(options = {}) {
|
19
|
+
return { type: Types.Table, version: 1, options };
|
20
|
+
}
|
21
|
+
function getTablePropControllerDataTableId(data) {
|
22
|
+
return match(data).with(
|
23
|
+
{ [ControlDataTypeKey]: TablePropControllerDataV1Type },
|
24
|
+
(v1) => v1.value
|
25
|
+
).otherwise((v0) => v0);
|
26
|
+
}
|
27
|
+
function createTablePropControllerDataFromTableId(value, definition) {
|
28
|
+
return match(definition).with(
|
29
|
+
{ version: 1 },
|
30
|
+
P.nullish,
|
31
|
+
() => ({
|
32
|
+
[ControlDataTypeKey]: TablePropControllerDataV1Type,
|
33
|
+
value
|
34
|
+
})
|
35
|
+
).otherwise(() => value);
|
36
|
+
}
|
37
|
+
function copyTableId(data, context) {
|
38
|
+
if (data == null)
|
39
|
+
return data;
|
40
|
+
return context.replacementContext.tableIds.get(data) ?? data;
|
41
|
+
}
|
42
|
+
function copyTablePropControllerData(data, context) {
|
43
|
+
return match(data).with(void 0, () => void 0).with(
|
44
|
+
{ [ControlDataTypeKey]: TablePropControllerDataV1Type },
|
45
|
+
(v1) => ({
|
46
|
+
[ControlDataTypeKey]: TablePropControllerDataV1Type,
|
47
|
+
value: copyTableId(v1.value, context)
|
48
|
+
})
|
49
|
+
).otherwise((v0) => copyTableId(v0, context));
|
50
|
+
}
|
51
|
+
function getTablePropControllerDataTableIds(data) {
|
52
|
+
const value = getTablePropControllerDataTableId(data);
|
53
|
+
return value ? [value] : [];
|
54
|
+
}
|
55
|
+
export {
|
56
|
+
Table,
|
57
|
+
TablePropControllerDataV1Type,
|
58
|
+
copyTablePropControllerData,
|
59
|
+
createTablePropControllerDataFromTableId,
|
60
|
+
getTablePropControllerDataTableId,
|
61
|
+
getTablePropControllerDataTableIds,
|
62
|
+
tablePropControllerDataSchema
|
63
|
+
};
|
64
|
+
//# sourceMappingURL=table.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/table/table.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst tableIdSchema = z.string()\n\ntype TableId = z.infer<typeof tableIdSchema>\n\nconst tablePropControllerDataV0Schema = tableIdSchema\n\nexport type TablePropControllerDataV0 = z.infer<\n typeof tablePropControllerDataV0Schema\n>\n\nexport const TablePropControllerDataV1Type = 'prop-controllers::table::v1'\n\nconst tablePropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TablePropControllerDataV1Type),\n value: tableIdSchema,\n})\n\nexport type TablePropControllerDataV1 = z.infer<\n typeof tablePropControllerDataV1Schema\n>\n\nexport const tablePropControllerDataSchema = z.union([\n tablePropControllerDataV0Schema,\n tablePropControllerDataV1Schema,\n])\n\nexport type TablePropControllerData = z.infer<\n typeof tablePropControllerDataSchema\n>\n\nexport type TableOptions = Options<{\n preset?: TablePropControllerData\n}>\n\ntype TableDescriptorV0<_T = TablePropControllerDataV0> = {\n type: typeof Types.Table\n options: TableOptions\n}\n\ntype TableDescriptorV1<\n _T = TablePropControllerData,\n U extends TableOptions = TableOptions,\n> = {\n type: typeof Types.Table\n version: 1\n options: U\n}\n\nexport type TableDescriptor<_T = TablePropControllerData> =\n | TableDescriptorV0\n | TableDescriptorV1\n\nexport type ResolveTablePropControllerValue<T extends TableDescriptor> =\n T extends TableDescriptor ? TableId | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Table(options: TableOptions = {}): TableDescriptorV1 {\n return { type: Types.Table, version: 1, options }\n}\n\nexport function getTablePropControllerDataTableId(\n data: TablePropControllerData | undefined,\n): TableId | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTablePropControllerDataFromTableId(\n value: TableId,\n definition?: TableDescriptor,\n): TablePropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n\nfunction copyTableId(data: TableId, context: CopyContext): TableId {\n if (data == null) return data\n\n return context.replacementContext.tableIds.get(data) ?? data\n}\n\nexport function copyTablePropControllerData(\n data: TablePropControllerData | undefined,\n context: CopyContext,\n): TablePropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value: copyTableId(v1.value, context),\n } as const),\n )\n .otherwise((v0) => copyTableId(v0, context))\n}\n\nexport function getTablePropControllerDataTableIds(\n data: TablePropControllerData | undefined,\n): string[] {\n const value = getTablePropControllerDataTableId(data)\n\n return value ? [value] : []\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,gBAAgB,EAAE,OAAO;AAI/B,MAAM,kCAAkC;AAMjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,EAAE,OAAO;AAAA,EAC/C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,EAAE,MAAM;AAAA,EACnD;AAAA,EACA;AACF,CAAC;AAmCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,MAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,kCACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACyB;AACzB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,YAAY,MAAe,SAA+B;AACjE,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,QAAQ,mBAAmB,SAAS,IAAI,IAAI,KAAK;AAC1D;AAEO,SAAS,4BACd,MACA,SACqC;AACrC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,YAAY,GAAG,OAAO,OAAO;AAAA,IACtC;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,YAAY,IAAI,OAAO,CAAC;AAC/C;AAEO,SAAS,mCACd,MACU;AACV,QAAM,QAAQ,kCAAkC,IAAI;AAEpD,SAAO,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5B;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/table-form-fields/index.ts"],"sourcesContent":["export * from './table-form-fields'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,87 @@
|
|
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 tableFormFieldSchema = z.object({
|
9
|
+
id: z.string(),
|
10
|
+
tableColumnId: z.string(),
|
11
|
+
label: z.string().optional(),
|
12
|
+
placeholder: z.string().optional(),
|
13
|
+
defaultValue: z.union([z.string(), z.boolean(), z.array(z.string())]).optional(),
|
14
|
+
required: z.boolean().optional(),
|
15
|
+
hidden: z.boolean().optional(),
|
16
|
+
type: z.union([z.literal("select"), z.literal("radio")]).optional(),
|
17
|
+
hideLabel: z.boolean().optional(),
|
18
|
+
autofill: z.boolean().optional()
|
19
|
+
});
|
20
|
+
const tableFormFieldsDataSchema = z.object({
|
21
|
+
fields: z.array(tableFormFieldSchema),
|
22
|
+
grid: Schema.responsiveValue(
|
23
|
+
z.object({
|
24
|
+
count: z.number(),
|
25
|
+
spans: z.array(z.array(z.number()))
|
26
|
+
})
|
27
|
+
)
|
28
|
+
});
|
29
|
+
const tableFormFieldsPropControllerDataV0Schema = tableFormFieldsDataSchema;
|
30
|
+
const TableFormFieldsPropControllerDataV1Type = "prop-controllers::table-form-fields::v1";
|
31
|
+
const tableFormFieldsPropControllerDataV1Schema = z.object({
|
32
|
+
[ControlDataTypeKey]: z.literal(TableFormFieldsPropControllerDataV1Type),
|
33
|
+
value: tableFormFieldsDataSchema
|
34
|
+
});
|
35
|
+
const tableFormFieldsPropControllerDataSchema = z.union([
|
36
|
+
tableFormFieldsPropControllerDataV0Schema,
|
37
|
+
tableFormFieldsPropControllerDataV1Schema
|
38
|
+
]);
|
39
|
+
function TableFormFields(options = {}) {
|
40
|
+
return { type: Types.TableFormFields, version: 1, options };
|
41
|
+
}
|
42
|
+
function getTableFormFieldsPropControllerDataTableFormFieldsData(data) {
|
43
|
+
return match(data).with(
|
44
|
+
{ [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },
|
45
|
+
(v1) => v1.value
|
46
|
+
).otherwise((v0) => v0);
|
47
|
+
}
|
48
|
+
function createTableFormFieldsPropControllerDataFromTableFormFieldsData(value, definition) {
|
49
|
+
return match(definition).with(
|
50
|
+
{ version: 1 },
|
51
|
+
P.nullish,
|
52
|
+
() => ({
|
53
|
+
[ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,
|
54
|
+
value
|
55
|
+
})
|
56
|
+
).otherwise(() => value);
|
57
|
+
}
|
58
|
+
function copyTableFormFieldsData(data, context) {
|
59
|
+
if (data == null)
|
60
|
+
return data;
|
61
|
+
return {
|
62
|
+
...data,
|
63
|
+
fields: data.fields.map((field) => ({
|
64
|
+
...field,
|
65
|
+
tableColumnId: context.replacementContext.tableColumnIds.get(field.tableColumnId) ?? field.tableColumnId
|
66
|
+
}))
|
67
|
+
};
|
68
|
+
}
|
69
|
+
function copyTableFormFieldsPropControllerData(data, context) {
|
70
|
+
return match(data).with(void 0, () => void 0).with(
|
71
|
+
{ [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },
|
72
|
+
(v1) => ({
|
73
|
+
[ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,
|
74
|
+
value: copyTableFormFieldsData(v1.value, context)
|
75
|
+
})
|
76
|
+
).otherwise((v0) => copyTableFormFieldsData(v0, context));
|
77
|
+
}
|
78
|
+
export {
|
79
|
+
TableFormFields,
|
80
|
+
TableFormFieldsPropControllerDataV1Type,
|
81
|
+
copyTableFormFieldsPropControllerData,
|
82
|
+
createTableFormFieldsPropControllerDataFromTableFormFieldsData,
|
83
|
+
getTableFormFieldsPropControllerDataTableFormFieldsData,
|
84
|
+
tableFormFieldsDataSchema,
|
85
|
+
tableFormFieldsPropControllerDataSchema
|
86
|
+
};
|
87
|
+
//# sourceMappingURL=table-form-fields.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/table-form-fields/table-form-fields.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst tableFormFieldSchema = z.object({\n id: z.string(),\n tableColumnId: z.string(),\n label: z.string().optional(),\n placeholder: z.string().optional(),\n defaultValue: z\n .union([z.string(), z.boolean(), z.array(z.string())])\n .optional(),\n required: z.boolean().optional(),\n hidden: z.boolean().optional(),\n type: z.union([z.literal('select'), z.literal('radio')]).optional(),\n hideLabel: z.boolean().optional(),\n autofill: z.boolean().optional(),\n})\n\nexport const tableFormFieldsDataSchema = z.object({\n fields: z.array(tableFormFieldSchema),\n grid: Schema.responsiveValue(\n z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n }),\n ),\n})\n\nexport type TableFormFieldsData = z.infer<typeof tableFormFieldsDataSchema>\n\nconst tableFormFieldsPropControllerDataV0Schema = tableFormFieldsDataSchema\n\nexport type TableFormFieldsPropControllerDataV0 = z.infer<\n typeof tableFormFieldsPropControllerDataV0Schema\n>\n\nexport const TableFormFieldsPropControllerDataV1Type =\n 'prop-controllers::table-form-fields::v1'\n\nconst tableFormFieldsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TableFormFieldsPropControllerDataV1Type),\n value: tableFormFieldsDataSchema,\n})\n\nexport type TableFormFieldsPropControllerDataV1 = z.infer<\n typeof tableFormFieldsPropControllerDataV1Schema\n>\n\nexport const tableFormFieldsPropControllerDataSchema = z.union([\n tableFormFieldsPropControllerDataV0Schema,\n tableFormFieldsPropControllerDataV1Schema,\n])\n\nexport type TableFormFieldsPropControllerData = z.infer<\n typeof tableFormFieldsPropControllerDataSchema\n>\n\nexport type TableFormFieldsOptions = Options<{\n preset?: TableFormFieldsPropControllerData\n}>\n\ntype TableFormFieldsDescriptorV0<_T = TableFormFieldsPropControllerDataV0> = {\n type: typeof Types.TableFormFields\n options: TableFormFieldsOptions\n}\n\ntype TableFormFieldsDescriptorV1<\n _T = TableFormFieldsPropControllerData,\n U extends TableFormFieldsOptions = TableFormFieldsOptions,\n> = {\n type: typeof Types.TableFormFields\n version: 1\n options: U\n}\n\nexport type TableFormFieldsDescriptor<_T = TableFormFieldsPropControllerData> =\n | TableFormFieldsDescriptorV0\n | TableFormFieldsDescriptorV1\n\nexport type ResolveTableFormFieldsPropControllerValue<\n T extends TableFormFieldsDescriptor,\n> = T extends TableFormFieldsDescriptor\n ? TableFormFieldsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function TableFormFields(\n options: TableFormFieldsOptions = {},\n): TableFormFieldsDescriptorV1 {\n return { type: Types.TableFormFields, version: 1, options }\n}\n\nexport function getTableFormFieldsPropControllerDataTableFormFieldsData(\n data: TableFormFieldsPropControllerData | undefined,\n): TableFormFieldsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTableFormFieldsPropControllerDataFromTableFormFieldsData(\n value: TableFormFieldsData,\n definition: TableFormFieldsDescriptor,\n): TableFormFieldsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction copyTableFormFieldsData(\n data: TableFormFieldsData,\n context: CopyContext,\n): TableFormFieldsData {\n if (data == null) return data\n\n return {\n ...data,\n fields: data.fields.map((field) => ({\n ...field,\n tableColumnId:\n context.replacementContext.tableColumnIds.get(field.tableColumnId) ??\n field.tableColumnId,\n })),\n }\n}\n\nexport function copyTableFormFieldsPropControllerData(\n data: TableFormFieldsPropControllerData | undefined,\n context: CopyContext,\n): TableFormFieldsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value: copyTableFormFieldsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyTableFormFieldsData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,IAAI,EAAE,OAAO;AAAA,EACb,eAAe,EAAE,OAAO;AAAA,EACxB,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,cAAc,EACX,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EACpD,SAAS;AAAA,EACZ,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EAClE,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,UAAU,EAAE,QAAQ,EAAE,SAAS;AACjC,CAAC;AAEM,MAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,MAAM,oBAAoB;AAAA,EACpC,MAAM,OAAO;AAAA,IACX,EAAE,OAAO;AAAA,MACP,OAAO,EAAE,OAAO;AAAA,MAChB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAAA,IACpC,CAAC;AAAA,EACH;AACF,CAAC;AAID,MAAM,4CAA4C;AAM3C,MAAM,0CACX;AAEF,MAAM,4CAA4C,EAAE,OAAO;AAAA,EACzD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,uCAAuC;AAAA,EACvE,OAAO;AACT,CAAC;AAMM,MAAM,0CAA0C,EAAE,MAAM;AAAA,EAC7D;AAAA,EACA;AACF,CAAC;AAsCM,SAAS,gBACd,UAAkC,CAAC,GACN;AAC7B,SAAO,EAAE,MAAM,MAAM,iBAAiB,SAAS,GAAG,QAAQ;AAC5D;AAEO,SAAS,wDACd,MACiC;AACjC,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+DACd,OACA,YACmC;AACnC,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,wBACP,MACA,SACqB;AACrB,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW;AAAA,MAClC,GAAG;AAAA,MACH,eACE,QAAQ,mBAAmB,eAAe,IAAI,MAAM,aAAa,KACjE,MAAM;AAAA,IACV,EAAE;AAAA,EACJ;AACF;AAEO,SAAS,sCACd,MACA,SAC+C;AAC/C,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,wBAAwB,GAAG,OAAO,OAAO;AAAA,IAClD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,wBAAwB,IAAI,OAAO,CAAC;AAC3D;","names":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/text-area/index.ts"],"sourcesContent":["export * from './text-area'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
import { ControlDataTypeKey, Types } from "../prop-controllers";
|
3
|
+
import { match } from "ts-pattern";
|
4
|
+
const textAreaPropControllerDataV0Schema = z.string();
|
5
|
+
const TextAreaPropControllerDataV1Type = "prop-controllers::text-area::v1";
|
6
|
+
const textAreaPropControllerDataV1Schema = z.object({
|
7
|
+
[ControlDataTypeKey]: z.literal(TextAreaPropControllerDataV1Type),
|
8
|
+
value: z.string()
|
9
|
+
});
|
10
|
+
const textAreaPropControllerDataSchema = z.union([
|
11
|
+
textAreaPropControllerDataV0Schema,
|
12
|
+
textAreaPropControllerDataV1Schema
|
13
|
+
]);
|
14
|
+
function TextArea(options = {}) {
|
15
|
+
return { type: Types.TextArea, version: 1, options };
|
16
|
+
}
|
17
|
+
function getTextAreaPropControllerDataString(data) {
|
18
|
+
return match(data).with(
|
19
|
+
{ [ControlDataTypeKey]: TextAreaPropControllerDataV1Type },
|
20
|
+
(v1) => v1.value
|
21
|
+
).otherwise((v0) => v0);
|
22
|
+
}
|
23
|
+
function createTextAreaPropControllerDataFromString(value, definition) {
|
24
|
+
return match(definition).with(
|
25
|
+
{ version: 1 },
|
26
|
+
() => ({
|
27
|
+
[ControlDataTypeKey]: TextAreaPropControllerDataV1Type,
|
28
|
+
value
|
29
|
+
})
|
30
|
+
).otherwise(() => value);
|
31
|
+
}
|
32
|
+
export {
|
33
|
+
TextArea,
|
34
|
+
TextAreaPropControllerDataV1Type,
|
35
|
+
createTextAreaPropControllerDataFromString,
|
36
|
+
getTextAreaPropControllerDataString,
|
37
|
+
textAreaPropControllerDataSchema
|
38
|
+
};
|
39
|
+
//# sourceMappingURL=text-area.js.map
|