@makeswift/runtime 0.14.4 → 0.14.6
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/controls/style.js +18 -2
- package/dist/cjs/controls/style.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/prop-controllers/introspection.js +3 -0
- package/dist/cjs/prop-controllers/introspection.js.map +1 -1
- package/dist/esm/controls/style.js +16 -1
- package/dist/esm/controls/style.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/prop-controllers/introspection.js +5 -0
- package/dist/esm/prop-controllers/introspection.js.map +1 -1
- package/dist/types/controls/style.d.ts +1 -0
- package/dist/types/controls/style.d.ts.map +1 -1
- package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
- package/package.json +1 -1
- package/slate/package.json +1 -1
|
@@ -23,7 +23,8 @@ __export(style_exports, {
|
|
|
23
23
|
StyleControlMessageType: () => StyleControlMessageType,
|
|
24
24
|
StyleControlProperty: () => StyleControlProperty,
|
|
25
25
|
StyleControlType: () => StyleControlType,
|
|
26
|
-
copyStyleData: () => copyStyleData
|
|
26
|
+
copyStyleData: () => copyStyleData,
|
|
27
|
+
getStyleSwatchIds: () => getStyleSwatchIds
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(style_exports);
|
|
29
30
|
var import_color = require("./color");
|
|
@@ -76,6 +77,20 @@ class StyleControl extends import_base.PropController {
|
|
|
76
77
|
recv() {
|
|
77
78
|
}
|
|
78
79
|
}
|
|
80
|
+
function getStyleSwatchIds(data) {
|
|
81
|
+
const swatchIds = [];
|
|
82
|
+
data?.border?.forEach(({ value }) => {
|
|
83
|
+
if (value.borderTop?.color?.swatchId)
|
|
84
|
+
swatchIds.push(value.borderTop.color.swatchId);
|
|
85
|
+
if (value.borderRight?.color?.swatchId)
|
|
86
|
+
swatchIds.push(value.borderRight.color.swatchId);
|
|
87
|
+
if (value.borderBottom?.color?.swatchId)
|
|
88
|
+
swatchIds.push(value.borderBottom.color.swatchId);
|
|
89
|
+
if (value.borderLeft?.color?.swatchId)
|
|
90
|
+
swatchIds.push(value.borderLeft.color.swatchId);
|
|
91
|
+
});
|
|
92
|
+
return swatchIds;
|
|
93
|
+
}
|
|
79
94
|
function copyStyleData(value, context) {
|
|
80
95
|
if (value == null)
|
|
81
96
|
return value;
|
|
@@ -114,6 +129,7 @@ function copyStyleData(value, context) {
|
|
|
114
129
|
StyleControlMessageType,
|
|
115
130
|
StyleControlProperty,
|
|
116
131
|
StyleControlType,
|
|
117
|
-
copyStyleData
|
|
132
|
+
copyStyleData,
|
|
133
|
+
getStyleSwatchIds
|
|
118
134
|
});
|
|
119
135
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { ColorData, ResponsiveValue } from './types'\nimport { CopyContext } from '../state/react-page'\nimport { copyColorData } from './color'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAA8B;AAE9B,kBAA+B;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,2BAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAO,4BAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { ColorData, ResponsiveValue } from './types'\nimport { CopyContext } from '../state/react-page'\nimport { copyColorData } from './color'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function getStyleSwatchIds(data: StyleControlData): string[] {\n const swatchIds: string[] = []\n\n data?.border?.forEach(({ value }) => {\n if (value.borderTop?.color?.swatchId) swatchIds.push(value.borderTop.color.swatchId)\n if (value.borderRight?.color?.swatchId) swatchIds.push(value.borderRight.color.swatchId)\n if (value.borderBottom?.color?.swatchId) swatchIds.push(value.borderBottom.color.swatchId)\n if (value.borderLeft?.color?.swatchId) swatchIds.push(value.borderLeft.color.swatchId)\n })\n\n return swatchIds\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAA8B;AAE9B,kBAA+B;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,2BAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,kBAAkB,MAAkC;AAClE,QAAM,YAAsB,CAAC;AAE7B,QAAM,QAAQ,QAAQ,CAAC,EAAE,MAAM,MAAM;AACnC,QAAI,MAAM,WAAW,OAAO;AAAU,gBAAU,KAAK,MAAM,UAAU,MAAM,QAAQ;AACnF,QAAI,MAAM,aAAa,OAAO;AAAU,gBAAU,KAAK,MAAM,YAAY,MAAM,QAAQ;AACvF,QAAI,MAAM,cAAc,OAAO;AAAU,gBAAU,KAAK,MAAM,aAAa,MAAM,QAAQ;AACzF,QAAI,MAAM,YAAY,OAAO;AAAU,gBAAU,KAAK,MAAM,WAAW,MAAM,QAAQ;AAAA,EACvF,CAAC;AAED,SAAO;AACT;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAO,4BAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
@@ -142,6 +142,9 @@ function getSwatchIds(descriptor, prop) {
|
|
|
142
142
|
case import_controls.TypographyControlType: {
|
|
143
143
|
return (0, import_controls.getTypographySwatchIds)(prop);
|
|
144
144
|
}
|
|
145
|
+
case import_controls.StyleControlType: {
|
|
146
|
+
return (0, import_controls.getStyleSwatchIds)(prop);
|
|
147
|
+
}
|
|
145
148
|
case import_controls.StyleV2ControlType: {
|
|
146
149
|
const value = prop;
|
|
147
150
|
return value?.flatMap((value2) => getSwatchIds(descriptor.config.type, value2.value)) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prop-controllers/introspection.ts"],"sourcesContent":["import {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n getListPropControllerElementChildren,\n getListPropControllerFileIds,\n getListPropControllerPageIds,\n getListPropControllerSwatchIds,\n getListPropControllerTypographyIds,\n getShapePropControllerElementChildren,\n getShapePropControllerFileIds,\n getShapePropControllerPageIds,\n getShapePropControllerSwatchIds,\n getShapePropControllerTypographyIds,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n ListValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n ShapeValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n getListElementChildren,\n getListFileIds,\n getListPageIds,\n getListSwatchIds,\n getListTypographyIds,\n getShapeElementChildren,\n getShapeFileIds,\n getShapePageIds,\n getShapeSwatchIds,\n getShapeTypographyIds,\n getTypographySwatchIds,\n getTypographyTypographyIds,\n ImageControlData,\n ImageControlType,\n LinkControlData,\n LinkControlType,\n ListControlData,\n ListControlType,\n RichTextControlData,\n RichTextControlType,\n ShapeControlData,\n ShapeControlType,\n SlotControlData,\n SlotControlType,\n StyleV2ControlData,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlType,\n} from '../controls'\nimport {\n getRichTextPageIds,\n getRichTextSwatchIds,\n getRichTextTypographyIds,\n} from '../controls/rich-text/introspection'\nimport {\n getRichTextV2PageIds,\n getRichTextV2SwatchIds,\n getRichTextV2TypographyIds,\n} from '../controls/rich-text-v2/introspection'\nimport {\n RichTextV2ControlType,\n RichTextV2ControlData,\n isRichTextV1Data,\n} from '../controls/rich-text-v2/rich-text-v2'\nimport { match, P } from 'ts-pattern'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n case ListControlType:\n return (prop as ListControlData).flatMap(({ value }) =>\n getElementChildren(descriptor.config.type, value),\n )\n\n case ShapeControlType: {\n return getShapeElementChildren(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListElementChildren(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerElementChildren(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerElementChildren(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getBackgroundsSwatchIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nexport function getBorderSwatchIds(value: BorderValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n}\n\nexport function getBoxShadowsSwatchIds(value: ShadowsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n}\n\nexport function getResponsiveColorSwatchIds(\n value: ResponsiveColorValue | null | undefined,\n): string[] {\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n}\n\nexport function getSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsSwatchIds(prop as BackgroundsValue)\n\n case Types.Border:\n return getBorderSwatchIds(prop as BorderValue)\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\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 case Types.ResponsiveColor:\n return getResponsiveColorSwatchIds(prop as ResponsiveColorValue)\n\n case Types.Shadows:\n return getBoxShadowsSwatchIds(prop as ShadowsValue)\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextSwatchIds(prop as RichTextValue)\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n case TypographyControlType: {\n return getTypographySwatchIds(prop as TypographyControlData[number])\n }\n\n case StyleV2ControlType: {\n const value = prop as StyleV2ControlData\n\n return value?.flatMap(value => getSwatchIds(descriptor.config.type, value.value)) ?? []\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextSwatchIds(data)\n\n return getRichTextV2SwatchIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeSwatchIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListSwatchIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerSwatchIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerSwatchIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getBackgroundsFileIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n return match(backgroundItem)\n .with({ type: 'image-v1', payload: { image: { type: 'makeswift-file' } } }, item => [\n item.payload.image.id,\n ])\n .with({ type: 'image', payload: { imageId: P.string } }, item => [item.payload.imageId])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsFileIds(prop as BackgroundsValue)\n\n case Types.Image: {\n return match(prop as ImageValue)\n .with(P.string, v => [v])\n .with({ type: 'makeswift-file', version: 1 }, v => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return (\n value?.flatMap(item =>\n match(item.props.file)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file', version: 1 }, f => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return match(value)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file' }, f => [f.id])\n .with({ type: 'external-file' }, () => [])\n .otherwise(() => [])\n }\n\n case ShapeControlType: {\n return getShapeFileIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListFileIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerFileIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerFileIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case TypographyControlType: {\n return getTypographyTypographyIds(prop as TypographyControlData[number])\n }\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextTypographyIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextTypographyIds(data)\n\n return getRichTextV2TypographyIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeTypographyIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListTypographyIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerTypographyIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerTypographyIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case LinkControlType: {\n const value = prop as LinkControlData\n\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\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\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextPageIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextPageIds(data)\n\n return getRichTextV2PageIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapePageIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListPageIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerPageIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerPageIds(descriptor, prop as ListValue)\n }\n default:\n return []\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBA2BO;AAEP,sBA+BO;AACP,2BAIO;AACP,IAAAA,wBAIO;AACP,0BAIO;AACP,wBAAyB;AAElB,SAAS,mBACd,YACA,MACW;AACX,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,yBAAM;AACT,aAAQ,KAAmB;AAAA,IAE7B,KAAK;AACH,aAAQ,KAAyB;AAAA,IAEnC,KAAK;AACH,aAAQ,KAAyB;AAAA,QAAQ,CAAC,EAAE,MAAM,MAChD,mBAAmB,WAAW,OAAO,MAAM,KAAK;AAAA,MAClD;AAAA,IAEF,KAAK,kCAAkB;AACrB,iBAAO,yCAAwB,YAAY,IAAwB;AAAA,IACrE;AAAA,IAEA,KAAK,iCAAiB;AACpB,iBAAO,wCAAuB,YAAY,IAAuB;AAAA,IACnE;AAAA,IAEA,KAAK,yBAAM,OAAO;AAChB,iBAAO,0DAAsC,YAAY,IAAkB;AAAA,IAC7E;AAAA,IAEA,KAAK,yBAAM,MAAM;AACf,iBAAO,yDAAqC,YAAY,IAAiB;AAAA,IAC3E;AAAA,IAEA;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,aACd,YACA,MACe;AACf,MAAI,QAAQ;AAAM,WAAO;AAEzB,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,yBAAM;AACT,aAAO;AAAA,IAET;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,wBAAwB,OAAsD;AAC5F,SACE,OACI,QAAQ,cAAY,SAAS,KAAK,EACnC,QAAQ,oBAAkB;AACzB,YAAQ,eAAe,MAAM;AAAA,MAC3B,KAAK;AACH,eAAO,eAAe,SAAS,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,QAAQ,QAAQ;AAAA,MAEzF,KAAK;AACH,eAAO,eAAe,QAAQ,MAAM;AAAA,UAAQ,UAC1C,KAAK,SAAS,OAAO,CAAC,IAAI,KAAK,MAAM;AAAA,QACvC;AAAA,MAEF;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF,CAAC,KAAK,CAAC;AAEb;AAEO,SAAS,mBAAmB,OAAiD;AAClF,SACE,OACI,QAAQ,cAAY,SAAS,KAAK,EACnC,QAAQ,iBAAe;AACtB,WAAO;AAAA,MACL,YAAY,WAAW,OAAO;AAAA,MAC9B,YAAY,aAAa,OAAO;AAAA,MAChC,YAAY,cAAc,OAAO;AAAA,MACjC,YAAY,YAAY,OAAO;AAAA,IACjC,EAAE,OAAO,CAAC,aAAuD,YAAY,IAAI;AAAA,EACnF,CAAC,KAAK,CAAC;AAEb;AAEO,SAAS,uBAAuB,OAAkD;AACvF,SACE,OACI,QAAQ,cAAY,SAAS,KAAK,EACnC,IAAI,UAAQ,KAAK,QAAQ,OAAO,QAAQ,EACxC,OAAO,CAAC,aAAuD,YAAY,IAAI,KAAK,CAAC;AAE5F;AAEO,SAAS,4BACd,OACU;AACV,SAAO,OAAO,IAAI,cAAY,SAAS,KAAK,EAAE,IAAI,WAAS,MAAM,QAAQ,KAAK,CAAC;AACjF;AAEO,SAAS,aACd,YACA,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAC1B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,yBAAM;AACT,aAAO,wBAAwB,IAAwB;AAAA,IAEzD,KAAK,yBAAM;AACT,aAAO,mBAAmB,IAAmB;AAAA,IAE/C,KAAK,yBAAM,iBAAiB;AAC1B,YAAM,QAAQ;AACd,aACE,OAAO,QAAQ,UAAQ;AACrB,gBAAQ,KAAK,MAAM;AAAA,UACjB,KAAK;AAAA,UACL,KAAK;AACH,mBAAO;AAAA,cACL,GAAI,KAAK,QAAQ,OACb,IAAI,cAAY,SAAS,KAAK,EAC/B,IAAI,WAAS,MAAM,QAAQ,KAAK,CAAC;AAAA,cACpC,GAAI,KAAK,QAAQ,WACb,IAAI,cAAY,SAAS,KAAK,EAC/B,IAAI,WAAS,MAAM,QAAQ,KAAK,CAAC;AAAA,YACtC;AAAA,QACJ;AAAA,MACF,CAAC,KAAK,CAAC;AAAA,IAEX;AAAA,IACA,KAAK,yBAAM;AACT,aAAO,4BAA4B,IAA4B;AAAA,IAEjE,KAAK,yBAAM;AACT,aAAO,uBAAuB,IAAoB;AAAA,IAEpD,KAAK;AAAA,IACL,KAAK,yBAAM,UAAU;AACnB,iBAAO,2CAAqB,IAAqB;AAAA,IACnD;AAAA,IAEA,KAAK,kCAAkB;AACrB,YAAM,QAAQ;AACd,aAAO,OAAO,YAAY,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ;AAAA,IACvD;AAAA,IAEA,KAAK,uCAAuB;AAC1B,iBAAO,wCAAuB,IAAqC;AAAA,IACrE;AAAA,IAEA,KAAK,oCAAoB;AACvB,YAAM,QAAQ;AAEd,aAAO,OAAO,QAAQ,CAAAC,WAAS,aAAa,WAAW,OAAO,MAAMA,OAAM,KAAK,CAAC,KAAK,CAAC;AAAA,IACxF;AAAA,IAEA,KAAK,2CAAuB;AAC1B,YAAM,OAAO;AAEb,cAAI,sCAAiB,IAAI;AAAG,mBAAO,2CAAqB,IAAI;AAE5D,iBAAO,8CAAuB,YAAY,IAAI;AAAA,IAChD;AAAA,IAEA,KAAK,kCAAkB;AACrB,iBAAO,mCAAkB,YAAY,IAAwB;AAAA,IAC/D;AAAA,IAEA,KAAK,iCAAiB;AACpB,iBAAO,kCAAiB,YAAY,IAAuB;AAAA,IAC7D;AAAA,IAEA,KAAK,yBAAM,OAAO;AAChB,iBAAO,oDAAgC,YAAY,IAAkB;AAAA,IACvE;AAAA,IAEA,KAAK,yBAAM,MAAM;AACf,iBAAO,mDAA+B,YAAY,IAAiB;AAAA,IACrE;AAAA,IAEA;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,sBAAsB,OAAsD;AAC1F,SACE,OACI,QAAQ,cAAY,SAAS,KAAK,EACnC,QAAQ,oBAAkB;AACzB,eAAO,yBAAM,cAAc,EACxB,KAAK,EAAE,MAAM,YAAY,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,EAAE,EAAE,GAAG,UAAQ;AAAA,MAClF,KAAK,QAAQ,MAAM;AAAA,IACrB,CAAC,EACA,KAAK,EAAE,MAAM,SAAS,SAAS,EAAE,SAAS,oBAAE,OAAO,EAAE,GAAG,UAAQ,CAAC,KAAK,QAAQ,OAAO,CAAC,EACtF,UAAU,MAAM,CAAC,CAAC;AAAA,EACvB,CAAC,KAAK,CAAC;AAEb;AAEO,SAAS,WACd,YACA,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,yBAAM;AACT,aAAO,sBAAsB,IAAwB;AAAA,IAEvD,KAAK,yBAAM,OAAO;AAChB,iBAAO,yBAAM,IAAkB,EAC5B,KAAK,oBAAE,QAAQ,OAAK,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,OAAK,CAAC,EAAE,EAAE,CAAC,EACxD,KAAK,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EACpD,WAAW;AAAA,IAChB;AAAA,IAEA,KAAK,yBAAM,QAAQ;AACjB,YAAM,QAAQ;AACd,aACE,OAAO;AAAA,QAAQ,cACb,yBAAM,KAAK,MAAM,IAAI,EAClB,KAAK,oBAAE,QAAQ,OAAK,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,OAAK,CAAC,EAAE,EAAE,CAAC,EACxD,KAAK,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EACpD,KAAK,oBAAE,SAAS,MAAM,CAAC,CAAC,EACxB,UAAU,MAAM,CAAC,CAAC;AAAA,MACvB,KAAK,CAAC;AAAA,IAEV;AAAA,IAEA,KAAK,kCAAkB;AACrB,YAAM,QAAQ;AACd,iBAAO,yBAAM,KAAK,EACf,KAAK,oBAAE,QAAQ,OAAK,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,iBAAiB,GAAG,OAAK,CAAC,EAAE,EAAE,CAAC,EAC5C,KAAK,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,EACxC,UAAU,MAAM,CAAC,CAAC;AAAA,IACvB;AAAA,IAEA,KAAK,kCAAkB;AACrB,iBAAO,iCAAgB,YAAY,IAAwB;AAAA,IAC7D;AAAA,IAEA,KAAK,iCAAiB;AACpB,iBAAO,gCAAe,YAAY,IAAuB;AAAA,IAC3D;AAAA,IAEA,KAAK,yBAAM,OAAO;AAChB,iBAAO,kDAA8B,YAAY,IAAkB;AAAA,IACrE;AAAA,IAEA,KAAK,yBAAM,MAAM;AACf,iBAAO,iDAA6B,YAAY,IAAiB;AAAA,IACnE;AAAA,IAEA;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,iBACd,YACA,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,uCAAuB;AAC1B,iBAAO,4CAA2B,IAAqC;AAAA,IACzE;AAAA,IACA,KAAK;AAAA,IACL,KAAK,yBAAM,UAAU;AACnB,iBAAO,+CAAyB,IAA2B;AAAA,IAC7D;AAAA,IAEA,KAAK,2CAAuB;AAC1B,YAAM,OAAO;AAEb,cAAI,sCAAiB,IAAI;AAAG,mBAAO,+CAAyB,IAAI;AAEhE,iBAAO,kDAA2B,YAAY,IAAI;AAAA,IACpD;AAAA,IAEA,KAAK,kCAAkB;AACrB,iBAAO,uCAAsB,YAAY,IAAwB;AAAA,IACnE;AAAA,IAEA,KAAK,iCAAiB;AACpB,iBAAO,sCAAqB,YAAY,IAAuB;AAAA,IACjE;AAAA,IAEA,KAAK,yBAAM,OAAO;AAChB,iBAAO,wDAAoC,YAAY,IAAkB;AAAA,IAC3E;AAAA,IAEA,KAAK,yBAAM,MAAM;AACf,iBAAO,uDAAmC,YAAY,IAAiB;AAAA,IACzE;AAAA,IAEA;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,YACd,YACA,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,yBAAM,OAAO;AAChB,YAAM,QAAQ;AACd,aAAO,SAAS,OAAO,CAAC,IAAI,CAAC,KAAK;AAAA,IACpC;AAAA,IAEA;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAEO,SAAS,WACd,YACA,MACU;AACV,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,yBAAM,MAAM;AACf,YAAM,QAAQ;AACd,UAAI,SAAS;AAAM,eAAO,CAAC;AAE3B,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK;AACH,iBAAO,MAAM,QAAQ,UAAU,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,MAAM;AAAA,QAElE;AACE,iBAAO,CAAC;AAAA,MACZ;AAAA,IACF;AAAA,IAEA,KAAK,iCAAiB;AACpB,YAAM,QAAQ;AAEd,UAAI,SAAS;AAAM,eAAO,CAAC;AAE3B,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK;AACH,iBAAO,MAAM,QAAQ,UAAU,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,MAAM;AAAA,QAElE;AACE,iBAAO,CAAC;AAAA,MACZ;AAAA,IACF;AAAA,IAEA,KAAK,yBAAM,iBAAiB;AAC1B,YAAM,QAAQ;AACd,UAAI,SAAS;AAAM,eAAO,CAAC;AAE3B,aACE,OAAO,QAAQ,UAAQ;AACrB,gBAAQ,KAAK,MAAM;AAAA,UACjB,KAAK,UAAU;AACb,gBAAI,KAAK,QAAQ,QAAQ;AAAM,qBAAO,CAAC;AAEvC,oBAAQ,KAAK,QAAQ,KAAK,MAAM;AAAA,cAC9B,KAAK;AACH,uBAAO,KAAK,QAAQ,KAAK,QAAQ,UAAU,OACvC,CAAC,IACD,CAAC,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAAA,cAEvC;AACE,uBAAO,CAAC;AAAA,YACZ;AAAA,UACF;AAAA,UAEA,KAAK,YAAY;AACf,mBACE,KAAK,QAAQ,OAAO,QAAQ,UAAQ;AAClC,kBAAI,KAAK,QAAQ,QAAQ;AAAM,uBAAO,CAAC;AAEvC,sBAAQ,KAAK,QAAQ,KAAK,MAAM;AAAA,gBAC9B,KAAK;AACH,yBAAO,KAAK,QAAQ,KAAK,QAAQ,UAAU,OACvC,CAAC,IACD,CAAC,KAAK,QAAQ,KAAK,QAAQ,MAAM;AAAA,gBAEvC;AACE,yBAAO,CAAC;AAAA,cACZ;AAAA,YACF,CAAC,KAAK,CAAC;AAAA,UAEX;AAAA,QACF;AAAA,MACF,CAAC,KAAK,CAAC;AAAA,IAEX;AAAA,IAEA,KAAK;AAAA,IACL,KAAK,yBAAM,UAAU;AACnB,iBAAO,yCAAmB,IAA2B;AAAA,IACvD;AAAA,IAEA,KAAK,2CAAuB;AAC1B,YAAM,OAAO;AAEb,cAAI,sCAAiB,IAAI;AAAG,mBAAO,yCAAmB,IAAI;AAE1D,iBAAO,4CAAqB,YAAY,IAAI;AAAA,IAC9C;AAAA,IAEA,KAAK,kCAAkB;AACrB,iBAAO,iCAAgB,YAAY,IAAwB;AAAA,IAC7D;AAAA,IAEA,KAAK,iCAAiB;AACpB,iBAAO,gCAAe,YAAY,IAAuB;AAAA,IAC3D;AAAA,IAEA,KAAK,yBAAM,OAAO;AAChB,iBAAO,kDAA8B,YAAY,IAAkB;AAAA,IACrE;AAAA,IAEA,KAAK,yBAAM,MAAM;AACf,iBAAO,iDAA6B,YAAY,IAAiB;AAAA,IACnE;AAAA,IACA;AACE,aAAO,CAAC;AAAA,EACZ;AACF;","names":["import_introspection","value"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/prop-controllers/introspection.ts"],"sourcesContent":["import {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n getListPropControllerElementChildren,\n getListPropControllerFileIds,\n getListPropControllerPageIds,\n getListPropControllerSwatchIds,\n getListPropControllerTypographyIds,\n getShapePropControllerElementChildren,\n getShapePropControllerFileIds,\n getShapePropControllerPageIds,\n getShapePropControllerSwatchIds,\n getShapePropControllerTypographyIds,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n ListValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n ShapeValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n getListElementChildren,\n getListFileIds,\n getListPageIds,\n getListSwatchIds,\n getListTypographyIds,\n getShapeElementChildren,\n getShapeFileIds,\n getShapePageIds,\n getShapeSwatchIds,\n getShapeTypographyIds,\n getStyleSwatchIds,\n getTypographySwatchIds,\n getTypographyTypographyIds,\n ImageControlData,\n ImageControlType,\n LinkControlData,\n LinkControlType,\n ListControlData,\n ListControlType,\n RichTextControlData,\n RichTextControlType,\n ShapeControlData,\n ShapeControlType,\n SlotControlData,\n SlotControlType,\n StyleControlData,\n StyleControlType,\n StyleV2ControlData,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlType,\n} from '../controls'\nimport {\n getRichTextPageIds,\n getRichTextSwatchIds,\n getRichTextTypographyIds,\n} from '../controls/rich-text/introspection'\nimport {\n getRichTextV2PageIds,\n getRichTextV2SwatchIds,\n getRichTextV2TypographyIds,\n} from '../controls/rich-text-v2/introspection'\nimport {\n RichTextV2ControlType,\n RichTextV2ControlData,\n isRichTextV1Data,\n} from '../controls/rich-text-v2/rich-text-v2'\nimport { match, P } from 'ts-pattern'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n case ListControlType:\n return (prop as ListControlData).flatMap(({ value }) =>\n getElementChildren(descriptor.config.type, value),\n )\n\n case ShapeControlType: {\n return getShapeElementChildren(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListElementChildren(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerElementChildren(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerElementChildren(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getBackgroundsSwatchIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nexport function getBorderSwatchIds(value: BorderValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n}\n\nexport function getBoxShadowsSwatchIds(value: ShadowsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n}\n\nexport function getResponsiveColorSwatchIds(\n value: ResponsiveColorValue | null | undefined,\n): string[] {\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n}\n\nexport function getSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsSwatchIds(prop as BackgroundsValue)\n\n case Types.Border:\n return getBorderSwatchIds(prop as BorderValue)\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\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 case Types.ResponsiveColor:\n return getResponsiveColorSwatchIds(prop as ResponsiveColorValue)\n\n case Types.Shadows:\n return getBoxShadowsSwatchIds(prop as ShadowsValue)\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextSwatchIds(prop as RichTextValue)\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n case TypographyControlType: {\n return getTypographySwatchIds(prop as TypographyControlData[number])\n }\n\n case StyleControlType: {\n return getStyleSwatchIds(prop as StyleControlData)\n }\n\n case StyleV2ControlType: {\n const value = prop as StyleV2ControlData\n\n return value?.flatMap(value => getSwatchIds(descriptor.config.type, value.value)) ?? []\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextSwatchIds(data)\n\n return getRichTextV2SwatchIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeSwatchIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListSwatchIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerSwatchIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerSwatchIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getBackgroundsFileIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n return match(backgroundItem)\n .with({ type: 'image-v1', payload: { image: { type: 'makeswift-file' } } }, item => [\n item.payload.image.id,\n ])\n .with({ type: 'image', payload: { imageId: P.string } }, item => [item.payload.imageId])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsFileIds(prop as BackgroundsValue)\n\n case Types.Image: {\n return match(prop as ImageValue)\n .with(P.string, v => [v])\n .with({ type: 'makeswift-file', version: 1 }, v => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return (\n value?.flatMap(item =>\n match(item.props.file)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file', version: 1 }, f => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return match(value)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file' }, f => [f.id])\n .with({ type: 'external-file' }, () => [])\n .otherwise(() => [])\n }\n\n case ShapeControlType: {\n return getShapeFileIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListFileIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerFileIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerFileIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case TypographyControlType: {\n return getTypographyTypographyIds(prop as TypographyControlData[number])\n }\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextTypographyIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextTypographyIds(data)\n\n return getRichTextV2TypographyIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeTypographyIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListTypographyIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerTypographyIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerTypographyIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case LinkControlType: {\n const value = prop as LinkControlData\n\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\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\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextPageIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextPageIds(data)\n\n return getRichTextV2PageIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapePageIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListPageIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerPageIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerPageIds(descriptor, prop as ListValue)\n }\n default:\n return []\n }\n}\n"],"mappings":"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","names":["import_introspection","value"]}
|
|
@@ -48,6 +48,20 @@ class StyleControl extends PropController {
|
|
|
48
48
|
recv() {
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
function getStyleSwatchIds(data) {
|
|
52
|
+
const swatchIds = [];
|
|
53
|
+
data?.border?.forEach(({ value }) => {
|
|
54
|
+
if (value.borderTop?.color?.swatchId)
|
|
55
|
+
swatchIds.push(value.borderTop.color.swatchId);
|
|
56
|
+
if (value.borderRight?.color?.swatchId)
|
|
57
|
+
swatchIds.push(value.borderRight.color.swatchId);
|
|
58
|
+
if (value.borderBottom?.color?.swatchId)
|
|
59
|
+
swatchIds.push(value.borderBottom.color.swatchId);
|
|
60
|
+
if (value.borderLeft?.color?.swatchId)
|
|
61
|
+
swatchIds.push(value.borderLeft.color.swatchId);
|
|
62
|
+
});
|
|
63
|
+
return swatchIds;
|
|
64
|
+
}
|
|
51
65
|
function copyStyleData(value, context) {
|
|
52
66
|
if (value == null)
|
|
53
67
|
return value;
|
|
@@ -85,6 +99,7 @@ export {
|
|
|
85
99
|
StyleControlMessageType,
|
|
86
100
|
StyleControlProperty,
|
|
87
101
|
StyleControlType,
|
|
88
|
-
copyStyleData
|
|
102
|
+
copyStyleData,
|
|
103
|
+
getStyleSwatchIds
|
|
89
104
|
};
|
|
90
105
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { ColorData, ResponsiveValue } from './types'\nimport { CopyContext } from '../state/react-page'\nimport { copyColorData } from './color'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":"AAMA,SAAS,qBAAqB;AAE9B,SAAS,sBAAsB;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,eAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,cAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { ColorData, ResponsiveValue } from './types'\nimport { CopyContext } from '../state/react-page'\nimport { copyColorData } from './color'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function getStyleSwatchIds(data: StyleControlData): string[] {\n const swatchIds: string[] = []\n\n data?.border?.forEach(({ value }) => {\n if (value.borderTop?.color?.swatchId) swatchIds.push(value.borderTop.color.swatchId)\n if (value.borderRight?.color?.swatchId) swatchIds.push(value.borderRight.color.swatchId)\n if (value.borderBottom?.color?.swatchId) swatchIds.push(value.borderBottom.color.swatchId)\n if (value.borderLeft?.color?.swatchId) swatchIds.push(value.borderLeft.color.swatchId)\n })\n\n return swatchIds\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":"AAMA,SAAS,qBAAqB;AAE9B,SAAS,sBAAsB;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,eAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,kBAAkB,MAAkC;AAClE,QAAM,YAAsB,CAAC;AAE7B,QAAM,QAAQ,QAAQ,CAAC,EAAE,MAAM,MAAM;AACnC,QAAI,MAAM,WAAW,OAAO;AAAU,gBAAU,KAAK,MAAM,UAAU,MAAM,QAAQ;AACnF,QAAI,MAAM,aAAa,OAAO;AAAU,gBAAU,KAAK,MAAM,YAAY,MAAM,QAAQ;AACvF,QAAI,MAAM,cAAc,OAAO;AAAU,gBAAU,KAAK,MAAM,aAAa,MAAM,QAAQ;AACzF,QAAI,MAAM,YAAY,OAAO;AAAU,gBAAU,KAAK,MAAM,WAAW,MAAM,QAAQ;AAAA,EACvF,CAAC;AAED,SAAO;AACT;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,cAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
getShapePageIds,
|
|
24
24
|
getShapeSwatchIds,
|
|
25
25
|
getShapeTypographyIds,
|
|
26
|
+
getStyleSwatchIds,
|
|
26
27
|
getTypographySwatchIds,
|
|
27
28
|
getTypographyTypographyIds,
|
|
28
29
|
ImageControlType,
|
|
@@ -31,6 +32,7 @@ import {
|
|
|
31
32
|
RichTextControlType,
|
|
32
33
|
ShapeControlType,
|
|
33
34
|
SlotControlType,
|
|
35
|
+
StyleControlType,
|
|
34
36
|
StyleV2ControlType,
|
|
35
37
|
TypographyControlType
|
|
36
38
|
} from "../controls";
|
|
@@ -153,6 +155,9 @@ function getSwatchIds(descriptor, prop) {
|
|
|
153
155
|
case TypographyControlType: {
|
|
154
156
|
return getTypographySwatchIds(prop);
|
|
155
157
|
}
|
|
158
|
+
case StyleControlType: {
|
|
159
|
+
return getStyleSwatchIds(prop);
|
|
160
|
+
}
|
|
156
161
|
case StyleV2ControlType: {
|
|
157
162
|
const value = prop;
|
|
158
163
|
return value?.flatMap((value2) => getSwatchIds(descriptor.config.type, value2.value)) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prop-controllers/introspection.ts"],"sourcesContent":["import {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n getListPropControllerElementChildren,\n getListPropControllerFileIds,\n getListPropControllerPageIds,\n getListPropControllerSwatchIds,\n getListPropControllerTypographyIds,\n getShapePropControllerElementChildren,\n getShapePropControllerFileIds,\n getShapePropControllerPageIds,\n getShapePropControllerSwatchIds,\n getShapePropControllerTypographyIds,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n ListValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n ShapeValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n getListElementChildren,\n getListFileIds,\n getListPageIds,\n getListSwatchIds,\n getListTypographyIds,\n getShapeElementChildren,\n getShapeFileIds,\n getShapePageIds,\n getShapeSwatchIds,\n getShapeTypographyIds,\n getTypographySwatchIds,\n getTypographyTypographyIds,\n ImageControlData,\n ImageControlType,\n LinkControlData,\n LinkControlType,\n ListControlData,\n ListControlType,\n RichTextControlData,\n RichTextControlType,\n ShapeControlData,\n ShapeControlType,\n SlotControlData,\n SlotControlType,\n StyleV2ControlData,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlType,\n} from '../controls'\nimport {\n getRichTextPageIds,\n getRichTextSwatchIds,\n getRichTextTypographyIds,\n} from '../controls/rich-text/introspection'\nimport {\n getRichTextV2PageIds,\n getRichTextV2SwatchIds,\n getRichTextV2TypographyIds,\n} from '../controls/rich-text-v2/introspection'\nimport {\n RichTextV2ControlType,\n RichTextV2ControlData,\n isRichTextV1Data,\n} from '../controls/rich-text-v2/rich-text-v2'\nimport { match, P } from 'ts-pattern'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n case ListControlType:\n return (prop as ListControlData).flatMap(({ value }) =>\n getElementChildren(descriptor.config.type, value),\n )\n\n case ShapeControlType: {\n return getShapeElementChildren(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListElementChildren(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerElementChildren(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerElementChildren(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getBackgroundsSwatchIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nexport function getBorderSwatchIds(value: BorderValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n}\n\nexport function getBoxShadowsSwatchIds(value: ShadowsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n}\n\nexport function getResponsiveColorSwatchIds(\n value: ResponsiveColorValue | null | undefined,\n): string[] {\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n}\n\nexport function getSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsSwatchIds(prop as BackgroundsValue)\n\n case Types.Border:\n return getBorderSwatchIds(prop as BorderValue)\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\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 case Types.ResponsiveColor:\n return getResponsiveColorSwatchIds(prop as ResponsiveColorValue)\n\n case Types.Shadows:\n return getBoxShadowsSwatchIds(prop as ShadowsValue)\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextSwatchIds(prop as RichTextValue)\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n case TypographyControlType: {\n return getTypographySwatchIds(prop as TypographyControlData[number])\n }\n\n case StyleV2ControlType: {\n const value = prop as StyleV2ControlData\n\n return value?.flatMap(value => getSwatchIds(descriptor.config.type, value.value)) ?? []\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextSwatchIds(data)\n\n return getRichTextV2SwatchIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeSwatchIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListSwatchIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerSwatchIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerSwatchIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getBackgroundsFileIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n return match(backgroundItem)\n .with({ type: 'image-v1', payload: { image: { type: 'makeswift-file' } } }, item => [\n item.payload.image.id,\n ])\n .with({ type: 'image', payload: { imageId: P.string } }, item => [item.payload.imageId])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsFileIds(prop as BackgroundsValue)\n\n case Types.Image: {\n return match(prop as ImageValue)\n .with(P.string, v => [v])\n .with({ type: 'makeswift-file', version: 1 }, v => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return (\n value?.flatMap(item =>\n match(item.props.file)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file', version: 1 }, f => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return match(value)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file' }, f => [f.id])\n .with({ type: 'external-file' }, () => [])\n .otherwise(() => [])\n }\n\n case ShapeControlType: {\n return getShapeFileIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListFileIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerFileIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerFileIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case TypographyControlType: {\n return getTypographyTypographyIds(prop as TypographyControlData[number])\n }\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextTypographyIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextTypographyIds(data)\n\n return getRichTextV2TypographyIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeTypographyIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListTypographyIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerTypographyIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerTypographyIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case LinkControlType: {\n const value = prop as LinkControlData\n\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\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\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextPageIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextPageIds(data)\n\n return getRichTextV2PageIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapePageIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListPageIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerPageIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerPageIds(descriptor, prop as ListValue)\n }\n default:\n return []\n }\n}\n"],"mappings":"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","names":["value"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/prop-controllers/introspection.ts"],"sourcesContent":["import {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n getListPropControllerElementChildren,\n getListPropControllerFileIds,\n getListPropControllerPageIds,\n getListPropControllerSwatchIds,\n getListPropControllerTypographyIds,\n getShapePropControllerElementChildren,\n getShapePropControllerFileIds,\n getShapePropControllerPageIds,\n getShapePropControllerSwatchIds,\n getShapePropControllerTypographyIds,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n ListValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n ShapeValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n getListElementChildren,\n getListFileIds,\n getListPageIds,\n getListSwatchIds,\n getListTypographyIds,\n getShapeElementChildren,\n getShapeFileIds,\n getShapePageIds,\n getShapeSwatchIds,\n getShapeTypographyIds,\n getStyleSwatchIds,\n getTypographySwatchIds,\n getTypographyTypographyIds,\n ImageControlData,\n ImageControlType,\n LinkControlData,\n LinkControlType,\n ListControlData,\n ListControlType,\n RichTextControlData,\n RichTextControlType,\n ShapeControlData,\n ShapeControlType,\n SlotControlData,\n SlotControlType,\n StyleControlData,\n StyleControlType,\n StyleV2ControlData,\n StyleV2ControlType,\n TypographyControlData,\n TypographyControlType,\n} from '../controls'\nimport {\n getRichTextPageIds,\n getRichTextSwatchIds,\n getRichTextTypographyIds,\n} from '../controls/rich-text/introspection'\nimport {\n getRichTextV2PageIds,\n getRichTextV2SwatchIds,\n getRichTextV2TypographyIds,\n} from '../controls/rich-text-v2/introspection'\nimport {\n RichTextV2ControlType,\n RichTextV2ControlData,\n isRichTextV1Data,\n} from '../controls/rich-text-v2/rich-text-v2'\nimport { match, P } from 'ts-pattern'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n case ListControlType:\n return (prop as ListControlData).flatMap(({ value }) =>\n getElementChildren(descriptor.config.type, value),\n )\n\n case ShapeControlType: {\n return getShapeElementChildren(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListElementChildren(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerElementChildren(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerElementChildren(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getBackgroundsSwatchIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nexport function getBorderSwatchIds(value: BorderValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n}\n\nexport function getBoxShadowsSwatchIds(value: ShadowsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n}\n\nexport function getResponsiveColorSwatchIds(\n value: ResponsiveColorValue | null | undefined,\n): string[] {\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n}\n\nexport function getSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsSwatchIds(prop as BackgroundsValue)\n\n case Types.Border:\n return getBorderSwatchIds(prop as BorderValue)\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\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 case Types.ResponsiveColor:\n return getResponsiveColorSwatchIds(prop as ResponsiveColorValue)\n\n case Types.Shadows:\n return getBoxShadowsSwatchIds(prop as ShadowsValue)\n\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextSwatchIds(prop as RichTextValue)\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n case TypographyControlType: {\n return getTypographySwatchIds(prop as TypographyControlData[number])\n }\n\n case StyleControlType: {\n return getStyleSwatchIds(prop as StyleControlData)\n }\n\n case StyleV2ControlType: {\n const value = prop as StyleV2ControlData\n\n return value?.flatMap(value => getSwatchIds(descriptor.config.type, value.value)) ?? []\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextSwatchIds(data)\n\n return getRichTextV2SwatchIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeSwatchIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListSwatchIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerSwatchIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerSwatchIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getBackgroundsFileIds(value: BackgroundsValue | null | undefined): string[] {\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n return match(backgroundItem)\n .with({ type: 'image-v1', payload: { image: { type: 'makeswift-file' } } }, item => [\n item.payload.image.id,\n ])\n .with({ type: 'image', payload: { imageId: P.string } }, item => [item.payload.imageId])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds:\n return getBackgroundsFileIds(prop as BackgroundsValue)\n\n case Types.Image: {\n return match(prop as ImageValue)\n .with(P.string, v => [v])\n .with({ type: 'makeswift-file', version: 1 }, v => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return (\n value?.flatMap(item =>\n match(item.props.file)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file', version: 1 }, f => [f.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .with(P.nullish, () => [])\n .otherwise(() => []),\n ) ?? []\n )\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return match(value)\n .with(P.string, f => [f])\n .with({ type: 'makeswift-file' }, f => [f.id])\n .with({ type: 'external-file' }, () => [])\n .otherwise(() => [])\n }\n\n case ShapeControlType: {\n return getShapeFileIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListFileIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerFileIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerFileIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case TypographyControlType: {\n return getTypographyTypographyIds(prop as TypographyControlData[number])\n }\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextTypographyIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextTypographyIds(data)\n\n return getRichTextV2TypographyIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapeTypographyIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListTypographyIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerTypographyIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerTypographyIds(descriptor, prop as ListValue)\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case LinkControlType: {\n const value = prop as LinkControlData\n\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\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\n case RichTextControlType:\n case Types.RichText: {\n return getRichTextPageIds(prop as RichTextControlData)\n }\n\n case RichTextV2ControlType: {\n const data = prop as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(data)) return getRichTextPageIds(data)\n\n return getRichTextV2PageIds(descriptor, data)\n }\n\n case ShapeControlType: {\n return getShapePageIds(descriptor, prop as ShapeControlData)\n }\n\n case ListControlType: {\n return getListPageIds(descriptor, prop as ListControlData)\n }\n\n case Types.Shape: {\n return getShapePropControllerPageIds(descriptor, prop as ShapeValue)\n }\n\n case Types.List: {\n return getListPropControllerPageIds(descriptor, prop as ListValue)\n }\n default:\n return []\n }\n}\n"],"mappings":"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","names":["value"]}
|
|
@@ -173,6 +173,7 @@ export declare class StyleControl extends PropController<StyleControlMessage> {
|
|
|
173
173
|
changeBoxModel(boxModel: BoxModel | null): void;
|
|
174
174
|
recv(): void;
|
|
175
175
|
}
|
|
176
|
+
export declare function getStyleSwatchIds(data: StyleControlData): string[];
|
|
176
177
|
export declare function copyStyleData(value: StyleControlData | undefined, context: CopyContext): StyleControlData | undefined;
|
|
177
178
|
export {};
|
|
178
179
|
//# sourceMappingURL=style.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/controls/style.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/controls/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../../src/prop-controllers/introspection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,UAAU,EAkBV,oBAAoB,EAEpB,YAAY,EAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../../src/prop-controllers/introspection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,UAAU,EAkBV,oBAAoB,EAEpB,YAAY,EAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAqDnD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,EAC/C,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,OAAO,EAAE,CAkCX;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EACzC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,MAAM,GAAG,IAAI,CAUf;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAmB5F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAalF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAOvF;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAC7C,MAAM,EAAE,CAEV;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EACzC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,MAAM,EAAE,CAqFV;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAa1F;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,IAAI,EACvC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,MAAM,EAAE,CAyDV;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAC7C,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,MAAM,EAAE,CAuCV;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,IAAI,EACxC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,MAAM,EAAE,CAYV;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,IAAI,EACvC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,MAAM,EAAE,CAyGV"}
|
package/package.json
CHANGED
package/slate/package.json
CHANGED