@elementor/editor-props 3.35.0-324 → 3.35.0-326

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/index.d.mts CHANGED
@@ -5,12 +5,14 @@ type DependencyOperator = 'lt' | 'lte' | 'eq' | 'ne' | 'gte' | 'gt' | 'exists' |
5
5
  type DependencyTerm = {
6
6
  operator: DependencyOperator;
7
7
  path: string[];
8
+ nestedPath?: string[];
8
9
  value: PropValue;
9
10
  newValue?: TransformablePropValue$1<string>;
10
11
  };
11
12
  type Dependency = {
12
13
  relation: 'or' | 'and';
13
14
  terms: (DependencyTerm | Dependency)[];
15
+ newValue?: TransformablePropValue$1<string>;
14
16
  };
15
17
  type BasePropTypeMeta = {
16
18
  description?: string;
@@ -1477,35 +1479,44 @@ declare const linkPropTypeUtil: {
1477
1479
  extract: (prop: unknown) => {
1478
1480
  destination?: any;
1479
1481
  isTargetBlank?: any;
1482
+ tag?: any;
1480
1483
  } | null;
1481
1484
  isValid: (prop: unknown) => prop is TransformablePropValue$1<"link", {
1482
1485
  destination?: any;
1483
1486
  isTargetBlank?: any;
1487
+ tag?: any;
1484
1488
  }>;
1485
1489
  create: {
1486
1490
  (value: {
1487
1491
  destination?: any;
1488
1492
  isTargetBlank?: any;
1493
+ tag?: any;
1489
1494
  }): TransformablePropValue$1<"link", {
1490
1495
  destination?: any;
1491
1496
  isTargetBlank?: any;
1497
+ tag?: any;
1492
1498
  }>;
1493
1499
  (value: {
1494
1500
  destination?: any;
1495
1501
  isTargetBlank?: any;
1502
+ tag?: any;
1496
1503
  }, createOptions?: CreateOptions): TransformablePropValue$1<"link", {
1497
1504
  destination?: any;
1498
1505
  isTargetBlank?: any;
1506
+ tag?: any;
1499
1507
  }>;
1500
1508
  (value: (prev?: {
1501
1509
  destination?: any;
1502
1510
  isTargetBlank?: any;
1511
+ tag?: any;
1503
1512
  } | undefined) => {
1504
1513
  destination?: any;
1505
1514
  isTargetBlank?: any;
1515
+ tag?: any;
1506
1516
  }, createOptions: CreateOptions): TransformablePropValue$1<"link", {
1507
1517
  destination?: any;
1508
1518
  isTargetBlank?: any;
1519
+ tag?: any;
1509
1520
  }>;
1510
1521
  };
1511
1522
  schema: z.ZodObject<{
@@ -1513,9 +1524,11 @@ declare const linkPropTypeUtil: {
1513
1524
  value: z.ZodType<{
1514
1525
  destination?: any;
1515
1526
  isTargetBlank?: any;
1527
+ tag?: any;
1516
1528
  }, z.ZodTypeDef, {
1517
1529
  destination?: any;
1518
1530
  isTargetBlank?: any;
1531
+ tag?: any;
1519
1532
  }>;
1520
1533
  disabled: z.ZodOptional<z.ZodBoolean>;
1521
1534
  }, "strict", z.ZodTypeAny, {
@@ -1523,6 +1536,7 @@ declare const linkPropTypeUtil: {
1523
1536
  value: {
1524
1537
  destination?: any;
1525
1538
  isTargetBlank?: any;
1539
+ tag?: any;
1526
1540
  };
1527
1541
  disabled?: boolean | undefined;
1528
1542
  }, {
@@ -1530,6 +1544,7 @@ declare const linkPropTypeUtil: {
1530
1544
  value: {
1531
1545
  destination?: any;
1532
1546
  isTargetBlank?: any;
1547
+ tag?: any;
1533
1548
  };
1534
1549
  disabled?: boolean | undefined;
1535
1550
  }>;
@@ -6130,10 +6145,10 @@ declare function isDependencyMet(dependency: Dependency | undefined, values: Pro
6130
6145
  isMet: true;
6131
6146
  } | {
6132
6147
  isMet: false;
6133
- failingDependencies: DependencyTerm[];
6148
+ failingDependencies: (DependencyTerm | Dependency)[];
6134
6149
  };
6135
6150
  declare function evaluateTerm(term: DependencyTerm, actualValue: unknown): boolean;
6136
- declare function extractValue(path: string[], elementValues: PropValue): TransformablePropValue$1<PropKey> | null;
6151
+ declare function extractValue(path: string[], elementValues: PropValue, nestedPath?: string[]): TransformablePropValue$1<PropKey> | null;
6137
6152
  declare function isDependency(term: DependencyTerm | Dependency): term is Dependency;
6138
6153
 
6139
6154
  declare const Schema: {
package/dist/index.d.ts CHANGED
@@ -5,12 +5,14 @@ type DependencyOperator = 'lt' | 'lte' | 'eq' | 'ne' | 'gte' | 'gt' | 'exists' |
5
5
  type DependencyTerm = {
6
6
  operator: DependencyOperator;
7
7
  path: string[];
8
+ nestedPath?: string[];
8
9
  value: PropValue;
9
10
  newValue?: TransformablePropValue$1<string>;
10
11
  };
11
12
  type Dependency = {
12
13
  relation: 'or' | 'and';
13
14
  terms: (DependencyTerm | Dependency)[];
15
+ newValue?: TransformablePropValue$1<string>;
14
16
  };
15
17
  type BasePropTypeMeta = {
16
18
  description?: string;
@@ -1477,35 +1479,44 @@ declare const linkPropTypeUtil: {
1477
1479
  extract: (prop: unknown) => {
1478
1480
  destination?: any;
1479
1481
  isTargetBlank?: any;
1482
+ tag?: any;
1480
1483
  } | null;
1481
1484
  isValid: (prop: unknown) => prop is TransformablePropValue$1<"link", {
1482
1485
  destination?: any;
1483
1486
  isTargetBlank?: any;
1487
+ tag?: any;
1484
1488
  }>;
1485
1489
  create: {
1486
1490
  (value: {
1487
1491
  destination?: any;
1488
1492
  isTargetBlank?: any;
1493
+ tag?: any;
1489
1494
  }): TransformablePropValue$1<"link", {
1490
1495
  destination?: any;
1491
1496
  isTargetBlank?: any;
1497
+ tag?: any;
1492
1498
  }>;
1493
1499
  (value: {
1494
1500
  destination?: any;
1495
1501
  isTargetBlank?: any;
1502
+ tag?: any;
1496
1503
  }, createOptions?: CreateOptions): TransformablePropValue$1<"link", {
1497
1504
  destination?: any;
1498
1505
  isTargetBlank?: any;
1506
+ tag?: any;
1499
1507
  }>;
1500
1508
  (value: (prev?: {
1501
1509
  destination?: any;
1502
1510
  isTargetBlank?: any;
1511
+ tag?: any;
1503
1512
  } | undefined) => {
1504
1513
  destination?: any;
1505
1514
  isTargetBlank?: any;
1515
+ tag?: any;
1506
1516
  }, createOptions: CreateOptions): TransformablePropValue$1<"link", {
1507
1517
  destination?: any;
1508
1518
  isTargetBlank?: any;
1519
+ tag?: any;
1509
1520
  }>;
1510
1521
  };
1511
1522
  schema: z.ZodObject<{
@@ -1513,9 +1524,11 @@ declare const linkPropTypeUtil: {
1513
1524
  value: z.ZodType<{
1514
1525
  destination?: any;
1515
1526
  isTargetBlank?: any;
1527
+ tag?: any;
1516
1528
  }, z.ZodTypeDef, {
1517
1529
  destination?: any;
1518
1530
  isTargetBlank?: any;
1531
+ tag?: any;
1519
1532
  }>;
1520
1533
  disabled: z.ZodOptional<z.ZodBoolean>;
1521
1534
  }, "strict", z.ZodTypeAny, {
@@ -1523,6 +1536,7 @@ declare const linkPropTypeUtil: {
1523
1536
  value: {
1524
1537
  destination?: any;
1525
1538
  isTargetBlank?: any;
1539
+ tag?: any;
1526
1540
  };
1527
1541
  disabled?: boolean | undefined;
1528
1542
  }, {
@@ -1530,6 +1544,7 @@ declare const linkPropTypeUtil: {
1530
1544
  value: {
1531
1545
  destination?: any;
1532
1546
  isTargetBlank?: any;
1547
+ tag?: any;
1533
1548
  };
1534
1549
  disabled?: boolean | undefined;
1535
1550
  }>;
@@ -6130,10 +6145,10 @@ declare function isDependencyMet(dependency: Dependency | undefined, values: Pro
6130
6145
  isMet: true;
6131
6146
  } | {
6132
6147
  isMet: false;
6133
- failingDependencies: DependencyTerm[];
6148
+ failingDependencies: (DependencyTerm | Dependency)[];
6134
6149
  };
6135
6150
  declare function evaluateTerm(term: DependencyTerm, actualValue: unknown): boolean;
6136
- declare function extractValue(path: string[], elementValues: PropValue): TransformablePropValue$1<PropKey> | null;
6151
+ declare function extractValue(path: string[], elementValues: PropValue, nestedPath?: string[]): TransformablePropValue$1<PropKey> | null;
6137
6152
  declare function isDependency(term: DependencyTerm | Dependency): term is Dependency;
6138
6153
 
6139
6154
  declare const Schema: {
package/dist/index.js CHANGED
@@ -323,7 +323,8 @@ var linkPropTypeUtil = createPropUtils(
323
323
  "link",
324
324
  import_schema20.z.strictObject({
325
325
  destination: unknownChildrenSchema,
326
- isTargetBlank: unknownChildrenSchema
326
+ isTargetBlank: unknownChildrenSchema,
327
+ tag: unknownChildrenSchema
327
328
  })
328
329
  );
329
330
 
@@ -956,8 +957,8 @@ function isDependencyMet(dependency, values) {
956
957
  const failingDependencies = [];
957
958
  const isMet = terms[method]((term) => {
958
959
  const isNestedDependency = isDependency(term);
959
- const result = isNestedDependency ? isDependencyMet(term, values).isMet : evaluateTerm(term, extractValue(term.path, values)?.value);
960
- if (!result && !isNestedDependency) {
960
+ const result = isNestedDependency ? isDependencyMet(term, values).isMet : evaluateTerm(term, extractValue(term.path, values, term.nestedPath)?.value);
961
+ if (!result) {
961
962
  failingDependencies.push(term);
962
963
  }
963
964
  return result;
@@ -1015,14 +1016,25 @@ function getRelationMethod(relation) {
1015
1016
  throw new Error(`Relation not supported ${relation}`);
1016
1017
  }
1017
1018
  }
1018
- function extractValue(path, elementValues) {
1019
- return path.reduce((acc, key, index) => {
1019
+ function extractValue(path, elementValues, nestedPath = []) {
1020
+ const extractedValue = path.reduce((acc, key, index) => {
1020
1021
  const value = acc?.[key];
1021
1022
  return index !== path.length - 1 && isTransformable(value) ? value.value ?? null : value;
1022
1023
  }, elementValues);
1024
+ if (!nestedPath?.length) {
1025
+ return extractedValue;
1026
+ }
1027
+ const nestedValue = nestedPath.reduce(
1028
+ (acc, key) => acc?.[key],
1029
+ extractedValue?.value
1030
+ );
1031
+ return {
1032
+ $$type: "unknown",
1033
+ value: nestedValue
1034
+ };
1023
1035
  }
1024
1036
  function isDependency(term) {
1025
- return "relation" in term;
1037
+ return "terms" in term;
1026
1038
  }
1027
1039
 
1028
1040
  // src/index.ts
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/prop-types/box-shadow.ts","../src/utils/create-prop-utils.ts","../src/prop-types/shadow.ts","../src/prop-types/utils.ts","../src/prop-types/border-radius.ts","../src/prop-types/border-width.ts","../src/prop-types/classes.ts","../src/prop-types/color.ts","../src/prop-types/flex.ts","../src/prop-types/image.ts","../src/prop-types/image-attachment-id.ts","../src/prop-types/image-src.ts","../src/prop-types/dimensions.ts","../src/prop-types/number.ts","../src/prop-types/size.ts","../src/prop-types/string.ts","../src/prop-types/stroke.ts","../src/prop-types/url.ts","../src/prop-types/layout-direction.ts","../src/prop-types/link.ts","../src/prop-types/selection-size.ts","../src/prop-types/key-value.ts","../src/prop-types/background-prop-types/background.ts","../src/prop-types/background-prop-types/background-overlay.ts","../src/prop-types/background-prop-types/background-color-overlay.ts","../src/prop-types/background-prop-types/background-gradient-overlay.ts","../src/prop-types/background-prop-types/background-image-overlay.ts","../src/prop-types/background-prop-types/background-image-position-offset.ts","../src/prop-types/background-prop-types/background-image-size-scale.ts","../src/prop-types/boolean.ts","../src/prop-types/color-stop.ts","../src/prop-types/gradient-color-stop.ts","../src/prop-types/date-time.ts","../src/prop-types/position.ts","../src/prop-types/query.ts","../src/prop-types/html.ts","../src/prop-types/filter-prop-types/filter.ts","../src/prop-types/filter-prop-types/drop-shadow-filter.ts","../src/prop-types/filter-prop-types/filter-functions/blur-filter.ts","../src/prop-types/filter-prop-types/filter-functions/color-tone-filter.ts","../src/prop-types/filter-prop-types/filter-functions/hue-rotate-filter.ts","../src/prop-types/filter-prop-types/filter-functions/intensity-filter.ts","../src/prop-types/transform-prop-types/transform.ts","../src/prop-types/transform-prop-types/transform-functions.ts","../src/prop-types/transform-prop-types/transform-functions/move-transform.ts","../src/prop-types/transform-prop-types/types.ts","../src/prop-types/transform-prop-types/transform-functions/rotate-transform.ts","../src/prop-types/transform-prop-types/transform-functions/scale-transform.ts","../src/prop-types/transform-prop-types/transform-functions/skew-transform.ts","../src/prop-types/transform-prop-types/transform-origin.ts","../src/prop-types/transform-prop-types/perspective-origin.ts","../src/prop-types/filter-prop-types/backdrop-filter.ts","../src/utils/adjust-llm-prop-value-schema.ts","../src/utils/llm-schema-to-props.ts","../src/utils/props-to-llm-schema.ts","../src/utils/is-transformable.ts","../src/utils/filter-empty-values.ts","../src/utils/merge-props.ts","../src/utils/prop-dependency-utils.ts"],"sourcesContent":["import { adjustLlmPropValueSchema } from './utils/adjust-llm-prop-value-schema';\nimport { jsonSchemaToPropType } from './utils/llm-schema-to-props';\nimport {\n\tconfigurableKeys,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tpropTypeToJsonSchema,\n} from './utils/props-to-llm-schema';\n\nexport { type JsonSchema7 } from './utils/prop-json-schema';\n\n// types\nexport * from './types';\nexport { type CreateOptions, type PropTypeUtil } from './utils/create-prop-utils';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { createArrayPropUtils, createPropUtils, getPropSchemaFromCache } from './utils/create-prop-utils';\nexport { filterEmptyValues, isEmpty } from './utils/filter-empty-values';\nexport { isTransformable } from './utils/is-transformable';\nexport { mergeProps } from './utils/merge-props';\nexport { evaluateTerm, extractValue, isDependency, isDependencyMet } from './utils/prop-dependency-utils';\n\nexport const Schema = {\n\tjsonSchemaToPropType,\n\tpropTypeToJsonSchema,\n\tadjustLlmPropValueSchema,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tconfigurableKeys,\n};\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { shadowPropTypeUtil } from './shadow';\n\nexport const boxShadowPropTypeUtil = createPropUtils( 'box-shadow', z.array( shadowPropTypeUtil.schema ) );\n\nexport type BoxShadowPropValue = z.infer< typeof boxShadowPropTypeUtil.schema >;\n","import { z, type ZodType } from '@elementor/schema';\n\nimport { type PropValue, type TransformablePropValue } from '../types';\n\ntype Updater< T > = ( prev?: T ) => T;\n\nexport type CreateOptions = {\n\tbase?: unknown;\n\tdisabled?: boolean;\n};\n\nconst SCHEMA_CACHE = new Map< string, unknown >();\n\nexport type PropTypeUtil< TKey extends string, TValue extends PropValue > = ReturnType<\n\ttypeof createPropUtils< TKey, TValue >\n>;\n\n/**\n * Usage example:\n *\n * ```ts\n * const elementsPropUtils = createPropUtils( 'elements', z.array( z.string() ) );\n *\n * elementsPropUtils.isValid( element.props?.children );\n * elementsPropUtils.create( [ 'a', 'b' ] );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { base: element.props?.children } );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { disabled: true } );\n * elementsPropUtils.extract( element.props?.children );\n *\n * ```\n */\n\nexport function getPropSchemaFromCache( key: string ) {\n\treturn SCHEMA_CACHE.get( key ) as PropTypeUtil< string, PropValue > | undefined;\n}\n\nexport function createPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >\n) {\n\tconst schema = z.strictObject( {\n\t\t$$type: z.literal( key ),\n\t\tvalue: valueSchema,\n\t\tdisabled: z.boolean().optional(),\n\t} );\n\n\ttype Prop = TransformablePropValue< TKey, TValue >;\n\n\tfunction isValid( prop: unknown ): prop is Prop {\n\t\treturn schema.safeParse( prop ).success;\n\t}\n\n\tfunction create( value: TValue ): Prop;\n\tfunction create( value: TValue, createOptions?: CreateOptions ): Prop;\n\tfunction create( value: Updater< TValue >, createOptions: CreateOptions ): Prop;\n\tfunction create( value: TValue | Updater< TValue >, createOptions?: CreateOptions ): Prop {\n\t\tconst fn = ( typeof value === 'function' ? value : () => value ) as Updater< TValue >;\n\n\t\tconst { base, disabled } = createOptions || {};\n\n\t\tif ( ! base ) {\n\t\t\treturn {\n\t\t\t\t$$type: key,\n\t\t\t\tvalue: fn(),\n\t\t\t\t...( disabled && { disabled } ),\n\t\t\t};\n\t\t}\n\n\t\tif ( ! isValid( base ) ) {\n\t\t\tthrow new Error( `Cannot create prop based on invalid value: ${ JSON.stringify( base ) }` );\n\t\t}\n\n\t\treturn {\n\t\t\t$$type: key,\n\t\t\tvalue: fn( base.value ),\n\t\t\t...( disabled && { disabled } ),\n\t\t};\n\t}\n\n\tfunction extract( prop: unknown ): TValue | null {\n\t\tif ( ! isValid( prop ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn prop.value;\n\t}\n\n\tconst propUtil = {\n\t\textract,\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t\tkey: key as TKey,\n\t};\n\n\tSCHEMA_CACHE.set( key, propUtil );\n\treturn propUtil;\n}\n\nexport function createArrayPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >,\n\toverrideKey?: string\n) {\n\treturn createPropUtils( overrideKey || `${ key }-array`, z.array( valueSchema ) );\n}\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const shadowPropTypeUtil = createPropUtils(\n\t'shadow',\n\tz.strictObject( {\n\t\tposition: unknownChildrenSchema,\n\t\thOffset: unknownChildrenSchema,\n\t\tvOffset: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tspread: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type ShadowPropValue = z.infer< typeof shadowPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nexport const unknownChildrenSchema = z.any().nullable();\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderRadiusPropTypeUtil = createPropUtils(\n\t'border-radius',\n\tz.strictObject( {\n\t\t'start-start': unknownChildrenSchema,\n\t\t'start-end': unknownChildrenSchema,\n\t\t'end-start': unknownChildrenSchema,\n\t\t'end-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderRadiusPropValue = z.infer< typeof borderRadiusPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderWidthPropTypeUtil = createPropUtils(\n\t'border-width',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderWidthPropValue = z.infer< typeof borderWidthPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const CLASSES_PROP_KEY = 'classes';\n\nexport const classesPropTypeUtil = createPropUtils(\n\tCLASSES_PROP_KEY,\n\tz.array( z.string().regex( /^[a-z][a-z-_0-9]*$/i ) )\n);\n\nexport type ClassesPropValue = z.infer< typeof classesPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const colorPropTypeUtil = createPropUtils( 'color', z.string() );\n\nexport type ColorPropValue = z.infer< typeof colorPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const flexPropTypeUtil = createPropUtils(\n\t'flex',\n\tz.strictObject( {\n\t\tflexGrow: unknownChildrenSchema,\n\t\tflexShrink: unknownChildrenSchema,\n\t\tflexBasis: unknownChildrenSchema,\n\t} )\n);\n\nexport type FlexPropValue = z.infer< typeof flexPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imagePropTypeUtil = createPropUtils(\n\t'image',\n\tz.strictObject( {\n\t\tsrc: unknownChildrenSchema,\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type ImagePropValue = z.infer< typeof imagePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const imageAttachmentIdPropType = createPropUtils( 'image-attachment-id', z.number() );\n\nexport type ImageAttachmentIdPropValue = z.infer< typeof imageAttachmentIdPropType.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imageSrcPropTypeUtil = createPropUtils(\n\t'image-src',\n\tz\n\t\t.strictObject( {\n\t\t\tid: unknownChildrenSchema,\n\t\t\turl: z.null(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tid: z.null(),\n\t\t\t\turl: unknownChildrenSchema,\n\t\t\t} )\n\t\t)\n);\n\nexport type ImageSrcPropValue = z.infer< typeof imageSrcPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const dimensionsPropTypeUtil = createPropUtils(\n\t'dimensions',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type DimensionsPropValue = z.infer< typeof dimensionsPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const numberPropTypeUtil = createPropUtils( 'number', z.number().nullable() );\n\nexport type NumberPropValue = z.infer< typeof numberPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const sizePropTypeUtil = createPropUtils(\n\t'size',\n\tz\n\t\t.strictObject( {\n\t\t\tunit: z.enum( [ 'px', 'em', 'rem', '%', 'vw', 'vh' ] ),\n\t\t\tsize: z.number(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 'deg', 'rad', 'grad', 'turn' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 's', 'ms' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'auto' ),\n\t\t\t\tsize: z.literal( '' ),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'custom' ),\n\t\t\t\tsize: z.string(),\n\t\t\t} )\n\t\t)\n);\n\nexport type SizePropValue = z.infer< typeof sizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const stringPropTypeUtil = createPropUtils( 'string', z.string().nullable() );\n\nexport type StringPropValue = z.infer< typeof stringPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const strokePropTypeUtil = createPropUtils(\n\t'stroke',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\twidth: unknownChildrenSchema,\n\t} )\n);\n\nexport type StrokePropValue = z.infer< typeof strokePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const urlPropTypeUtil = createPropUtils( 'url', z.string().nullable() );\n\nexport type UrlPropValue = z.infer< typeof urlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const layoutDirectionPropTypeUtil = createPropUtils(\n\t'layout-direction',\n\tz.object( {\n\t\trow: z.any(),\n\t\tcolumn: z.any(),\n\t} )\n);\n\nexport type LayoutDirectionPropValue = z.infer< typeof layoutDirectionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const linkPropTypeUtil = createPropUtils(\n\t'link',\n\tz.strictObject( {\n\t\tdestination: unknownChildrenSchema,\n\t\tisTargetBlank: unknownChildrenSchema,\n\t} )\n);\n\nexport type LinkPropValue = z.infer< typeof linkPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { keyValuePropTypeUtil } from './key-value';\nimport { stringPropTypeUtil } from './string';\nimport { unknownChildrenSchema } from './utils';\n\nexport const selectionSizePropTypeUtil = createPropUtils(\n\t'selection-size',\n\tz.strictObject( {\n\t\tselection: z.union( [ keyValuePropTypeUtil.schema, stringPropTypeUtil.schema ] ),\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type SelectionSizePropValue = z.infer< typeof selectionSizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const keyValuePropTypeUtil = createPropUtils(\n\t'key-value',\n\tz.strictObject( {\n\t\tkey: unknownChildrenSchema,\n\t\tvalue: unknownChildrenSchema,\n\t} )\n);\n\nexport type KeyValuePropValue = z.infer< typeof keyValuePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundPropTypeUtil = createPropUtils(\n\t'background',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\tclip: unknownChildrenSchema,\n\t\t'background-overlay': unknownChildrenSchema,\n\t} )\n);\n\nexport type BackgroundPropValue = z.infer< typeof backgroundPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { backgroundColorOverlayPropTypeUtil } from './background-color-overlay';\nimport { backgroundGradientOverlayPropTypeUtil } from './background-gradient-overlay';\nimport { backgroundImageOverlayPropTypeUtil } from './background-image-overlay';\n\nexport const backgroundOverlayItem = backgroundColorOverlayPropTypeUtil.schema\n\t.or( backgroundGradientOverlayPropTypeUtil.schema )\n\t.or( backgroundImageOverlayPropTypeUtil.schema );\n\nexport const backgroundOverlayPropTypeUtil = createPropUtils( 'background-overlay', z.array( backgroundOverlayItem ) );\n\nexport type BackgroundOverlayPropValue = z.infer< typeof backgroundOverlayPropTypeUtil.schema >;\nexport type BackgroundOverlayItemPropValue = z.infer< typeof backgroundOverlayItem >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundColorOverlayPropTypeUtil = createPropUtils( 'background-color-overlay', unknownChildrenSchema );\n\nexport type BackgroundColorOverlayPropValue = z.infer< typeof backgroundColorOverlayPropTypeUtil.schema >;\n","import type { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundGradientOverlayPropTypeUtil = createPropUtils(\n\t'background-gradient-overlay',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundGradientOverlayPropValue = z.infer< typeof backgroundGradientOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageOverlayPropTypeUtil = createPropUtils( 'background-image-overlay', unknownChildrenSchema );\n\nexport type BackgroundImageOverlayPropValue = z.infer< typeof backgroundImageOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImagePositionOffsetPropTypeUtil = createPropUtils(\n\t'background-image-position-offset',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImagePositionOffsetPropValue = z.infer< typeof backgroundImagePositionOffsetPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageSizeScalePropTypeUtil = createPropUtils(\n\t'background-image-size-scale',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImageSizeScalePropValue = z.infer< typeof backgroundImageSizeScalePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const booleanPropTypeUtil = createPropUtils( 'boolean', z.boolean().nullable() );\n\nexport type BooleanPropValue = z.infer< typeof booleanPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const colorStopPropTypeUtil = createPropUtils(\n\t'color-stop',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\toffset: unknownChildrenSchema,\n\t} )\n);\n\nexport type ColorStopPropValue = z.infer< typeof colorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { colorStopPropTypeUtil } from './color-stop';\n\nexport const gradientColorStopPropTypeUtil = createPropUtils(\n\t'gradient-color-stop',\n\tz.array( colorStopPropTypeUtil.schema )\n);\n\nexport type GradientColorStopPropValue = z.infer< typeof gradientColorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const DateTimePropTypeUtil = createPropUtils(\n\t'date-time',\n\tz.strictObject( {\n\t\tdate: unknownChildrenSchema,\n\t\ttime: unknownChildrenSchema,\n\t} )\n);\n\nexport type DateTimePropValue = z.infer< typeof DateTimePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const positionPropTypeUtil = createPropUtils(\n\t'object-position',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PositionPropTypeValue = z.infer< typeof positionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const queryPropTypeUtil = createPropUtils(\n\t'query',\n\tz.strictObject( {\n\t\tid: unknownChildrenSchema,\n\t\tlabel: unknownChildrenSchema,\n\t} )\n);\n\nexport type QueryPropValue = z.infer< typeof queryPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const htmlPropTypeUtil = createPropUtils( 'html', z.string().nullable() );\n\nexport type HtmlPropValue = z.infer< typeof htmlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { stringPropTypeUtil } from '../string';\nimport { dropShadowFilterPropTypeUtil } from './drop-shadow-filter';\nimport { blurFilterPropTypeUtil } from './filter-functions/blur-filter';\nimport { colorToneFilterPropTypeUtil } from './filter-functions/color-tone-filter';\nimport { hueRotateFilterPropTypeUtil } from './filter-functions/hue-rotate-filter';\nimport { intensityFilterPropTypeUtil } from './filter-functions/intensity-filter';\n\nexport const cssFilterFunctionPropUtil = createPropUtils(\n\t'css-filter-func',\n\tz.object( {\n\t\tfunc: stringPropTypeUtil.schema,\n\t\targs: z.union( [\n\t\t\tblurFilterPropTypeUtil.schema,\n\t\t\tintensityFilterPropTypeUtil.schema,\n\t\t\tcolorToneFilterPropTypeUtil.schema,\n\t\t\thueRotateFilterPropTypeUtil.schema,\n\t\t\tdropShadowFilterPropTypeUtil.schema,\n\t\t] ),\n\t} )\n);\n\nexport const filterPropTypeUtil = createPropUtils( 'filter', z.array( cssFilterFunctionPropUtil.schema ) );\n\nexport type FilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n\nexport type FilterPropValue = z.infer< typeof filterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const dropShadowFilterPropTypeUtil = createPropUtils(\n\t'drop-shadow',\n\tz.object( {\n\t\txAxis: unknownChildrenSchema,\n\t\tyAxis: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type DropShadowFilterPropValue = z.infer< typeof dropShadowFilterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const blurFilterPropTypeUtil = createPropUtils(\n\t'blur',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const colorToneFilterPropTypeUtil = createPropUtils(\n\t'color-tone',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const hueRotateFilterPropTypeUtil = createPropUtils(\n\t'hue-rotate',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const intensityFilterPropTypeUtil = createPropUtils(\n\t'intensity',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformPropTypeUtil = createPropUtils(\n\t'transform',\n\tz.strictObject( {\n\t\t'transform-functions': unknownChildrenSchema,\n\t\t'transform-origin': unknownChildrenSchema,\n\t\tperspective: unknownChildrenSchema,\n\t\t'perspective-origin': unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformPropValue = z.infer< typeof transformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { moveTransformPropTypeUtil } from './transform-functions/move-transform';\nimport { rotateTransformPropTypeUtil } from './transform-functions/rotate-transform';\nimport { scaleTransformPropTypeUtil } from './transform-functions/scale-transform';\nimport { skewTransformPropTypeUtil } from './transform-functions/skew-transform';\n\nconst filterTypes = moveTransformPropTypeUtil.schema\n\t.or( scaleTransformPropTypeUtil.schema )\n\t.or( rotateTransformPropTypeUtil.schema )\n\t.or( skewTransformPropTypeUtil.schema );\n\nexport const transformFunctionsPropTypeUtil = createPropUtils( 'transform-functions', z.array( filterTypes ) );\n\nexport type TransformFunctionsPropValue = z.infer< typeof transformFunctionsPropTypeUtil.schema >;\n\nexport type TransformFunctionsItemPropValue = z.infer< typeof filterTypes >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const moveTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.move,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type MoveTransformPropValue = z.infer< typeof moveTransformPropTypeUtil.schema >;\n","type TransformFunctions = 'transform-move' | 'transform-scale' | 'transform-rotate' | 'transform-skew';\n\nexport const TransformFunctionKeys: Record< string, TransformFunctions > = {\n\tmove: 'transform-move',\n\tscale: 'transform-scale',\n\trotate: 'transform-rotate',\n\tskew: 'transform-skew',\n};\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const rotateTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.rotate,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type RotateTransformPropValue = z.infer< typeof rotateTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { numberPropTypeUtil } from '../../number';\nimport { TransformFunctionKeys } from '../types';\n\nexport const scaleTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.scale,\n\tz.strictObject( {\n\t\tx: numberPropTypeUtil.schema.nullable(),\n\t\ty: numberPropTypeUtil.schema.nullable(),\n\t\tz: numberPropTypeUtil.schema.nullable(),\n\t} )\n);\n\nexport type ScaleTransformPropValue = z.infer< typeof scaleTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const skewTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.skew,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type SkewTransformPropValue = z.infer< typeof skewTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformOriginPropTypeUtil = createPropUtils(\n\t'transform-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformOriginPropValue = z.infer< typeof transformOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const perspectiveOriginPropTypeUtil = createPropUtils(\n\t'perspective-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PerspectiveOriginPropValue = z.infer< typeof perspectiveOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { cssFilterFunctionPropUtil } from './filter';\n\nexport const backdropFilterPropTypeUtil = createPropUtils(\n\t'backdrop-filter',\n\tz.array( cssFilterFunctionPropUtil.schema )\n);\n\nexport type BackdropFilterPropValue = z.infer< typeof backdropFilterPropTypeUtil.schema >;\n\nexport type BackdropFilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n","import { numberPropTypeUtil, type NumberPropValue, stringPropTypeUtil, type StringPropValue } from '../prop-types';\nimport { type ObjectPropValue, type PropValue, type TransformablePropValue } from '../types';\n\nconst ensureNotNull = ( v: unknown, fallback: unknown ) => ( v === null ? fallback : v );\n\nexport const adjustLlmPropValueSchema = ( value: Readonly< PropValue >, forceKey?: string ): PropValue => {\n\tconst clone = structuredClone( value );\n\n\tif ( typeof clone === 'string' ) {\n\t\treturn stringPropTypeUtil.create( clone );\n\t}\n\tif ( typeof clone === 'number' ) {\n\t\treturn numberPropTypeUtil.create( clone );\n\t}\n\t// Check for transformable types\n\tif ( clone && typeof clone === 'object' ) {\n\t\tif ( Array.isArray( clone ) ) {\n\t\t\treturn clone.map( ( item ) => adjustLlmPropValueSchema( item, forceKey ) ) as PropValue;\n\t\t}\n\t\tconst transformablePropValue = clone as TransformablePropValue< string >;\n\t\tif ( forceKey ) {\n\t\t\ttransformablePropValue.$$type = forceKey;\n\t\t}\n\n\t\tif ( ! transformablePropValue.$$type ) {\n\t\t\tthrow new Error( 'Missing $$type in property: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\tif ( ! ( 'value' in transformablePropValue ) ) {\n\t\t\tthrow new Error( 'Missing value property in PropValue: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\t// fix by type\n\t\tswitch ( transformablePropValue.$$type ) {\n\t\t\tcase 'size': {\n\t\t\t\tconst { value: rawSizePropValue } = transformablePropValue as TransformablePropValue<\n\t\t\t\t\tstring,\n\t\t\t\t\t{ size: StringPropValue | NumberPropValue; unit: StringPropValue }\n\t\t\t\t>;\n\t\t\t\tconst unit =\n\t\t\t\t\ttypeof rawSizePropValue.unit === 'string'\n\t\t\t\t\t\t? rawSizePropValue.unit\n\t\t\t\t\t\t: ensureNotNull( stringPropTypeUtil.extract( rawSizePropValue.unit ), 'px' );\n\t\t\t\tconst size =\n\t\t\t\t\ttypeof rawSizePropValue.size === 'string' || typeof rawSizePropValue.size === 'number'\n\t\t\t\t\t\t? rawSizePropValue.size\n\t\t\t\t\t\t: ensureNotNull(\n\t\t\t\t\t\t\t\tstringPropTypeUtil.extract( rawSizePropValue.size ),\n\t\t\t\t\t\t\t\tnumberPropTypeUtil.extract( rawSizePropValue.size )\n\t\t\t\t\t\t );\n\t\t\t\treturn {\n\t\t\t\t\t$$type: 'size',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tunit,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof transformablePropValue.value === 'object' ) {\n\t\t\tif ( Array.isArray( transformablePropValue.value ) ) {\n\t\t\t\ttransformablePropValue.value = adjustLlmPropValueSchema(\n\t\t\t\t\ttransformablePropValue.value,\n\t\t\t\t\tundefined\n\t\t\t\t) as PropValue[];\n\t\t\t} else {\n\t\t\t\tconst { value: objectValue } = transformablePropValue as ObjectPropValue;\n\t\t\t\tconst clonedObject = clone as ObjectPropValue;\n\t\t\t\tclonedObject.value = {} as Record< string, PropValue >;\n\t\t\t\tObject.keys( objectValue ).forEach( ( key ) => {\n\t\t\t\t\tconst childProp = ( objectValue as Record< string, unknown > )[ key ];\n\t\t\t\t\t( clonedObject.value as Record< string, unknown > )[ key ] = adjustLlmPropValueSchema(\n\t\t\t\t\t\tchildProp as PropValue,\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\treturn clone;\n};\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function jsonSchemaToPropType( schema: JsonSchema7, key = < string >schema.key ): PropType {\n\tconst meta: Record< string, unknown > = {};\n\n\tif ( schema.description ) {\n\t\tmeta.description = schema.description;\n\t}\n\n\t// Handle union types (anyOf)\n\tif ( schema.anyOf && Array.isArray( schema.anyOf ) ) {\n\t\treturn convertJsonSchemaToUnionPropType( schema, meta );\n\t}\n\n\t// Handle object types\n\tif ( schema.type === 'object' && schema.properties ) {\n\t\treturn convertJsonSchemaToObjectPropType( schema, meta, key );\n\t}\n\n\t// Handle array types\n\tif ( schema.type === 'array' && schema.items ) {\n\t\treturn convertJsonSchemaToArrayPropType( schema, meta, key );\n\t}\n\n\t// Handle plain types (string, number, boolean)\n\treturn convertJsonSchemaToPlainPropType( schema, meta, key );\n}\n\nfunction convertJsonSchemaToPlainPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst settings: Record< string, unknown > = {};\n\n\t// Determine the key based on type\n\tlet propKey = key || 'string';\n\n\tif ( schema.type === 'number' ) {\n\t\tpropKey = 'number';\n\t} else if ( schema.type === 'boolean' ) {\n\t\tpropKey = 'boolean';\n\t} else if ( schema.type === 'string' ) {\n\t\tpropKey = 'string';\n\t}\n\n\t// Handle enum values\n\tif ( Array.isArray( schema.enum ) ) {\n\t\tsettings.enum = schema.enum;\n\t}\n\n\treturn {\n\t\tkind: 'plain',\n\t\tkey: propKey,\n\t\tsettings,\n\t\tmeta,\n\t} as PropType;\n}\n\n/**\n * Converts a JSON Schema anyOf to a union PropType\n * @param schema\n * @param meta\n */\nfunction convertJsonSchemaToUnionPropType( schema: JsonSchema7, meta: Record< string, unknown > ): PropType {\n\tconst propTypes: Record< string, PropType > = {};\n\n\tif ( ! schema.anyOf || ! Array.isArray( schema.anyOf ) ) {\n\t\tthrow new Error( 'Invalid anyOf schema' );\n\t}\n\n\t// Process each variant in the anyOf array\n\tfor ( const variantSchema of schema.anyOf ) {\n\t\t// Each variant should be an object with $$type and value properties\n\t\tif (\n\t\t\tvariantSchema.type === 'object' &&\n\t\t\tvariantSchema.properties &&\n\t\t\tvariantSchema.properties.$$type &&\n\t\t\tvariantSchema.properties.value\n\t\t) {\n\t\t\tconst typeProperty = variantSchema.properties.$$type;\n\n\t\t\t// Extract the type key from the enum\n\t\t\tlet typeKey: string;\n\t\t\tif ( typeProperty.enum && Array.isArray( typeProperty.enum ) && typeProperty.enum.length > 0 ) {\n\t\t\t\ttypeKey = typeProperty.enum[ 0 ] as string;\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Convert the value schema to a PropType\n\t\t\tconst valuePropType = convertJsonSchemaToPropType( variantSchema.properties.value );\n\t\t\tpropTypes[ typeKey ] = valuePropType;\n\t\t}\n\t}\n\n\treturn {\n\t\tkind: 'union',\n\t\tprop_types: propTypes,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToObjectPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst shape: Record< string, PropType > = {};\n\n\tif ( ! schema.properties ) {\n\t\treturn {\n\t\t\tkind: 'object',\n\t\t\tkey,\n\t\t\tshape: {},\n\t\t\tsettings: {},\n\t\t\tmeta,\n\t\t} as PropType;\n\t}\n\n\tconst requiredFields = Array.isArray( schema.required ) ? schema.required : [];\n\n\t// Convert each property\n\tfor ( const [ propKey, propSchema ] of Object.entries( schema.properties ) ) {\n\t\tconst subPropType = convertJsonSchemaToPropType( propSchema, key );\n\n\t\t// Mark as required if it's in the required array\n\t\tif ( requiredFields.includes( propKey ) ) {\n\t\t\tsubPropType.settings = {\n\t\t\t\t...subPropType.settings,\n\t\t\t\trequired: true,\n\t\t\t};\n\t\t}\n\n\t\tshape[ propKey ] = subPropType;\n\t}\n\n\treturn {\n\t\tkind: 'object',\n\t\tkey: key || 'object',\n\t\tshape,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToArrayPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tif ( ! schema.items ) {\n\t\tthrow new Error( 'Array schema must have items property' );\n\t}\n\n\tconst itemPropType = convertJsonSchemaToPropType( schema.items );\n\n\treturn {\n\t\tkind: 'array',\n\t\tkey: key || 'array',\n\t\titem_prop_type: itemPropType,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToPropType( schema: JsonSchema7, key?: string ): PropType {\n\treturn jsonSchemaToPropType( schema, key );\n}\n\n/**\n * Converts a complete JSON Schema object back to a PropsSchema\n *\n * @param jsonSchema The JSON Schema to convert\n */\nexport function jsonSchemaToPropsSchema( jsonSchema: JsonSchema7 ): PropsSchema {\n\tconst propsSchema: PropsSchema = {};\n\n\tif ( jsonSchema.type !== 'object' || ! jsonSchema.properties ) {\n\t\tthrow new Error( 'Root schema must be an object with properties' );\n\t}\n\n\tfor ( const [ key, propSchema ] of Object.entries( jsonSchema.properties ) ) {\n\t\tpropsSchema[ key ] = convertJsonSchemaToPropType( propSchema, key );\n\t}\n\n\treturn propsSchema;\n}\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function propTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\tconst description = propType.meta?.description;\n\n\tconst schema: JsonSchema7 = {};\n\n\tif ( description ) {\n\t\tschema.description = description;\n\t}\n\n\t// Handle different kinds of prop types\n\tswitch ( propType.kind ) {\n\t\tcase 'plain':\n\t\t\treturn convertPlainPropType( propType, schema );\n\t\tcase 'union':\n\t\t\treturn convertUnionPropType( propType, schema );\n\t\tcase 'object':\n\t\t\treturn convertObjectPropType( propType, schema );\n\t\tcase 'array':\n\t\t\treturn convertArrayPropType( propType, schema );\n\t\tdefault:\n\t\t\treturn convertPlainPropType( propType, schema );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPlainPropType( propType: PropType & { kind: 'plain' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = { ...baseSchema };\n\n\t// Determine type based on key\n\tconst key = propType.key.toLowerCase();\n\n\tswitch ( key ) {\n\t\tcase 'number':\n\t\t\tschema.type = 'number';\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tschema.type = 'boolean';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tschema.type = 'string';\n\t}\n\n\t// Handle enum from settings\n\tif ( Array.isArray( propType.settings?.enum ) ) {\n\t\tschema.enum = propType.settings.enum;\n\t}\n\n\treturn schema;\n}\n\n/**\n * Converts a union prop type to JSON Schema ( электричество anyOf)\n *\n * @param propType The union prop type to convert\n * @param baseSchema Base schema to extend\n */\nfunction convertUnionPropType( propType: PropType & { kind: 'union' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tconst propTypes = propType.prop_types || {};\n\tconst schemas: JsonSchema7[] = [];\n\n\t// Convert each prop type in the union\n\tfor ( const [ typeKey, subPropType ] of Object.entries( propTypes ) ) {\n\t\tconst subSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\tschemas.push( {\n\t\t\ttype: 'object',\n\t\t\trequired: [ '$$type', 'value' ],\n\t\t\tproperties: {\n\t\t\t\t$$type: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tconst: typeKey,\n\t\t\t\t\tdescription: subPropType.meta?.description,\n\t\t\t\t\t$comment: `Discriminator for union type variant: ${ typeKey }`,\n\t\t\t\t},\n\t\t\t\tvalue: subSchema,\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( schemas.length > 0 ) {\n\t\tschema.anyOf = schemas;\n\t}\n\n\tconst propTypeDescription = propType.meta?.description;\n\tif ( propTypeDescription ) {\n\t\tschema.description = propTypeDescription;\n\t}\n\treturn schema;\n}\n\nfunction convertObjectPropType( propType: PropType & { kind: 'object' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'object';\n\tschema.properties = {};\n\n\tconst required: string[] = [];\n\n\tconst shape = propType.shape || {};\n\n\t// Convert each property in the object shape\n\tfor ( const [ key, subPropType ] of Object.entries( shape ) ) {\n\t\tconst propSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\t// Check if this property is required\n\t\tif ( subPropType.settings?.required === true ) {\n\t\t\trequired.push( key );\n\t\t}\n\n\t\tschema.properties[ key ] = propSchema;\n\t}\n\n\t// Add required array if there are required fields\n\tif ( required.length > 0 ) {\n\t\tschema.required = required;\n\t}\n\n\treturn schema;\n}\n\nfunction convertArrayPropType( propType: PropType & { kind: 'array' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'array';\n\n\tconst itemPropType = propType.item_prop_type;\n\n\tif ( itemPropType ) {\n\t\tschema.items = convertPropTypeToJsonSchema( itemPropType );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPropTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\treturn propTypeToJsonSchema( propType );\n}\n\nexport function propsSchemaToJsonSchema( schema: PropsSchema ): JsonSchema7 {\n\tconst jsonSchema: JsonSchema7 = {\n\t\ttype: 'object',\n\t\tproperties: {},\n\t};\n\n\tfor ( const [ key, propType ] of Object.entries( schema ) ) {\n\t\t// Skip internal properties\n\t\tif ( ! isPropKeyConfigurable( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst propSchema = convertPropTypeToJsonSchema( propType );\n\t\tif ( jsonSchema.properties ) {\n\t\t\tjsonSchema.properties[ key ] = propSchema;\n\t\t}\n\n\t\t// Handle required fields at root level if needed\n\t\t// (typically props are optional unless specified)\n\t}\n\n\treturn jsonSchema;\n}\n\nexport const nonConfigurablePropKeys = [ '_cssid', 'classes', 'attributes' ] as readonly string[];\n\nexport function isPropKeyConfigurable( propKey: string ): boolean {\n\treturn ! nonConfigurablePropKeys.includes( propKey );\n}\n\nexport function configurableKeys( schema: PropsSchema ): string[] {\n\treturn Object.keys( schema ).filter( isPropKeyConfigurable );\n}\n","import { z } from '@elementor/schema';\n\nconst transformableSchema = z.object( {\n\t$$type: z.string(),\n\tvalue: z.any(),\n\tdisabled: z.boolean().optional(),\n} );\n\ntype TransformablePropValue = z.infer< typeof transformableSchema >;\n\nexport const isTransformable = ( value: unknown ): value is TransformablePropValue => {\n\treturn transformableSchema.safeParse( value ).success;\n};\n","import { type PropValue } from '../types';\nimport { isTransformable } from '../utils/is-transformable';\n\nexport const filterEmptyValues = < TValue extends PropValue >( value: TValue ): TValue | null => {\n\tif ( isEmpty( value ) ) {\n\t\treturn null;\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.map( filterEmptyValues ).filter( ( item ) => ! isEmpty( item ) ) as TValue;\n\t}\n\n\tif ( typeof value === 'object' ) {\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries( value )\n\t\t\t\t.map( ( [ key, val ] ) => [ key, filterEmptyValues( val ) ] )\n\t\t\t\t.filter( ( [ , val ] ) => ! isEmpty( val ) )\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype Nullish = null | undefined | '';\n\nexport const isEmpty = ( value: PropValue ): value is Nullish => {\n\tif ( value && isTransformable( value ) ) {\n\t\treturn isEmpty( value.value );\n\t}\n\n\treturn isNullish( value ) || isNullishArray( value ) || isNullishObject( value );\n};\n\nconst isNullish = ( value: PropValue ): value is Nullish => value === null || value === undefined || value === '';\n\nconst isNullishArray = ( value: NonNullable< PropValue > ): value is Nullish[] =>\n\tArray.isArray( value ) && value.every( isEmpty );\n\nconst isNullishObject = ( value: NonNullable< PropValue > ): value is Record< string, Nullish > => {\n\treturn typeof value === 'object' && isNullishArray( Object.values( value ) );\n};\n","import type { Props } from '../types';\n\nexport function mergeProps( current: Props, updates: Props ) {\n\t// edge case, the server returns an array instead of an object when empty props because of PHP array / object conversion\n\tlet props: Props = {};\n\n\tif ( ! Array.isArray( current ) ) {\n\t\tprops = structuredClone( current );\n\t}\n\n\tObject.entries( updates ).forEach( ( [ key, value ] ) => {\n\t\tif ( value === null || value === undefined ) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete props[ key ];\n\t\t} else {\n\t\t\tprops[ key ] = value;\n\t\t}\n\t} );\n\n\treturn props;\n}\n","import {\n\ttype Dependency,\n\ttype DependencyTerm,\n\ttype PropKey,\n\ttype PropValue,\n\ttype TransformablePropValue,\n} from '../types';\nimport { isTransformable } from './is-transformable';\n\ntype ParsedTerm = DependencyTerm;\n\ntype Relation = Dependency[ 'relation' ];\n\nexport function isDependencyMet(\n\tdependency: Dependency | undefined,\n\tvalues: PropValue\n): { isMet: true } | { isMet: false; failingDependencies: DependencyTerm[] } {\n\tif ( ! dependency?.terms.length ) {\n\t\treturn { isMet: true };\n\t}\n\n\tconst { relation, terms } = dependency;\n\tconst method = getRelationMethod( relation );\n\n\tconst failingDependencies: DependencyTerm[] = [];\n\tconst isMet = terms[ method ]( ( term: ParsedTerm | Dependency ) => {\n\t\tconst isNestedDependency = isDependency( term );\n\t\tconst result = isNestedDependency\n\t\t\t? isDependencyMet( term, values ).isMet\n\t\t\t: evaluateTerm( term, extractValue( term.path, values )?.value );\n\n\t\tif ( ! result && ! isNestedDependency ) {\n\t\t\tfailingDependencies.push( term );\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\treturn { isMet, failingDependencies };\n}\n\nexport function evaluateTerm( term: DependencyTerm, actualValue: unknown ) {\n\tconst { value: valueToCompare, operator } = term;\n\n\tswitch ( operator ) {\n\t\tcase 'eq':\n\t\tcase 'ne':\n\t\t\treturn ( actualValue === valueToCompare ) === ( 'eq' === operator );\n\n\t\tcase 'gt':\n\t\tcase 'lte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) > Number( valueToCompare ) === ( 'gt' === operator );\n\n\t\tcase 'lt':\n\t\tcase 'gte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) < Number( valueToCompare ) === ( 'lt' === operator );\n\t\tcase 'in':\n\t\tcase 'nin':\n\t\t\tif ( ! Array.isArray( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn valueToCompare.includes( actualValue as never ) === ( 'in' === operator );\n\n\t\tcase 'contains':\n\t\tcase 'ncontains':\n\t\t\tif (\n\t\t\t\t( 'string' !== typeof actualValue || 'string' !== typeof valueToCompare ) &&\n\t\t\t\t! Array.isArray( actualValue )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ( 'contains' === operator ) === actualValue.includes( valueToCompare as never );\n\n\t\tcase 'exists':\n\t\tcase 'not_exist':\n\t\t\tconst evaluation = !! actualValue || 0 === actualValue || false === actualValue;\n\n\t\t\treturn ( 'exists' === operator ) === evaluation;\n\n\t\tdefault:\n\t\t\treturn true;\n\t}\n}\n\nfunction isNumber( value: unknown ): value is number {\n\treturn typeof value === 'number' && ! isNaN( value );\n}\n\nfunction getRelationMethod( relation: Relation ) {\n\tswitch ( relation ) {\n\t\tcase 'or':\n\t\t\treturn 'some';\n\n\t\tcase 'and':\n\t\t\treturn 'every';\n\n\t\tdefault:\n\t\t\tthrow new Error( `Relation not supported ${ relation }` );\n\t}\n}\n\nexport function extractValue( path: string[], elementValues: PropValue ): TransformablePropValue< PropKey > | null {\n\treturn path.reduce( ( acc, key, index ) => {\n\t\tconst value = acc?.[ key as keyof typeof acc ] as PropValue | null;\n\n\t\treturn index !== path.length - 1 && isTransformable( value ) ? value.value ?? null : value;\n\t}, elementValues ) as TransformablePropValue< PropKey >;\n}\n\nexport function isDependency( term: DependencyTerm | Dependency ): term is Dependency {\n\treturn 'relation' in term;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAkB;;;ACAlB,oBAAgC;AAWhC,IAAM,eAAe,oBAAI,IAAuB;AAqBzC,SAAS,uBAAwB,KAAc;AACrD,SAAO,aAAa,IAAK,GAAI;AAC9B;AAEO,SAAS,gBACf,KACA,aACC;AACD,QAAM,SAAS,gBAAE,aAAc;AAAA,IAC9B,QAAQ,gBAAE,QAAS,GAAI;AAAA,IACvB,OAAO;AAAA,IACP,UAAU,gBAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,CAAE;AAIF,WAAS,QAAS,MAA8B;AAC/C,WAAO,OAAO,UAAW,IAAK,EAAE;AAAA,EACjC;AAKA,WAAS,OAAQ,OAAmC,eAAsC;AACzF,UAAM,KAAO,OAAO,UAAU,aAAa,QAAQ,MAAM;AAEzD,UAAM,EAAE,MAAM,SAAS,IAAI,iBAAiB,CAAC;AAE7C,QAAK,CAAE,MAAO;AACb,aAAO;AAAA,QACN,QAAQ;AAAA,QACR,OAAO,GAAG;AAAA,QACV,GAAK,YAAY,EAAE,SAAS;AAAA,MAC7B;AAAA,IACD;AAEA,QAAK,CAAE,QAAS,IAAK,GAAI;AACxB,YAAM,IAAI,MAAO,8CAA+C,KAAK,UAAW,IAAK,CAAE,EAAG;AAAA,IAC3F;AAEA,WAAO;AAAA,MACN,QAAQ;AAAA,MACR,OAAO,GAAI,KAAK,KAAM;AAAA,MACtB,GAAK,YAAY,EAAE,SAAS;AAAA,IAC7B;AAAA,EACD;AAEA,WAAS,QAAS,MAA+B;AAChD,QAAK,CAAE,QAAS,IAAK,GAAI;AACxB,aAAO;AAAA,IACR;AAEA,WAAO,KAAK;AAAA,EACb;AAEA,QAAM,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,eAAa,IAAK,KAAK,QAAS;AAChC,SAAO;AACR;AAEO,SAAS,qBACf,KACA,aACA,aACC;AACD,SAAO,gBAAiB,eAAe,GAAI,GAAI,UAAU,gBAAE,MAAO,WAAY,CAAE;AACjF;;;ACzGA,IAAAC,iBAAkB;;;ACAlB,IAAAC,iBAAkB;AAEX,IAAM,wBAAwB,iBAAE,IAAI,EAAE,SAAS;;;ADG/C,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA,iBAAE,aAAc;AAAA,IACf,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EACR,CAAE;AACH;;;AFVO,IAAM,wBAAwB,gBAAiB,cAAc,iBAAE,MAAO,mBAAmB,MAAO,CAAE;;;AILzG,IAAAC,iBAAkB;AAKX,IAAM,2BAA2B;AAAA,EACvC;AAAA,EACA,iBAAE,aAAc;AAAA,IACf,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,IACb,WAAW;AAAA,EACZ,CAAE;AACH;;;ACbA,IAAAC,iBAAkB;AAKX,IAAM,0BAA0B;AAAA,EACtC;AAAA,EACA,iBAAE,aAAc;AAAA,IACf,eAAe;AAAA,IACf,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,cAAc;AAAA,EACf,CAAE;AACH;;;ACbA,IAAAC,iBAAkB;AAIX,IAAM,mBAAmB;AAEzB,IAAM,sBAAsB;AAAA,EAClC;AAAA,EACA,iBAAE,MAAO,iBAAE,OAAO,EAAE,MAAO,qBAAsB,CAAE;AACpD;;;ACTA,IAAAC,iBAAkB;AAIX,IAAM,oBAAoB,gBAAiB,SAAS,iBAAE,OAAO,CAAE;;;ACJtE,IAAAC,iBAAkB;AAKX,IAAM,mBAAmB;AAAA,EAC/B;AAAA,EACA,iBAAE,aAAc;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,WAAW;AAAA,EACZ,CAAE;AACH;;;ACZA,IAAAC,kBAAkB;AAKX,IAAM,oBAAoB;AAAA,EAChC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,KAAK;AAAA,IACL,MAAM;AAAA,EACP,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAIX,IAAM,4BAA4B,gBAAiB,uBAAuB,kBAAE,OAAO,CAAE;;;ACJ5F,IAAAC,kBAAkB;AAKX,IAAM,uBAAuB;AAAA,EACnC;AAAA,EACA,kBACE,aAAc;AAAA,IACd,IAAI;AAAA,IACJ,KAAK,kBAAE,KAAK;AAAA,EACb,CAAE,EACD;AAAA,IACA,kBAAE,aAAc;AAAA,MACf,IAAI,kBAAE,KAAK;AAAA,MACX,KAAK;AAAA,IACN,CAAE;AAAA,EACH;AACF;;;AClBA,IAAAC,kBAAkB;AAKX,IAAM,yBAAyB;AAAA,EACrC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,eAAe;AAAA,IACf,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,cAAc;AAAA,EACf,CAAE;AACH;;;ACbA,IAAAC,kBAAkB;AAIX,IAAM,qBAAqB,gBAAiB,UAAU,kBAAE,OAAO,EAAE,SAAS,CAAE;;;ACJnF,IAAAC,kBAAkB;AAIX,IAAM,mBAAmB;AAAA,EAC/B;AAAA,EACA,kBACE,aAAc;AAAA,IACd,MAAM,kBAAE,KAAM,CAAE,MAAM,MAAM,OAAO,KAAK,MAAM,IAAK,CAAE;AAAA,IACrD,MAAM,kBAAE,OAAO;AAAA,EAChB,CAAE,EACD;AAAA,IACA,kBAAE,aAAc;AAAA,MACf,MAAM,kBAAE,KAAM,CAAE,OAAO,OAAO,QAAQ,MAAO,CAAE;AAAA,MAC/C,MAAM,kBAAE,OAAO;AAAA,IAChB,CAAE;AAAA,EACH,EACC;AAAA,IACA,kBAAE,aAAc;AAAA,MACf,MAAM,kBAAE,KAAM,CAAE,KAAK,IAAK,CAAE;AAAA,MAC5B,MAAM,kBAAE,OAAO;AAAA,IAChB,CAAE;AAAA,EACH,EACC;AAAA,IACA,kBAAE,aAAc;AAAA,MACf,MAAM,kBAAE,QAAS,MAAO;AAAA,MACxB,MAAM,kBAAE,QAAS,EAAG;AAAA,IACrB,CAAE;AAAA,EACH,EACC;AAAA,IACA,kBAAE,aAAc;AAAA,MACf,MAAM,kBAAE,QAAS,QAAS;AAAA,MAC1B,MAAM,kBAAE,OAAO;AAAA,IAChB,CAAE;AAAA,EACH;AACF;;;ACnCA,IAAAC,kBAAkB;AAIX,IAAM,qBAAqB,gBAAiB,UAAU,kBAAE,OAAO,EAAE,SAAS,CAAE;;;ACJnF,IAAAC,kBAAkB;AAKX,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,OAAO;AAAA,IACP,OAAO;AAAA,EACR,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAIX,IAAM,kBAAkB,gBAAiB,OAAO,kBAAE,OAAO,EAAE,SAAS,CAAE;;;ACJ7E,IAAAC,kBAAkB;AAIX,IAAM,8BAA8B;AAAA,EAC1C;AAAA,EACA,kBAAE,OAAQ;AAAA,IACT,KAAK,kBAAE,IAAI;AAAA,IACX,QAAQ,kBAAE,IAAI;AAAA,EACf,CAAE;AACH;;;ACVA,IAAAC,kBAAkB;AAKX,IAAM,mBAAmB;AAAA,EAC/B;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,aAAa;AAAA,IACb,eAAe;AAAA,EAChB,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;;;ACAlB,IAAAC,kBAAkB;AAKX,IAAM,uBAAuB;AAAA,EACnC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,KAAK;AAAA,IACL,OAAO;AAAA,EACR,CAAE;AACH;;;ADJO,IAAM,4BAA4B;AAAA,EACxC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,WAAW,kBAAE,MAAO,CAAE,qBAAqB,QAAQ,mBAAmB,MAAO,CAAE;AAAA,IAC/E,MAAM;AAAA,EACP,CAAE;AACH;;;AEbA,IAAAC,kBAAkB;AAKX,IAAM,yBAAyB;AAAA,EACrC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,OAAO;AAAA,IACP,MAAM;AAAA,IACN,sBAAsB;AAAA,EACvB,CAAE;AACH;;;ACZA,IAAAC,kBAAkB;;;ACKX,IAAM,qCAAqC,gBAAiB,4BAA4B,qBAAsB;;;ACA9G,IAAM,wCAAwC;AAAA,EACpD;AAAA,EACA;AACD;;;ACHO,IAAM,qCAAqC,gBAAiB,4BAA4B,qBAAsB;;;AHE9G,IAAM,wBAAwB,mCAAmC,OACtE,GAAI,sCAAsC,MAAO,EACjD,GAAI,mCAAmC,MAAO;AAEzC,IAAM,gCAAgC,gBAAiB,sBAAsB,kBAAE,MAAO,qBAAsB,CAAE;;;AIN9G,IAAM,4CAA4C;AAAA,EACxD;AAAA,EACA;AACD;;;ACHO,IAAM,uCAAuC;AAAA,EACnD;AAAA,EACA;AACD;;;ACRA,IAAAC,kBAAkB;AAIX,IAAM,sBAAsB,gBAAiB,WAAW,kBAAE,QAAQ,EAAE,SAAS,CAAE;;;ACJtF,IAAAC,kBAAkB;AAKX,IAAM,wBAAwB;AAAA,EACpC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,OAAO;AAAA,IACP,QAAQ;AAAA,EACT,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAKX,IAAM,gCAAgC;AAAA,EAC5C;AAAA,EACA,kBAAE,MAAO,sBAAsB,MAAO;AACvC;;;ACRA,IAAAC,kBAAkB;AAKX,IAAM,uBAAuB;AAAA,EACnC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAKX,IAAM,uBAAuB;AAAA,EACnC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAKX,IAAM,oBAAoB;AAAA,EAChC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,IAAI;AAAA,IACJ,OAAO;AAAA,EACR,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAIX,IAAM,mBAAmB,gBAAiB,QAAQ,kBAAE,OAAO,EAAE,SAAS,CAAE;;;ACJ/E,IAAAC,kBAAkB;;;ACAlB,IAAAC,kBAAkB;AAKX,IAAM,+BAA+B;AAAA,EAC3C;AAAA,EACA,kBAAE,OAAQ;AAAA,IACT,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,EACR,CAAE;AACH;;;ACbA,IAAAC,kBAAkB;AAKX,IAAM,yBAAyB;AAAA,EACrC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,MAAM;AAAA,EACP,CAAE;AACH;;;ACVA,IAAAC,kBAAkB;AAKX,IAAM,8BAA8B;AAAA,EAC1C;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,MAAM;AAAA,EACP,CAAE;AACH;;;ACVA,IAAAC,kBAAkB;AAKX,IAAM,8BAA8B;AAAA,EAC1C;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,MAAM;AAAA,EACP,CAAE;AACH;;;ACVA,IAAAC,kBAAkB;AAKX,IAAM,8BAA8B;AAAA,EAC1C;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,MAAM;AAAA,EACP,CAAE;AACH;;;ALAO,IAAM,4BAA4B;AAAA,EACxC;AAAA,EACA,kBAAE,OAAQ;AAAA,IACT,MAAM,mBAAmB;AAAA,IACzB,MAAM,kBAAE,MAAO;AAAA,MACd,uBAAuB;AAAA,MACvB,4BAA4B;AAAA,MAC5B,4BAA4B;AAAA,MAC5B,4BAA4B;AAAA,MAC5B,6BAA6B;AAAA,IAC9B,CAAE;AAAA,EACH,CAAE;AACH;AAEO,IAAM,qBAAqB,gBAAiB,UAAU,kBAAE,MAAO,0BAA0B,MAAO,CAAE;;;AMxBzG,IAAAC,kBAAkB;AAKX,IAAM,wBAAwB;AAAA,EACpC;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,uBAAuB;AAAA,IACvB,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,sBAAsB;AAAA,EACvB,CAAE;AACH;;;ACbA,IAAAC,kBAAkB;;;ACAlB,IAAAC,kBAAkB;;;ACEX,IAAM,wBAA8D;AAAA,EAC1E,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACP;;;ADDO,IAAM,4BAA4B;AAAA,EACxC,sBAAsB;AAAA,EACtB,kBAAE,aAAc;AAAA,IACf,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,CAAE;AACH;;;AEbA,IAAAC,kBAAkB;AAMX,IAAM,8BAA8B;AAAA,EAC1C,sBAAsB;AAAA,EACtB,kBAAE,aAAc;AAAA,IACf,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,CAAE;AACH;;;ACbA,IAAAC,kBAAkB;AAMX,IAAM,6BAA6B;AAAA,EACzC,sBAAsB;AAAA,EACtB,kBAAE,aAAc;AAAA,IACf,GAAG,mBAAmB,OAAO,SAAS;AAAA,IACtC,GAAG,mBAAmB,OAAO,SAAS;AAAA,IACtC,GAAG,mBAAmB,OAAO,SAAS;AAAA,EACvC,CAAE;AACH;;;ACbA,IAAAC,kBAAkB;AAMX,IAAM,4BAA4B;AAAA,EACxC,sBAAsB;AAAA,EACtB,kBAAE,aAAc;AAAA,IACf,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,CAAE;AACH;;;ALJA,IAAM,cAAc,0BAA0B,OAC5C,GAAI,2BAA2B,MAAO,EACtC,GAAI,4BAA4B,MAAO,EACvC,GAAI,0BAA0B,MAAO;AAEhC,IAAM,iCAAiC,gBAAiB,uBAAuB,kBAAE,MAAO,WAAY,CAAE;;;AMb7G,IAAAC,kBAAkB;AAKX,IAAM,8BAA8B;AAAA,EAC1C;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,CAAE;AACH;;;ACZA,IAAAC,kBAAkB;AAKX,IAAM,gCAAgC;AAAA,EAC5C;AAAA,EACA,kBAAE,aAAc;AAAA,IACf,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,CAAE;AACH;;;ACXA,IAAAC,kBAAkB;AAKX,IAAM,6BAA6B;AAAA,EACzC;AAAA,EACA,kBAAE,MAAO,0BAA0B,MAAO;AAC3C;;;ACLA,IAAM,gBAAgB,CAAE,GAAY,aAAyB,MAAM,OAAO,WAAW;AAE9E,IAAM,2BAA2B,CAAE,OAA8B,aAAkC;AACzG,QAAM,QAAQ,gBAAiB,KAAM;AAErC,MAAK,OAAO,UAAU,UAAW;AAChC,WAAO,mBAAmB,OAAQ,KAAM;AAAA,EACzC;AACA,MAAK,OAAO,UAAU,UAAW;AAChC,WAAO,mBAAmB,OAAQ,KAAM;AAAA,EACzC;AAEA,MAAK,SAAS,OAAO,UAAU,UAAW;AACzC,QAAK,MAAM,QAAS,KAAM,GAAI;AAC7B,aAAO,MAAM,IAAK,CAAE,SAAU,yBAA0B,MAAM,QAAS,CAAE;AAAA,IAC1E;AACA,UAAM,yBAAyB;AAC/B,QAAK,UAAW;AACf,6BAAuB,SAAS;AAAA,IACjC;AAEA,QAAK,CAAE,uBAAuB,QAAS;AACtC,YAAM,IAAI,MAAO,iCAAiC,KAAK,UAAW,sBAAuB,CAAE;AAAA,IAC5F;AAEA,QAAK,EAAI,WAAW,yBAA2B;AAC9C,YAAM,IAAI,MAAO,0CAA0C,KAAK,UAAW,sBAAuB,CAAE;AAAA,IACrG;AAGA,YAAS,uBAAuB,QAAS;AAAA,MACxC,KAAK,QAAQ;AACZ,cAAM,EAAE,OAAO,iBAAiB,IAAI;AAIpC,cAAM,OACL,OAAO,iBAAiB,SAAS,WAC9B,iBAAiB,OACjB,cAAe,mBAAmB,QAAS,iBAAiB,IAAK,GAAG,IAAK;AAC7E,cAAM,OACL,OAAO,iBAAiB,SAAS,YAAY,OAAO,iBAAiB,SAAS,WAC3E,iBAAiB,OACjB;AAAA,UACA,mBAAmB,QAAS,iBAAiB,IAAK;AAAA,UAClD,mBAAmB,QAAS,iBAAiB,IAAK;AAAA,QAClD;AACJ,eAAO;AAAA,UACN,QAAQ;AAAA,UACR,OAAO;AAAA,YACN;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAEA,QAAK,OAAO,uBAAuB,UAAU,UAAW;AACvD,UAAK,MAAM,QAAS,uBAAuB,KAAM,GAAI;AACpD,+BAAuB,QAAQ;AAAA,UAC9B,uBAAuB;AAAA,UACvB;AAAA,QACD;AAAA,MACD,OAAO;AACN,cAAM,EAAE,OAAO,YAAY,IAAI;AAC/B,cAAM,eAAe;AACrB,qBAAa,QAAQ,CAAC;AACtB,eAAO,KAAM,WAAY,EAAE,QAAS,CAAE,QAAS;AAC9C,gBAAM,YAAc,YAA4C,GAAI;AACpE,UAAE,aAAa,MAAsC,GAAI,IAAI;AAAA,YAC5D;AAAA,YACA;AAAA,UACD;AAAA,QACD,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;;;AC9EO,SAAS,qBAAsB,QAAqB,MAAgB,OAAO,KAAgB;AACjG,QAAM,OAAkC,CAAC;AAEzC,MAAK,OAAO,aAAc;AACzB,SAAK,cAAc,OAAO;AAAA,EAC3B;AAGA,MAAK,OAAO,SAAS,MAAM,QAAS,OAAO,KAAM,GAAI;AACpD,WAAO,iCAAkC,QAAQ,IAAK;AAAA,EACvD;AAGA,MAAK,OAAO,SAAS,YAAY,OAAO,YAAa;AACpD,WAAO,kCAAmC,QAAQ,MAAM,GAAI;AAAA,EAC7D;AAGA,MAAK,OAAO,SAAS,WAAW,OAAO,OAAQ;AAC9C,WAAO,iCAAkC,QAAQ,MAAM,GAAI;AAAA,EAC5D;AAGA,SAAO,iCAAkC,QAAQ,MAAM,GAAI;AAC5D;AAEA,SAAS,iCACR,QACA,MACA,MAAgB,OAAO,KACZ;AACX,QAAM,WAAsC,CAAC;AAG7C,MAAI,UAAU,OAAO;AAErB,MAAK,OAAO,SAAS,UAAW;AAC/B,cAAU;AAAA,EACX,WAAY,OAAO,SAAS,WAAY;AACvC,cAAU;AAAA,EACX,WAAY,OAAO,SAAS,UAAW;AACtC,cAAU;AAAA,EACX;AAGA,MAAK,MAAM,QAAS,OAAO,IAAK,GAAI;AACnC,aAAS,OAAO,OAAO;AAAA,EACxB;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EACD;AACD;AAOA,SAAS,iCAAkC,QAAqB,MAA4C;AAC3G,QAAM,YAAwC,CAAC;AAE/C,MAAK,CAAE,OAAO,SAAS,CAAE,MAAM,QAAS,OAAO,KAAM,GAAI;AACxD,UAAM,IAAI,MAAO,sBAAuB;AAAA,EACzC;AAGA,aAAY,iBAAiB,OAAO,OAAQ;AAE3C,QACC,cAAc,SAAS,YACvB,cAAc,cACd,cAAc,WAAW,UACzB,cAAc,WAAW,OACxB;AACD,YAAM,eAAe,cAAc,WAAW;AAG9C,UAAI;AACJ,UAAK,aAAa,QAAQ,MAAM,QAAS,aAAa,IAAK,KAAK,aAAa,KAAK,SAAS,GAAI;AAC9F,kBAAU,aAAa,KAAM,CAAE;AAAA,MAChC,OAAO;AACN;AAAA,MACD;AAGA,YAAM,gBAAgB,4BAA6B,cAAc,WAAW,KAAM;AAClF,gBAAW,OAAQ,IAAI;AAAA,IACxB;AAAA,EACD;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,UAAU,CAAC;AAAA,IACX;AAAA,EACD;AACD;AAEA,SAAS,kCACR,QACA,MACA,MAAgB,OAAO,KACZ;AACX,QAAM,QAAoC,CAAC;AAE3C,MAAK,CAAE,OAAO,YAAa;AAC1B,WAAO;AAAA,MACN,MAAM;AAAA,MACN;AAAA,MACA,OAAO,CAAC;AAAA,MACR,UAAU,CAAC;AAAA,MACX;AAAA,IACD;AAAA,EACD;AAEA,QAAM,iBAAiB,MAAM,QAAS,OAAO,QAAS,IAAI,OAAO,WAAW,CAAC;AAG7E,aAAY,CAAE,SAAS,UAAW,KAAK,OAAO,QAAS,OAAO,UAAW,GAAI;AAC5E,UAAM,cAAc,4BAA6B,YAAY,GAAI;AAGjE,QAAK,eAAe,SAAU,OAAQ,GAAI;AACzC,kBAAY,WAAW;AAAA,QACtB,GAAG,YAAY;AAAA,QACf,UAAU;AAAA,MACX;AAAA,IACD;AAEA,UAAO,OAAQ,IAAI;AAAA,EACpB;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,IACN,KAAK,OAAO;AAAA,IACZ;AAAA,IACA,UAAU,CAAC;AAAA,IACX;AAAA,EACD;AACD;AAEA,SAAS,iCACR,QACA,MACA,MAAgB,OAAO,KACZ;AACX,MAAK,CAAE,OAAO,OAAQ;AACrB,UAAM,IAAI,MAAO,uCAAwC;AAAA,EAC1D;AAEA,QAAM,eAAe,4BAA6B,OAAO,KAAM;AAE/D,SAAO;AAAA,IACN,MAAM;AAAA,IACN,KAAK,OAAO;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU,CAAC;AAAA,IACX;AAAA,EACD;AACD;AAEA,SAAS,4BAA6B,QAAqB,KAAyB;AACnF,SAAO,qBAAsB,QAAQ,GAAI;AAC1C;;;ACvKO,SAAS,qBAAsB,UAAkC;AACvE,QAAM,cAAc,SAAS,MAAM;AAEnC,QAAM,SAAsB,CAAC;AAE7B,MAAK,aAAc;AAClB,WAAO,cAAc;AAAA,EACtB;AAGA,UAAS,SAAS,MAAO;AAAA,IACxB,KAAK;AACJ,aAAO,qBAAsB,UAAU,MAAO;AAAA,IAC/C,KAAK;AACJ,aAAO,qBAAsB,UAAU,MAAO;AAAA,IAC/C,KAAK;AACJ,aAAO,sBAAuB,UAAU,MAAO;AAAA,IAChD,KAAK;AACJ,aAAO,qBAAsB,UAAU,MAAO;AAAA,IAC/C;AACC,aAAO,qBAAsB,UAAU,MAAO;AAAA,EAChD;AAEA,SAAO;AACR;AAEA,SAAS,qBAAsB,UAAwC,YAAuC;AAC7G,QAAM,SAAS,EAAE,GAAG,WAAW;AAG/B,QAAM,MAAM,SAAS,IAAI,YAAY;AAErC,UAAS,KAAM;AAAA,IACd,KAAK;AACJ,aAAO,OAAO;AACd;AAAA,IACD,KAAK;AACJ,aAAO,OAAO;AACd;AAAA,IACD;AACC,aAAO,OAAO;AAAA,EAChB;AAGA,MAAK,MAAM,QAAS,SAAS,UAAU,IAAK,GAAI;AAC/C,WAAO,OAAO,SAAS,SAAS;AAAA,EACjC;AAEA,SAAO;AACR;AAQA,SAAS,qBAAsB,UAAwC,YAAuC;AAC7G,QAAM,SAAS,gBAAiB,UAAW;AAE3C,QAAM,YAAY,SAAS,cAAc,CAAC;AAC1C,QAAM,UAAyB,CAAC;AAGhC,aAAY,CAAE,SAAS,WAAY,KAAK,OAAO,QAAS,SAAU,GAAI;AACrE,UAAM,YAAY,4BAA6B,WAAY;AAE3D,YAAQ,KAAM;AAAA,MACb,MAAM;AAAA,MACN,UAAU,CAAE,UAAU,OAAQ;AAAA,MAC9B,YAAY;AAAA,QACX,QAAQ;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,aAAa,YAAY,MAAM;AAAA,UAC/B,UAAU,yCAA0C,OAAQ;AAAA,QAC7D;AAAA,QACA,OAAO;AAAA,MACR;AAAA,IACD,CAAE;AAAA,EACH;AAEA,MAAK,QAAQ,SAAS,GAAI;AACzB,WAAO,QAAQ;AAAA,EAChB;AAEA,QAAM,sBAAsB,SAAS,MAAM;AAC3C,MAAK,qBAAsB;AAC1B,WAAO,cAAc;AAAA,EACtB;AACA,SAAO;AACR;AAEA,SAAS,sBAAuB,UAAyC,YAAuC;AAC/G,QAAM,SAAS,gBAAiB,UAAW;AAE3C,SAAO,OAAO;AACd,SAAO,aAAa,CAAC;AAErB,QAAM,WAAqB,CAAC;AAE5B,QAAM,QAAQ,SAAS,SAAS,CAAC;AAGjC,aAAY,CAAE,KAAK,WAAY,KAAK,OAAO,QAAS,KAAM,GAAI;AAC7D,UAAM,aAAa,4BAA6B,WAAY;AAG5D,QAAK,YAAY,UAAU,aAAa,MAAO;AAC9C,eAAS,KAAM,GAAI;AAAA,IACpB;AAEA,WAAO,WAAY,GAAI,IAAI;AAAA,EAC5B;AAGA,MAAK,SAAS,SAAS,GAAI;AAC1B,WAAO,WAAW;AAAA,EACnB;AAEA,SAAO;AACR;AAEA,SAAS,qBAAsB,UAAwC,YAAuC;AAC7G,QAAM,SAAS,gBAAiB,UAAW;AAE3C,SAAO,OAAO;AAEd,QAAM,eAAe,SAAS;AAE9B,MAAK,cAAe;AACnB,WAAO,QAAQ,4BAA6B,YAAa;AAAA,EAC1D;AAEA,SAAO;AACR;AAEA,SAAS,4BAA6B,UAAkC;AACvE,SAAO,qBAAsB,QAAS;AACvC;AA0BO,IAAM,0BAA0B,CAAE,UAAU,WAAW,YAAa;AAEpE,SAAS,sBAAuB,SAA2B;AACjE,SAAO,CAAE,wBAAwB,SAAU,OAAQ;AACpD;AAEO,SAAS,iBAAkB,QAAgC;AACjE,SAAO,OAAO,KAAM,MAAO,EAAE,OAAQ,qBAAsB;AAC5D;;;AChLA,IAAAC,kBAAkB;AAElB,IAAM,sBAAsB,kBAAE,OAAQ;AAAA,EACrC,QAAQ,kBAAE,OAAO;AAAA,EACjB,OAAO,kBAAE,IAAI;AAAA,EACb,UAAU,kBAAE,QAAQ,EAAE,SAAS;AAChC,CAAE;AAIK,IAAM,kBAAkB,CAAE,UAAqD;AACrF,SAAO,oBAAoB,UAAW,KAAM,EAAE;AAC/C;;;ACTO,IAAM,oBAAoB,CAA8B,UAAkC;AAChG,MAAK,QAAS,KAAM,GAAI;AACvB,WAAO;AAAA,EACR;AAEA,MAAK,MAAM,QAAS,KAAM,GAAI;AAC7B,WAAO,MAAM,IAAK,iBAAkB,EAAE,OAAQ,CAAE,SAAU,CAAE,QAAS,IAAK,CAAE;AAAA,EAC7E;AAEA,MAAK,OAAO,UAAU,UAAW;AAChC,WAAO,OAAO;AAAA,MACb,OAAO,QAAS,KAAM,EACpB,IAAK,CAAE,CAAE,KAAK,GAAI,MAAO,CAAE,KAAK,kBAAmB,GAAI,CAAE,CAAE,EAC3D,OAAQ,CAAE,CAAE,EAAE,GAAI,MAAO,CAAE,QAAS,GAAI,CAAE;AAAA,IAC7C;AAAA,EACD;AAEA,SAAO;AACR;AAIO,IAAM,UAAU,CAAE,UAAwC;AAChE,MAAK,SAAS,gBAAiB,KAAM,GAAI;AACxC,WAAO,QAAS,MAAM,KAAM;AAAA,EAC7B;AAEA,SAAO,UAAW,KAAM,KAAK,eAAgB,KAAM,KAAK,gBAAiB,KAAM;AAChF;AAEA,IAAM,YAAY,CAAE,UAAwC,UAAU,QAAQ,UAAU,UAAa,UAAU;AAE/G,IAAM,iBAAiB,CAAE,UACxB,MAAM,QAAS,KAAM,KAAK,MAAM,MAAO,OAAQ;AAEhD,IAAM,kBAAkB,CAAE,UAAyE;AAClG,SAAO,OAAO,UAAU,YAAY,eAAgB,OAAO,OAAQ,KAAM,CAAE;AAC5E;;;ACtCO,SAAS,WAAY,SAAgB,SAAiB;AAE5D,MAAI,QAAe,CAAC;AAEpB,MAAK,CAAE,MAAM,QAAS,OAAQ,GAAI;AACjC,YAAQ,gBAAiB,OAAQ;AAAA,EAClC;AAEA,SAAO,QAAS,OAAQ,EAAE,QAAS,CAAE,CAAE,KAAK,KAAM,MAAO;AACxD,QAAK,UAAU,QAAQ,UAAU,QAAY;AAE5C,aAAO,MAAO,GAAI;AAAA,IACnB,OAAO;AACN,YAAO,GAAI,IAAI;AAAA,IAChB;AAAA,EACD,CAAE;AAEF,SAAO;AACR;;;ACPO,SAAS,gBACf,YACA,QAC4E;AAC5E,MAAK,CAAE,YAAY,MAAM,QAAS;AACjC,WAAO,EAAE,OAAO,KAAK;AAAA,EACtB;AAEA,QAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,QAAM,SAAS,kBAAmB,QAAS;AAE3C,QAAM,sBAAwC,CAAC;AAC/C,QAAM,QAAQ,MAAO,MAAO,EAAG,CAAE,SAAmC;AACnE,UAAM,qBAAqB,aAAc,IAAK;AAC9C,UAAM,SAAS,qBACZ,gBAAiB,MAAM,MAAO,EAAE,QAChC,aAAc,MAAM,aAAc,KAAK,MAAM,MAAO,GAAG,KAAM;AAEhE,QAAK,CAAE,UAAU,CAAE,oBAAqB;AACvC,0BAAoB,KAAM,IAAK;AAAA,IAChC;AAEA,WAAO;AAAA,EACR,CAAE;AAEF,SAAO,EAAE,OAAO,oBAAoB;AACrC;AAEO,SAAS,aAAc,MAAsB,aAAuB;AAC1E,QAAM,EAAE,OAAO,gBAAgB,SAAS,IAAI;AAE5C,UAAS,UAAW;AAAA,IACnB,KAAK;AAAA,IACL,KAAK;AACJ,aAAS,gBAAgB,oBAAuB,SAAS;AAAA,IAE1D,KAAK;AAAA,IACL,KAAK;AACJ,UAAK,CAAE,SAAU,WAAY,KAAK,CAAE,SAAU,cAAe,GAAI;AAChE,eAAO;AAAA,MACR;AAEA,aAAO,OAAQ,WAAY,IAAI,OAAQ,cAAe,OAAQ,SAAS;AAAA,IAExE,KAAK;AAAA,IACL,KAAK;AACJ,UAAK,CAAE,SAAU,WAAY,KAAK,CAAE,SAAU,cAAe,GAAI;AAChE,eAAO;AAAA,MACR;AAEA,aAAO,OAAQ,WAAY,IAAI,OAAQ,cAAe,OAAQ,SAAS;AAAA,IACxE,KAAK;AAAA,IACL,KAAK;AACJ,UAAK,CAAE,MAAM,QAAS,cAAe,GAAI;AACxC,eAAO;AAAA,MACR;AAEA,aAAO,eAAe,SAAU,WAAqB,OAAQ,SAAS;AAAA,IAEvE,KAAK;AAAA,IACL,KAAK;AACJ,WACG,aAAa,OAAO,eAAe,aAAa,OAAO,mBACzD,CAAE,MAAM,QAAS,WAAY,GAC5B;AACD,eAAO;AAAA,MACR;AAEA,aAAS,eAAe,aAAe,YAAY,SAAU,cAAwB;AAAA,IAEtF,KAAK;AAAA,IACL,KAAK;AACJ,YAAM,aAAa,CAAC,CAAE,eAAe,MAAM,eAAe,UAAU;AAEpE,aAAS,aAAa,aAAe;AAAA,IAEtC;AACC,aAAO;AAAA,EACT;AACD;AAEA,SAAS,SAAU,OAAkC;AACpD,SAAO,OAAO,UAAU,YAAY,CAAE,MAAO,KAAM;AACpD;AAEA,SAAS,kBAAmB,UAAqB;AAChD,UAAS,UAAW;AAAA,IACnB,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,IAER;AACC,YAAM,IAAI,MAAO,0BAA2B,QAAS,EAAG;AAAA,EAC1D;AACD;AAEO,SAAS,aAAc,MAAgB,eAAqE;AAClH,SAAO,KAAK,OAAQ,CAAE,KAAK,KAAK,UAAW;AAC1C,UAAM,QAAQ,MAAO,GAAwB;AAE7C,WAAO,UAAU,KAAK,SAAS,KAAK,gBAAiB,KAAM,IAAI,MAAM,SAAS,OAAO;AAAA,EACtF,GAAG,aAAc;AAClB;AAEO,SAAS,aAAc,MAAwD;AACrF,SAAO,cAAc;AACtB;;;A3DhGO,IAAM,SAAS;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;","names":["import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/prop-types/box-shadow.ts","../src/utils/create-prop-utils.ts","../src/prop-types/shadow.ts","../src/prop-types/utils.ts","../src/prop-types/border-radius.ts","../src/prop-types/border-width.ts","../src/prop-types/classes.ts","../src/prop-types/color.ts","../src/prop-types/flex.ts","../src/prop-types/image.ts","../src/prop-types/image-attachment-id.ts","../src/prop-types/image-src.ts","../src/prop-types/dimensions.ts","../src/prop-types/number.ts","../src/prop-types/size.ts","../src/prop-types/string.ts","../src/prop-types/stroke.ts","../src/prop-types/url.ts","../src/prop-types/layout-direction.ts","../src/prop-types/link.ts","../src/prop-types/selection-size.ts","../src/prop-types/key-value.ts","../src/prop-types/background-prop-types/background.ts","../src/prop-types/background-prop-types/background-overlay.ts","../src/prop-types/background-prop-types/background-color-overlay.ts","../src/prop-types/background-prop-types/background-gradient-overlay.ts","../src/prop-types/background-prop-types/background-image-overlay.ts","../src/prop-types/background-prop-types/background-image-position-offset.ts","../src/prop-types/background-prop-types/background-image-size-scale.ts","../src/prop-types/boolean.ts","../src/prop-types/color-stop.ts","../src/prop-types/gradient-color-stop.ts","../src/prop-types/date-time.ts","../src/prop-types/position.ts","../src/prop-types/query.ts","../src/prop-types/html.ts","../src/prop-types/filter-prop-types/filter.ts","../src/prop-types/filter-prop-types/drop-shadow-filter.ts","../src/prop-types/filter-prop-types/filter-functions/blur-filter.ts","../src/prop-types/filter-prop-types/filter-functions/color-tone-filter.ts","../src/prop-types/filter-prop-types/filter-functions/hue-rotate-filter.ts","../src/prop-types/filter-prop-types/filter-functions/intensity-filter.ts","../src/prop-types/transform-prop-types/transform.ts","../src/prop-types/transform-prop-types/transform-functions.ts","../src/prop-types/transform-prop-types/transform-functions/move-transform.ts","../src/prop-types/transform-prop-types/types.ts","../src/prop-types/transform-prop-types/transform-functions/rotate-transform.ts","../src/prop-types/transform-prop-types/transform-functions/scale-transform.ts","../src/prop-types/transform-prop-types/transform-functions/skew-transform.ts","../src/prop-types/transform-prop-types/transform-origin.ts","../src/prop-types/transform-prop-types/perspective-origin.ts","../src/prop-types/filter-prop-types/backdrop-filter.ts","../src/utils/adjust-llm-prop-value-schema.ts","../src/utils/llm-schema-to-props.ts","../src/utils/props-to-llm-schema.ts","../src/utils/is-transformable.ts","../src/utils/filter-empty-values.ts","../src/utils/merge-props.ts","../src/utils/prop-dependency-utils.ts"],"sourcesContent":["import { adjustLlmPropValueSchema } from './utils/adjust-llm-prop-value-schema';\nimport { jsonSchemaToPropType } from './utils/llm-schema-to-props';\nimport {\n\tconfigurableKeys,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tpropTypeToJsonSchema,\n} from './utils/props-to-llm-schema';\n\nexport { type JsonSchema7 } from './utils/prop-json-schema';\n\n// types\nexport * from './types';\nexport { type CreateOptions, type PropTypeUtil } from './utils/create-prop-utils';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { createArrayPropUtils, createPropUtils, getPropSchemaFromCache } from './utils/create-prop-utils';\nexport { filterEmptyValues, isEmpty } from './utils/filter-empty-values';\nexport { isTransformable } from './utils/is-transformable';\nexport { mergeProps } from './utils/merge-props';\nexport { evaluateTerm, extractValue, isDependency, isDependencyMet } from './utils/prop-dependency-utils';\n\nexport const Schema = {\n\tjsonSchemaToPropType,\n\tpropTypeToJsonSchema,\n\tadjustLlmPropValueSchema,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tconfigurableKeys,\n};\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { shadowPropTypeUtil } from './shadow';\n\nexport const boxShadowPropTypeUtil = createPropUtils( 'box-shadow', z.array( shadowPropTypeUtil.schema ) );\n\nexport type BoxShadowPropValue = z.infer< typeof boxShadowPropTypeUtil.schema >;\n","import { z, type ZodType } from '@elementor/schema';\n\nimport { type PropValue, type TransformablePropValue } from '../types';\n\ntype Updater< T > = ( prev?: T ) => T;\n\nexport type CreateOptions = {\n\tbase?: unknown;\n\tdisabled?: boolean;\n};\n\nconst SCHEMA_CACHE = new Map< string, unknown >();\n\nexport type PropTypeUtil< TKey extends string, TValue extends PropValue > = ReturnType<\n\ttypeof createPropUtils< TKey, TValue >\n>;\n\n/**\n * Usage example:\n *\n * ```ts\n * const elementsPropUtils = createPropUtils( 'elements', z.array( z.string() ) );\n *\n * elementsPropUtils.isValid( element.props?.children );\n * elementsPropUtils.create( [ 'a', 'b' ] );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { base: element.props?.children } );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { disabled: true } );\n * elementsPropUtils.extract( element.props?.children );\n *\n * ```\n */\n\nexport function getPropSchemaFromCache( key: string ) {\n\treturn SCHEMA_CACHE.get( key ) as PropTypeUtil< string, PropValue > | undefined;\n}\n\nexport function createPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >\n) {\n\tconst schema = z.strictObject( {\n\t\t$$type: z.literal( key ),\n\t\tvalue: valueSchema,\n\t\tdisabled: z.boolean().optional(),\n\t} );\n\n\ttype Prop = TransformablePropValue< TKey, TValue >;\n\n\tfunction isValid( prop: unknown ): prop is Prop {\n\t\treturn schema.safeParse( prop ).success;\n\t}\n\n\tfunction create( value: TValue ): Prop;\n\tfunction create( value: TValue, createOptions?: CreateOptions ): Prop;\n\tfunction create( value: Updater< TValue >, createOptions: CreateOptions ): Prop;\n\tfunction create( value: TValue | Updater< TValue >, createOptions?: CreateOptions ): Prop {\n\t\tconst fn = ( typeof value === 'function' ? value : () => value ) as Updater< TValue >;\n\n\t\tconst { base, disabled } = createOptions || {};\n\n\t\tif ( ! base ) {\n\t\t\treturn {\n\t\t\t\t$$type: key,\n\t\t\t\tvalue: fn(),\n\t\t\t\t...( disabled && { disabled } ),\n\t\t\t};\n\t\t}\n\n\t\tif ( ! isValid( base ) ) {\n\t\t\tthrow new Error( `Cannot create prop based on invalid value: ${ JSON.stringify( base ) }` );\n\t\t}\n\n\t\treturn {\n\t\t\t$$type: key,\n\t\t\tvalue: fn( base.value ),\n\t\t\t...( disabled && { disabled } ),\n\t\t};\n\t}\n\n\tfunction extract( prop: unknown ): TValue | null {\n\t\tif ( ! isValid( prop ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn prop.value;\n\t}\n\n\tconst propUtil = {\n\t\textract,\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t\tkey: key as TKey,\n\t};\n\n\tSCHEMA_CACHE.set( key, propUtil );\n\treturn propUtil;\n}\n\nexport function createArrayPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >,\n\toverrideKey?: string\n) {\n\treturn createPropUtils( overrideKey || `${ key }-array`, z.array( valueSchema ) );\n}\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const shadowPropTypeUtil = createPropUtils(\n\t'shadow',\n\tz.strictObject( {\n\t\tposition: unknownChildrenSchema,\n\t\thOffset: unknownChildrenSchema,\n\t\tvOffset: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tspread: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type ShadowPropValue = z.infer< typeof shadowPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nexport const unknownChildrenSchema = z.any().nullable();\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderRadiusPropTypeUtil = createPropUtils(\n\t'border-radius',\n\tz.strictObject( {\n\t\t'start-start': unknownChildrenSchema,\n\t\t'start-end': unknownChildrenSchema,\n\t\t'end-start': unknownChildrenSchema,\n\t\t'end-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderRadiusPropValue = z.infer< typeof borderRadiusPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderWidthPropTypeUtil = createPropUtils(\n\t'border-width',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderWidthPropValue = z.infer< typeof borderWidthPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const CLASSES_PROP_KEY = 'classes';\n\nexport const classesPropTypeUtil = createPropUtils(\n\tCLASSES_PROP_KEY,\n\tz.array( z.string().regex( /^[a-z][a-z-_0-9]*$/i ) )\n);\n\nexport type ClassesPropValue = z.infer< typeof classesPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const colorPropTypeUtil = createPropUtils( 'color', z.string() );\n\nexport type ColorPropValue = z.infer< typeof colorPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const flexPropTypeUtil = createPropUtils(\n\t'flex',\n\tz.strictObject( {\n\t\tflexGrow: unknownChildrenSchema,\n\t\tflexShrink: unknownChildrenSchema,\n\t\tflexBasis: unknownChildrenSchema,\n\t} )\n);\n\nexport type FlexPropValue = z.infer< typeof flexPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imagePropTypeUtil = createPropUtils(\n\t'image',\n\tz.strictObject( {\n\t\tsrc: unknownChildrenSchema,\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type ImagePropValue = z.infer< typeof imagePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const imageAttachmentIdPropType = createPropUtils( 'image-attachment-id', z.number() );\n\nexport type ImageAttachmentIdPropValue = z.infer< typeof imageAttachmentIdPropType.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imageSrcPropTypeUtil = createPropUtils(\n\t'image-src',\n\tz\n\t\t.strictObject( {\n\t\t\tid: unknownChildrenSchema,\n\t\t\turl: z.null(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tid: z.null(),\n\t\t\t\turl: unknownChildrenSchema,\n\t\t\t} )\n\t\t)\n);\n\nexport type ImageSrcPropValue = z.infer< typeof imageSrcPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const dimensionsPropTypeUtil = createPropUtils(\n\t'dimensions',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type DimensionsPropValue = z.infer< typeof dimensionsPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const numberPropTypeUtil = createPropUtils( 'number', z.number().nullable() );\n\nexport type NumberPropValue = z.infer< typeof numberPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const sizePropTypeUtil = createPropUtils(\n\t'size',\n\tz\n\t\t.strictObject( {\n\t\t\tunit: z.enum( [ 'px', 'em', 'rem', '%', 'vw', 'vh' ] ),\n\t\t\tsize: z.number(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 'deg', 'rad', 'grad', 'turn' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 's', 'ms' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'auto' ),\n\t\t\t\tsize: z.literal( '' ),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'custom' ),\n\t\t\t\tsize: z.string(),\n\t\t\t} )\n\t\t)\n);\n\nexport type SizePropValue = z.infer< typeof sizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const stringPropTypeUtil = createPropUtils( 'string', z.string().nullable() );\n\nexport type StringPropValue = z.infer< typeof stringPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const strokePropTypeUtil = createPropUtils(\n\t'stroke',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\twidth: unknownChildrenSchema,\n\t} )\n);\n\nexport type StrokePropValue = z.infer< typeof strokePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const urlPropTypeUtil = createPropUtils( 'url', z.string().nullable() );\n\nexport type UrlPropValue = z.infer< typeof urlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const layoutDirectionPropTypeUtil = createPropUtils(\n\t'layout-direction',\n\tz.object( {\n\t\trow: z.any(),\n\t\tcolumn: z.any(),\n\t} )\n);\n\nexport type LayoutDirectionPropValue = z.infer< typeof layoutDirectionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const linkPropTypeUtil = createPropUtils(\n\t'link',\n\tz.strictObject( {\n\t\tdestination: unknownChildrenSchema,\n\t\tisTargetBlank: unknownChildrenSchema,\n\t\ttag: unknownChildrenSchema,\n\t} )\n);\n\nexport type LinkPropValue = z.infer< typeof linkPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { keyValuePropTypeUtil } from './key-value';\nimport { stringPropTypeUtil } from './string';\nimport { unknownChildrenSchema } from './utils';\n\nexport const selectionSizePropTypeUtil = createPropUtils(\n\t'selection-size',\n\tz.strictObject( {\n\t\tselection: z.union( [ keyValuePropTypeUtil.schema, stringPropTypeUtil.schema ] ),\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type SelectionSizePropValue = z.infer< typeof selectionSizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const keyValuePropTypeUtil = createPropUtils(\n\t'key-value',\n\tz.strictObject( {\n\t\tkey: unknownChildrenSchema,\n\t\tvalue: unknownChildrenSchema,\n\t} )\n);\n\nexport type KeyValuePropValue = z.infer< typeof keyValuePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundPropTypeUtil = createPropUtils(\n\t'background',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\tclip: unknownChildrenSchema,\n\t\t'background-overlay': unknownChildrenSchema,\n\t} )\n);\n\nexport type BackgroundPropValue = z.infer< typeof backgroundPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { backgroundColorOverlayPropTypeUtil } from './background-color-overlay';\nimport { backgroundGradientOverlayPropTypeUtil } from './background-gradient-overlay';\nimport { backgroundImageOverlayPropTypeUtil } from './background-image-overlay';\n\nexport const backgroundOverlayItem = backgroundColorOverlayPropTypeUtil.schema\n\t.or( backgroundGradientOverlayPropTypeUtil.schema )\n\t.or( backgroundImageOverlayPropTypeUtil.schema );\n\nexport const backgroundOverlayPropTypeUtil = createPropUtils( 'background-overlay', z.array( backgroundOverlayItem ) );\n\nexport type BackgroundOverlayPropValue = z.infer< typeof backgroundOverlayPropTypeUtil.schema >;\nexport type BackgroundOverlayItemPropValue = z.infer< typeof backgroundOverlayItem >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundColorOverlayPropTypeUtil = createPropUtils( 'background-color-overlay', unknownChildrenSchema );\n\nexport type BackgroundColorOverlayPropValue = z.infer< typeof backgroundColorOverlayPropTypeUtil.schema >;\n","import type { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundGradientOverlayPropTypeUtil = createPropUtils(\n\t'background-gradient-overlay',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundGradientOverlayPropValue = z.infer< typeof backgroundGradientOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageOverlayPropTypeUtil = createPropUtils( 'background-image-overlay', unknownChildrenSchema );\n\nexport type BackgroundImageOverlayPropValue = z.infer< typeof backgroundImageOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImagePositionOffsetPropTypeUtil = createPropUtils(\n\t'background-image-position-offset',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImagePositionOffsetPropValue = z.infer< typeof backgroundImagePositionOffsetPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageSizeScalePropTypeUtil = createPropUtils(\n\t'background-image-size-scale',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImageSizeScalePropValue = z.infer< typeof backgroundImageSizeScalePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const booleanPropTypeUtil = createPropUtils( 'boolean', z.boolean().nullable() );\n\nexport type BooleanPropValue = z.infer< typeof booleanPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const colorStopPropTypeUtil = createPropUtils(\n\t'color-stop',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\toffset: unknownChildrenSchema,\n\t} )\n);\n\nexport type ColorStopPropValue = z.infer< typeof colorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { colorStopPropTypeUtil } from './color-stop';\n\nexport const gradientColorStopPropTypeUtil = createPropUtils(\n\t'gradient-color-stop',\n\tz.array( colorStopPropTypeUtil.schema )\n);\n\nexport type GradientColorStopPropValue = z.infer< typeof gradientColorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const DateTimePropTypeUtil = createPropUtils(\n\t'date-time',\n\tz.strictObject( {\n\t\tdate: unknownChildrenSchema,\n\t\ttime: unknownChildrenSchema,\n\t} )\n);\n\nexport type DateTimePropValue = z.infer< typeof DateTimePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const positionPropTypeUtil = createPropUtils(\n\t'object-position',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PositionPropTypeValue = z.infer< typeof positionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const queryPropTypeUtil = createPropUtils(\n\t'query',\n\tz.strictObject( {\n\t\tid: unknownChildrenSchema,\n\t\tlabel: unknownChildrenSchema,\n\t} )\n);\n\nexport type QueryPropValue = z.infer< typeof queryPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const htmlPropTypeUtil = createPropUtils( 'html', z.string().nullable() );\n\nexport type HtmlPropValue = z.infer< typeof htmlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { stringPropTypeUtil } from '../string';\nimport { dropShadowFilterPropTypeUtil } from './drop-shadow-filter';\nimport { blurFilterPropTypeUtil } from './filter-functions/blur-filter';\nimport { colorToneFilterPropTypeUtil } from './filter-functions/color-tone-filter';\nimport { hueRotateFilterPropTypeUtil } from './filter-functions/hue-rotate-filter';\nimport { intensityFilterPropTypeUtil } from './filter-functions/intensity-filter';\n\nexport const cssFilterFunctionPropUtil = createPropUtils(\n\t'css-filter-func',\n\tz.object( {\n\t\tfunc: stringPropTypeUtil.schema,\n\t\targs: z.union( [\n\t\t\tblurFilterPropTypeUtil.schema,\n\t\t\tintensityFilterPropTypeUtil.schema,\n\t\t\tcolorToneFilterPropTypeUtil.schema,\n\t\t\thueRotateFilterPropTypeUtil.schema,\n\t\t\tdropShadowFilterPropTypeUtil.schema,\n\t\t] ),\n\t} )\n);\n\nexport const filterPropTypeUtil = createPropUtils( 'filter', z.array( cssFilterFunctionPropUtil.schema ) );\n\nexport type FilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n\nexport type FilterPropValue = z.infer< typeof filterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const dropShadowFilterPropTypeUtil = createPropUtils(\n\t'drop-shadow',\n\tz.object( {\n\t\txAxis: unknownChildrenSchema,\n\t\tyAxis: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type DropShadowFilterPropValue = z.infer< typeof dropShadowFilterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const blurFilterPropTypeUtil = createPropUtils(\n\t'blur',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const colorToneFilterPropTypeUtil = createPropUtils(\n\t'color-tone',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const hueRotateFilterPropTypeUtil = createPropUtils(\n\t'hue-rotate',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const intensityFilterPropTypeUtil = createPropUtils(\n\t'intensity',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformPropTypeUtil = createPropUtils(\n\t'transform',\n\tz.strictObject( {\n\t\t'transform-functions': unknownChildrenSchema,\n\t\t'transform-origin': unknownChildrenSchema,\n\t\tperspective: unknownChildrenSchema,\n\t\t'perspective-origin': unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformPropValue = z.infer< typeof transformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { moveTransformPropTypeUtil } from './transform-functions/move-transform';\nimport { rotateTransformPropTypeUtil } from './transform-functions/rotate-transform';\nimport { scaleTransformPropTypeUtil } from './transform-functions/scale-transform';\nimport { skewTransformPropTypeUtil } from './transform-functions/skew-transform';\n\nconst filterTypes = moveTransformPropTypeUtil.schema\n\t.or( scaleTransformPropTypeUtil.schema )\n\t.or( rotateTransformPropTypeUtil.schema )\n\t.or( skewTransformPropTypeUtil.schema );\n\nexport const transformFunctionsPropTypeUtil = createPropUtils( 'transform-functions', z.array( filterTypes ) );\n\nexport type TransformFunctionsPropValue = z.infer< typeof transformFunctionsPropTypeUtil.schema >;\n\nexport type TransformFunctionsItemPropValue = z.infer< typeof filterTypes >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const moveTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.move,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type MoveTransformPropValue = z.infer< typeof moveTransformPropTypeUtil.schema >;\n","type TransformFunctions = 'transform-move' | 'transform-scale' | 'transform-rotate' | 'transform-skew';\n\nexport const TransformFunctionKeys: Record< string, TransformFunctions > = {\n\tmove: 'transform-move',\n\tscale: 'transform-scale',\n\trotate: 'transform-rotate',\n\tskew: 'transform-skew',\n};\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const rotateTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.rotate,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type RotateTransformPropValue = z.infer< typeof rotateTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { numberPropTypeUtil } from '../../number';\nimport { TransformFunctionKeys } from '../types';\n\nexport const scaleTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.scale,\n\tz.strictObject( {\n\t\tx: numberPropTypeUtil.schema.nullable(),\n\t\ty: numberPropTypeUtil.schema.nullable(),\n\t\tz: numberPropTypeUtil.schema.nullable(),\n\t} )\n);\n\nexport type ScaleTransformPropValue = z.infer< typeof scaleTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const skewTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.skew,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type SkewTransformPropValue = z.infer< typeof skewTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformOriginPropTypeUtil = createPropUtils(\n\t'transform-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformOriginPropValue = z.infer< typeof transformOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const perspectiveOriginPropTypeUtil = createPropUtils(\n\t'perspective-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PerspectiveOriginPropValue = z.infer< typeof perspectiveOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { cssFilterFunctionPropUtil } from './filter';\n\nexport const backdropFilterPropTypeUtil = createPropUtils(\n\t'backdrop-filter',\n\tz.array( cssFilterFunctionPropUtil.schema )\n);\n\nexport type BackdropFilterPropValue = z.infer< typeof backdropFilterPropTypeUtil.schema >;\n\nexport type BackdropFilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n","import { numberPropTypeUtil, type NumberPropValue, stringPropTypeUtil, type StringPropValue } from '../prop-types';\nimport { type ObjectPropValue, type PropValue, type TransformablePropValue } from '../types';\n\nconst ensureNotNull = ( v: unknown, fallback: unknown ) => ( v === null ? fallback : v );\n\nexport const adjustLlmPropValueSchema = ( value: Readonly< PropValue >, forceKey?: string ): PropValue => {\n\tconst clone = structuredClone( value );\n\n\tif ( typeof clone === 'string' ) {\n\t\treturn stringPropTypeUtil.create( clone );\n\t}\n\tif ( typeof clone === 'number' ) {\n\t\treturn numberPropTypeUtil.create( clone );\n\t}\n\t// Check for transformable types\n\tif ( clone && typeof clone === 'object' ) {\n\t\tif ( Array.isArray( clone ) ) {\n\t\t\treturn clone.map( ( item ) => adjustLlmPropValueSchema( item, forceKey ) ) as PropValue;\n\t\t}\n\t\tconst transformablePropValue = clone as TransformablePropValue< string >;\n\t\tif ( forceKey ) {\n\t\t\ttransformablePropValue.$$type = forceKey;\n\t\t}\n\n\t\tif ( ! transformablePropValue.$$type ) {\n\t\t\tthrow new Error( 'Missing $$type in property: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\tif ( ! ( 'value' in transformablePropValue ) ) {\n\t\t\tthrow new Error( 'Missing value property in PropValue: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\t// fix by type\n\t\tswitch ( transformablePropValue.$$type ) {\n\t\t\tcase 'size': {\n\t\t\t\tconst { value: rawSizePropValue } = transformablePropValue as TransformablePropValue<\n\t\t\t\t\tstring,\n\t\t\t\t\t{ size: StringPropValue | NumberPropValue; unit: StringPropValue }\n\t\t\t\t>;\n\t\t\t\tconst unit =\n\t\t\t\t\ttypeof rawSizePropValue.unit === 'string'\n\t\t\t\t\t\t? rawSizePropValue.unit\n\t\t\t\t\t\t: ensureNotNull( stringPropTypeUtil.extract( rawSizePropValue.unit ), 'px' );\n\t\t\t\tconst size =\n\t\t\t\t\ttypeof rawSizePropValue.size === 'string' || typeof rawSizePropValue.size === 'number'\n\t\t\t\t\t\t? rawSizePropValue.size\n\t\t\t\t\t\t: ensureNotNull(\n\t\t\t\t\t\t\t\tstringPropTypeUtil.extract( rawSizePropValue.size ),\n\t\t\t\t\t\t\t\tnumberPropTypeUtil.extract( rawSizePropValue.size )\n\t\t\t\t\t\t );\n\t\t\t\treturn {\n\t\t\t\t\t$$type: 'size',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tunit,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof transformablePropValue.value === 'object' ) {\n\t\t\tif ( Array.isArray( transformablePropValue.value ) ) {\n\t\t\t\ttransformablePropValue.value = adjustLlmPropValueSchema(\n\t\t\t\t\ttransformablePropValue.value,\n\t\t\t\t\tundefined\n\t\t\t\t) as PropValue[];\n\t\t\t} else {\n\t\t\t\tconst { value: objectValue } = transformablePropValue as ObjectPropValue;\n\t\t\t\tconst clonedObject = clone as ObjectPropValue;\n\t\t\t\tclonedObject.value = {} as Record< string, PropValue >;\n\t\t\t\tObject.keys( objectValue ).forEach( ( key ) => {\n\t\t\t\t\tconst childProp = ( objectValue as Record< string, unknown > )[ key ];\n\t\t\t\t\t( clonedObject.value as Record< string, unknown > )[ key ] = adjustLlmPropValueSchema(\n\t\t\t\t\t\tchildProp as PropValue,\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\treturn clone;\n};\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function jsonSchemaToPropType( schema: JsonSchema7, key = < string >schema.key ): PropType {\n\tconst meta: Record< string, unknown > = {};\n\n\tif ( schema.description ) {\n\t\tmeta.description = schema.description;\n\t}\n\n\t// Handle union types (anyOf)\n\tif ( schema.anyOf && Array.isArray( schema.anyOf ) ) {\n\t\treturn convertJsonSchemaToUnionPropType( schema, meta );\n\t}\n\n\t// Handle object types\n\tif ( schema.type === 'object' && schema.properties ) {\n\t\treturn convertJsonSchemaToObjectPropType( schema, meta, key );\n\t}\n\n\t// Handle array types\n\tif ( schema.type === 'array' && schema.items ) {\n\t\treturn convertJsonSchemaToArrayPropType( schema, meta, key );\n\t}\n\n\t// Handle plain types (string, number, boolean)\n\treturn convertJsonSchemaToPlainPropType( schema, meta, key );\n}\n\nfunction convertJsonSchemaToPlainPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst settings: Record< string, unknown > = {};\n\n\t// Determine the key based on type\n\tlet propKey = key || 'string';\n\n\tif ( schema.type === 'number' ) {\n\t\tpropKey = 'number';\n\t} else if ( schema.type === 'boolean' ) {\n\t\tpropKey = 'boolean';\n\t} else if ( schema.type === 'string' ) {\n\t\tpropKey = 'string';\n\t}\n\n\t// Handle enum values\n\tif ( Array.isArray( schema.enum ) ) {\n\t\tsettings.enum = schema.enum;\n\t}\n\n\treturn {\n\t\tkind: 'plain',\n\t\tkey: propKey,\n\t\tsettings,\n\t\tmeta,\n\t} as PropType;\n}\n\n/**\n * Converts a JSON Schema anyOf to a union PropType\n * @param schema\n * @param meta\n */\nfunction convertJsonSchemaToUnionPropType( schema: JsonSchema7, meta: Record< string, unknown > ): PropType {\n\tconst propTypes: Record< string, PropType > = {};\n\n\tif ( ! schema.anyOf || ! Array.isArray( schema.anyOf ) ) {\n\t\tthrow new Error( 'Invalid anyOf schema' );\n\t}\n\n\t// Process each variant in the anyOf array\n\tfor ( const variantSchema of schema.anyOf ) {\n\t\t// Each variant should be an object with $$type and value properties\n\t\tif (\n\t\t\tvariantSchema.type === 'object' &&\n\t\t\tvariantSchema.properties &&\n\t\t\tvariantSchema.properties.$$type &&\n\t\t\tvariantSchema.properties.value\n\t\t) {\n\t\t\tconst typeProperty = variantSchema.properties.$$type;\n\n\t\t\t// Extract the type key from the enum\n\t\t\tlet typeKey: string;\n\t\t\tif ( typeProperty.enum && Array.isArray( typeProperty.enum ) && typeProperty.enum.length > 0 ) {\n\t\t\t\ttypeKey = typeProperty.enum[ 0 ] as string;\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Convert the value schema to a PropType\n\t\t\tconst valuePropType = convertJsonSchemaToPropType( variantSchema.properties.value );\n\t\t\tpropTypes[ typeKey ] = valuePropType;\n\t\t}\n\t}\n\n\treturn {\n\t\tkind: 'union',\n\t\tprop_types: propTypes,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToObjectPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst shape: Record< string, PropType > = {};\n\n\tif ( ! schema.properties ) {\n\t\treturn {\n\t\t\tkind: 'object',\n\t\t\tkey,\n\t\t\tshape: {},\n\t\t\tsettings: {},\n\t\t\tmeta,\n\t\t} as PropType;\n\t}\n\n\tconst requiredFields = Array.isArray( schema.required ) ? schema.required : [];\n\n\t// Convert each property\n\tfor ( const [ propKey, propSchema ] of Object.entries( schema.properties ) ) {\n\t\tconst subPropType = convertJsonSchemaToPropType( propSchema, key );\n\n\t\t// Mark as required if it's in the required array\n\t\tif ( requiredFields.includes( propKey ) ) {\n\t\t\tsubPropType.settings = {\n\t\t\t\t...subPropType.settings,\n\t\t\t\trequired: true,\n\t\t\t};\n\t\t}\n\n\t\tshape[ propKey ] = subPropType;\n\t}\n\n\treturn {\n\t\tkind: 'object',\n\t\tkey: key || 'object',\n\t\tshape,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToArrayPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tif ( ! schema.items ) {\n\t\tthrow new Error( 'Array schema must have items property' );\n\t}\n\n\tconst itemPropType = convertJsonSchemaToPropType( schema.items );\n\n\treturn {\n\t\tkind: 'array',\n\t\tkey: key || 'array',\n\t\titem_prop_type: itemPropType,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToPropType( schema: JsonSchema7, key?: string ): PropType {\n\treturn jsonSchemaToPropType( schema, key );\n}\n\n/**\n * Converts a complete JSON Schema object back to a PropsSchema\n *\n * @param jsonSchema The JSON Schema to convert\n */\nexport function jsonSchemaToPropsSchema( jsonSchema: JsonSchema7 ): PropsSchema {\n\tconst propsSchema: PropsSchema = {};\n\n\tif ( jsonSchema.type !== 'object' || ! jsonSchema.properties ) {\n\t\tthrow new Error( 'Root schema must be an object with properties' );\n\t}\n\n\tfor ( const [ key, propSchema ] of Object.entries( jsonSchema.properties ) ) {\n\t\tpropsSchema[ key ] = convertJsonSchemaToPropType( propSchema, key );\n\t}\n\n\treturn propsSchema;\n}\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function propTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\tconst description = propType.meta?.description;\n\n\tconst schema: JsonSchema7 = {};\n\n\tif ( description ) {\n\t\tschema.description = description;\n\t}\n\n\t// Handle different kinds of prop types\n\tswitch ( propType.kind ) {\n\t\tcase 'plain':\n\t\t\treturn convertPlainPropType( propType, schema );\n\t\tcase 'union':\n\t\t\treturn convertUnionPropType( propType, schema );\n\t\tcase 'object':\n\t\t\treturn convertObjectPropType( propType, schema );\n\t\tcase 'array':\n\t\t\treturn convertArrayPropType( propType, schema );\n\t\tdefault:\n\t\t\treturn convertPlainPropType( propType, schema );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPlainPropType( propType: PropType & { kind: 'plain' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = { ...baseSchema };\n\n\t// Determine type based on key\n\tconst key = propType.key.toLowerCase();\n\n\tswitch ( key ) {\n\t\tcase 'number':\n\t\t\tschema.type = 'number';\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tschema.type = 'boolean';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tschema.type = 'string';\n\t}\n\n\t// Handle enum from settings\n\tif ( Array.isArray( propType.settings?.enum ) ) {\n\t\tschema.enum = propType.settings.enum;\n\t}\n\n\treturn schema;\n}\n\n/**\n * Converts a union prop type to JSON Schema ( электричество anyOf)\n *\n * @param propType The union prop type to convert\n * @param baseSchema Base schema to extend\n */\nfunction convertUnionPropType( propType: PropType & { kind: 'union' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tconst propTypes = propType.prop_types || {};\n\tconst schemas: JsonSchema7[] = [];\n\n\t// Convert each prop type in the union\n\tfor ( const [ typeKey, subPropType ] of Object.entries( propTypes ) ) {\n\t\tconst subSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\tschemas.push( {\n\t\t\ttype: 'object',\n\t\t\trequired: [ '$$type', 'value' ],\n\t\t\tproperties: {\n\t\t\t\t$$type: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tconst: typeKey,\n\t\t\t\t\tdescription: subPropType.meta?.description,\n\t\t\t\t\t$comment: `Discriminator for union type variant: ${ typeKey }`,\n\t\t\t\t},\n\t\t\t\tvalue: subSchema,\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( schemas.length > 0 ) {\n\t\tschema.anyOf = schemas;\n\t}\n\n\tconst propTypeDescription = propType.meta?.description;\n\tif ( propTypeDescription ) {\n\t\tschema.description = propTypeDescription;\n\t}\n\treturn schema;\n}\n\nfunction convertObjectPropType( propType: PropType & { kind: 'object' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'object';\n\tschema.properties = {};\n\n\tconst required: string[] = [];\n\n\tconst shape = propType.shape || {};\n\n\t// Convert each property in the object shape\n\tfor ( const [ key, subPropType ] of Object.entries( shape ) ) {\n\t\tconst propSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\t// Check if this property is required\n\t\tif ( subPropType.settings?.required === true ) {\n\t\t\trequired.push( key );\n\t\t}\n\n\t\tschema.properties[ key ] = propSchema;\n\t}\n\n\t// Add required array if there are required fields\n\tif ( required.length > 0 ) {\n\t\tschema.required = required;\n\t}\n\n\treturn schema;\n}\n\nfunction convertArrayPropType( propType: PropType & { kind: 'array' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'array';\n\n\tconst itemPropType = propType.item_prop_type;\n\n\tif ( itemPropType ) {\n\t\tschema.items = convertPropTypeToJsonSchema( itemPropType );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPropTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\treturn propTypeToJsonSchema( propType );\n}\n\nexport function propsSchemaToJsonSchema( schema: PropsSchema ): JsonSchema7 {\n\tconst jsonSchema: JsonSchema7 = {\n\t\ttype: 'object',\n\t\tproperties: {},\n\t};\n\n\tfor ( const [ key, propType ] of Object.entries( schema ) ) {\n\t\t// Skip internal properties\n\t\tif ( ! isPropKeyConfigurable( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst propSchema = convertPropTypeToJsonSchema( propType );\n\t\tif ( jsonSchema.properties ) {\n\t\t\tjsonSchema.properties[ key ] = propSchema;\n\t\t}\n\n\t\t// Handle required fields at root level if needed\n\t\t// (typically props are optional unless specified)\n\t}\n\n\treturn jsonSchema;\n}\n\nexport const nonConfigurablePropKeys = [ '_cssid', 'classes', 'attributes' ] as readonly string[];\n\nexport function isPropKeyConfigurable( propKey: string ): boolean {\n\treturn ! nonConfigurablePropKeys.includes( propKey );\n}\n\nexport function configurableKeys( schema: PropsSchema ): string[] {\n\treturn Object.keys( schema ).filter( isPropKeyConfigurable );\n}\n","import { z } from '@elementor/schema';\n\nconst transformableSchema = z.object( {\n\t$$type: z.string(),\n\tvalue: z.any(),\n\tdisabled: z.boolean().optional(),\n} );\n\ntype TransformablePropValue = z.infer< typeof transformableSchema >;\n\nexport const isTransformable = ( value: unknown ): value is TransformablePropValue => {\n\treturn transformableSchema.safeParse( value ).success;\n};\n","import { type PropValue } from '../types';\nimport { isTransformable } from '../utils/is-transformable';\n\nexport const filterEmptyValues = < TValue extends PropValue >( value: TValue ): TValue | null => {\n\tif ( isEmpty( value ) ) {\n\t\treturn null;\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.map( filterEmptyValues ).filter( ( item ) => ! isEmpty( item ) ) as TValue;\n\t}\n\n\tif ( typeof value === 'object' ) {\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries( value )\n\t\t\t\t.map( ( [ key, val ] ) => [ key, filterEmptyValues( val ) ] )\n\t\t\t\t.filter( ( [ , val ] ) => ! isEmpty( val ) )\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype Nullish = null | undefined | '';\n\nexport const isEmpty = ( value: PropValue ): value is Nullish => {\n\tif ( value && isTransformable( value ) ) {\n\t\treturn isEmpty( value.value );\n\t}\n\n\treturn isNullish( value ) || isNullishArray( value ) || isNullishObject( value );\n};\n\nconst isNullish = ( value: PropValue ): value is Nullish => value === null || value === undefined || value === '';\n\nconst isNullishArray = ( value: NonNullable< PropValue > ): value is Nullish[] =>\n\tArray.isArray( value ) && value.every( isEmpty );\n\nconst isNullishObject = ( value: NonNullable< PropValue > ): value is Record< string, Nullish > => {\n\treturn typeof value === 'object' && isNullishArray( Object.values( value ) );\n};\n","import type { Props } from '../types';\n\nexport function mergeProps( current: Props, updates: Props ) {\n\t// edge case, the server returns an array instead of an object when empty props because of PHP array / object conversion\n\tlet props: Props = {};\n\n\tif ( ! Array.isArray( current ) ) {\n\t\tprops = structuredClone( current );\n\t}\n\n\tObject.entries( updates ).forEach( ( [ key, value ] ) => {\n\t\tif ( value === null || value === undefined ) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete props[ key ];\n\t\t} else {\n\t\t\tprops[ key ] = value;\n\t\t}\n\t} );\n\n\treturn props;\n}\n","import {\n\ttype Dependency,\n\ttype DependencyTerm,\n\ttype PropKey,\n\ttype PropValue,\n\ttype TransformablePropValue,\n} from '../types';\nimport { isTransformable } from './is-transformable';\n\ntype ParsedTerm = DependencyTerm;\n\ntype Relation = Dependency[ 'relation' ];\n\nexport function isDependencyMet(\n\tdependency: Dependency | undefined,\n\tvalues: PropValue\n): { isMet: true } | { isMet: false; failingDependencies: ( DependencyTerm | Dependency )[] } {\n\tif ( ! dependency?.terms.length ) {\n\t\treturn { isMet: true };\n\t}\n\n\tconst { relation, terms } = dependency;\n\tconst method = getRelationMethod( relation );\n\n\tconst failingDependencies: ( DependencyTerm | Dependency )[] = [];\n\tconst isMet = terms[ method ]( ( term: ParsedTerm | Dependency ) => {\n\t\tconst isNestedDependency = isDependency( term );\n\t\tconst result = isNestedDependency\n\t\t\t? isDependencyMet( term, values ).isMet\n\t\t\t: evaluateTerm( term, extractValue( term.path, values, term.nestedPath )?.value );\n\n\t\tif ( ! result ) {\n\t\t\tfailingDependencies.push( term );\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\treturn { isMet, failingDependencies };\n}\n\nexport function evaluateTerm( term: DependencyTerm, actualValue: unknown ) {\n\tconst { value: valueToCompare, operator } = term;\n\n\tswitch ( operator ) {\n\t\tcase 'eq':\n\t\tcase 'ne':\n\t\t\treturn ( actualValue === valueToCompare ) === ( 'eq' === operator );\n\n\t\tcase 'gt':\n\t\tcase 'lte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) > Number( valueToCompare ) === ( 'gt' === operator );\n\n\t\tcase 'lt':\n\t\tcase 'gte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) < Number( valueToCompare ) === ( 'lt' === operator );\n\t\tcase 'in':\n\t\tcase 'nin':\n\t\t\tif ( ! Array.isArray( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn valueToCompare.includes( actualValue as never ) === ( 'in' === operator );\n\n\t\tcase 'contains':\n\t\tcase 'ncontains':\n\t\t\tif (\n\t\t\t\t( 'string' !== typeof actualValue || 'string' !== typeof valueToCompare ) &&\n\t\t\t\t! Array.isArray( actualValue )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ( 'contains' === operator ) === actualValue.includes( valueToCompare as never );\n\n\t\tcase 'exists':\n\t\tcase 'not_exist':\n\t\t\tconst evaluation = !! actualValue || 0 === actualValue || false === actualValue;\n\n\t\t\treturn ( 'exists' === operator ) === evaluation;\n\n\t\tdefault:\n\t\t\treturn true;\n\t}\n}\n\nfunction isNumber( value: unknown ): value is number {\n\treturn typeof value === 'number' && ! isNaN( value );\n}\n\nfunction getRelationMethod( relation: Relation ) {\n\tswitch ( relation ) {\n\t\tcase 'or':\n\t\t\treturn 'some';\n\n\t\tcase 'and':\n\t\t\treturn 'every';\n\n\t\tdefault:\n\t\t\tthrow new Error( `Relation not supported ${ relation }` );\n\t}\n}\n\nexport function extractValue(\n\tpath: string[],\n\telementValues: PropValue,\n\tnestedPath: string[] = []\n): TransformablePropValue< PropKey > | null {\n\tconst extractedValue = path.reduce( ( acc, key, index ) => {\n\t\tconst value = acc?.[ key as keyof typeof acc ] as PropValue | null;\n\n\t\treturn index !== path.length - 1 && isTransformable( value ) ? value.value ?? null : value;\n\t}, elementValues ) as TransformablePropValue< PropKey >;\n\n\tif ( ! nestedPath?.length ) {\n\t\treturn extractedValue;\n\t}\n\n\tconst nestedValue = nestedPath.reduce(\n\t\t( acc: Record< string, unknown >, key ) => acc?.[ key ] as Record< string, unknown >,\n\t\textractedValue?.value as Record< string, unknown >\n\t);\n\n\treturn {\n\t\t$$type: 'unknown',\n\t\tvalue: nestedValue,\n\t};\n}\n\nexport function isDependency( term: DependencyTerm | Dependency ): term is Dependency {\n\treturn 'terms' in term;\n}\n"],"mappings":"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","names":["import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema","import_schema"]}
package/dist/index.mjs CHANGED
@@ -234,7 +234,8 @@ var linkPropTypeUtil = createPropUtils(
234
234
  "link",
235
235
  z20.strictObject({
236
236
  destination: unknownChildrenSchema,
237
- isTargetBlank: unknownChildrenSchema
237
+ isTargetBlank: unknownChildrenSchema,
238
+ tag: unknownChildrenSchema
238
239
  })
239
240
  );
240
241
 
@@ -867,8 +868,8 @@ function isDependencyMet(dependency, values) {
867
868
  const failingDependencies = [];
868
869
  const isMet = terms[method]((term) => {
869
870
  const isNestedDependency = isDependency(term);
870
- const result = isNestedDependency ? isDependencyMet(term, values).isMet : evaluateTerm(term, extractValue(term.path, values)?.value);
871
- if (!result && !isNestedDependency) {
871
+ const result = isNestedDependency ? isDependencyMet(term, values).isMet : evaluateTerm(term, extractValue(term.path, values, term.nestedPath)?.value);
872
+ if (!result) {
872
873
  failingDependencies.push(term);
873
874
  }
874
875
  return result;
@@ -926,14 +927,25 @@ function getRelationMethod(relation) {
926
927
  throw new Error(`Relation not supported ${relation}`);
927
928
  }
928
929
  }
929
- function extractValue(path, elementValues) {
930
- return path.reduce((acc, key, index) => {
930
+ function extractValue(path, elementValues, nestedPath = []) {
931
+ const extractedValue = path.reduce((acc, key, index) => {
931
932
  const value = acc?.[key];
932
933
  return index !== path.length - 1 && isTransformable(value) ? value.value ?? null : value;
933
934
  }, elementValues);
935
+ if (!nestedPath?.length) {
936
+ return extractedValue;
937
+ }
938
+ const nestedValue = nestedPath.reduce(
939
+ (acc, key) => acc?.[key],
940
+ extractedValue?.value
941
+ );
942
+ return {
943
+ $$type: "unknown",
944
+ value: nestedValue
945
+ };
934
946
  }
935
947
  function isDependency(term) {
936
- return "relation" in term;
948
+ return "terms" in term;
937
949
  }
938
950
 
939
951
  // src/index.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/prop-types/box-shadow.ts","../src/utils/create-prop-utils.ts","../src/prop-types/shadow.ts","../src/prop-types/utils.ts","../src/prop-types/border-radius.ts","../src/prop-types/border-width.ts","../src/prop-types/classes.ts","../src/prop-types/color.ts","../src/prop-types/flex.ts","../src/prop-types/image.ts","../src/prop-types/image-attachment-id.ts","../src/prop-types/image-src.ts","../src/prop-types/dimensions.ts","../src/prop-types/number.ts","../src/prop-types/size.ts","../src/prop-types/string.ts","../src/prop-types/stroke.ts","../src/prop-types/url.ts","../src/prop-types/layout-direction.ts","../src/prop-types/link.ts","../src/prop-types/selection-size.ts","../src/prop-types/key-value.ts","../src/prop-types/background-prop-types/background.ts","../src/prop-types/background-prop-types/background-overlay.ts","../src/prop-types/background-prop-types/background-color-overlay.ts","../src/prop-types/background-prop-types/background-gradient-overlay.ts","../src/prop-types/background-prop-types/background-image-overlay.ts","../src/prop-types/background-prop-types/background-image-position-offset.ts","../src/prop-types/background-prop-types/background-image-size-scale.ts","../src/prop-types/boolean.ts","../src/prop-types/color-stop.ts","../src/prop-types/gradient-color-stop.ts","../src/prop-types/date-time.ts","../src/prop-types/position.ts","../src/prop-types/query.ts","../src/prop-types/html.ts","../src/prop-types/filter-prop-types/filter.ts","../src/prop-types/filter-prop-types/drop-shadow-filter.ts","../src/prop-types/filter-prop-types/filter-functions/blur-filter.ts","../src/prop-types/filter-prop-types/filter-functions/color-tone-filter.ts","../src/prop-types/filter-prop-types/filter-functions/hue-rotate-filter.ts","../src/prop-types/filter-prop-types/filter-functions/intensity-filter.ts","../src/prop-types/transform-prop-types/transform.ts","../src/prop-types/transform-prop-types/transform-functions.ts","../src/prop-types/transform-prop-types/transform-functions/move-transform.ts","../src/prop-types/transform-prop-types/types.ts","../src/prop-types/transform-prop-types/transform-functions/rotate-transform.ts","../src/prop-types/transform-prop-types/transform-functions/scale-transform.ts","../src/prop-types/transform-prop-types/transform-functions/skew-transform.ts","../src/prop-types/transform-prop-types/transform-origin.ts","../src/prop-types/transform-prop-types/perspective-origin.ts","../src/prop-types/filter-prop-types/backdrop-filter.ts","../src/utils/adjust-llm-prop-value-schema.ts","../src/utils/llm-schema-to-props.ts","../src/utils/props-to-llm-schema.ts","../src/utils/is-transformable.ts","../src/utils/filter-empty-values.ts","../src/utils/merge-props.ts","../src/utils/prop-dependency-utils.ts","../src/index.ts"],"sourcesContent":["import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { shadowPropTypeUtil } from './shadow';\n\nexport const boxShadowPropTypeUtil = createPropUtils( 'box-shadow', z.array( shadowPropTypeUtil.schema ) );\n\nexport type BoxShadowPropValue = z.infer< typeof boxShadowPropTypeUtil.schema >;\n","import { z, type ZodType } from '@elementor/schema';\n\nimport { type PropValue, type TransformablePropValue } from '../types';\n\ntype Updater< T > = ( prev?: T ) => T;\n\nexport type CreateOptions = {\n\tbase?: unknown;\n\tdisabled?: boolean;\n};\n\nconst SCHEMA_CACHE = new Map< string, unknown >();\n\nexport type PropTypeUtil< TKey extends string, TValue extends PropValue > = ReturnType<\n\ttypeof createPropUtils< TKey, TValue >\n>;\n\n/**\n * Usage example:\n *\n * ```ts\n * const elementsPropUtils = createPropUtils( 'elements', z.array( z.string() ) );\n *\n * elementsPropUtils.isValid( element.props?.children );\n * elementsPropUtils.create( [ 'a', 'b' ] );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { base: element.props?.children } );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { disabled: true } );\n * elementsPropUtils.extract( element.props?.children );\n *\n * ```\n */\n\nexport function getPropSchemaFromCache( key: string ) {\n\treturn SCHEMA_CACHE.get( key ) as PropTypeUtil< string, PropValue > | undefined;\n}\n\nexport function createPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >\n) {\n\tconst schema = z.strictObject( {\n\t\t$$type: z.literal( key ),\n\t\tvalue: valueSchema,\n\t\tdisabled: z.boolean().optional(),\n\t} );\n\n\ttype Prop = TransformablePropValue< TKey, TValue >;\n\n\tfunction isValid( prop: unknown ): prop is Prop {\n\t\treturn schema.safeParse( prop ).success;\n\t}\n\n\tfunction create( value: TValue ): Prop;\n\tfunction create( value: TValue, createOptions?: CreateOptions ): Prop;\n\tfunction create( value: Updater< TValue >, createOptions: CreateOptions ): Prop;\n\tfunction create( value: TValue | Updater< TValue >, createOptions?: CreateOptions ): Prop {\n\t\tconst fn = ( typeof value === 'function' ? value : () => value ) as Updater< TValue >;\n\n\t\tconst { base, disabled } = createOptions || {};\n\n\t\tif ( ! base ) {\n\t\t\treturn {\n\t\t\t\t$$type: key,\n\t\t\t\tvalue: fn(),\n\t\t\t\t...( disabled && { disabled } ),\n\t\t\t};\n\t\t}\n\n\t\tif ( ! isValid( base ) ) {\n\t\t\tthrow new Error( `Cannot create prop based on invalid value: ${ JSON.stringify( base ) }` );\n\t\t}\n\n\t\treturn {\n\t\t\t$$type: key,\n\t\t\tvalue: fn( base.value ),\n\t\t\t...( disabled && { disabled } ),\n\t\t};\n\t}\n\n\tfunction extract( prop: unknown ): TValue | null {\n\t\tif ( ! isValid( prop ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn prop.value;\n\t}\n\n\tconst propUtil = {\n\t\textract,\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t\tkey: key as TKey,\n\t};\n\n\tSCHEMA_CACHE.set( key, propUtil );\n\treturn propUtil;\n}\n\nexport function createArrayPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >,\n\toverrideKey?: string\n) {\n\treturn createPropUtils( overrideKey || `${ key }-array`, z.array( valueSchema ) );\n}\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const shadowPropTypeUtil = createPropUtils(\n\t'shadow',\n\tz.strictObject( {\n\t\tposition: unknownChildrenSchema,\n\t\thOffset: unknownChildrenSchema,\n\t\tvOffset: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tspread: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type ShadowPropValue = z.infer< typeof shadowPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nexport const unknownChildrenSchema = z.any().nullable();\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderRadiusPropTypeUtil = createPropUtils(\n\t'border-radius',\n\tz.strictObject( {\n\t\t'start-start': unknownChildrenSchema,\n\t\t'start-end': unknownChildrenSchema,\n\t\t'end-start': unknownChildrenSchema,\n\t\t'end-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderRadiusPropValue = z.infer< typeof borderRadiusPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderWidthPropTypeUtil = createPropUtils(\n\t'border-width',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderWidthPropValue = z.infer< typeof borderWidthPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const CLASSES_PROP_KEY = 'classes';\n\nexport const classesPropTypeUtil = createPropUtils(\n\tCLASSES_PROP_KEY,\n\tz.array( z.string().regex( /^[a-z][a-z-_0-9]*$/i ) )\n);\n\nexport type ClassesPropValue = z.infer< typeof classesPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const colorPropTypeUtil = createPropUtils( 'color', z.string() );\n\nexport type ColorPropValue = z.infer< typeof colorPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const flexPropTypeUtil = createPropUtils(\n\t'flex',\n\tz.strictObject( {\n\t\tflexGrow: unknownChildrenSchema,\n\t\tflexShrink: unknownChildrenSchema,\n\t\tflexBasis: unknownChildrenSchema,\n\t} )\n);\n\nexport type FlexPropValue = z.infer< typeof flexPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imagePropTypeUtil = createPropUtils(\n\t'image',\n\tz.strictObject( {\n\t\tsrc: unknownChildrenSchema,\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type ImagePropValue = z.infer< typeof imagePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const imageAttachmentIdPropType = createPropUtils( 'image-attachment-id', z.number() );\n\nexport type ImageAttachmentIdPropValue = z.infer< typeof imageAttachmentIdPropType.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imageSrcPropTypeUtil = createPropUtils(\n\t'image-src',\n\tz\n\t\t.strictObject( {\n\t\t\tid: unknownChildrenSchema,\n\t\t\turl: z.null(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tid: z.null(),\n\t\t\t\turl: unknownChildrenSchema,\n\t\t\t} )\n\t\t)\n);\n\nexport type ImageSrcPropValue = z.infer< typeof imageSrcPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const dimensionsPropTypeUtil = createPropUtils(\n\t'dimensions',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type DimensionsPropValue = z.infer< typeof dimensionsPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const numberPropTypeUtil = createPropUtils( 'number', z.number().nullable() );\n\nexport type NumberPropValue = z.infer< typeof numberPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const sizePropTypeUtil = createPropUtils(\n\t'size',\n\tz\n\t\t.strictObject( {\n\t\t\tunit: z.enum( [ 'px', 'em', 'rem', '%', 'vw', 'vh' ] ),\n\t\t\tsize: z.number(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 'deg', 'rad', 'grad', 'turn' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 's', 'ms' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'auto' ),\n\t\t\t\tsize: z.literal( '' ),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'custom' ),\n\t\t\t\tsize: z.string(),\n\t\t\t} )\n\t\t)\n);\n\nexport type SizePropValue = z.infer< typeof sizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const stringPropTypeUtil = createPropUtils( 'string', z.string().nullable() );\n\nexport type StringPropValue = z.infer< typeof stringPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const strokePropTypeUtil = createPropUtils(\n\t'stroke',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\twidth: unknownChildrenSchema,\n\t} )\n);\n\nexport type StrokePropValue = z.infer< typeof strokePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const urlPropTypeUtil = createPropUtils( 'url', z.string().nullable() );\n\nexport type UrlPropValue = z.infer< typeof urlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const layoutDirectionPropTypeUtil = createPropUtils(\n\t'layout-direction',\n\tz.object( {\n\t\trow: z.any(),\n\t\tcolumn: z.any(),\n\t} )\n);\n\nexport type LayoutDirectionPropValue = z.infer< typeof layoutDirectionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const linkPropTypeUtil = createPropUtils(\n\t'link',\n\tz.strictObject( {\n\t\tdestination: unknownChildrenSchema,\n\t\tisTargetBlank: unknownChildrenSchema,\n\t} )\n);\n\nexport type LinkPropValue = z.infer< typeof linkPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { keyValuePropTypeUtil } from './key-value';\nimport { stringPropTypeUtil } from './string';\nimport { unknownChildrenSchema } from './utils';\n\nexport const selectionSizePropTypeUtil = createPropUtils(\n\t'selection-size',\n\tz.strictObject( {\n\t\tselection: z.union( [ keyValuePropTypeUtil.schema, stringPropTypeUtil.schema ] ),\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type SelectionSizePropValue = z.infer< typeof selectionSizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const keyValuePropTypeUtil = createPropUtils(\n\t'key-value',\n\tz.strictObject( {\n\t\tkey: unknownChildrenSchema,\n\t\tvalue: unknownChildrenSchema,\n\t} )\n);\n\nexport type KeyValuePropValue = z.infer< typeof keyValuePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundPropTypeUtil = createPropUtils(\n\t'background',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\tclip: unknownChildrenSchema,\n\t\t'background-overlay': unknownChildrenSchema,\n\t} )\n);\n\nexport type BackgroundPropValue = z.infer< typeof backgroundPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { backgroundColorOverlayPropTypeUtil } from './background-color-overlay';\nimport { backgroundGradientOverlayPropTypeUtil } from './background-gradient-overlay';\nimport { backgroundImageOverlayPropTypeUtil } from './background-image-overlay';\n\nexport const backgroundOverlayItem = backgroundColorOverlayPropTypeUtil.schema\n\t.or( backgroundGradientOverlayPropTypeUtil.schema )\n\t.or( backgroundImageOverlayPropTypeUtil.schema );\n\nexport const backgroundOverlayPropTypeUtil = createPropUtils( 'background-overlay', z.array( backgroundOverlayItem ) );\n\nexport type BackgroundOverlayPropValue = z.infer< typeof backgroundOverlayPropTypeUtil.schema >;\nexport type BackgroundOverlayItemPropValue = z.infer< typeof backgroundOverlayItem >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundColorOverlayPropTypeUtil = createPropUtils( 'background-color-overlay', unknownChildrenSchema );\n\nexport type BackgroundColorOverlayPropValue = z.infer< typeof backgroundColorOverlayPropTypeUtil.schema >;\n","import type { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundGradientOverlayPropTypeUtil = createPropUtils(\n\t'background-gradient-overlay',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundGradientOverlayPropValue = z.infer< typeof backgroundGradientOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageOverlayPropTypeUtil = createPropUtils( 'background-image-overlay', unknownChildrenSchema );\n\nexport type BackgroundImageOverlayPropValue = z.infer< typeof backgroundImageOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImagePositionOffsetPropTypeUtil = createPropUtils(\n\t'background-image-position-offset',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImagePositionOffsetPropValue = z.infer< typeof backgroundImagePositionOffsetPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageSizeScalePropTypeUtil = createPropUtils(\n\t'background-image-size-scale',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImageSizeScalePropValue = z.infer< typeof backgroundImageSizeScalePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const booleanPropTypeUtil = createPropUtils( 'boolean', z.boolean().nullable() );\n\nexport type BooleanPropValue = z.infer< typeof booleanPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const colorStopPropTypeUtil = createPropUtils(\n\t'color-stop',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\toffset: unknownChildrenSchema,\n\t} )\n);\n\nexport type ColorStopPropValue = z.infer< typeof colorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { colorStopPropTypeUtil } from './color-stop';\n\nexport const gradientColorStopPropTypeUtil = createPropUtils(\n\t'gradient-color-stop',\n\tz.array( colorStopPropTypeUtil.schema )\n);\n\nexport type GradientColorStopPropValue = z.infer< typeof gradientColorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const DateTimePropTypeUtil = createPropUtils(\n\t'date-time',\n\tz.strictObject( {\n\t\tdate: unknownChildrenSchema,\n\t\ttime: unknownChildrenSchema,\n\t} )\n);\n\nexport type DateTimePropValue = z.infer< typeof DateTimePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const positionPropTypeUtil = createPropUtils(\n\t'object-position',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PositionPropTypeValue = z.infer< typeof positionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const queryPropTypeUtil = createPropUtils(\n\t'query',\n\tz.strictObject( {\n\t\tid: unknownChildrenSchema,\n\t\tlabel: unknownChildrenSchema,\n\t} )\n);\n\nexport type QueryPropValue = z.infer< typeof queryPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const htmlPropTypeUtil = createPropUtils( 'html', z.string().nullable() );\n\nexport type HtmlPropValue = z.infer< typeof htmlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { stringPropTypeUtil } from '../string';\nimport { dropShadowFilterPropTypeUtil } from './drop-shadow-filter';\nimport { blurFilterPropTypeUtil } from './filter-functions/blur-filter';\nimport { colorToneFilterPropTypeUtil } from './filter-functions/color-tone-filter';\nimport { hueRotateFilterPropTypeUtil } from './filter-functions/hue-rotate-filter';\nimport { intensityFilterPropTypeUtil } from './filter-functions/intensity-filter';\n\nexport const cssFilterFunctionPropUtil = createPropUtils(\n\t'css-filter-func',\n\tz.object( {\n\t\tfunc: stringPropTypeUtil.schema,\n\t\targs: z.union( [\n\t\t\tblurFilterPropTypeUtil.schema,\n\t\t\tintensityFilterPropTypeUtil.schema,\n\t\t\tcolorToneFilterPropTypeUtil.schema,\n\t\t\thueRotateFilterPropTypeUtil.schema,\n\t\t\tdropShadowFilterPropTypeUtil.schema,\n\t\t] ),\n\t} )\n);\n\nexport const filterPropTypeUtil = createPropUtils( 'filter', z.array( cssFilterFunctionPropUtil.schema ) );\n\nexport type FilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n\nexport type FilterPropValue = z.infer< typeof filterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const dropShadowFilterPropTypeUtil = createPropUtils(\n\t'drop-shadow',\n\tz.object( {\n\t\txAxis: unknownChildrenSchema,\n\t\tyAxis: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type DropShadowFilterPropValue = z.infer< typeof dropShadowFilterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const blurFilterPropTypeUtil = createPropUtils(\n\t'blur',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const colorToneFilterPropTypeUtil = createPropUtils(\n\t'color-tone',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const hueRotateFilterPropTypeUtil = createPropUtils(\n\t'hue-rotate',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const intensityFilterPropTypeUtil = createPropUtils(\n\t'intensity',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformPropTypeUtil = createPropUtils(\n\t'transform',\n\tz.strictObject( {\n\t\t'transform-functions': unknownChildrenSchema,\n\t\t'transform-origin': unknownChildrenSchema,\n\t\tperspective: unknownChildrenSchema,\n\t\t'perspective-origin': unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformPropValue = z.infer< typeof transformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { moveTransformPropTypeUtil } from './transform-functions/move-transform';\nimport { rotateTransformPropTypeUtil } from './transform-functions/rotate-transform';\nimport { scaleTransformPropTypeUtil } from './transform-functions/scale-transform';\nimport { skewTransformPropTypeUtil } from './transform-functions/skew-transform';\n\nconst filterTypes = moveTransformPropTypeUtil.schema\n\t.or( scaleTransformPropTypeUtil.schema )\n\t.or( rotateTransformPropTypeUtil.schema )\n\t.or( skewTransformPropTypeUtil.schema );\n\nexport const transformFunctionsPropTypeUtil = createPropUtils( 'transform-functions', z.array( filterTypes ) );\n\nexport type TransformFunctionsPropValue = z.infer< typeof transformFunctionsPropTypeUtil.schema >;\n\nexport type TransformFunctionsItemPropValue = z.infer< typeof filterTypes >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const moveTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.move,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type MoveTransformPropValue = z.infer< typeof moveTransformPropTypeUtil.schema >;\n","type TransformFunctions = 'transform-move' | 'transform-scale' | 'transform-rotate' | 'transform-skew';\n\nexport const TransformFunctionKeys: Record< string, TransformFunctions > = {\n\tmove: 'transform-move',\n\tscale: 'transform-scale',\n\trotate: 'transform-rotate',\n\tskew: 'transform-skew',\n};\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const rotateTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.rotate,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type RotateTransformPropValue = z.infer< typeof rotateTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { numberPropTypeUtil } from '../../number';\nimport { TransformFunctionKeys } from '../types';\n\nexport const scaleTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.scale,\n\tz.strictObject( {\n\t\tx: numberPropTypeUtil.schema.nullable(),\n\t\ty: numberPropTypeUtil.schema.nullable(),\n\t\tz: numberPropTypeUtil.schema.nullable(),\n\t} )\n);\n\nexport type ScaleTransformPropValue = z.infer< typeof scaleTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const skewTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.skew,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type SkewTransformPropValue = z.infer< typeof skewTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformOriginPropTypeUtil = createPropUtils(\n\t'transform-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformOriginPropValue = z.infer< typeof transformOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const perspectiveOriginPropTypeUtil = createPropUtils(\n\t'perspective-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PerspectiveOriginPropValue = z.infer< typeof perspectiveOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { cssFilterFunctionPropUtil } from './filter';\n\nexport const backdropFilterPropTypeUtil = createPropUtils(\n\t'backdrop-filter',\n\tz.array( cssFilterFunctionPropUtil.schema )\n);\n\nexport type BackdropFilterPropValue = z.infer< typeof backdropFilterPropTypeUtil.schema >;\n\nexport type BackdropFilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n","import { numberPropTypeUtil, type NumberPropValue, stringPropTypeUtil, type StringPropValue } from '../prop-types';\nimport { type ObjectPropValue, type PropValue, type TransformablePropValue } from '../types';\n\nconst ensureNotNull = ( v: unknown, fallback: unknown ) => ( v === null ? fallback : v );\n\nexport const adjustLlmPropValueSchema = ( value: Readonly< PropValue >, forceKey?: string ): PropValue => {\n\tconst clone = structuredClone( value );\n\n\tif ( typeof clone === 'string' ) {\n\t\treturn stringPropTypeUtil.create( clone );\n\t}\n\tif ( typeof clone === 'number' ) {\n\t\treturn numberPropTypeUtil.create( clone );\n\t}\n\t// Check for transformable types\n\tif ( clone && typeof clone === 'object' ) {\n\t\tif ( Array.isArray( clone ) ) {\n\t\t\treturn clone.map( ( item ) => adjustLlmPropValueSchema( item, forceKey ) ) as PropValue;\n\t\t}\n\t\tconst transformablePropValue = clone as TransformablePropValue< string >;\n\t\tif ( forceKey ) {\n\t\t\ttransformablePropValue.$$type = forceKey;\n\t\t}\n\n\t\tif ( ! transformablePropValue.$$type ) {\n\t\t\tthrow new Error( 'Missing $$type in property: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\tif ( ! ( 'value' in transformablePropValue ) ) {\n\t\t\tthrow new Error( 'Missing value property in PropValue: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\t// fix by type\n\t\tswitch ( transformablePropValue.$$type ) {\n\t\t\tcase 'size': {\n\t\t\t\tconst { value: rawSizePropValue } = transformablePropValue as TransformablePropValue<\n\t\t\t\t\tstring,\n\t\t\t\t\t{ size: StringPropValue | NumberPropValue; unit: StringPropValue }\n\t\t\t\t>;\n\t\t\t\tconst unit =\n\t\t\t\t\ttypeof rawSizePropValue.unit === 'string'\n\t\t\t\t\t\t? rawSizePropValue.unit\n\t\t\t\t\t\t: ensureNotNull( stringPropTypeUtil.extract( rawSizePropValue.unit ), 'px' );\n\t\t\t\tconst size =\n\t\t\t\t\ttypeof rawSizePropValue.size === 'string' || typeof rawSizePropValue.size === 'number'\n\t\t\t\t\t\t? rawSizePropValue.size\n\t\t\t\t\t\t: ensureNotNull(\n\t\t\t\t\t\t\t\tstringPropTypeUtil.extract( rawSizePropValue.size ),\n\t\t\t\t\t\t\t\tnumberPropTypeUtil.extract( rawSizePropValue.size )\n\t\t\t\t\t\t );\n\t\t\t\treturn {\n\t\t\t\t\t$$type: 'size',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tunit,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof transformablePropValue.value === 'object' ) {\n\t\t\tif ( Array.isArray( transformablePropValue.value ) ) {\n\t\t\t\ttransformablePropValue.value = adjustLlmPropValueSchema(\n\t\t\t\t\ttransformablePropValue.value,\n\t\t\t\t\tundefined\n\t\t\t\t) as PropValue[];\n\t\t\t} else {\n\t\t\t\tconst { value: objectValue } = transformablePropValue as ObjectPropValue;\n\t\t\t\tconst clonedObject = clone as ObjectPropValue;\n\t\t\t\tclonedObject.value = {} as Record< string, PropValue >;\n\t\t\t\tObject.keys( objectValue ).forEach( ( key ) => {\n\t\t\t\t\tconst childProp = ( objectValue as Record< string, unknown > )[ key ];\n\t\t\t\t\t( clonedObject.value as Record< string, unknown > )[ key ] = adjustLlmPropValueSchema(\n\t\t\t\t\t\tchildProp as PropValue,\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\treturn clone;\n};\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function jsonSchemaToPropType( schema: JsonSchema7, key = < string >schema.key ): PropType {\n\tconst meta: Record< string, unknown > = {};\n\n\tif ( schema.description ) {\n\t\tmeta.description = schema.description;\n\t}\n\n\t// Handle union types (anyOf)\n\tif ( schema.anyOf && Array.isArray( schema.anyOf ) ) {\n\t\treturn convertJsonSchemaToUnionPropType( schema, meta );\n\t}\n\n\t// Handle object types\n\tif ( schema.type === 'object' && schema.properties ) {\n\t\treturn convertJsonSchemaToObjectPropType( schema, meta, key );\n\t}\n\n\t// Handle array types\n\tif ( schema.type === 'array' && schema.items ) {\n\t\treturn convertJsonSchemaToArrayPropType( schema, meta, key );\n\t}\n\n\t// Handle plain types (string, number, boolean)\n\treturn convertJsonSchemaToPlainPropType( schema, meta, key );\n}\n\nfunction convertJsonSchemaToPlainPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst settings: Record< string, unknown > = {};\n\n\t// Determine the key based on type\n\tlet propKey = key || 'string';\n\n\tif ( schema.type === 'number' ) {\n\t\tpropKey = 'number';\n\t} else if ( schema.type === 'boolean' ) {\n\t\tpropKey = 'boolean';\n\t} else if ( schema.type === 'string' ) {\n\t\tpropKey = 'string';\n\t}\n\n\t// Handle enum values\n\tif ( Array.isArray( schema.enum ) ) {\n\t\tsettings.enum = schema.enum;\n\t}\n\n\treturn {\n\t\tkind: 'plain',\n\t\tkey: propKey,\n\t\tsettings,\n\t\tmeta,\n\t} as PropType;\n}\n\n/**\n * Converts a JSON Schema anyOf to a union PropType\n * @param schema\n * @param meta\n */\nfunction convertJsonSchemaToUnionPropType( schema: JsonSchema7, meta: Record< string, unknown > ): PropType {\n\tconst propTypes: Record< string, PropType > = {};\n\n\tif ( ! schema.anyOf || ! Array.isArray( schema.anyOf ) ) {\n\t\tthrow new Error( 'Invalid anyOf schema' );\n\t}\n\n\t// Process each variant in the anyOf array\n\tfor ( const variantSchema of schema.anyOf ) {\n\t\t// Each variant should be an object with $$type and value properties\n\t\tif (\n\t\t\tvariantSchema.type === 'object' &&\n\t\t\tvariantSchema.properties &&\n\t\t\tvariantSchema.properties.$$type &&\n\t\t\tvariantSchema.properties.value\n\t\t) {\n\t\t\tconst typeProperty = variantSchema.properties.$$type;\n\n\t\t\t// Extract the type key from the enum\n\t\t\tlet typeKey: string;\n\t\t\tif ( typeProperty.enum && Array.isArray( typeProperty.enum ) && typeProperty.enum.length > 0 ) {\n\t\t\t\ttypeKey = typeProperty.enum[ 0 ] as string;\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Convert the value schema to a PropType\n\t\t\tconst valuePropType = convertJsonSchemaToPropType( variantSchema.properties.value );\n\t\t\tpropTypes[ typeKey ] = valuePropType;\n\t\t}\n\t}\n\n\treturn {\n\t\tkind: 'union',\n\t\tprop_types: propTypes,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToObjectPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst shape: Record< string, PropType > = {};\n\n\tif ( ! schema.properties ) {\n\t\treturn {\n\t\t\tkind: 'object',\n\t\t\tkey,\n\t\t\tshape: {},\n\t\t\tsettings: {},\n\t\t\tmeta,\n\t\t} as PropType;\n\t}\n\n\tconst requiredFields = Array.isArray( schema.required ) ? schema.required : [];\n\n\t// Convert each property\n\tfor ( const [ propKey, propSchema ] of Object.entries( schema.properties ) ) {\n\t\tconst subPropType = convertJsonSchemaToPropType( propSchema, key );\n\n\t\t// Mark as required if it's in the required array\n\t\tif ( requiredFields.includes( propKey ) ) {\n\t\t\tsubPropType.settings = {\n\t\t\t\t...subPropType.settings,\n\t\t\t\trequired: true,\n\t\t\t};\n\t\t}\n\n\t\tshape[ propKey ] = subPropType;\n\t}\n\n\treturn {\n\t\tkind: 'object',\n\t\tkey: key || 'object',\n\t\tshape,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToArrayPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tif ( ! schema.items ) {\n\t\tthrow new Error( 'Array schema must have items property' );\n\t}\n\n\tconst itemPropType = convertJsonSchemaToPropType( schema.items );\n\n\treturn {\n\t\tkind: 'array',\n\t\tkey: key || 'array',\n\t\titem_prop_type: itemPropType,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToPropType( schema: JsonSchema7, key?: string ): PropType {\n\treturn jsonSchemaToPropType( schema, key );\n}\n\n/**\n * Converts a complete JSON Schema object back to a PropsSchema\n *\n * @param jsonSchema The JSON Schema to convert\n */\nexport function jsonSchemaToPropsSchema( jsonSchema: JsonSchema7 ): PropsSchema {\n\tconst propsSchema: PropsSchema = {};\n\n\tif ( jsonSchema.type !== 'object' || ! jsonSchema.properties ) {\n\t\tthrow new Error( 'Root schema must be an object with properties' );\n\t}\n\n\tfor ( const [ key, propSchema ] of Object.entries( jsonSchema.properties ) ) {\n\t\tpropsSchema[ key ] = convertJsonSchemaToPropType( propSchema, key );\n\t}\n\n\treturn propsSchema;\n}\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function propTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\tconst description = propType.meta?.description;\n\n\tconst schema: JsonSchema7 = {};\n\n\tif ( description ) {\n\t\tschema.description = description;\n\t}\n\n\t// Handle different kinds of prop types\n\tswitch ( propType.kind ) {\n\t\tcase 'plain':\n\t\t\treturn convertPlainPropType( propType, schema );\n\t\tcase 'union':\n\t\t\treturn convertUnionPropType( propType, schema );\n\t\tcase 'object':\n\t\t\treturn convertObjectPropType( propType, schema );\n\t\tcase 'array':\n\t\t\treturn convertArrayPropType( propType, schema );\n\t\tdefault:\n\t\t\treturn convertPlainPropType( propType, schema );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPlainPropType( propType: PropType & { kind: 'plain' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = { ...baseSchema };\n\n\t// Determine type based on key\n\tconst key = propType.key.toLowerCase();\n\n\tswitch ( key ) {\n\t\tcase 'number':\n\t\t\tschema.type = 'number';\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tschema.type = 'boolean';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tschema.type = 'string';\n\t}\n\n\t// Handle enum from settings\n\tif ( Array.isArray( propType.settings?.enum ) ) {\n\t\tschema.enum = propType.settings.enum;\n\t}\n\n\treturn schema;\n}\n\n/**\n * Converts a union prop type to JSON Schema ( электричество anyOf)\n *\n * @param propType The union prop type to convert\n * @param baseSchema Base schema to extend\n */\nfunction convertUnionPropType( propType: PropType & { kind: 'union' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tconst propTypes = propType.prop_types || {};\n\tconst schemas: JsonSchema7[] = [];\n\n\t// Convert each prop type in the union\n\tfor ( const [ typeKey, subPropType ] of Object.entries( propTypes ) ) {\n\t\tconst subSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\tschemas.push( {\n\t\t\ttype: 'object',\n\t\t\trequired: [ '$$type', 'value' ],\n\t\t\tproperties: {\n\t\t\t\t$$type: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tconst: typeKey,\n\t\t\t\t\tdescription: subPropType.meta?.description,\n\t\t\t\t\t$comment: `Discriminator for union type variant: ${ typeKey }`,\n\t\t\t\t},\n\t\t\t\tvalue: subSchema,\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( schemas.length > 0 ) {\n\t\tschema.anyOf = schemas;\n\t}\n\n\tconst propTypeDescription = propType.meta?.description;\n\tif ( propTypeDescription ) {\n\t\tschema.description = propTypeDescription;\n\t}\n\treturn schema;\n}\n\nfunction convertObjectPropType( propType: PropType & { kind: 'object' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'object';\n\tschema.properties = {};\n\n\tconst required: string[] = [];\n\n\tconst shape = propType.shape || {};\n\n\t// Convert each property in the object shape\n\tfor ( const [ key, subPropType ] of Object.entries( shape ) ) {\n\t\tconst propSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\t// Check if this property is required\n\t\tif ( subPropType.settings?.required === true ) {\n\t\t\trequired.push( key );\n\t\t}\n\n\t\tschema.properties[ key ] = propSchema;\n\t}\n\n\t// Add required array if there are required fields\n\tif ( required.length > 0 ) {\n\t\tschema.required = required;\n\t}\n\n\treturn schema;\n}\n\nfunction convertArrayPropType( propType: PropType & { kind: 'array' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'array';\n\n\tconst itemPropType = propType.item_prop_type;\n\n\tif ( itemPropType ) {\n\t\tschema.items = convertPropTypeToJsonSchema( itemPropType );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPropTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\treturn propTypeToJsonSchema( propType );\n}\n\nexport function propsSchemaToJsonSchema( schema: PropsSchema ): JsonSchema7 {\n\tconst jsonSchema: JsonSchema7 = {\n\t\ttype: 'object',\n\t\tproperties: {},\n\t};\n\n\tfor ( const [ key, propType ] of Object.entries( schema ) ) {\n\t\t// Skip internal properties\n\t\tif ( ! isPropKeyConfigurable( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst propSchema = convertPropTypeToJsonSchema( propType );\n\t\tif ( jsonSchema.properties ) {\n\t\t\tjsonSchema.properties[ key ] = propSchema;\n\t\t}\n\n\t\t// Handle required fields at root level if needed\n\t\t// (typically props are optional unless specified)\n\t}\n\n\treturn jsonSchema;\n}\n\nexport const nonConfigurablePropKeys = [ '_cssid', 'classes', 'attributes' ] as readonly string[];\n\nexport function isPropKeyConfigurable( propKey: string ): boolean {\n\treturn ! nonConfigurablePropKeys.includes( propKey );\n}\n\nexport function configurableKeys( schema: PropsSchema ): string[] {\n\treturn Object.keys( schema ).filter( isPropKeyConfigurable );\n}\n","import { z } from '@elementor/schema';\n\nconst transformableSchema = z.object( {\n\t$$type: z.string(),\n\tvalue: z.any(),\n\tdisabled: z.boolean().optional(),\n} );\n\ntype TransformablePropValue = z.infer< typeof transformableSchema >;\n\nexport const isTransformable = ( value: unknown ): value is TransformablePropValue => {\n\treturn transformableSchema.safeParse( value ).success;\n};\n","import { type PropValue } from '../types';\nimport { isTransformable } from '../utils/is-transformable';\n\nexport const filterEmptyValues = < TValue extends PropValue >( value: TValue ): TValue | null => {\n\tif ( isEmpty( value ) ) {\n\t\treturn null;\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.map( filterEmptyValues ).filter( ( item ) => ! isEmpty( item ) ) as TValue;\n\t}\n\n\tif ( typeof value === 'object' ) {\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries( value )\n\t\t\t\t.map( ( [ key, val ] ) => [ key, filterEmptyValues( val ) ] )\n\t\t\t\t.filter( ( [ , val ] ) => ! isEmpty( val ) )\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype Nullish = null | undefined | '';\n\nexport const isEmpty = ( value: PropValue ): value is Nullish => {\n\tif ( value && isTransformable( value ) ) {\n\t\treturn isEmpty( value.value );\n\t}\n\n\treturn isNullish( value ) || isNullishArray( value ) || isNullishObject( value );\n};\n\nconst isNullish = ( value: PropValue ): value is Nullish => value === null || value === undefined || value === '';\n\nconst isNullishArray = ( value: NonNullable< PropValue > ): value is Nullish[] =>\n\tArray.isArray( value ) && value.every( isEmpty );\n\nconst isNullishObject = ( value: NonNullable< PropValue > ): value is Record< string, Nullish > => {\n\treturn typeof value === 'object' && isNullishArray( Object.values( value ) );\n};\n","import type { Props } from '../types';\n\nexport function mergeProps( current: Props, updates: Props ) {\n\t// edge case, the server returns an array instead of an object when empty props because of PHP array / object conversion\n\tlet props: Props = {};\n\n\tif ( ! Array.isArray( current ) ) {\n\t\tprops = structuredClone( current );\n\t}\n\n\tObject.entries( updates ).forEach( ( [ key, value ] ) => {\n\t\tif ( value === null || value === undefined ) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete props[ key ];\n\t\t} else {\n\t\t\tprops[ key ] = value;\n\t\t}\n\t} );\n\n\treturn props;\n}\n","import {\n\ttype Dependency,\n\ttype DependencyTerm,\n\ttype PropKey,\n\ttype PropValue,\n\ttype TransformablePropValue,\n} from '../types';\nimport { isTransformable } from './is-transformable';\n\ntype ParsedTerm = DependencyTerm;\n\ntype Relation = Dependency[ 'relation' ];\n\nexport function isDependencyMet(\n\tdependency: Dependency | undefined,\n\tvalues: PropValue\n): { isMet: true } | { isMet: false; failingDependencies: DependencyTerm[] } {\n\tif ( ! dependency?.terms.length ) {\n\t\treturn { isMet: true };\n\t}\n\n\tconst { relation, terms } = dependency;\n\tconst method = getRelationMethod( relation );\n\n\tconst failingDependencies: DependencyTerm[] = [];\n\tconst isMet = terms[ method ]( ( term: ParsedTerm | Dependency ) => {\n\t\tconst isNestedDependency = isDependency( term );\n\t\tconst result = isNestedDependency\n\t\t\t? isDependencyMet( term, values ).isMet\n\t\t\t: evaluateTerm( term, extractValue( term.path, values )?.value );\n\n\t\tif ( ! result && ! isNestedDependency ) {\n\t\t\tfailingDependencies.push( term );\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\treturn { isMet, failingDependencies };\n}\n\nexport function evaluateTerm( term: DependencyTerm, actualValue: unknown ) {\n\tconst { value: valueToCompare, operator } = term;\n\n\tswitch ( operator ) {\n\t\tcase 'eq':\n\t\tcase 'ne':\n\t\t\treturn ( actualValue === valueToCompare ) === ( 'eq' === operator );\n\n\t\tcase 'gt':\n\t\tcase 'lte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) > Number( valueToCompare ) === ( 'gt' === operator );\n\n\t\tcase 'lt':\n\t\tcase 'gte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) < Number( valueToCompare ) === ( 'lt' === operator );\n\t\tcase 'in':\n\t\tcase 'nin':\n\t\t\tif ( ! Array.isArray( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn valueToCompare.includes( actualValue as never ) === ( 'in' === operator );\n\n\t\tcase 'contains':\n\t\tcase 'ncontains':\n\t\t\tif (\n\t\t\t\t( 'string' !== typeof actualValue || 'string' !== typeof valueToCompare ) &&\n\t\t\t\t! Array.isArray( actualValue )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ( 'contains' === operator ) === actualValue.includes( valueToCompare as never );\n\n\t\tcase 'exists':\n\t\tcase 'not_exist':\n\t\t\tconst evaluation = !! actualValue || 0 === actualValue || false === actualValue;\n\n\t\t\treturn ( 'exists' === operator ) === evaluation;\n\n\t\tdefault:\n\t\t\treturn true;\n\t}\n}\n\nfunction isNumber( value: unknown ): value is number {\n\treturn typeof value === 'number' && ! isNaN( value );\n}\n\nfunction getRelationMethod( relation: Relation ) {\n\tswitch ( relation ) {\n\t\tcase 'or':\n\t\t\treturn 'some';\n\n\t\tcase 'and':\n\t\t\treturn 'every';\n\n\t\tdefault:\n\t\t\tthrow new Error( `Relation not supported ${ relation }` );\n\t}\n}\n\nexport function extractValue( path: string[], elementValues: PropValue ): TransformablePropValue< PropKey > | null {\n\treturn path.reduce( ( acc, key, index ) => {\n\t\tconst value = acc?.[ key as keyof typeof acc ] as PropValue | null;\n\n\t\treturn index !== path.length - 1 && isTransformable( value ) ? value.value ?? null : value;\n\t}, elementValues ) as TransformablePropValue< PropKey >;\n}\n\nexport function isDependency( term: DependencyTerm | Dependency ): term is Dependency {\n\treturn 'relation' in term;\n}\n","import { adjustLlmPropValueSchema } from './utils/adjust-llm-prop-value-schema';\nimport { jsonSchemaToPropType } from './utils/llm-schema-to-props';\nimport {\n\tconfigurableKeys,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tpropTypeToJsonSchema,\n} from './utils/props-to-llm-schema';\n\nexport { type JsonSchema7 } from './utils/prop-json-schema';\n\n// types\nexport * from './types';\nexport { type CreateOptions, type PropTypeUtil } from './utils/create-prop-utils';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { createArrayPropUtils, createPropUtils, getPropSchemaFromCache } from './utils/create-prop-utils';\nexport { filterEmptyValues, isEmpty } from './utils/filter-empty-values';\nexport { isTransformable } from './utils/is-transformable';\nexport { mergeProps } from './utils/merge-props';\nexport { evaluateTerm, extractValue, isDependency, isDependencyMet } from './utils/prop-dependency-utils';\n\nexport const Schema = {\n\tjsonSchemaToPropType,\n\tpropTypeToJsonSchema,\n\tadjustLlmPropValueSchema,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tconfigurableKeys,\n};\n"],"mappings":"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","names":["z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z"]}
1
+ {"version":3,"sources":["../src/prop-types/box-shadow.ts","../src/utils/create-prop-utils.ts","../src/prop-types/shadow.ts","../src/prop-types/utils.ts","../src/prop-types/border-radius.ts","../src/prop-types/border-width.ts","../src/prop-types/classes.ts","../src/prop-types/color.ts","../src/prop-types/flex.ts","../src/prop-types/image.ts","../src/prop-types/image-attachment-id.ts","../src/prop-types/image-src.ts","../src/prop-types/dimensions.ts","../src/prop-types/number.ts","../src/prop-types/size.ts","../src/prop-types/string.ts","../src/prop-types/stroke.ts","../src/prop-types/url.ts","../src/prop-types/layout-direction.ts","../src/prop-types/link.ts","../src/prop-types/selection-size.ts","../src/prop-types/key-value.ts","../src/prop-types/background-prop-types/background.ts","../src/prop-types/background-prop-types/background-overlay.ts","../src/prop-types/background-prop-types/background-color-overlay.ts","../src/prop-types/background-prop-types/background-gradient-overlay.ts","../src/prop-types/background-prop-types/background-image-overlay.ts","../src/prop-types/background-prop-types/background-image-position-offset.ts","../src/prop-types/background-prop-types/background-image-size-scale.ts","../src/prop-types/boolean.ts","../src/prop-types/color-stop.ts","../src/prop-types/gradient-color-stop.ts","../src/prop-types/date-time.ts","../src/prop-types/position.ts","../src/prop-types/query.ts","../src/prop-types/html.ts","../src/prop-types/filter-prop-types/filter.ts","../src/prop-types/filter-prop-types/drop-shadow-filter.ts","../src/prop-types/filter-prop-types/filter-functions/blur-filter.ts","../src/prop-types/filter-prop-types/filter-functions/color-tone-filter.ts","../src/prop-types/filter-prop-types/filter-functions/hue-rotate-filter.ts","../src/prop-types/filter-prop-types/filter-functions/intensity-filter.ts","../src/prop-types/transform-prop-types/transform.ts","../src/prop-types/transform-prop-types/transform-functions.ts","../src/prop-types/transform-prop-types/transform-functions/move-transform.ts","../src/prop-types/transform-prop-types/types.ts","../src/prop-types/transform-prop-types/transform-functions/rotate-transform.ts","../src/prop-types/transform-prop-types/transform-functions/scale-transform.ts","../src/prop-types/transform-prop-types/transform-functions/skew-transform.ts","../src/prop-types/transform-prop-types/transform-origin.ts","../src/prop-types/transform-prop-types/perspective-origin.ts","../src/prop-types/filter-prop-types/backdrop-filter.ts","../src/utils/adjust-llm-prop-value-schema.ts","../src/utils/llm-schema-to-props.ts","../src/utils/props-to-llm-schema.ts","../src/utils/is-transformable.ts","../src/utils/filter-empty-values.ts","../src/utils/merge-props.ts","../src/utils/prop-dependency-utils.ts","../src/index.ts"],"sourcesContent":["import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { shadowPropTypeUtil } from './shadow';\n\nexport const boxShadowPropTypeUtil = createPropUtils( 'box-shadow', z.array( shadowPropTypeUtil.schema ) );\n\nexport type BoxShadowPropValue = z.infer< typeof boxShadowPropTypeUtil.schema >;\n","import { z, type ZodType } from '@elementor/schema';\n\nimport { type PropValue, type TransformablePropValue } from '../types';\n\ntype Updater< T > = ( prev?: T ) => T;\n\nexport type CreateOptions = {\n\tbase?: unknown;\n\tdisabled?: boolean;\n};\n\nconst SCHEMA_CACHE = new Map< string, unknown >();\n\nexport type PropTypeUtil< TKey extends string, TValue extends PropValue > = ReturnType<\n\ttypeof createPropUtils< TKey, TValue >\n>;\n\n/**\n * Usage example:\n *\n * ```ts\n * const elementsPropUtils = createPropUtils( 'elements', z.array( z.string() ) );\n *\n * elementsPropUtils.isValid( element.props?.children );\n * elementsPropUtils.create( [ 'a', 'b' ] );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { base: element.props?.children } );\n * elementsPropUtils.create( ( prev = [] ) => [ ...prev, 'c' ], { disabled: true } );\n * elementsPropUtils.extract( element.props?.children );\n *\n * ```\n */\n\nexport function getPropSchemaFromCache( key: string ) {\n\treturn SCHEMA_CACHE.get( key ) as PropTypeUtil< string, PropValue > | undefined;\n}\n\nexport function createPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >\n) {\n\tconst schema = z.strictObject( {\n\t\t$$type: z.literal( key ),\n\t\tvalue: valueSchema,\n\t\tdisabled: z.boolean().optional(),\n\t} );\n\n\ttype Prop = TransformablePropValue< TKey, TValue >;\n\n\tfunction isValid( prop: unknown ): prop is Prop {\n\t\treturn schema.safeParse( prop ).success;\n\t}\n\n\tfunction create( value: TValue ): Prop;\n\tfunction create( value: TValue, createOptions?: CreateOptions ): Prop;\n\tfunction create( value: Updater< TValue >, createOptions: CreateOptions ): Prop;\n\tfunction create( value: TValue | Updater< TValue >, createOptions?: CreateOptions ): Prop {\n\t\tconst fn = ( typeof value === 'function' ? value : () => value ) as Updater< TValue >;\n\n\t\tconst { base, disabled } = createOptions || {};\n\n\t\tif ( ! base ) {\n\t\t\treturn {\n\t\t\t\t$$type: key,\n\t\t\t\tvalue: fn(),\n\t\t\t\t...( disabled && { disabled } ),\n\t\t\t};\n\t\t}\n\n\t\tif ( ! isValid( base ) ) {\n\t\t\tthrow new Error( `Cannot create prop based on invalid value: ${ JSON.stringify( base ) }` );\n\t\t}\n\n\t\treturn {\n\t\t\t$$type: key,\n\t\t\tvalue: fn( base.value ),\n\t\t\t...( disabled && { disabled } ),\n\t\t};\n\t}\n\n\tfunction extract( prop: unknown ): TValue | null {\n\t\tif ( ! isValid( prop ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn prop.value;\n\t}\n\n\tconst propUtil = {\n\t\textract,\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t\tkey: key as TKey,\n\t};\n\n\tSCHEMA_CACHE.set( key, propUtil );\n\treturn propUtil;\n}\n\nexport function createArrayPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >,\n\toverrideKey?: string\n) {\n\treturn createPropUtils( overrideKey || `${ key }-array`, z.array( valueSchema ) );\n}\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const shadowPropTypeUtil = createPropUtils(\n\t'shadow',\n\tz.strictObject( {\n\t\tposition: unknownChildrenSchema,\n\t\thOffset: unknownChildrenSchema,\n\t\tvOffset: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tspread: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type ShadowPropValue = z.infer< typeof shadowPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nexport const unknownChildrenSchema = z.any().nullable();\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderRadiusPropTypeUtil = createPropUtils(\n\t'border-radius',\n\tz.strictObject( {\n\t\t'start-start': unknownChildrenSchema,\n\t\t'start-end': unknownChildrenSchema,\n\t\t'end-start': unknownChildrenSchema,\n\t\t'end-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderRadiusPropValue = z.infer< typeof borderRadiusPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const borderWidthPropTypeUtil = createPropUtils(\n\t'border-width',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type BorderWidthPropValue = z.infer< typeof borderWidthPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const CLASSES_PROP_KEY = 'classes';\n\nexport const classesPropTypeUtil = createPropUtils(\n\tCLASSES_PROP_KEY,\n\tz.array( z.string().regex( /^[a-z][a-z-_0-9]*$/i ) )\n);\n\nexport type ClassesPropValue = z.infer< typeof classesPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const colorPropTypeUtil = createPropUtils( 'color', z.string() );\n\nexport type ColorPropValue = z.infer< typeof colorPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const flexPropTypeUtil = createPropUtils(\n\t'flex',\n\tz.strictObject( {\n\t\tflexGrow: unknownChildrenSchema,\n\t\tflexShrink: unknownChildrenSchema,\n\t\tflexBasis: unknownChildrenSchema,\n\t} )\n);\n\nexport type FlexPropValue = z.infer< typeof flexPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imagePropTypeUtil = createPropUtils(\n\t'image',\n\tz.strictObject( {\n\t\tsrc: unknownChildrenSchema,\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type ImagePropValue = z.infer< typeof imagePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const imageAttachmentIdPropType = createPropUtils( 'image-attachment-id', z.number() );\n\nexport type ImageAttachmentIdPropValue = z.infer< typeof imageAttachmentIdPropType.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const imageSrcPropTypeUtil = createPropUtils(\n\t'image-src',\n\tz\n\t\t.strictObject( {\n\t\t\tid: unknownChildrenSchema,\n\t\t\turl: z.null(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tid: z.null(),\n\t\t\t\turl: unknownChildrenSchema,\n\t\t\t} )\n\t\t)\n);\n\nexport type ImageSrcPropValue = z.infer< typeof imageSrcPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const dimensionsPropTypeUtil = createPropUtils(\n\t'dimensions',\n\tz.strictObject( {\n\t\t'block-start': unknownChildrenSchema,\n\t\t'block-end': unknownChildrenSchema,\n\t\t'inline-start': unknownChildrenSchema,\n\t\t'inline-end': unknownChildrenSchema,\n\t} )\n);\n\nexport type DimensionsPropValue = z.infer< typeof dimensionsPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const numberPropTypeUtil = createPropUtils( 'number', z.number().nullable() );\n\nexport type NumberPropValue = z.infer< typeof numberPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const sizePropTypeUtil = createPropUtils(\n\t'size',\n\tz\n\t\t.strictObject( {\n\t\t\tunit: z.enum( [ 'px', 'em', 'rem', '%', 'vw', 'vh' ] ),\n\t\t\tsize: z.number(),\n\t\t} )\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 'deg', 'rad', 'grad', 'turn' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.enum( [ 's', 'ms' ] ),\n\t\t\t\tsize: z.number(),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'auto' ),\n\t\t\t\tsize: z.literal( '' ),\n\t\t\t} )\n\t\t)\n\t\t.or(\n\t\t\tz.strictObject( {\n\t\t\t\tunit: z.literal( 'custom' ),\n\t\t\t\tsize: z.string(),\n\t\t\t} )\n\t\t)\n);\n\nexport type SizePropValue = z.infer< typeof sizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const stringPropTypeUtil = createPropUtils( 'string', z.string().nullable() );\n\nexport type StringPropValue = z.infer< typeof stringPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const strokePropTypeUtil = createPropUtils(\n\t'stroke',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\twidth: unknownChildrenSchema,\n\t} )\n);\n\nexport type StrokePropValue = z.infer< typeof strokePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const urlPropTypeUtil = createPropUtils( 'url', z.string().nullable() );\n\nexport type UrlPropValue = z.infer< typeof urlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const layoutDirectionPropTypeUtil = createPropUtils(\n\t'layout-direction',\n\tz.object( {\n\t\trow: z.any(),\n\t\tcolumn: z.any(),\n\t} )\n);\n\nexport type LayoutDirectionPropValue = z.infer< typeof layoutDirectionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const linkPropTypeUtil = createPropUtils(\n\t'link',\n\tz.strictObject( {\n\t\tdestination: unknownChildrenSchema,\n\t\tisTargetBlank: unknownChildrenSchema,\n\t\ttag: unknownChildrenSchema,\n\t} )\n);\n\nexport type LinkPropValue = z.infer< typeof linkPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { keyValuePropTypeUtil } from './key-value';\nimport { stringPropTypeUtil } from './string';\nimport { unknownChildrenSchema } from './utils';\n\nexport const selectionSizePropTypeUtil = createPropUtils(\n\t'selection-size',\n\tz.strictObject( {\n\t\tselection: z.union( [ keyValuePropTypeUtil.schema, stringPropTypeUtil.schema ] ),\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n\nexport type SelectionSizePropValue = z.infer< typeof selectionSizePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const keyValuePropTypeUtil = createPropUtils(\n\t'key-value',\n\tz.strictObject( {\n\t\tkey: unknownChildrenSchema,\n\t\tvalue: unknownChildrenSchema,\n\t} )\n);\n\nexport type KeyValuePropValue = z.infer< typeof keyValuePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundPropTypeUtil = createPropUtils(\n\t'background',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\tclip: unknownChildrenSchema,\n\t\t'background-overlay': unknownChildrenSchema,\n\t} )\n);\n\nexport type BackgroundPropValue = z.infer< typeof backgroundPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { backgroundColorOverlayPropTypeUtil } from './background-color-overlay';\nimport { backgroundGradientOverlayPropTypeUtil } from './background-gradient-overlay';\nimport { backgroundImageOverlayPropTypeUtil } from './background-image-overlay';\n\nexport const backgroundOverlayItem = backgroundColorOverlayPropTypeUtil.schema\n\t.or( backgroundGradientOverlayPropTypeUtil.schema )\n\t.or( backgroundImageOverlayPropTypeUtil.schema );\n\nexport const backgroundOverlayPropTypeUtil = createPropUtils( 'background-overlay', z.array( backgroundOverlayItem ) );\n\nexport type BackgroundOverlayPropValue = z.infer< typeof backgroundOverlayPropTypeUtil.schema >;\nexport type BackgroundOverlayItemPropValue = z.infer< typeof backgroundOverlayItem >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundColorOverlayPropTypeUtil = createPropUtils( 'background-color-overlay', unknownChildrenSchema );\n\nexport type BackgroundColorOverlayPropValue = z.infer< typeof backgroundColorOverlayPropTypeUtil.schema >;\n","import type { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundGradientOverlayPropTypeUtil = createPropUtils(\n\t'background-gradient-overlay',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundGradientOverlayPropValue = z.infer< typeof backgroundGradientOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageOverlayPropTypeUtil = createPropUtils( 'background-image-overlay', unknownChildrenSchema );\n\nexport type BackgroundImageOverlayPropValue = z.infer< typeof backgroundImageOverlayPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImagePositionOffsetPropTypeUtil = createPropUtils(\n\t'background-image-position-offset',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImagePositionOffsetPropValue = z.infer< typeof backgroundImagePositionOffsetPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const backgroundImageSizeScalePropTypeUtil = createPropUtils(\n\t'background-image-size-scale',\n\tunknownChildrenSchema\n);\n\nexport type BackgroundImageSizeScalePropValue = z.infer< typeof backgroundImageSizeScalePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const booleanPropTypeUtil = createPropUtils( 'boolean', z.boolean().nullable() );\n\nexport type BooleanPropValue = z.infer< typeof booleanPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const colorStopPropTypeUtil = createPropUtils(\n\t'color-stop',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t\toffset: unknownChildrenSchema,\n\t} )\n);\n\nexport type ColorStopPropValue = z.infer< typeof colorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { colorStopPropTypeUtil } from './color-stop';\n\nexport const gradientColorStopPropTypeUtil = createPropUtils(\n\t'gradient-color-stop',\n\tz.array( colorStopPropTypeUtil.schema )\n);\n\nexport type GradientColorStopPropValue = z.infer< typeof gradientColorStopPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const DateTimePropTypeUtil = createPropUtils(\n\t'date-time',\n\tz.strictObject( {\n\t\tdate: unknownChildrenSchema,\n\t\ttime: unknownChildrenSchema,\n\t} )\n);\n\nexport type DateTimePropValue = z.infer< typeof DateTimePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const positionPropTypeUtil = createPropUtils(\n\t'object-position',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PositionPropTypeValue = z.infer< typeof positionPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const queryPropTypeUtil = createPropUtils(\n\t'query',\n\tz.strictObject( {\n\t\tid: unknownChildrenSchema,\n\t\tlabel: unknownChildrenSchema,\n\t} )\n);\n\nexport type QueryPropValue = z.infer< typeof queryPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const htmlPropTypeUtil = createPropUtils( 'html', z.string().nullable() );\n\nexport type HtmlPropValue = z.infer< typeof htmlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { stringPropTypeUtil } from '../string';\nimport { dropShadowFilterPropTypeUtil } from './drop-shadow-filter';\nimport { blurFilterPropTypeUtil } from './filter-functions/blur-filter';\nimport { colorToneFilterPropTypeUtil } from './filter-functions/color-tone-filter';\nimport { hueRotateFilterPropTypeUtil } from './filter-functions/hue-rotate-filter';\nimport { intensityFilterPropTypeUtil } from './filter-functions/intensity-filter';\n\nexport const cssFilterFunctionPropUtil = createPropUtils(\n\t'css-filter-func',\n\tz.object( {\n\t\tfunc: stringPropTypeUtil.schema,\n\t\targs: z.union( [\n\t\t\tblurFilterPropTypeUtil.schema,\n\t\t\tintensityFilterPropTypeUtil.schema,\n\t\t\tcolorToneFilterPropTypeUtil.schema,\n\t\t\thueRotateFilterPropTypeUtil.schema,\n\t\t\tdropShadowFilterPropTypeUtil.schema,\n\t\t] ),\n\t} )\n);\n\nexport const filterPropTypeUtil = createPropUtils( 'filter', z.array( cssFilterFunctionPropUtil.schema ) );\n\nexport type FilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n\nexport type FilterPropValue = z.infer< typeof filterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const dropShadowFilterPropTypeUtil = createPropUtils(\n\t'drop-shadow',\n\tz.object( {\n\t\txAxis: unknownChildrenSchema,\n\t\tyAxis: unknownChildrenSchema,\n\t\tblur: unknownChildrenSchema,\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type DropShadowFilterPropValue = z.infer< typeof dropShadowFilterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const blurFilterPropTypeUtil = createPropUtils(\n\t'blur',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const colorToneFilterPropTypeUtil = createPropUtils(\n\t'color-tone',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const hueRotateFilterPropTypeUtil = createPropUtils(\n\t'hue-rotate',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\n\nexport const intensityFilterPropTypeUtil = createPropUtils(\n\t'intensity',\n\tz.strictObject( {\n\t\tsize: unknownChildrenSchema,\n\t} )\n);\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformPropTypeUtil = createPropUtils(\n\t'transform',\n\tz.strictObject( {\n\t\t'transform-functions': unknownChildrenSchema,\n\t\t'transform-origin': unknownChildrenSchema,\n\t\tperspective: unknownChildrenSchema,\n\t\t'perspective-origin': unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformPropValue = z.infer< typeof transformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { moveTransformPropTypeUtil } from './transform-functions/move-transform';\nimport { rotateTransformPropTypeUtil } from './transform-functions/rotate-transform';\nimport { scaleTransformPropTypeUtil } from './transform-functions/scale-transform';\nimport { skewTransformPropTypeUtil } from './transform-functions/skew-transform';\n\nconst filterTypes = moveTransformPropTypeUtil.schema\n\t.or( scaleTransformPropTypeUtil.schema )\n\t.or( rotateTransformPropTypeUtil.schema )\n\t.or( skewTransformPropTypeUtil.schema );\n\nexport const transformFunctionsPropTypeUtil = createPropUtils( 'transform-functions', z.array( filterTypes ) );\n\nexport type TransformFunctionsPropValue = z.infer< typeof transformFunctionsPropTypeUtil.schema >;\n\nexport type TransformFunctionsItemPropValue = z.infer< typeof filterTypes >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const moveTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.move,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type MoveTransformPropValue = z.infer< typeof moveTransformPropTypeUtil.schema >;\n","type TransformFunctions = 'transform-move' | 'transform-scale' | 'transform-rotate' | 'transform-skew';\n\nexport const TransformFunctionKeys: Record< string, TransformFunctions > = {\n\tmove: 'transform-move',\n\tscale: 'transform-scale',\n\trotate: 'transform-rotate',\n\tskew: 'transform-skew',\n};\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const rotateTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.rotate,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type RotateTransformPropValue = z.infer< typeof rotateTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { numberPropTypeUtil } from '../../number';\nimport { TransformFunctionKeys } from '../types';\n\nexport const scaleTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.scale,\n\tz.strictObject( {\n\t\tx: numberPropTypeUtil.schema.nullable(),\n\t\ty: numberPropTypeUtil.schema.nullable(),\n\t\tz: numberPropTypeUtil.schema.nullable(),\n\t} )\n);\n\nexport type ScaleTransformPropValue = z.infer< typeof scaleTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../../utils';\nimport { TransformFunctionKeys } from '../types';\n\nexport const skewTransformPropTypeUtil = createPropUtils(\n\tTransformFunctionKeys.skew,\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type SkewTransformPropValue = z.infer< typeof skewTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const transformOriginPropTypeUtil = createPropUtils(\n\t'transform-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t\tz: unknownChildrenSchema,\n\t} )\n);\n\nexport type TransformOriginPropValue = z.infer< typeof transformOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const perspectiveOriginPropTypeUtil = createPropUtils(\n\t'perspective-origin',\n\tz.strictObject( {\n\t\tx: unknownChildrenSchema,\n\t\ty: unknownChildrenSchema,\n\t} )\n);\n\nexport type PerspectiveOriginPropValue = z.infer< typeof perspectiveOriginPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { cssFilterFunctionPropUtil } from './filter';\n\nexport const backdropFilterPropTypeUtil = createPropUtils(\n\t'backdrop-filter',\n\tz.array( cssFilterFunctionPropUtil.schema )\n);\n\nexport type BackdropFilterPropValue = z.infer< typeof backdropFilterPropTypeUtil.schema >;\n\nexport type BackdropFilterItemPropValue = z.infer< typeof cssFilterFunctionPropUtil.schema >;\n","import { numberPropTypeUtil, type NumberPropValue, stringPropTypeUtil, type StringPropValue } from '../prop-types';\nimport { type ObjectPropValue, type PropValue, type TransformablePropValue } from '../types';\n\nconst ensureNotNull = ( v: unknown, fallback: unknown ) => ( v === null ? fallback : v );\n\nexport const adjustLlmPropValueSchema = ( value: Readonly< PropValue >, forceKey?: string ): PropValue => {\n\tconst clone = structuredClone( value );\n\n\tif ( typeof clone === 'string' ) {\n\t\treturn stringPropTypeUtil.create( clone );\n\t}\n\tif ( typeof clone === 'number' ) {\n\t\treturn numberPropTypeUtil.create( clone );\n\t}\n\t// Check for transformable types\n\tif ( clone && typeof clone === 'object' ) {\n\t\tif ( Array.isArray( clone ) ) {\n\t\t\treturn clone.map( ( item ) => adjustLlmPropValueSchema( item, forceKey ) ) as PropValue;\n\t\t}\n\t\tconst transformablePropValue = clone as TransformablePropValue< string >;\n\t\tif ( forceKey ) {\n\t\t\ttransformablePropValue.$$type = forceKey;\n\t\t}\n\n\t\tif ( ! transformablePropValue.$$type ) {\n\t\t\tthrow new Error( 'Missing $$type in property: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\tif ( ! ( 'value' in transformablePropValue ) ) {\n\t\t\tthrow new Error( 'Missing value property in PropValue: ' + JSON.stringify( transformablePropValue ) );\n\t\t}\n\n\t\t// fix by type\n\t\tswitch ( transformablePropValue.$$type ) {\n\t\t\tcase 'size': {\n\t\t\t\tconst { value: rawSizePropValue } = transformablePropValue as TransformablePropValue<\n\t\t\t\t\tstring,\n\t\t\t\t\t{ size: StringPropValue | NumberPropValue; unit: StringPropValue }\n\t\t\t\t>;\n\t\t\t\tconst unit =\n\t\t\t\t\ttypeof rawSizePropValue.unit === 'string'\n\t\t\t\t\t\t? rawSizePropValue.unit\n\t\t\t\t\t\t: ensureNotNull( stringPropTypeUtil.extract( rawSizePropValue.unit ), 'px' );\n\t\t\t\tconst size =\n\t\t\t\t\ttypeof rawSizePropValue.size === 'string' || typeof rawSizePropValue.size === 'number'\n\t\t\t\t\t\t? rawSizePropValue.size\n\t\t\t\t\t\t: ensureNotNull(\n\t\t\t\t\t\t\t\tstringPropTypeUtil.extract( rawSizePropValue.size ),\n\t\t\t\t\t\t\t\tnumberPropTypeUtil.extract( rawSizePropValue.size )\n\t\t\t\t\t\t );\n\t\t\t\treturn {\n\t\t\t\t\t$$type: 'size',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tunit,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( typeof transformablePropValue.value === 'object' ) {\n\t\t\tif ( Array.isArray( transformablePropValue.value ) ) {\n\t\t\t\ttransformablePropValue.value = adjustLlmPropValueSchema(\n\t\t\t\t\ttransformablePropValue.value,\n\t\t\t\t\tundefined\n\t\t\t\t) as PropValue[];\n\t\t\t} else {\n\t\t\t\tconst { value: objectValue } = transformablePropValue as ObjectPropValue;\n\t\t\t\tconst clonedObject = clone as ObjectPropValue;\n\t\t\t\tclonedObject.value = {} as Record< string, PropValue >;\n\t\t\t\tObject.keys( objectValue ).forEach( ( key ) => {\n\t\t\t\t\tconst childProp = ( objectValue as Record< string, unknown > )[ key ];\n\t\t\t\t\t( clonedObject.value as Record< string, unknown > )[ key ] = adjustLlmPropValueSchema(\n\t\t\t\t\t\tchildProp as PropValue,\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\treturn clone;\n};\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function jsonSchemaToPropType( schema: JsonSchema7, key = < string >schema.key ): PropType {\n\tconst meta: Record< string, unknown > = {};\n\n\tif ( schema.description ) {\n\t\tmeta.description = schema.description;\n\t}\n\n\t// Handle union types (anyOf)\n\tif ( schema.anyOf && Array.isArray( schema.anyOf ) ) {\n\t\treturn convertJsonSchemaToUnionPropType( schema, meta );\n\t}\n\n\t// Handle object types\n\tif ( schema.type === 'object' && schema.properties ) {\n\t\treturn convertJsonSchemaToObjectPropType( schema, meta, key );\n\t}\n\n\t// Handle array types\n\tif ( schema.type === 'array' && schema.items ) {\n\t\treturn convertJsonSchemaToArrayPropType( schema, meta, key );\n\t}\n\n\t// Handle plain types (string, number, boolean)\n\treturn convertJsonSchemaToPlainPropType( schema, meta, key );\n}\n\nfunction convertJsonSchemaToPlainPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst settings: Record< string, unknown > = {};\n\n\t// Determine the key based on type\n\tlet propKey = key || 'string';\n\n\tif ( schema.type === 'number' ) {\n\t\tpropKey = 'number';\n\t} else if ( schema.type === 'boolean' ) {\n\t\tpropKey = 'boolean';\n\t} else if ( schema.type === 'string' ) {\n\t\tpropKey = 'string';\n\t}\n\n\t// Handle enum values\n\tif ( Array.isArray( schema.enum ) ) {\n\t\tsettings.enum = schema.enum;\n\t}\n\n\treturn {\n\t\tkind: 'plain',\n\t\tkey: propKey,\n\t\tsettings,\n\t\tmeta,\n\t} as PropType;\n}\n\n/**\n * Converts a JSON Schema anyOf to a union PropType\n * @param schema\n * @param meta\n */\nfunction convertJsonSchemaToUnionPropType( schema: JsonSchema7, meta: Record< string, unknown > ): PropType {\n\tconst propTypes: Record< string, PropType > = {};\n\n\tif ( ! schema.anyOf || ! Array.isArray( schema.anyOf ) ) {\n\t\tthrow new Error( 'Invalid anyOf schema' );\n\t}\n\n\t// Process each variant in the anyOf array\n\tfor ( const variantSchema of schema.anyOf ) {\n\t\t// Each variant should be an object with $$type and value properties\n\t\tif (\n\t\t\tvariantSchema.type === 'object' &&\n\t\t\tvariantSchema.properties &&\n\t\t\tvariantSchema.properties.$$type &&\n\t\t\tvariantSchema.properties.value\n\t\t) {\n\t\t\tconst typeProperty = variantSchema.properties.$$type;\n\n\t\t\t// Extract the type key from the enum\n\t\t\tlet typeKey: string;\n\t\t\tif ( typeProperty.enum && Array.isArray( typeProperty.enum ) && typeProperty.enum.length > 0 ) {\n\t\t\t\ttypeKey = typeProperty.enum[ 0 ] as string;\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Convert the value schema to a PropType\n\t\t\tconst valuePropType = convertJsonSchemaToPropType( variantSchema.properties.value );\n\t\t\tpropTypes[ typeKey ] = valuePropType;\n\t\t}\n\t}\n\n\treturn {\n\t\tkind: 'union',\n\t\tprop_types: propTypes,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToObjectPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tconst shape: Record< string, PropType > = {};\n\n\tif ( ! schema.properties ) {\n\t\treturn {\n\t\t\tkind: 'object',\n\t\t\tkey,\n\t\t\tshape: {},\n\t\t\tsettings: {},\n\t\t\tmeta,\n\t\t} as PropType;\n\t}\n\n\tconst requiredFields = Array.isArray( schema.required ) ? schema.required : [];\n\n\t// Convert each property\n\tfor ( const [ propKey, propSchema ] of Object.entries( schema.properties ) ) {\n\t\tconst subPropType = convertJsonSchemaToPropType( propSchema, key );\n\n\t\t// Mark as required if it's in the required array\n\t\tif ( requiredFields.includes( propKey ) ) {\n\t\t\tsubPropType.settings = {\n\t\t\t\t...subPropType.settings,\n\t\t\t\trequired: true,\n\t\t\t};\n\t\t}\n\n\t\tshape[ propKey ] = subPropType;\n\t}\n\n\treturn {\n\t\tkind: 'object',\n\t\tkey: key || 'object',\n\t\tshape,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToArrayPropType(\n\tschema: JsonSchema7,\n\tmeta: Record< string, unknown >,\n\tkey = < string >schema.key\n): PropType {\n\tif ( ! schema.items ) {\n\t\tthrow new Error( 'Array schema must have items property' );\n\t}\n\n\tconst itemPropType = convertJsonSchemaToPropType( schema.items );\n\n\treturn {\n\t\tkind: 'array',\n\t\tkey: key || 'array',\n\t\titem_prop_type: itemPropType,\n\t\tsettings: {},\n\t\tmeta,\n\t} as PropType;\n}\n\nfunction convertJsonSchemaToPropType( schema: JsonSchema7, key?: string ): PropType {\n\treturn jsonSchemaToPropType( schema, key );\n}\n\n/**\n * Converts a complete JSON Schema object back to a PropsSchema\n *\n * @param jsonSchema The JSON Schema to convert\n */\nexport function jsonSchemaToPropsSchema( jsonSchema: JsonSchema7 ): PropsSchema {\n\tconst propsSchema: PropsSchema = {};\n\n\tif ( jsonSchema.type !== 'object' || ! jsonSchema.properties ) {\n\t\tthrow new Error( 'Root schema must be an object with properties' );\n\t}\n\n\tfor ( const [ key, propSchema ] of Object.entries( jsonSchema.properties ) ) {\n\t\tpropsSchema[ key ] = convertJsonSchemaToPropType( propSchema, key );\n\t}\n\n\treturn propsSchema;\n}\n","import { type PropsSchema, type PropType } from '../types';\nimport { type JsonSchema7 } from './prop-json-schema';\n\nexport function propTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\tconst description = propType.meta?.description;\n\n\tconst schema: JsonSchema7 = {};\n\n\tif ( description ) {\n\t\tschema.description = description;\n\t}\n\n\t// Handle different kinds of prop types\n\tswitch ( propType.kind ) {\n\t\tcase 'plain':\n\t\t\treturn convertPlainPropType( propType, schema );\n\t\tcase 'union':\n\t\t\treturn convertUnionPropType( propType, schema );\n\t\tcase 'object':\n\t\t\treturn convertObjectPropType( propType, schema );\n\t\tcase 'array':\n\t\t\treturn convertArrayPropType( propType, schema );\n\t\tdefault:\n\t\t\treturn convertPlainPropType( propType, schema );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPlainPropType( propType: PropType & { kind: 'plain' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = { ...baseSchema };\n\n\t// Determine type based on key\n\tconst key = propType.key.toLowerCase();\n\n\tswitch ( key ) {\n\t\tcase 'number':\n\t\t\tschema.type = 'number';\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tschema.type = 'boolean';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tschema.type = 'string';\n\t}\n\n\t// Handle enum from settings\n\tif ( Array.isArray( propType.settings?.enum ) ) {\n\t\tschema.enum = propType.settings.enum;\n\t}\n\n\treturn schema;\n}\n\n/**\n * Converts a union prop type to JSON Schema ( электричество anyOf)\n *\n * @param propType The union prop type to convert\n * @param baseSchema Base schema to extend\n */\nfunction convertUnionPropType( propType: PropType & { kind: 'union' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tconst propTypes = propType.prop_types || {};\n\tconst schemas: JsonSchema7[] = [];\n\n\t// Convert each prop type in the union\n\tfor ( const [ typeKey, subPropType ] of Object.entries( propTypes ) ) {\n\t\tconst subSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\tschemas.push( {\n\t\t\ttype: 'object',\n\t\t\trequired: [ '$$type', 'value' ],\n\t\t\tproperties: {\n\t\t\t\t$$type: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tconst: typeKey,\n\t\t\t\t\tdescription: subPropType.meta?.description,\n\t\t\t\t\t$comment: `Discriminator for union type variant: ${ typeKey }`,\n\t\t\t\t},\n\t\t\t\tvalue: subSchema,\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( schemas.length > 0 ) {\n\t\tschema.anyOf = schemas;\n\t}\n\n\tconst propTypeDescription = propType.meta?.description;\n\tif ( propTypeDescription ) {\n\t\tschema.description = propTypeDescription;\n\t}\n\treturn schema;\n}\n\nfunction convertObjectPropType( propType: PropType & { kind: 'object' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'object';\n\tschema.properties = {};\n\n\tconst required: string[] = [];\n\n\tconst shape = propType.shape || {};\n\n\t// Convert each property in the object shape\n\tfor ( const [ key, subPropType ] of Object.entries( shape ) ) {\n\t\tconst propSchema = convertPropTypeToJsonSchema( subPropType );\n\n\t\t// Check if this property is required\n\t\tif ( subPropType.settings?.required === true ) {\n\t\t\trequired.push( key );\n\t\t}\n\n\t\tschema.properties[ key ] = propSchema;\n\t}\n\n\t// Add required array if there are required fields\n\tif ( required.length > 0 ) {\n\t\tschema.required = required;\n\t}\n\n\treturn schema;\n}\n\nfunction convertArrayPropType( propType: PropType & { kind: 'array' }, baseSchema: JsonSchema7 ): JsonSchema7 {\n\tconst schema = structuredClone( baseSchema );\n\n\tschema.type = 'array';\n\n\tconst itemPropType = propType.item_prop_type;\n\n\tif ( itemPropType ) {\n\t\tschema.items = convertPropTypeToJsonSchema( itemPropType );\n\t}\n\n\treturn schema;\n}\n\nfunction convertPropTypeToJsonSchema( propType: PropType ): JsonSchema7 {\n\treturn propTypeToJsonSchema( propType );\n}\n\nexport function propsSchemaToJsonSchema( schema: PropsSchema ): JsonSchema7 {\n\tconst jsonSchema: JsonSchema7 = {\n\t\ttype: 'object',\n\t\tproperties: {},\n\t};\n\n\tfor ( const [ key, propType ] of Object.entries( schema ) ) {\n\t\t// Skip internal properties\n\t\tif ( ! isPropKeyConfigurable( key ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst propSchema = convertPropTypeToJsonSchema( propType );\n\t\tif ( jsonSchema.properties ) {\n\t\t\tjsonSchema.properties[ key ] = propSchema;\n\t\t}\n\n\t\t// Handle required fields at root level if needed\n\t\t// (typically props are optional unless specified)\n\t}\n\n\treturn jsonSchema;\n}\n\nexport const nonConfigurablePropKeys = [ '_cssid', 'classes', 'attributes' ] as readonly string[];\n\nexport function isPropKeyConfigurable( propKey: string ): boolean {\n\treturn ! nonConfigurablePropKeys.includes( propKey );\n}\n\nexport function configurableKeys( schema: PropsSchema ): string[] {\n\treturn Object.keys( schema ).filter( isPropKeyConfigurable );\n}\n","import { z } from '@elementor/schema';\n\nconst transformableSchema = z.object( {\n\t$$type: z.string(),\n\tvalue: z.any(),\n\tdisabled: z.boolean().optional(),\n} );\n\ntype TransformablePropValue = z.infer< typeof transformableSchema >;\n\nexport const isTransformable = ( value: unknown ): value is TransformablePropValue => {\n\treturn transformableSchema.safeParse( value ).success;\n};\n","import { type PropValue } from '../types';\nimport { isTransformable } from '../utils/is-transformable';\n\nexport const filterEmptyValues = < TValue extends PropValue >( value: TValue ): TValue | null => {\n\tif ( isEmpty( value ) ) {\n\t\treturn null;\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.map( filterEmptyValues ).filter( ( item ) => ! isEmpty( item ) ) as TValue;\n\t}\n\n\tif ( typeof value === 'object' ) {\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries( value )\n\t\t\t\t.map( ( [ key, val ] ) => [ key, filterEmptyValues( val ) ] )\n\t\t\t\t.filter( ( [ , val ] ) => ! isEmpty( val ) )\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype Nullish = null | undefined | '';\n\nexport const isEmpty = ( value: PropValue ): value is Nullish => {\n\tif ( value && isTransformable( value ) ) {\n\t\treturn isEmpty( value.value );\n\t}\n\n\treturn isNullish( value ) || isNullishArray( value ) || isNullishObject( value );\n};\n\nconst isNullish = ( value: PropValue ): value is Nullish => value === null || value === undefined || value === '';\n\nconst isNullishArray = ( value: NonNullable< PropValue > ): value is Nullish[] =>\n\tArray.isArray( value ) && value.every( isEmpty );\n\nconst isNullishObject = ( value: NonNullable< PropValue > ): value is Record< string, Nullish > => {\n\treturn typeof value === 'object' && isNullishArray( Object.values( value ) );\n};\n","import type { Props } from '../types';\n\nexport function mergeProps( current: Props, updates: Props ) {\n\t// edge case, the server returns an array instead of an object when empty props because of PHP array / object conversion\n\tlet props: Props = {};\n\n\tif ( ! Array.isArray( current ) ) {\n\t\tprops = structuredClone( current );\n\t}\n\n\tObject.entries( updates ).forEach( ( [ key, value ] ) => {\n\t\tif ( value === null || value === undefined ) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete props[ key ];\n\t\t} else {\n\t\t\tprops[ key ] = value;\n\t\t}\n\t} );\n\n\treturn props;\n}\n","import {\n\ttype Dependency,\n\ttype DependencyTerm,\n\ttype PropKey,\n\ttype PropValue,\n\ttype TransformablePropValue,\n} from '../types';\nimport { isTransformable } from './is-transformable';\n\ntype ParsedTerm = DependencyTerm;\n\ntype Relation = Dependency[ 'relation' ];\n\nexport function isDependencyMet(\n\tdependency: Dependency | undefined,\n\tvalues: PropValue\n): { isMet: true } | { isMet: false; failingDependencies: ( DependencyTerm | Dependency )[] } {\n\tif ( ! dependency?.terms.length ) {\n\t\treturn { isMet: true };\n\t}\n\n\tconst { relation, terms } = dependency;\n\tconst method = getRelationMethod( relation );\n\n\tconst failingDependencies: ( DependencyTerm | Dependency )[] = [];\n\tconst isMet = terms[ method ]( ( term: ParsedTerm | Dependency ) => {\n\t\tconst isNestedDependency = isDependency( term );\n\t\tconst result = isNestedDependency\n\t\t\t? isDependencyMet( term, values ).isMet\n\t\t\t: evaluateTerm( term, extractValue( term.path, values, term.nestedPath )?.value );\n\n\t\tif ( ! result ) {\n\t\t\tfailingDependencies.push( term );\n\t\t}\n\n\t\treturn result;\n\t} );\n\n\treturn { isMet, failingDependencies };\n}\n\nexport function evaluateTerm( term: DependencyTerm, actualValue: unknown ) {\n\tconst { value: valueToCompare, operator } = term;\n\n\tswitch ( operator ) {\n\t\tcase 'eq':\n\t\tcase 'ne':\n\t\t\treturn ( actualValue === valueToCompare ) === ( 'eq' === operator );\n\n\t\tcase 'gt':\n\t\tcase 'lte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) > Number( valueToCompare ) === ( 'gt' === operator );\n\n\t\tcase 'lt':\n\t\tcase 'gte':\n\t\t\tif ( ! isNumber( actualValue ) || ! isNumber( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) < Number( valueToCompare ) === ( 'lt' === operator );\n\t\tcase 'in':\n\t\tcase 'nin':\n\t\t\tif ( ! Array.isArray( valueToCompare ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn valueToCompare.includes( actualValue as never ) === ( 'in' === operator );\n\n\t\tcase 'contains':\n\t\tcase 'ncontains':\n\t\t\tif (\n\t\t\t\t( 'string' !== typeof actualValue || 'string' !== typeof valueToCompare ) &&\n\t\t\t\t! Array.isArray( actualValue )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn ( 'contains' === operator ) === actualValue.includes( valueToCompare as never );\n\n\t\tcase 'exists':\n\t\tcase 'not_exist':\n\t\t\tconst evaluation = !! actualValue || 0 === actualValue || false === actualValue;\n\n\t\t\treturn ( 'exists' === operator ) === evaluation;\n\n\t\tdefault:\n\t\t\treturn true;\n\t}\n}\n\nfunction isNumber( value: unknown ): value is number {\n\treturn typeof value === 'number' && ! isNaN( value );\n}\n\nfunction getRelationMethod( relation: Relation ) {\n\tswitch ( relation ) {\n\t\tcase 'or':\n\t\t\treturn 'some';\n\n\t\tcase 'and':\n\t\t\treturn 'every';\n\n\t\tdefault:\n\t\t\tthrow new Error( `Relation not supported ${ relation }` );\n\t}\n}\n\nexport function extractValue(\n\tpath: string[],\n\telementValues: PropValue,\n\tnestedPath: string[] = []\n): TransformablePropValue< PropKey > | null {\n\tconst extractedValue = path.reduce( ( acc, key, index ) => {\n\t\tconst value = acc?.[ key as keyof typeof acc ] as PropValue | null;\n\n\t\treturn index !== path.length - 1 && isTransformable( value ) ? value.value ?? null : value;\n\t}, elementValues ) as TransformablePropValue< PropKey >;\n\n\tif ( ! nestedPath?.length ) {\n\t\treturn extractedValue;\n\t}\n\n\tconst nestedValue = nestedPath.reduce(\n\t\t( acc: Record< string, unknown >, key ) => acc?.[ key ] as Record< string, unknown >,\n\t\textractedValue?.value as Record< string, unknown >\n\t);\n\n\treturn {\n\t\t$$type: 'unknown',\n\t\tvalue: nestedValue,\n\t};\n}\n\nexport function isDependency( term: DependencyTerm | Dependency ): term is Dependency {\n\treturn 'terms' in term;\n}\n","import { adjustLlmPropValueSchema } from './utils/adjust-llm-prop-value-schema';\nimport { jsonSchemaToPropType } from './utils/llm-schema-to-props';\nimport {\n\tconfigurableKeys,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tpropTypeToJsonSchema,\n} from './utils/props-to-llm-schema';\n\nexport { type JsonSchema7 } from './utils/prop-json-schema';\n\n// types\nexport * from './types';\nexport { type CreateOptions, type PropTypeUtil } from './utils/create-prop-utils';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { createArrayPropUtils, createPropUtils, getPropSchemaFromCache } from './utils/create-prop-utils';\nexport { filterEmptyValues, isEmpty } from './utils/filter-empty-values';\nexport { isTransformable } from './utils/is-transformable';\nexport { mergeProps } from './utils/merge-props';\nexport { evaluateTerm, extractValue, isDependency, isDependencyMet } from './utils/prop-dependency-utils';\n\nexport const Schema = {\n\tjsonSchemaToPropType,\n\tpropTypeToJsonSchema,\n\tadjustLlmPropValueSchema,\n\tisPropKeyConfigurable,\n\tnonConfigurablePropKeys,\n\tconfigurableKeys,\n};\n"],"mappings":"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","names":["z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/editor-props",
3
3
  "description": "This package contains the props model for the Elementor editor",
4
- "version": "3.35.0-324",
4
+ "version": "3.35.0-326",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -40,7 +40,7 @@
40
40
  "dev": "tsup --config=../../tsup.dev.ts"
41
41
  },
42
42
  "dependencies": {
43
- "@elementor/schema": "3.35.0-324"
43
+ "@elementor/schema": "3.35.0-326"
44
44
  },
45
45
  "devDependencies": {
46
46
  "tsup": "^8.3.5"
@@ -8,6 +8,7 @@ export const linkPropTypeUtil = createPropUtils(
8
8
  z.strictObject( {
9
9
  destination: unknownChildrenSchema,
10
10
  isTargetBlank: unknownChildrenSchema,
11
+ tag: unknownChildrenSchema,
11
12
  } )
12
13
  );
13
14
 
package/src/types.ts CHANGED
@@ -17,6 +17,7 @@ export type DependencyOperator =
17
17
  export type DependencyTerm = {
18
18
  operator: DependencyOperator;
19
19
  path: string[];
20
+ nestedPath?: string[];
20
21
  value: PropValue;
21
22
  newValue?: TransformablePropValue< string >;
22
23
  };
@@ -24,6 +25,7 @@ export type DependencyTerm = {
24
25
  export type Dependency = {
25
26
  relation: 'or' | 'and';
26
27
  terms: ( DependencyTerm | Dependency )[];
28
+ newValue?: TransformablePropValue< string >;
27
29
  };
28
30
 
29
31
  type BasePropTypeMeta = {
@@ -14,7 +14,7 @@ type Relation = Dependency[ 'relation' ];
14
14
  export function isDependencyMet(
15
15
  dependency: Dependency | undefined,
16
16
  values: PropValue
17
- ): { isMet: true } | { isMet: false; failingDependencies: DependencyTerm[] } {
17
+ ): { isMet: true } | { isMet: false; failingDependencies: ( DependencyTerm | Dependency )[] } {
18
18
  if ( ! dependency?.terms.length ) {
19
19
  return { isMet: true };
20
20
  }
@@ -22,14 +22,14 @@ export function isDependencyMet(
22
22
  const { relation, terms } = dependency;
23
23
  const method = getRelationMethod( relation );
24
24
 
25
- const failingDependencies: DependencyTerm[] = [];
25
+ const failingDependencies: ( DependencyTerm | Dependency )[] = [];
26
26
  const isMet = terms[ method ]( ( term: ParsedTerm | Dependency ) => {
27
27
  const isNestedDependency = isDependency( term );
28
28
  const result = isNestedDependency
29
29
  ? isDependencyMet( term, values ).isMet
30
- : evaluateTerm( term, extractValue( term.path, values )?.value );
30
+ : evaluateTerm( term, extractValue( term.path, values, term.nestedPath )?.value );
31
31
 
32
- if ( ! result && ! isNestedDependency ) {
32
+ if ( ! result ) {
33
33
  failingDependencies.push( term );
34
34
  }
35
35
 
@@ -109,14 +109,32 @@ function getRelationMethod( relation: Relation ) {
109
109
  }
110
110
  }
111
111
 
112
- export function extractValue( path: string[], elementValues: PropValue ): TransformablePropValue< PropKey > | null {
113
- return path.reduce( ( acc, key, index ) => {
112
+ export function extractValue(
113
+ path: string[],
114
+ elementValues: PropValue,
115
+ nestedPath: string[] = []
116
+ ): TransformablePropValue< PropKey > | null {
117
+ const extractedValue = path.reduce( ( acc, key, index ) => {
114
118
  const value = acc?.[ key as keyof typeof acc ] as PropValue | null;
115
119
 
116
120
  return index !== path.length - 1 && isTransformable( value ) ? value.value ?? null : value;
117
121
  }, elementValues ) as TransformablePropValue< PropKey >;
122
+
123
+ if ( ! nestedPath?.length ) {
124
+ return extractedValue;
125
+ }
126
+
127
+ const nestedValue = nestedPath.reduce(
128
+ ( acc: Record< string, unknown >, key ) => acc?.[ key ] as Record< string, unknown >,
129
+ extractedValue?.value as Record< string, unknown >
130
+ );
131
+
132
+ return {
133
+ $$type: 'unknown',
134
+ value: nestedValue,
135
+ };
118
136
  }
119
137
 
120
138
  export function isDependency( term: DependencyTerm | Dependency ): term is Dependency {
121
- return 'relation' in term;
139
+ return 'terms' in term;
122
140
  }