@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,94 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var margin_exports = {};
|
20
|
+
__export(margin_exports, {
|
21
|
+
Margin: () => Margin,
|
22
|
+
MarginPropControllerDataV1Type: () => MarginPropControllerDataV1Type,
|
23
|
+
MarginPropControllerFormat: () => MarginPropControllerFormat,
|
24
|
+
createMarginPropControllerDataFromResponsiveMarginData: () => createMarginPropControllerDataFromResponsiveMarginData,
|
25
|
+
getMarginPropControllerDataResponsiveMarginData: () => getMarginPropControllerDataResponsiveMarginData,
|
26
|
+
marginPropControllerDataSchema: () => marginPropControllerDataSchema
|
27
|
+
});
|
28
|
+
module.exports = __toCommonJS(margin_exports);
|
29
|
+
var import_ts_pattern = require("ts-pattern");
|
30
|
+
var import_prop_controllers = require("../prop-controllers");
|
31
|
+
var import_zod = require("zod");
|
32
|
+
const marginSideDataSchema = import_zod.z.union([
|
33
|
+
import_zod.z.object({
|
34
|
+
value: import_zod.z.number(),
|
35
|
+
unit: import_zod.z.literal("px")
|
36
|
+
}),
|
37
|
+
import_zod.z.literal("auto")
|
38
|
+
]);
|
39
|
+
const marginDataSchema = import_zod.z.object({
|
40
|
+
marginTop: marginSideDataSchema.nullable().optional(),
|
41
|
+
marginRight: marginSideDataSchema.nullable().optional(),
|
42
|
+
marginBottom: marginSideDataSchema.nullable().optional(),
|
43
|
+
marginLeft: marginSideDataSchema.nullable().optional()
|
44
|
+
}).transform((v) => ({
|
45
|
+
marginTop: v.marginTop,
|
46
|
+
marginRight: v.marginRight,
|
47
|
+
marginBottom: v.marginBottom,
|
48
|
+
marginLeft: v.marginLeft
|
49
|
+
}));
|
50
|
+
const responsiveMarginDataSchema = import_prop_controllers.Schema.responsiveValue(marginDataSchema);
|
51
|
+
const marginPropControllerDataV0Schema = responsiveMarginDataSchema;
|
52
|
+
const MarginPropControllerDataV1Type = "prop-controllers::margin::v1";
|
53
|
+
const marginPropControllerDataV1Schema = import_zod.z.object({
|
54
|
+
[import_prop_controllers.ControlDataTypeKey]: import_zod.z.literal(MarginPropControllerDataV1Type),
|
55
|
+
value: responsiveMarginDataSchema
|
56
|
+
});
|
57
|
+
const marginPropControllerDataSchema = import_zod.z.union([
|
58
|
+
marginPropControllerDataV0Schema,
|
59
|
+
marginPropControllerDataV1Schema
|
60
|
+
]);
|
61
|
+
const MarginPropControllerFormat = {
|
62
|
+
ClassName: "makeswift::prop-controllers::margin::format::class-name",
|
63
|
+
ResponsiveValue: "makeswift::prop-controllers::margin::format::responsive-value"
|
64
|
+
};
|
65
|
+
function Margin(options = {}) {
|
66
|
+
return { type: import_prop_controllers.Types.Margin, version: 1, options };
|
67
|
+
}
|
68
|
+
Margin.Format = MarginPropControllerFormat;
|
69
|
+
function getMarginPropControllerDataResponsiveMarginData(data) {
|
70
|
+
return (0, import_ts_pattern.match)(data).with(
|
71
|
+
{ [import_prop_controllers.ControlDataTypeKey]: MarginPropControllerDataV1Type },
|
72
|
+
(v1) => v1.value
|
73
|
+
).otherwise((v0) => v0);
|
74
|
+
}
|
75
|
+
function createMarginPropControllerDataFromResponsiveMarginData(responsiveMarginData, definition) {
|
76
|
+
return (0, import_ts_pattern.match)(definition).with(
|
77
|
+
{ version: 1 },
|
78
|
+
import_ts_pattern.P.nullish,
|
79
|
+
() => ({
|
80
|
+
[import_prop_controllers.ControlDataTypeKey]: MarginPropControllerDataV1Type,
|
81
|
+
value: responsiveMarginData
|
82
|
+
})
|
83
|
+
).otherwise(() => responsiveMarginData);
|
84
|
+
}
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
86
|
+
0 && (module.exports = {
|
87
|
+
Margin,
|
88
|
+
MarginPropControllerDataV1Type,
|
89
|
+
MarginPropControllerFormat,
|
90
|
+
createMarginPropControllerDataFromResponsiveMarginData,
|
91
|
+
getMarginPropControllerDataResponsiveMarginData,
|
92
|
+
marginPropControllerDataSchema
|
93
|
+
});
|
94
|
+
//# sourceMappingURL=margin.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/margin/margin.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport {\n ControlDataTypeKey,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\n\nconst marginSideDataSchema = z.union([\n z.object({\n value: z.number(),\n unit: z.literal('px'),\n }),\n z.literal('auto'),\n])\n\nexport type MarginSideData = z.infer<typeof marginSideDataSchema>\n\nconst marginDataSchema = z\n .object({\n marginTop: marginSideDataSchema.nullable().optional(),\n marginRight: marginSideDataSchema.nullable().optional(),\n marginBottom: marginSideDataSchema.nullable().optional(),\n marginLeft: marginSideDataSchema.nullable().optional(),\n })\n // To make the key required.\n .transform((v) => ({\n marginTop: v.marginTop,\n marginRight: v.marginRight,\n marginBottom: v.marginBottom,\n marginLeft: v.marginLeft,\n }))\n\nexport type MarginData = z.infer<typeof marginDataSchema>\n\nconst responsiveMarginDataSchema = Schema.responsiveValue(marginDataSchema)\n\nexport type ResponsiveMarginData = z.infer<typeof responsiveMarginDataSchema>\n\nconst marginPropControllerDataV0Schema = responsiveMarginDataSchema\n\nexport type MarginPropControllerDataV0 = z.infer<\n typeof marginPropControllerDataV0Schema\n>\n\nexport const MarginPropControllerDataV1Type = 'prop-controllers::margin::v1'\n\nconst marginPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(MarginPropControllerDataV1Type),\n value: responsiveMarginDataSchema,\n})\n\nexport type MarginPropControllerDataV1 = z.infer<\n typeof marginPropControllerDataV1Schema\n>\n\nexport const marginPropControllerDataSchema = z.union([\n marginPropControllerDataV0Schema,\n marginPropControllerDataV1Schema,\n])\n\nexport type MarginPropControllerData = z.infer<\n typeof marginPropControllerDataSchema\n>\n\nexport const MarginPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::margin::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::margin::format::responsive-value',\n} as const\n\nexport type MarginPropControllerFormat =\n (typeof MarginPropControllerFormat)[keyof typeof MarginPropControllerFormat]\n\ntype MarginOptions = {\n preset?: MarginPropControllerData\n format?: MarginPropControllerFormat\n}\n\ntype MarginDescriptorV0<\n _T = MarginPropControllerDataV0,\n U extends MarginOptions = MarginOptions,\n> = {\n type: typeof Types.Margin\n options: U\n}\n\ntype MarginDescriptorV1<\n _T = MarginPropControllerData,\n U extends MarginOptions = MarginOptions,\n> = {\n type: typeof Types.Margin\n version: 1\n options: U\n}\n\nexport type MarginDescriptor<\n _T = MarginPropControllerData,\n U extends MarginOptions = MarginOptions,\n> = MarginDescriptorV0<_T, U> | MarginDescriptorV1<_T, U>\n\nexport type ResolveMarginPropControllerValue<T extends MarginDescriptor> =\n T extends MarginDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveMarginData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof MarginPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof MarginPropControllerFormat.ResponsiveValue\n ? ResponsiveMarginData | 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 Margin<T extends MarginOptions>(\n options: T & MarginOptions = {} as T,\n): MarginDescriptor<MarginPropControllerData, T> {\n return { type: Types.Margin, version: 1, options }\n}\n\nMargin.Format = MarginPropControllerFormat\n\nexport function getMarginPropControllerDataResponsiveMarginData(\n data: MarginPropControllerData | undefined,\n): ResponsiveMarginData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: MarginPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createMarginPropControllerDataFromResponsiveMarginData(\n responsiveMarginData: ResponsiveMarginData,\n definition?: MarginDescriptor,\n): MarginPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: MarginPropControllerDataV1Type,\n value: responsiveMarginData,\n }) as const,\n )\n .otherwise(() => responsiveMarginData)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAyB;AACzB,8BAKO;AACP,iBAAkB;AAElB,MAAM,uBAAuB,aAAE,MAAM;AAAA,EACnC,aAAE,OAAO;AAAA,IACP,OAAO,aAAE,OAAO;AAAA,IAChB,MAAM,aAAE,QAAQ,IAAI;AAAA,EACtB,CAAC;AAAA,EACD,aAAE,QAAQ,MAAM;AAClB,CAAC;AAID,MAAM,mBAAmB,aACtB,OAAO;AAAA,EACN,WAAW,qBAAqB,SAAS,EAAE,SAAS;AAAA,EACpD,aAAa,qBAAqB,SAAS,EAAE,SAAS;AAAA,EACtD,cAAc,qBAAqB,SAAS,EAAE,SAAS;AAAA,EACvD,YAAY,qBAAqB,SAAS,EAAE,SAAS;AACvD,CAAC,EAEA,UAAU,CAAC,OAAO;AAAA,EACjB,WAAW,EAAE;AAAA,EACb,aAAa,EAAE;AAAA,EACf,cAAc,EAAE;AAAA,EAChB,YAAY,EAAE;AAChB,EAAE;AAIJ,MAAM,6BAA6B,+BAAO,gBAAgB,gBAAgB;AAI1E,MAAM,mCAAmC;AAMlC,MAAM,iCAAiC;AAE9C,MAAM,mCAAmC,aAAE,OAAO;AAAA,EAChD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,8BAA8B;AAAA,EAC9D,OAAO;AACT,CAAC;AAMM,MAAM,iCAAiC,aAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,6BAA6B;AAAA,EACxC,WAAW;AAAA,EACX,iBACE;AACJ;AAmDO,SAAS,OACd,UAA6B,CAAC,GACiB;AAC/C,SAAO,EAAE,MAAM,8BAAM,QAAQ,SAAS,GAAG,QAAQ;AACnD;AAEA,OAAO,SAAS;AAET,SAAS,gDACd,MACkC;AAClC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,+BAA+B;AAAA,IACvD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uDACd,sBACA,YAC0B;AAC1B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,oBAAoB;AACzC;","names":[]}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
8
|
+
for (let key of __getOwnPropNames(from))
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
11
|
+
}
|
12
|
+
return to;
|
13
|
+
};
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
16
|
+
var navigation_links_exports = {};
|
17
|
+
module.exports = __toCommonJS(navigation_links_exports);
|
18
|
+
__reExport(navigation_links_exports, require("./navigation-links"), module.exports);
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
20
|
+
0 && (module.exports = {
|
21
|
+
...require("./navigation-links")
|
22
|
+
});
|
23
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/navigation-links/index.ts"],"sourcesContent":["export * from './navigation-links'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qCAAc,+BAAd;","names":[]}
|
@@ -0,0 +1,226 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var navigation_links_exports = {};
|
20
|
+
__export(navigation_links_exports, {
|
21
|
+
NavigationLinks: () => NavigationLinks,
|
22
|
+
NavigationLinksPropControllerDataV1Type: () => NavigationLinksPropControllerDataV1Type,
|
23
|
+
copyNavigationLinksPropControllerData: () => copyNavigationLinksPropControllerData,
|
24
|
+
createNavigationLinksPropControllerDataFromNavigationLinksData: () => createNavigationLinksPropControllerDataFromNavigationLinksData,
|
25
|
+
getNavigationLinksPropControllerDataNavigationLinksData: () => getNavigationLinksPropControllerDataNavigationLinksData,
|
26
|
+
getNavigationLinksPropControllerPageIds: () => getNavigationLinksPropControllerPageIds,
|
27
|
+
getNavigationLinksPropControllerSwatchIds: () => getNavigationLinksPropControllerSwatchIds,
|
28
|
+
navigationLinksPropControllerDataSchema: () => navigationLinksPropControllerDataSchema
|
29
|
+
});
|
30
|
+
module.exports = __toCommonJS(navigation_links_exports);
|
31
|
+
var import_ts_pattern = require("ts-pattern");
|
32
|
+
var import_prop_controllers = require("../prop-controllers");
|
33
|
+
var import_zod = require("zod");
|
34
|
+
var import_data = require("../data");
|
35
|
+
var import_text_style = require("../text-style");
|
36
|
+
var import_link = require("../link");
|
37
|
+
var import_responsive_color = require("../responsive-color");
|
38
|
+
const buttonVariantSchema = import_zod.z.enum([
|
39
|
+
"flat",
|
40
|
+
"outline",
|
41
|
+
"shadow",
|
42
|
+
"clear",
|
43
|
+
"blocky",
|
44
|
+
"bubbly",
|
45
|
+
"skewed"
|
46
|
+
]);
|
47
|
+
const buttonShapeSchema = import_zod.z.enum(["pill", "rounded", "square"]);
|
48
|
+
const buttonSizeSchema = import_zod.z.enum(["small", "medium", "large"]);
|
49
|
+
const navigationButtonSchema = import_zod.z.object({
|
50
|
+
id: import_zod.z.string(),
|
51
|
+
type: import_zod.z.literal("button"),
|
52
|
+
payload: import_zod.z.object({
|
53
|
+
label: import_zod.z.string(),
|
54
|
+
link: import_link.linkDataSchema.optional(),
|
55
|
+
variant: import_prop_controllers.Schema.responsiveValue(buttonVariantSchema).optional(),
|
56
|
+
shape: import_prop_controllers.Schema.responsiveValue(buttonShapeSchema).optional(),
|
57
|
+
size: import_prop_controllers.Schema.responsiveValue(buttonSizeSchema).optional(),
|
58
|
+
textColor: import_prop_controllers.Schema.responsiveValue(import_data.colorDataSchema).optional(),
|
59
|
+
color: import_prop_controllers.Schema.responsiveValue(import_data.colorDataSchema).optional(),
|
60
|
+
textStyle: import_prop_controllers.Schema.responsiveValue(import_text_style.textStyleDataSchema).optional()
|
61
|
+
})
|
62
|
+
});
|
63
|
+
const navigationDropdownCaretTypeSchema = import_zod.z.union([
|
64
|
+
import_zod.z.literal("caret"),
|
65
|
+
import_zod.z.literal("plus"),
|
66
|
+
import_zod.z.literal("arrow-down"),
|
67
|
+
import_zod.z.literal("chevron-down")
|
68
|
+
]);
|
69
|
+
const navigationDropdownLinkSchema = import_zod.z.object({
|
70
|
+
id: import_zod.z.string(),
|
71
|
+
payload: import_zod.z.object({
|
72
|
+
label: import_zod.z.string(),
|
73
|
+
link: import_link.linkDataSchema.optional(),
|
74
|
+
color: import_prop_controllers.Schema.responsiveValue(import_data.colorDataSchema).optional(),
|
75
|
+
textStyle: import_prop_controllers.Schema.responsiveValue(import_text_style.textStyleDataSchema).optional()
|
76
|
+
})
|
77
|
+
});
|
78
|
+
const navigationDropdownSchema = import_zod.z.object({
|
79
|
+
id: import_zod.z.string(),
|
80
|
+
type: import_zod.z.literal("dropdown"),
|
81
|
+
payload: import_zod.z.object({
|
82
|
+
label: import_zod.z.string(),
|
83
|
+
caret: navigationDropdownCaretTypeSchema.optional(),
|
84
|
+
links: import_zod.z.array(navigationDropdownLinkSchema).optional(),
|
85
|
+
variant: import_prop_controllers.Schema.responsiveValue(buttonVariantSchema).optional(),
|
86
|
+
shape: import_prop_controllers.Schema.responsiveValue(buttonShapeSchema).optional(),
|
87
|
+
size: import_prop_controllers.Schema.responsiveValue(buttonSizeSchema).optional(),
|
88
|
+
textColor: import_prop_controllers.Schema.responsiveValue(import_data.colorDataSchema).optional(),
|
89
|
+
color: import_prop_controllers.Schema.responsiveValue(import_data.colorDataSchema).optional(),
|
90
|
+
textStyle: import_prop_controllers.Schema.responsiveValue(import_text_style.textStyleDataSchema).optional()
|
91
|
+
})
|
92
|
+
});
|
93
|
+
const navigationLinksDataSchema = import_zod.z.array(
|
94
|
+
import_zod.z.union([navigationButtonSchema, navigationDropdownSchema])
|
95
|
+
);
|
96
|
+
const navigationLinksPropControllerDataV0Schema = navigationLinksDataSchema;
|
97
|
+
const NavigationLinksPropControllerDataV1Type = "prop-controllers::navigation-links::v1";
|
98
|
+
const navigationLinksPropControllerDataV1Schema = import_zod.z.object({
|
99
|
+
[import_prop_controllers.ControlDataTypeKey]: import_zod.z.literal(NavigationLinksPropControllerDataV1Type),
|
100
|
+
value: navigationLinksDataSchema
|
101
|
+
});
|
102
|
+
const navigationLinksPropControllerDataSchema = import_zod.z.union([
|
103
|
+
navigationLinksPropControllerDataV0Schema,
|
104
|
+
navigationLinksPropControllerDataV1Schema
|
105
|
+
]);
|
106
|
+
function NavigationLinks(options = {}) {
|
107
|
+
return { type: import_prop_controllers.Types.NavigationLinks, version: 1, options };
|
108
|
+
}
|
109
|
+
function getNavigationLinksPropControllerDataNavigationLinksData(data) {
|
110
|
+
return (0, import_ts_pattern.match)(data).with(
|
111
|
+
{ [import_prop_controllers.ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },
|
112
|
+
(v1) => v1.value
|
113
|
+
).otherwise((v0) => v0);
|
114
|
+
}
|
115
|
+
function createNavigationLinksPropControllerDataFromNavigationLinksData(navigationLinksData, definition) {
|
116
|
+
return (0, import_ts_pattern.match)(definition).with(
|
117
|
+
{ version: 1 },
|
118
|
+
() => ({
|
119
|
+
[import_prop_controllers.ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,
|
120
|
+
value: navigationLinksData
|
121
|
+
})
|
122
|
+
).otherwise(() => navigationLinksData);
|
123
|
+
}
|
124
|
+
function getNavigationLinksPropControllerPageIds(data) {
|
125
|
+
if (data == null)
|
126
|
+
return [];
|
127
|
+
const value = getNavigationLinksPropControllerDataNavigationLinksData(data);
|
128
|
+
return value?.flatMap((item) => {
|
129
|
+
switch (item.type) {
|
130
|
+
case "button": {
|
131
|
+
if (item.payload.link == null)
|
132
|
+
return [];
|
133
|
+
switch (item.payload.link.type) {
|
134
|
+
case "OPEN_PAGE":
|
135
|
+
return item.payload.link.payload.pageId == null ? [] : [item.payload.link.payload.pageId];
|
136
|
+
default:
|
137
|
+
return [];
|
138
|
+
}
|
139
|
+
}
|
140
|
+
case "dropdown": {
|
141
|
+
return item.payload.links?.flatMap((link) => {
|
142
|
+
if (link.payload.link == null)
|
143
|
+
return [];
|
144
|
+
switch (link.payload.link.type) {
|
145
|
+
case "OPEN_PAGE":
|
146
|
+
return link.payload.link.payload.pageId == null ? [] : [link.payload.link.payload.pageId];
|
147
|
+
default:
|
148
|
+
return [];
|
149
|
+
}
|
150
|
+
}) ?? [];
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}) ?? [];
|
154
|
+
}
|
155
|
+
function getNavigationLinksPropControllerSwatchIds(data) {
|
156
|
+
if (data == null)
|
157
|
+
return [];
|
158
|
+
const value = getNavigationLinksPropControllerDataNavigationLinksData(data);
|
159
|
+
return value?.flatMap((item) => {
|
160
|
+
switch (item.type) {
|
161
|
+
case "button":
|
162
|
+
case "dropdown":
|
163
|
+
return [
|
164
|
+
...item.payload.color?.map((override) => override.value).map((color) => color.swatchId) ?? [],
|
165
|
+
...item.payload.textColor?.map((override) => override.value).map((color) => color.swatchId) ?? []
|
166
|
+
];
|
167
|
+
}
|
168
|
+
}) ?? [];
|
169
|
+
}
|
170
|
+
function copyNavigationLinksData(data, context) {
|
171
|
+
return data?.map((item) => {
|
172
|
+
switch (item.type) {
|
173
|
+
case "button": {
|
174
|
+
const { color, link } = item.payload;
|
175
|
+
return {
|
176
|
+
...item,
|
177
|
+
payload: {
|
178
|
+
...item.payload,
|
179
|
+
link: (0, import_link.copyLinkData)(link, context),
|
180
|
+
color: color != null ? (0, import_responsive_color.copyResponsiveColorData)(color, context) : void 0
|
181
|
+
}
|
182
|
+
};
|
183
|
+
}
|
184
|
+
case "dropdown": {
|
185
|
+
const { color, links } = item.payload;
|
186
|
+
return {
|
187
|
+
...item,
|
188
|
+
payload: {
|
189
|
+
...item.payload,
|
190
|
+
links: links != null ? links.map((link) => ({
|
191
|
+
...link,
|
192
|
+
payload: {
|
193
|
+
...link.payload,
|
194
|
+
link: (0, import_link.copyLinkData)(link.payload.link, context)
|
195
|
+
}
|
196
|
+
})) : void 0,
|
197
|
+
color: color != null ? (0, import_responsive_color.copyResponsiveColorData)(color, context) : void 0
|
198
|
+
}
|
199
|
+
};
|
200
|
+
}
|
201
|
+
default:
|
202
|
+
return item;
|
203
|
+
}
|
204
|
+
});
|
205
|
+
}
|
206
|
+
function copyNavigationLinksPropControllerData(data, context) {
|
207
|
+
return (0, import_ts_pattern.match)(data).with(void 0, () => void 0).with(
|
208
|
+
{ [import_prop_controllers.ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },
|
209
|
+
(v1) => ({
|
210
|
+
[import_prop_controllers.ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,
|
211
|
+
value: copyNavigationLinksData(v1.value, context)
|
212
|
+
})
|
213
|
+
).otherwise((v0) => copyNavigationLinksData(v0, context));
|
214
|
+
}
|
215
|
+
// Annotate the CommonJS export names for ESM import in node:
|
216
|
+
0 && (module.exports = {
|
217
|
+
NavigationLinks,
|
218
|
+
NavigationLinksPropControllerDataV1Type,
|
219
|
+
copyNavigationLinksPropControllerData,
|
220
|
+
createNavigationLinksPropControllerDataFromNavigationLinksData,
|
221
|
+
getNavigationLinksPropControllerDataNavigationLinksData,
|
222
|
+
getNavigationLinksPropControllerPageIds,
|
223
|
+
getNavigationLinksPropControllerSwatchIds,
|
224
|
+
navigationLinksPropControllerDataSchema
|
225
|
+
});
|
226
|
+
//# sourceMappingURL=navigation-links.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/navigation-links/navigation-links.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\nimport { colorDataSchema } from '../data'\nimport { textStyleDataSchema } from '../text-style'\nimport { copyLinkData, linkDataSchema } from '../link'\nimport { copyResponsiveColorData } from '../responsive-color'\n\nconst buttonVariantSchema = z.enum([\n 'flat',\n 'outline',\n 'shadow',\n 'clear',\n 'blocky',\n 'bubbly',\n 'skewed',\n])\n\nconst buttonShapeSchema = z.enum(['pill', 'rounded', 'square'])\n\nconst buttonSizeSchema = z.enum(['small', 'medium', 'large'])\n\nconst navigationButtonSchema = z.object({\n id: z.string(),\n type: z.literal('button'),\n payload: z.object({\n label: z.string(),\n link: linkDataSchema.optional(),\n variant: Schema.responsiveValue(buttonVariantSchema).optional(),\n shape: Schema.responsiveValue(buttonShapeSchema).optional(),\n size: Schema.responsiveValue(buttonSizeSchema).optional(),\n textColor: Schema.responsiveValue(colorDataSchema).optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nexport type NavigationButtonData = z.infer<typeof navigationButtonSchema>\n\nconst navigationDropdownCaretTypeSchema = z.union([\n z.literal('caret'),\n z.literal('plus'),\n z.literal('arrow-down'),\n z.literal('chevron-down'),\n])\n\nconst navigationDropdownLinkSchema = z.object({\n id: z.string(),\n payload: z.object({\n label: z.string(),\n link: linkDataSchema.optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nconst navigationDropdownSchema = z.object({\n id: z.string(),\n type: z.literal('dropdown'),\n payload: z.object({\n label: z.string(),\n caret: navigationDropdownCaretTypeSchema.optional(),\n links: z.array(navigationDropdownLinkSchema).optional(),\n variant: Schema.responsiveValue(buttonVariantSchema).optional(),\n shape: Schema.responsiveValue(buttonShapeSchema).optional(),\n size: Schema.responsiveValue(buttonSizeSchema).optional(),\n textColor: Schema.responsiveValue(colorDataSchema).optional(),\n color: Schema.responsiveValue(colorDataSchema).optional(),\n textStyle: Schema.responsiveValue(textStyleDataSchema).optional(),\n }),\n})\n\nexport type NavigationDropdownData = z.infer<typeof navigationDropdownSchema>\n\nconst navigationLinksDataSchema = z.array(\n z.union([navigationButtonSchema, navigationDropdownSchema]),\n)\n\nexport type NavigationLinksData = z.infer<typeof navigationLinksDataSchema>\n\nconst navigationLinksPropControllerDataV0Schema = navigationLinksDataSchema\n\nexport type NavigationLinksPropControllerDataV0 = z.infer<\n typeof navigationLinksPropControllerDataV0Schema\n>\n\nexport const NavigationLinksPropControllerDataV1Type =\n 'prop-controllers::navigation-links::v1'\n\nconst navigationLinksPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(NavigationLinksPropControllerDataV1Type),\n value: navigationLinksDataSchema,\n})\n\nexport type NavigationLinksPropControllerDataV1 = z.infer<\n typeof navigationLinksPropControllerDataV1Schema\n>\n\nexport const navigationLinksPropControllerDataSchema = z.union([\n navigationLinksPropControllerDataV0Schema,\n navigationLinksPropControllerDataV1Schema,\n])\n\nexport type NavigationLinksPropControllerData = z.infer<\n typeof navigationLinksPropControllerDataSchema\n>\n\ntype NavigationLinksOptions = Options<Record<string, never>>\n\ntype NavigationLinksDescriptorV0<\n _T = NavigationLinksPropControllerDataV0,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = {\n type: typeof Types.NavigationLinks\n options: U\n}\n\ntype NavigationLinksDescriptorV1<\n _T = NavigationLinksPropControllerData,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = {\n type: typeof Types.NavigationLinks\n version: 1\n options: U\n}\n\nexport type NavigationLinksDescriptor<\n _T = NavigationLinksPropControllerData,\n U extends NavigationLinksOptions = NavigationLinksOptions,\n> = NavigationLinksDescriptorV0<_T, U> | NavigationLinksDescriptorV1<_T, U>\n\nexport type ResolveNavigationLinksPropControllerValue<\n T extends NavigationLinksDescriptor,\n> = T extends NavigationLinksDescriptor\n ? NavigationLinksData | undefined\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function NavigationLinks(\n options: NavigationLinksOptions = {},\n): NavigationLinksDescriptor<NavigationLinksPropControllerData> {\n return { type: Types.NavigationLinks, version: 1, options }\n}\n\nexport function getNavigationLinksPropControllerDataNavigationLinksData(\n data: NavigationLinksPropControllerData | undefined,\n): NavigationLinksData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createNavigationLinksPropControllerDataFromNavigationLinksData(\n navigationLinksData: NavigationLinksData,\n definition: NavigationLinksDescriptor,\n): NavigationLinksPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,\n value: navigationLinksData,\n }) as const,\n )\n .otherwise(() => navigationLinksData)\n}\n\nexport function getNavigationLinksPropControllerPageIds(\n data: NavigationLinksPropControllerData | null | undefined,\n): string[] {\n if (data == null) return []\n\n const value = getNavigationLinksPropControllerDataNavigationLinksData(data)\n\n return (\n value?.flatMap((item) => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap((link) => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n}\n\nexport function getNavigationLinksPropControllerSwatchIds(\n data: NavigationLinksPropControllerData | null | undefined,\n): string[] {\n if (data == null) return []\n\n const value = getNavigationLinksPropControllerDataNavigationLinksData(data)\n\n return (\n value?.flatMap((item) => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map((override) => override.value)\n .map((color) => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map((override) => override.value)\n .map((color) => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n}\n\nfunction copyNavigationLinksData(\n data: NavigationLinksData,\n context: CopyContext,\n): NavigationLinksData {\n return data?.map((item) => {\n switch (item.type) {\n case 'button': {\n const { color, link } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n link: copyLinkData(link, context),\n color:\n color != null\n ? copyResponsiveColorData(color, context)\n : undefined,\n },\n }\n }\n\n case 'dropdown': {\n const { color, links } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n links:\n links != null\n ? links.map((link) => ({\n ...link,\n payload: {\n ...link.payload,\n link: copyLinkData(link.payload.link, context),\n },\n }))\n : undefined,\n color:\n color != null\n ? copyResponsiveColorData(color, context)\n : undefined,\n },\n }\n }\n\n default:\n return item\n }\n })\n}\n\nexport function copyNavigationLinksPropControllerData(\n data: NavigationLinksPropControllerData | undefined,\n context: CopyContext,\n): NavigationLinksPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: NavigationLinksPropControllerDataV1Type,\n value: copyNavigationLinksData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyNavigationLinksData(v0, context))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,8BAMO;AACP,iBAAkB;AAClB,kBAAgC;AAChC,wBAAoC;AACpC,kBAA6C;AAC7C,8BAAwC;AAExC,MAAM,sBAAsB,aAAE,KAAK;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,MAAM,oBAAoB,aAAE,KAAK,CAAC,QAAQ,WAAW,QAAQ,CAAC;AAE9D,MAAM,mBAAmB,aAAE,KAAK,CAAC,SAAS,UAAU,OAAO,CAAC;AAE5D,MAAM,yBAAyB,aAAE,OAAO;AAAA,EACtC,IAAI,aAAE,OAAO;AAAA,EACb,MAAM,aAAE,QAAQ,QAAQ;AAAA,EACxB,SAAS,aAAE,OAAO;AAAA,IAChB,OAAO,aAAE,OAAO;AAAA,IAChB,MAAM,2BAAe,SAAS;AAAA,IAC9B,SAAS,+BAAO,gBAAgB,mBAAmB,EAAE,SAAS;AAAA,IAC9D,OAAO,+BAAO,gBAAgB,iBAAiB,EAAE,SAAS;AAAA,IAC1D,MAAM,+BAAO,gBAAgB,gBAAgB,EAAE,SAAS;AAAA,IACxD,WAAW,+BAAO,gBAAgB,2BAAe,EAAE,SAAS;AAAA,IAC5D,OAAO,+BAAO,gBAAgB,2BAAe,EAAE,SAAS;AAAA,IACxD,WAAW,+BAAO,gBAAgB,qCAAmB,EAAE,SAAS;AAAA,EAClE,CAAC;AACH,CAAC;AAID,MAAM,oCAAoC,aAAE,MAAM;AAAA,EAChD,aAAE,QAAQ,OAAO;AAAA,EACjB,aAAE,QAAQ,MAAM;AAAA,EAChB,aAAE,QAAQ,YAAY;AAAA,EACtB,aAAE,QAAQ,cAAc;AAC1B,CAAC;AAED,MAAM,+BAA+B,aAAE,OAAO;AAAA,EAC5C,IAAI,aAAE,OAAO;AAAA,EACb,SAAS,aAAE,OAAO;AAAA,IAChB,OAAO,aAAE,OAAO;AAAA,IAChB,MAAM,2BAAe,SAAS;AAAA,IAC9B,OAAO,+BAAO,gBAAgB,2BAAe,EAAE,SAAS;AAAA,IACxD,WAAW,+BAAO,gBAAgB,qCAAmB,EAAE,SAAS;AAAA,EAClE,CAAC;AACH,CAAC;AAED,MAAM,2BAA2B,aAAE,OAAO;AAAA,EACxC,IAAI,aAAE,OAAO;AAAA,EACb,MAAM,aAAE,QAAQ,UAAU;AAAA,EAC1B,SAAS,aAAE,OAAO;AAAA,IAChB,OAAO,aAAE,OAAO;AAAA,IAChB,OAAO,kCAAkC,SAAS;AAAA,IAClD,OAAO,aAAE,MAAM,4BAA4B,EAAE,SAAS;AAAA,IACtD,SAAS,+BAAO,gBAAgB,mBAAmB,EAAE,SAAS;AAAA,IAC9D,OAAO,+BAAO,gBAAgB,iBAAiB,EAAE,SAAS;AAAA,IAC1D,MAAM,+BAAO,gBAAgB,gBAAgB,EAAE,SAAS;AAAA,IACxD,WAAW,+BAAO,gBAAgB,2BAAe,EAAE,SAAS;AAAA,IAC5D,OAAO,+BAAO,gBAAgB,2BAAe,EAAE,SAAS;AAAA,IACxD,WAAW,+BAAO,gBAAgB,qCAAmB,EAAE,SAAS;AAAA,EAClE,CAAC;AACH,CAAC;AAID,MAAM,4BAA4B,aAAE;AAAA,EAClC,aAAE,MAAM,CAAC,wBAAwB,wBAAwB,CAAC;AAC5D;AAIA,MAAM,4CAA4C;AAM3C,MAAM,0CACX;AAEF,MAAM,4CAA4C,aAAE,OAAO;AAAA,EACzD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,uCAAuC;AAAA,EACvE,OAAO;AACT,CAAC;AAMM,MAAM,0CAA0C,aAAE,MAAM;AAAA,EAC7D;AAAA,EACA;AACF,CAAC;AAwCM,SAAS,gBACd,UAAkC,CAAC,GAC2B;AAC9D,SAAO,EAAE,MAAM,8BAAM,iBAAiB,SAAS,GAAG,QAAQ;AAC5D;AAEO,SAAS,wDACd,MACiC;AACjC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+DACd,qBACA,YACmC;AACnC,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,mBAAmB;AACxC;AAEO,SAAS,wCACd,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,QAAM,QAAQ,wDAAwD,IAAI;AAE1E,SACE,OAAO,QAAQ,CAAC,SAAS;AACvB,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,UAAU;AACb,YAAI,KAAK,QAAQ,QAAQ;AAAM,iBAAO,CAAC;AAEvC,gBAAQ,KAAK,QAAQ,KAAK,MAAM;AAAA,UAC9B,KAAK;AACH,mBAAO,KAAK,QAAQ,KAAK,QAAQ,UAAU,OACvC,CAAC,IACD,CAAC,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAAA,UAEvC;AACE,mBAAO,CAAC;AAAA,QACZ;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,eACE,KAAK,QAAQ,OAAO,QAAQ,CAAC,SAAS;AACpC,cAAI,KAAK,QAAQ,QAAQ;AAAM,mBAAO,CAAC;AAEvC,kBAAQ,KAAK,QAAQ,KAAK,MAAM;AAAA,YAC9B,KAAK;AACH,qBAAO,KAAK,QAAQ,KAAK,QAAQ,UAAU,OACvC,CAAC,IACD,CAAC,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAAA,YAEvC;AACE,qBAAO,CAAC;AAAA,UACZ;AAAA,QACF,CAAC,KAAK,CAAC;AAAA,MAEX;AAAA,IACF;AAAA,EACF,CAAC,KAAK,CAAC;AAEX;AAEO,SAAS,0CACd,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,QAAM,QAAQ,wDAAwD,IAAI;AAE1E,SACE,OAAO,QAAQ,CAAC,SAAS;AACvB,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,UACL,GAAI,KAAK,QAAQ,OACb,IAAI,CAAC,aAAa,SAAS,KAAK,EACjC,IAAI,CAAC,UAAU,MAAM,QAAQ,KAAK,CAAC;AAAA,UACtC,GAAI,KAAK,QAAQ,WACb,IAAI,CAAC,aAAa,SAAS,KAAK,EACjC,IAAI,CAAC,UAAU,MAAM,QAAQ,KAAK,CAAC;AAAA,QACxC;AAAA,IACJ;AAAA,EACF,CAAC,KAAK,CAAC;AAEX;AAEA,SAAS,wBACP,MACA,SACqB;AACrB,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,UAAU;AACb,cAAM,EAAE,OAAO,KAAK,IAAI,KAAK;AAE7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,UAAM,0BAAa,MAAM,OAAO;AAAA,YAChC,OACE,SAAS,WACL,iDAAwB,OAAO,OAAO,IACtC;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,cAAM,EAAE,OAAO,MAAM,IAAI,KAAK;AAE9B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,OACE,SAAS,OACL,MAAM,IAAI,CAAC,UAAU;AAAA,cACnB,GAAG;AAAA,cACH,SAAS;AAAA,gBACP,GAAG,KAAK;AAAA,gBACR,UAAM,0BAAa,KAAK,QAAQ,MAAM,OAAO;AAAA,cAC/C;AAAA,YACF,EAAE,IACF;AAAA,YACN,OACE,SAAS,WACL,iDAAwB,OAAO,OAAO,IACtC;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF,CAAC;AACH;AAEO,SAAS,sCACd,MACA,SAC+C;AAC/C,aAAO,yBAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,QACE;AAAA,MACC,CAAC,0CAAkB,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,66 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var number_exports = {};
|
20
|
+
__export(number_exports, {
|
21
|
+
Number: () => Number,
|
22
|
+
createNumberPropControllerDataFromNumber: () => createNumberPropControllerDataFromNumber,
|
23
|
+
getNumberPropControllerDataNumber: () => getNumberPropControllerDataNumber,
|
24
|
+
numberPropControllerDataSchema: () => numberPropControllerDataSchema
|
25
|
+
});
|
26
|
+
module.exports = __toCommonJS(number_exports);
|
27
|
+
var import_zod = require("zod");
|
28
|
+
var import_prop_controllers = require("./prop-controllers");
|
29
|
+
var import_ts_pattern = require("ts-pattern");
|
30
|
+
const numberPropControllerDataV0Schema = import_zod.z.number();
|
31
|
+
const NumberPropControllerDataV1Type = "prop-controllers::number::v1";
|
32
|
+
const numberPropControllerDataV1Schema = import_zod.z.object({
|
33
|
+
[import_prop_controllers.ControlDataTypeKey]: import_zod.z.literal(NumberPropControllerDataV1Type),
|
34
|
+
value: import_zod.z.number()
|
35
|
+
});
|
36
|
+
const numberPropControllerDataSchema = import_zod.z.union([
|
37
|
+
numberPropControllerDataV0Schema,
|
38
|
+
numberPropControllerDataV1Schema
|
39
|
+
]);
|
40
|
+
function Number(options = {}) {
|
41
|
+
return { type: import_prop_controllers.Types.Number, version: 1, options };
|
42
|
+
}
|
43
|
+
function getNumberPropControllerDataNumber(data) {
|
44
|
+
return (0, import_ts_pattern.match)(data).with(
|
45
|
+
{ [import_prop_controllers.ControlDataTypeKey]: NumberPropControllerDataV1Type },
|
46
|
+
(v1) => v1.value
|
47
|
+
).otherwise((v0) => v0);
|
48
|
+
}
|
49
|
+
function createNumberPropControllerDataFromNumber(value, definition) {
|
50
|
+
return (0, import_ts_pattern.match)(definition).with(
|
51
|
+
{ version: 1 },
|
52
|
+
import_ts_pattern.P.nullish,
|
53
|
+
() => ({
|
54
|
+
[import_prop_controllers.ControlDataTypeKey]: NumberPropControllerDataV1Type,
|
55
|
+
value
|
56
|
+
})
|
57
|
+
).otherwise(() => value);
|
58
|
+
}
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
60
|
+
0 && (module.exports = {
|
61
|
+
Number,
|
62
|
+
createNumberPropControllerDataFromNumber,
|
63
|
+
getNumberPropControllerDataNumber,
|
64
|
+
numberPropControllerDataSchema
|
65
|
+
});
|
66
|
+
//# sourceMappingURL=number.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/number.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from './prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst numberPropControllerDataV0Schema = z.number()\n\ntype NumberPropControllerDataV0 = z.infer<\n typeof numberPropControllerDataV0Schema\n>\n\nconst NumberPropControllerDataV1Type = 'prop-controllers::number::v1'\n\nconst numberPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(NumberPropControllerDataV1Type),\n value: z.number(),\n})\n\ntype NumberPropControllerDataV1 = z.infer<\n typeof numberPropControllerDataV1Schema\n>\n\nexport const numberPropControllerDataSchema = z.union([\n numberPropControllerDataV0Schema,\n numberPropControllerDataV1Schema,\n])\n\nexport type NumberPropControllerData = z.infer<\n typeof numberPropControllerDataSchema\n>\n\nexport type NumberOptions = Options<{\n preset?: NumberPropControllerData\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n hidden?: boolean\n}>\n\ntype NumberDescriptorV0<_T = NumberPropControllerDataV0> = {\n type: typeof Types.Number\n options: NumberOptions\n}\n\ntype NumberDescriptorV1<_T = NumberPropControllerDataV1> = {\n type: typeof Types.Number\n version: 1\n options: NumberOptions\n}\n\nexport type NumberDescriptor<_T = NumberPropControllerData> =\n | NumberDescriptorV0\n | NumberDescriptorV1\n\nexport type ResolveNumberPropControllerValue<T extends NumberDescriptor> =\n T extends NumberDescriptor ? number | undefined : never\n\n/**\n * @deprecated Imports from `@makeswift/runtime/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Number(options: NumberOptions = {}): NumberDescriptorV1 {\n return { type: Types.Number, version: 1, options }\n}\n\nexport function getNumberPropControllerDataNumber(\n data: NumberPropControllerData,\n): number {\n return match(data)\n .with(\n { [ControlDataTypeKey]: NumberPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createNumberPropControllerDataFromNumber(\n value: number,\n definition?: NumberDescriptor,\n): NumberPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: NumberPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,8BAAmD;AACnD,wBAAyB;AAEzB,MAAM,mCAAmC,aAAE,OAAO;AAMlD,MAAM,iCAAiC;AAEvC,MAAM,mCAAmC,aAAE,OAAO;AAAA,EAChD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,8BAA8B;AAAA,EAC9D,OAAO,aAAE,OAAO;AAClB,CAAC;AAMM,MAAM,iCAAiC,aAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACF,CAAC;AAuCM,SAAS,OAAO,UAAyB,CAAC,GAAuB;AACtE,SAAO,EAAE,MAAM,8BAAM,QAAQ,SAAS,GAAG,QAAQ;AACnD;AAEO,SAAS,kCACd,MACQ;AACR,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,+BAA+B;AAAA,IACvD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YAC0B;AAC1B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;","names":[]}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
8
|
+
for (let key of __getOwnPropNames(from))
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
11
|
+
}
|
12
|
+
return to;
|
13
|
+
};
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
16
|
+
var padding_exports = {};
|
17
|
+
module.exports = __toCommonJS(padding_exports);
|
18
|
+
__reExport(padding_exports, require("./padding"), module.exports);
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
20
|
+
0 && (module.exports = {
|
21
|
+
...require("./padding")
|
22
|
+
});
|
23
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/padding/index.ts"],"sourcesContent":["export * from './padding'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,sBAAd;","names":[]}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
var padding_exports = {};
|
20
|
+
__export(padding_exports, {
|
21
|
+
Padding: () => Padding,
|
22
|
+
PaddingPropControllerDataV1Type: () => PaddingPropControllerDataV1Type,
|
23
|
+
PaddingPropControllerFormat: () => PaddingPropControllerFormat,
|
24
|
+
createPaddingPropControllerDataFromResponsivePaddingData: () => createPaddingPropControllerDataFromResponsivePaddingData,
|
25
|
+
getPaddingPropControllerDataResponsivePaddingData: () => getPaddingPropControllerDataResponsivePaddingData,
|
26
|
+
paddingPropControllerDataSchema: () => paddingPropControllerDataSchema
|
27
|
+
});
|
28
|
+
module.exports = __toCommonJS(padding_exports);
|
29
|
+
var import_ts_pattern = require("ts-pattern");
|
30
|
+
var import_prop_controllers = require("../prop-controllers");
|
31
|
+
var import_zod = require("zod");
|
32
|
+
const paddingSideDataSchema = import_zod.z.object({
|
33
|
+
value: import_zod.z.number(),
|
34
|
+
unit: import_zod.z.literal("px")
|
35
|
+
});
|
36
|
+
const paddingDataSchema = import_zod.z.object({
|
37
|
+
paddingTop: paddingSideDataSchema.nullable().optional(),
|
38
|
+
paddingRight: paddingSideDataSchema.nullable().optional(),
|
39
|
+
paddingBottom: paddingSideDataSchema.nullable().optional(),
|
40
|
+
paddingLeft: paddingSideDataSchema.nullable().optional()
|
41
|
+
}).transform((v) => ({
|
42
|
+
paddingTop: v.paddingTop,
|
43
|
+
paddingRight: v.paddingRight,
|
44
|
+
paddingBottom: v.paddingBottom,
|
45
|
+
paddingLeft: v.paddingLeft
|
46
|
+
}));
|
47
|
+
const responsivePaddingDataSchema = import_prop_controllers.Schema.responsiveValue(paddingDataSchema);
|
48
|
+
const paddingPropControllerDataV0Schema = responsivePaddingDataSchema;
|
49
|
+
const PaddingPropControllerDataV1Type = "prop-controllers::padding::v1";
|
50
|
+
const paddingPropControllerDataV1Schema = import_zod.z.object({
|
51
|
+
[import_prop_controllers.ControlDataTypeKey]: import_zod.z.literal(PaddingPropControllerDataV1Type),
|
52
|
+
value: responsivePaddingDataSchema
|
53
|
+
});
|
54
|
+
const paddingPropControllerDataSchema = import_zod.z.union([
|
55
|
+
paddingPropControllerDataV0Schema,
|
56
|
+
paddingPropControllerDataV1Schema
|
57
|
+
]);
|
58
|
+
const PaddingPropControllerFormat = {
|
59
|
+
ClassName: "makeswift::prop-controllers::padding::format::class-name",
|
60
|
+
ResponsiveValue: "makeswift::prop-controllers::padding::format::responsive-value"
|
61
|
+
};
|
62
|
+
function Padding(options = {}) {
|
63
|
+
return { type: import_prop_controllers.Types.Padding, version: 1, options };
|
64
|
+
}
|
65
|
+
Padding.Format = PaddingPropControllerFormat;
|
66
|
+
function getPaddingPropControllerDataResponsivePaddingData(data) {
|
67
|
+
return (0, import_ts_pattern.match)(data).with(
|
68
|
+
{ [import_prop_controllers.ControlDataTypeKey]: PaddingPropControllerDataV1Type },
|
69
|
+
(v1) => v1.value
|
70
|
+
).otherwise((v0) => v0);
|
71
|
+
}
|
72
|
+
function createPaddingPropControllerDataFromResponsivePaddingData(responsivePaddingData, definition) {
|
73
|
+
return (0, import_ts_pattern.match)(definition).with(
|
74
|
+
{ version: 1 },
|
75
|
+
import_ts_pattern.P.nullish,
|
76
|
+
() => ({
|
77
|
+
[import_prop_controllers.ControlDataTypeKey]: PaddingPropControllerDataV1Type,
|
78
|
+
value: responsivePaddingData
|
79
|
+
})
|
80
|
+
).otherwise(() => responsivePaddingData);
|
81
|
+
}
|
82
|
+
// Annotate the CommonJS export names for ESM import in node:
|
83
|
+
0 && (module.exports = {
|
84
|
+
Padding,
|
85
|
+
PaddingPropControllerDataV1Type,
|
86
|
+
PaddingPropControllerFormat,
|
87
|
+
createPaddingPropControllerDataFromResponsivePaddingData,
|
88
|
+
getPaddingPropControllerDataResponsivePaddingData,
|
89
|
+
paddingPropControllerDataSchema
|
90
|
+
});
|
91
|
+
//# sourceMappingURL=padding.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/padding/padding.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport {\n ControlDataTypeKey,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { z } from 'zod'\n\nconst paddingSideDataSchema = z.object({\n value: z.number(),\n unit: z.literal('px'),\n})\n\nexport type PaddingSideData = z.infer<typeof paddingSideDataSchema>\n\nconst paddingDataSchema = z\n .object({\n paddingTop: paddingSideDataSchema.nullable().optional(),\n paddingRight: paddingSideDataSchema.nullable().optional(),\n paddingBottom: paddingSideDataSchema.nullable().optional(),\n paddingLeft: paddingSideDataSchema.nullable().optional(),\n })\n // To make the key required.\n .transform((v) => ({\n paddingTop: v.paddingTop,\n paddingRight: v.paddingRight,\n paddingBottom: v.paddingBottom,\n paddingLeft: v.paddingLeft,\n }))\n\nexport type PaddingData = z.infer<typeof paddingDataSchema>\n\nconst responsivePaddingDataSchema = Schema.responsiveValue(paddingDataSchema)\n\nexport type ResponsivePaddingData = z.infer<typeof responsivePaddingDataSchema>\n\nconst paddingPropControllerDataV0Schema = responsivePaddingDataSchema\n\nexport type PaddingPropControllerDataV0 = z.infer<\n typeof paddingPropControllerDataV0Schema\n>\n\nexport const PaddingPropControllerDataV1Type = 'prop-controllers::padding::v1'\n\nconst paddingPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(PaddingPropControllerDataV1Type),\n value: responsivePaddingDataSchema,\n})\n\nexport type PaddingPropControllerDataV1 = z.infer<\n typeof paddingPropControllerDataV1Schema\n>\n\nexport const paddingPropControllerDataSchema = z.union([\n paddingPropControllerDataV0Schema,\n paddingPropControllerDataV1Schema,\n])\n\nexport type PaddingPropControllerData = z.infer<\n typeof paddingPropControllerDataSchema\n>\n\nexport const PaddingPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::padding::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::padding::format::responsive-value',\n} as const\n\nexport type PaddingPropControllerFormat =\n (typeof PaddingPropControllerFormat)[keyof typeof PaddingPropControllerFormat]\n\ntype PaddingOptions = {\n preset?: PaddingPropControllerData\n format?: PaddingPropControllerFormat\n}\n\ntype PaddingDescriptorV0<\n _T = PaddingPropControllerDataV0,\n U extends PaddingOptions = PaddingOptions,\n> = {\n type: typeof Types.Padding\n options: U\n}\n\ntype PaddingDescriptorV1<\n _T = PaddingPropControllerData,\n U extends PaddingOptions = PaddingOptions,\n> = {\n type: typeof Types.Padding\n version: 1\n options: U\n}\n\nexport type PaddingDescriptor<\n _T = PaddingPropControllerData,\n U extends PaddingOptions = PaddingOptions,\n> = PaddingDescriptorV0<_T, U> | PaddingDescriptorV1<_T, U>\n\nexport type ResolvePaddingPropControllerValue<T extends PaddingDescriptor> =\n T extends PaddingDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsivePaddingData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof PaddingPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof PaddingPropControllerFormat.ResponsiveValue\n ? ResponsivePaddingData | 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 Padding<T extends PaddingOptions>(\n options: T & PaddingOptions = {} as T,\n): PaddingDescriptor<PaddingPropControllerData, T> {\n return { type: Types.Padding, version: 1, options }\n}\n\nPadding.Format = PaddingPropControllerFormat\n\nexport function getPaddingPropControllerDataResponsivePaddingData(\n data: PaddingPropControllerData | undefined,\n): ResponsivePaddingData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: PaddingPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createPaddingPropControllerDataFromResponsivePaddingData(\n responsivePaddingData: ResponsivePaddingData,\n definition?: PaddingDescriptor,\n): PaddingPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: PaddingPropControllerDataV1Type,\n value: responsivePaddingData,\n }) as const,\n )\n .otherwise(() => responsivePaddingData)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAyB;AACzB,8BAKO;AACP,iBAAkB;AAElB,MAAM,wBAAwB,aAAE,OAAO;AAAA,EACrC,OAAO,aAAE,OAAO;AAAA,EAChB,MAAM,aAAE,QAAQ,IAAI;AACtB,CAAC;AAID,MAAM,oBAAoB,aACvB,OAAO;AAAA,EACN,YAAY,sBAAsB,SAAS,EAAE,SAAS;AAAA,EACtD,cAAc,sBAAsB,SAAS,EAAE,SAAS;AAAA,EACxD,eAAe,sBAAsB,SAAS,EAAE,SAAS;AAAA,EACzD,aAAa,sBAAsB,SAAS,EAAE,SAAS;AACzD,CAAC,EAEA,UAAU,CAAC,OAAO;AAAA,EACjB,YAAY,EAAE;AAAA,EACd,cAAc,EAAE;AAAA,EAChB,eAAe,EAAE;AAAA,EACjB,aAAa,EAAE;AACjB,EAAE;AAIJ,MAAM,8BAA8B,+BAAO,gBAAgB,iBAAiB;AAI5E,MAAM,oCAAoC;AAMnC,MAAM,kCAAkC;AAE/C,MAAM,oCAAoC,aAAE,OAAO;AAAA,EACjD,CAAC,0CAAkB,GAAG,aAAE,QAAQ,+BAA+B;AAAA,EAC/D,OAAO;AACT,CAAC;AAMM,MAAM,kCAAkC,aAAE,MAAM;AAAA,EACrD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,8BAA8B;AAAA,EACzC,WAAW;AAAA,EACX,iBACE;AACJ;AAmDO,SAAS,QACd,UAA8B,CAAC,GACkB;AACjD,SAAO,EAAE,MAAM,8BAAM,SAAS,SAAS,GAAG,QAAQ;AACpD;AAEA,QAAQ,SAAS;AAEV,SAAS,kDACd,MACmC;AACnC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,gCAAgC;AAAA,IACxD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yDACd,uBACA,YAC2B;AAC3B,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,qBAAqB;AAC1C;","names":[]}
|