@elementor/editor-props 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -28,17 +28,21 @@ __export(index_exports, {
28
28
  backgroundImageSizeScalePropTypeUtil: () => backgroundImageSizeScalePropTypeUtil,
29
29
  backgroundOverlayPropTypeUtil: () => backgroundOverlayPropTypeUtil,
30
30
  backgroundPropTypeUtil: () => backgroundPropTypeUtil,
31
+ blurFilterPropTypeUtil: () => blurFilterPropTypeUtil,
31
32
  booleanPropTypeUtil: () => booleanPropTypeUtil,
32
33
  borderRadiusPropTypeUtil: () => borderRadiusPropTypeUtil,
33
34
  borderWidthPropTypeUtil: () => borderWidthPropTypeUtil,
34
35
  boxShadowPropTypeUtil: () => boxShadowPropTypeUtil,
36
+ brightnessFilterPropTypeUtil: () => brightnessFilterPropTypeUtil,
35
37
  classesPropTypeUtil: () => classesPropTypeUtil,
36
38
  colorPropTypeUtil: () => colorPropTypeUtil,
37
39
  colorStopPropTypeUtil: () => colorStopPropTypeUtil,
38
40
  createArrayPropUtils: () => createArrayPropUtils,
39
41
  createPropUtils: () => createPropUtils,
40
42
  dimensionsPropTypeUtil: () => dimensionsPropTypeUtil,
43
+ evaluateTerm: () => evaluateTerm,
41
44
  filterEmptyValues: () => filterEmptyValues,
45
+ filterPropTypeUtil: () => filterPropTypeUtil,
42
46
  gradientColorStopPropTypeUtil: () => gradientColorStopPropTypeUtil,
43
47
  imageAttachmentIdPropType: () => imageAttachmentIdPropType,
44
48
  imagePropTypeUtil: () => imagePropTypeUtil,
@@ -49,12 +53,15 @@ __export(index_exports, {
49
53
  layoutDirectionPropTypeUtil: () => layoutDirectionPropTypeUtil,
50
54
  linkPropTypeUtil: () => linkPropTypeUtil,
51
55
  mergeProps: () => mergeProps,
56
+ moveTransformPropTypeUtil: () => moveTransformPropTypeUtil,
52
57
  numberPropTypeUtil: () => numberPropTypeUtil,
53
58
  positionPropTypeUtil: () => positionPropTypeUtil,
54
59
  shadowPropTypeUtil: () => shadowPropTypeUtil,
60
+ shouldApplyEffect: () => shouldApplyEffect,
55
61
  sizePropTypeUtil: () => sizePropTypeUtil,
56
62
  stringPropTypeUtil: () => stringPropTypeUtil,
57
63
  strokePropTypeUtil: () => strokePropTypeUtil,
64
+ transformPropTypeUtil: () => transformPropTypeUtil,
58
65
  urlPropTypeUtil: () => urlPropTypeUtil
59
66
  });
60
67
  module.exports = __toCommonJS(index_exports);
@@ -338,7 +345,7 @@ var gradientColorStopPropTypeUtil = createPropUtils(
338
345
  // src/prop-types/key-value.ts
339
346
  var import_schema25 = require("@elementor/schema");
340
347
  var keyValuePropTypeUtil = createPropUtils(
341
- "keyValue",
348
+ "key-value",
342
349
  import_schema25.z.strictObject({
343
350
  key: unknownChildrenSchema,
344
351
  value: unknownChildrenSchema
@@ -355,6 +362,48 @@ var positionPropTypeUtil = createPropUtils(
355
362
  })
356
363
  );
357
364
 
365
+ // src/prop-types/filter-prop-types/filter.ts
366
+ var import_schema27 = require("@elementor/schema");
367
+
368
+ // src/prop-types/filter-prop-types/blur-filter.ts
369
+ var blurFilterPropTypeUtil = createPropUtils("blur", unknownChildrenSchema);
370
+
371
+ // src/prop-types/filter-prop-types/brightness-filter.ts
372
+ var brightnessFilterPropTypeUtil = createPropUtils("brightness", unknownChildrenSchema);
373
+
374
+ // src/prop-types/filter-prop-types/filter.ts
375
+ var filterTypes = blurFilterPropTypeUtil.schema.or(brightnessFilterPropTypeUtil.schema);
376
+ var filterPropTypeUtil = createPropUtils("filter", import_schema27.z.array(filterTypes));
377
+
378
+ // src/prop-types/transform-prop-types/transform.ts
379
+ var import_schema30 = require("@elementor/schema");
380
+
381
+ // src/prop-types/transform-prop-types/move-transform.ts
382
+ var import_schema28 = require("@elementor/schema");
383
+ var moveTransformPropTypeUtil = createPropUtils(
384
+ "transform-move",
385
+ import_schema28.z.strictObject({
386
+ x: sizePropTypeUtil.schema.nullable(),
387
+ y: sizePropTypeUtil.schema.nullable(),
388
+ z: sizePropTypeUtil.schema.nullable()
389
+ })
390
+ );
391
+
392
+ // src/prop-types/transform-prop-types/scale-transform.ts
393
+ var import_schema29 = require("@elementor/schema");
394
+ var scaleTransformPropTypeUtil = createPropUtils(
395
+ "scale",
396
+ import_schema29.z.strictObject({
397
+ x: sizePropTypeUtil.schema.nullable(),
398
+ y: sizePropTypeUtil.schema.nullable(),
399
+ z: sizePropTypeUtil.schema.nullable()
400
+ })
401
+ );
402
+
403
+ // src/prop-types/transform-prop-types/transform.ts
404
+ var filterTypes2 = moveTransformPropTypeUtil.schema.or(scaleTransformPropTypeUtil.schema);
405
+ var transformPropTypeUtil = createPropUtils("transform", import_schema30.z.array(filterTypes2));
406
+
358
407
  // src/utils/merge-props.ts
359
408
  function mergeProps(current, updates) {
360
409
  const props = structuredClone(current);
@@ -368,12 +417,81 @@ function mergeProps(current, updates) {
368
417
  return props;
369
418
  }
370
419
 
420
+ // src/utils/prop-dependency-utils.ts
421
+ function shouldApplyEffect({ relation, terms }, values) {
422
+ if (!terms.length) {
423
+ return false;
424
+ }
425
+ const method = getRelationMethod(relation);
426
+ return terms[method](
427
+ (term) => isDependency(term) ? shouldApplyEffect(term, values) : evaluateTerm(term, getValue(term.path, values))
428
+ );
429
+ }
430
+ function evaluateTerm(term, actualValue) {
431
+ const { value: valueToCompare, operator } = term;
432
+ switch (operator) {
433
+ case "eq":
434
+ case "ne":
435
+ return actualValue === valueToCompare === ("eq" === operator);
436
+ case "gt":
437
+ case "lte":
438
+ if (isNaN(Number(actualValue)) || isNaN(Number(valueToCompare))) {
439
+ throw new Error("Mathematical comparison requires numeric values.");
440
+ }
441
+ return Number(actualValue) > Number(valueToCompare) === ("gt" === operator);
442
+ case "lt":
443
+ case "gte":
444
+ if (isNaN(Number(actualValue)) || isNaN(Number(valueToCompare))) {
445
+ throw new Error("Mathematical comparison requires numeric values.");
446
+ }
447
+ return Number(actualValue) < Number(valueToCompare) === ("lt" === operator);
448
+ case "in":
449
+ case "nin":
450
+ if (!Array.isArray(valueToCompare)) {
451
+ throw new Error('The "in" and "nin" operators require an array for comparison.');
452
+ }
453
+ return valueToCompare.includes(actualValue) === ("in" === operator);
454
+ case "contains":
455
+ case "ncontains":
456
+ if (("string" !== typeof actualValue || "string" !== typeof valueToCompare) && !Array.isArray(actualValue)) {
457
+ throw new Error(
458
+ 'The "contains" and "ncontains" operators require a string or an array for comparison.'
459
+ );
460
+ }
461
+ return "contains" === operator === actualValue.includes(valueToCompare);
462
+ case "exists":
463
+ case "not_exist":
464
+ const evaluation = !!actualValue || 0 === actualValue || false === actualValue;
465
+ return "exists" === operator === evaluation;
466
+ default:
467
+ return false;
468
+ }
469
+ }
470
+ function getRelationMethod(relation) {
471
+ switch (relation) {
472
+ case "or":
473
+ return "some";
474
+ case "and":
475
+ return "every";
476
+ default:
477
+ throw new Error(`Relation not supported ${relation}`);
478
+ }
479
+ }
480
+ function getValue(path, elementValues) {
481
+ return path.reduce((acc, key) => {
482
+ return "object" === typeof acc && acc !== null && key in acc ? acc[key]?.value : null;
483
+ }, elementValues);
484
+ }
485
+ function isDependency(term) {
486
+ return "relation" in term;
487
+ }
488
+
371
489
  // src/utils/is-transformable.ts
372
- var import_schema27 = require("@elementor/schema");
373
- var transformableSchema = import_schema27.z.object({
374
- $$type: import_schema27.z.string(),
375
- value: import_schema27.z.any(),
376
- disabled: import_schema27.z.boolean().optional()
490
+ var import_schema31 = require("@elementor/schema");
491
+ var transformableSchema = import_schema31.z.object({
492
+ $$type: import_schema31.z.string(),
493
+ value: import_schema31.z.any(),
494
+ disabled: import_schema31.z.boolean().optional()
377
495
  });
378
496
  var isTransformable = (value) => {
379
497
  return transformableSchema.safeParse(value).success;
@@ -415,17 +533,21 @@ var isNullishObject = (value) => {
415
533
  backgroundImageSizeScalePropTypeUtil,
416
534
  backgroundOverlayPropTypeUtil,
417
535
  backgroundPropTypeUtil,
536
+ blurFilterPropTypeUtil,
418
537
  booleanPropTypeUtil,
419
538
  borderRadiusPropTypeUtil,
420
539
  borderWidthPropTypeUtil,
421
540
  boxShadowPropTypeUtil,
541
+ brightnessFilterPropTypeUtil,
422
542
  classesPropTypeUtil,
423
543
  colorPropTypeUtil,
424
544
  colorStopPropTypeUtil,
425
545
  createArrayPropUtils,
426
546
  createPropUtils,
427
547
  dimensionsPropTypeUtil,
548
+ evaluateTerm,
428
549
  filterEmptyValues,
550
+ filterPropTypeUtil,
429
551
  gradientColorStopPropTypeUtil,
430
552
  imageAttachmentIdPropType,
431
553
  imagePropTypeUtil,
@@ -436,12 +558,15 @@ var isNullishObject = (value) => {
436
558
  layoutDirectionPropTypeUtil,
437
559
  linkPropTypeUtil,
438
560
  mergeProps,
561
+ moveTransformPropTypeUtil,
439
562
  numberPropTypeUtil,
440
563
  positionPropTypeUtil,
441
564
  shadowPropTypeUtil,
565
+ shouldApplyEffect,
442
566
  sizePropTypeUtil,
443
567
  stringPropTypeUtil,
444
568
  strokePropTypeUtil,
569
+ transformPropTypeUtil,
445
570
  urlPropTypeUtil
446
571
  });
447
572
  //# sourceMappingURL=index.js.map
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/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/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/key-value.ts","../src/prop-types/position.ts","../src/utils/merge-props.ts","../src/utils/is-transformable.ts","../src/utils/filter-empty-values.ts"],"sourcesContent":["// types\nexport * from './types';\nexport { type PropTypeUtil, type CreateOptions } from './utils/create-prop-utils';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { mergeProps } from './utils/merge-props';\nexport { createPropUtils, createArrayPropUtils } from './utils/create-prop-utils';\nexport { isTransformable } from './utils/is-transformable';\nexport { filterEmptyValues, isEmpty } from './utils/filter-empty-values';\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\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 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\treturn {\n\t\textract,\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t\tkey: key as TKey,\n\t};\n}\n\nexport function createArrayPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >\n) {\n\treturn createPropUtils( `${ 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 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.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\tlabel: 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 { unknownChildrenSchema } from '../utils';\n\nexport const backgroundPropTypeUtil = createPropUtils(\n\t'background',\n\tz.strictObject( {\n\t\tcolor: 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\nconst 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 keyValuePropTypeUtil = createPropUtils(\n\t'keyValue',\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 { sizePropTypeUtil } from './size';\n\nexport const positionPropTypeUtil = createPropUtils(\n\t'object-position',\n\tz.strictObject( {\n\t\tx: sizePropTypeUtil.schema.nullable(),\n\t\ty: sizePropTypeUtil.schema.nullable(),\n\t} )\n);\n\nexport type PositionPropTypeValue = z.infer< typeof positionPropTypeUtil.schema >;\n","import type { Props } from '../types';\n\nexport function mergeProps( current: Props, updates: Props ) {\n\tconst props = structuredClone( current );\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 { 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"],"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"]}
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/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/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/key-value.ts","../src/prop-types/position.ts","../src/prop-types/filter-prop-types/filter.ts","../src/prop-types/filter-prop-types/blur-filter.ts","../src/prop-types/filter-prop-types/brightness-filter.ts","../src/prop-types/transform-prop-types/transform.ts","../src/prop-types/transform-prop-types/move-transform.ts","../src/prop-types/transform-prop-types/scale-transform.ts","../src/utils/merge-props.ts","../src/utils/prop-dependency-utils.ts","../src/utils/is-transformable.ts","../src/utils/filter-empty-values.ts"],"sourcesContent":["// types\nexport * from './types';\nexport { type PropTypeUtil, type CreateOptions } from './utils/create-prop-utils';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { mergeProps } from './utils/merge-props';\nexport { createPropUtils, createArrayPropUtils } from './utils/create-prop-utils';\nexport { shouldApplyEffect, evaluateTerm } from './utils/prop-dependency-utils';\nexport { isTransformable } from './utils/is-transformable';\nexport { filterEmptyValues, isEmpty } from './utils/filter-empty-values';\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\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 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\treturn {\n\t\textract,\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t\tkey: key as TKey,\n\t};\n}\n\nexport function createArrayPropUtils< TKey extends string, TValue extends PropValue >(\n\tkey: TKey,\n\tvalueSchema: ZodType< TValue >\n) {\n\treturn createPropUtils( `${ 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 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.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\tlabel: 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 { unknownChildrenSchema } from '../utils';\n\nexport const backgroundPropTypeUtil = createPropUtils(\n\t'background',\n\tz.strictObject( {\n\t\tcolor: 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\nconst 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 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 { sizePropTypeUtil } from './size';\n\nexport const positionPropTypeUtil = createPropUtils(\n\t'object-position',\n\tz.strictObject( {\n\t\tx: sizePropTypeUtil.schema.nullable(),\n\t\ty: sizePropTypeUtil.schema.nullable(),\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 { blurFilterPropTypeUtil } from './blur-filter';\nimport { brightnessFilterPropTypeUtil } from './brightness-filter';\n\nconst filterTypes = blurFilterPropTypeUtil.schema.or( brightnessFilterPropTypeUtil.schema );\nexport const filterPropTypeUtil = createPropUtils( 'filter', z.array( filterTypes ) );\n\nexport type FilterPropValue = z.infer< typeof filterPropTypeUtil.schema >;\n\nexport type FilterItemPropValue = z.infer< typeof filterTypes >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const blurFilterPropTypeUtil = createPropUtils( 'blur', unknownChildrenSchema );\n\nexport type BlurFilterPropValue = z.infer< typeof blurFilterPropTypeUtil.schema >;\n","import { type z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { unknownChildrenSchema } from '../utils';\n\nexport const brightnessFilterPropTypeUtil = createPropUtils( 'brightness', unknownChildrenSchema );\n\nexport type BrightnessFilterPropValue = z.infer< typeof brightnessFilterPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { moveTransformPropTypeUtil } from './move-transform';\nimport { scaleTransformPropTypeUtil } from './scale-transform';\n\nconst filterTypes = moveTransformPropTypeUtil.schema.or( scaleTransformPropTypeUtil.schema );\nexport const transformPropTypeUtil = createPropUtils( 'transform', z.array( filterTypes ) );\n\nexport type TransformPropValue = z.infer< typeof transformPropTypeUtil.schema >;\n\nexport type TransformItemPropValue = z.infer< typeof filterTypes >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { sizePropTypeUtil } from '../size';\n\nexport const moveTransformPropTypeUtil = createPropUtils(\n\t'transform-move',\n\tz.strictObject( {\n\t\tx: sizePropTypeUtil.schema.nullable(),\n\t\ty: sizePropTypeUtil.schema.nullable(),\n\t\tz: sizePropTypeUtil.schema.nullable(),\n\t} )\n);\n\nexport type MoveTransformPropValue = z.infer< typeof moveTransformPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../../utils/create-prop-utils';\nimport { sizePropTypeUtil } from '../size';\n\nexport const scaleTransformPropTypeUtil = createPropUtils(\n\t'scale',\n\tz.strictObject( {\n\t\tx: sizePropTypeUtil.schema.nullable(),\n\t\ty: sizePropTypeUtil.schema.nullable(),\n\t\tz: sizePropTypeUtil.schema.nullable(),\n\t} )\n);\n","import type { Props } from '../types';\n\nexport function mergeProps( current: Props, updates: Props ) {\n\tconst props = structuredClone( current );\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 { type Dependency, type DependencyTerm, type PropValue, type TransformablePropValue } from '../types';\n\ntype ParsedTerm = DependencyTerm;\n\ntype Relation = Dependency[ 'relation' ];\n\nexport function shouldApplyEffect( { relation, terms }: Dependency, values: PropValue ): boolean {\n\tif ( ! terms.length ) {\n\t\treturn false;\n\t}\n\n\tconst method = getRelationMethod( relation );\n\n\treturn terms[ method ]( ( term: ParsedTerm | Dependency ) =>\n\t\tisDependency( term ) ? shouldApplyEffect( term, values ) : evaluateTerm( term, getValue( term.path, values ) )\n\t);\n}\n\nexport function evaluateTerm( term: DependencyTerm, actualValue: PropValue ) {\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 ( isNaN( Number( actualValue ) ) || isNaN( Number( valueToCompare ) ) ) {\n\t\t\t\tthrow new Error( 'Mathematical comparison requires numeric values.' );\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 ( isNaN( Number( actualValue ) ) || isNaN( Number( valueToCompare ) ) ) {\n\t\t\t\tthrow new Error( 'Mathematical comparison requires numeric values.' );\n\t\t\t}\n\n\t\t\treturn Number( actualValue ) < Number( valueToCompare ) === ( 'lt' === operator );\n\n\t\tcase 'in':\n\t\tcase 'nin':\n\t\t\tif ( ! Array.isArray( valueToCompare ) ) {\n\t\t\t\tthrow new Error( 'The \"in\" and \"nin\" operators require an array for comparison.' );\n\t\t\t}\n\n\t\t\treturn valueToCompare.includes( actualValue ) === ( '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\tthrow new Error(\n\t\t\t\t\t'The \"contains\" and \"ncontains\" operators require a string or an array for comparison.'\n\t\t\t\t);\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 false;\n\t}\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\nfunction getValue( path: string[], elementValues: PropValue ): PropValue | null {\n\treturn path.reduce( ( acc, key ) => {\n\t\treturn 'object' === typeof acc && acc !== null && key in acc\n\t\t\t? ( ( acc[ key as keyof typeof acc ] as TransformablePropValue< string > )?.value as PropValue )\n\t\t\t: null;\n\t}, elementValues );\n}\n\nfunction isDependency( term: DependencyTerm | Dependency ): term is Dependency {\n\treturn 'relation' in term;\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"],"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","filterTypes","import_schema"]}
package/dist/index.mjs CHANGED
@@ -277,7 +277,7 @@ var gradientColorStopPropTypeUtil = createPropUtils(
277
277
  // src/prop-types/key-value.ts
278
278
  import { z as z25 } from "@elementor/schema";
279
279
  var keyValuePropTypeUtil = createPropUtils(
280
- "keyValue",
280
+ "key-value",
281
281
  z25.strictObject({
282
282
  key: unknownChildrenSchema,
283
283
  value: unknownChildrenSchema
@@ -294,6 +294,48 @@ var positionPropTypeUtil = createPropUtils(
294
294
  })
295
295
  );
296
296
 
297
+ // src/prop-types/filter-prop-types/filter.ts
298
+ import { z as z27 } from "@elementor/schema";
299
+
300
+ // src/prop-types/filter-prop-types/blur-filter.ts
301
+ var blurFilterPropTypeUtil = createPropUtils("blur", unknownChildrenSchema);
302
+
303
+ // src/prop-types/filter-prop-types/brightness-filter.ts
304
+ var brightnessFilterPropTypeUtil = createPropUtils("brightness", unknownChildrenSchema);
305
+
306
+ // src/prop-types/filter-prop-types/filter.ts
307
+ var filterTypes = blurFilterPropTypeUtil.schema.or(brightnessFilterPropTypeUtil.schema);
308
+ var filterPropTypeUtil = createPropUtils("filter", z27.array(filterTypes));
309
+
310
+ // src/prop-types/transform-prop-types/transform.ts
311
+ import { z as z30 } from "@elementor/schema";
312
+
313
+ // src/prop-types/transform-prop-types/move-transform.ts
314
+ import { z as z28 } from "@elementor/schema";
315
+ var moveTransformPropTypeUtil = createPropUtils(
316
+ "transform-move",
317
+ z28.strictObject({
318
+ x: sizePropTypeUtil.schema.nullable(),
319
+ y: sizePropTypeUtil.schema.nullable(),
320
+ z: sizePropTypeUtil.schema.nullable()
321
+ })
322
+ );
323
+
324
+ // src/prop-types/transform-prop-types/scale-transform.ts
325
+ import { z as z29 } from "@elementor/schema";
326
+ var scaleTransformPropTypeUtil = createPropUtils(
327
+ "scale",
328
+ z29.strictObject({
329
+ x: sizePropTypeUtil.schema.nullable(),
330
+ y: sizePropTypeUtil.schema.nullable(),
331
+ z: sizePropTypeUtil.schema.nullable()
332
+ })
333
+ );
334
+
335
+ // src/prop-types/transform-prop-types/transform.ts
336
+ var filterTypes2 = moveTransformPropTypeUtil.schema.or(scaleTransformPropTypeUtil.schema);
337
+ var transformPropTypeUtil = createPropUtils("transform", z30.array(filterTypes2));
338
+
297
339
  // src/utils/merge-props.ts
298
340
  function mergeProps(current, updates) {
299
341
  const props = structuredClone(current);
@@ -307,12 +349,81 @@ function mergeProps(current, updates) {
307
349
  return props;
308
350
  }
309
351
 
352
+ // src/utils/prop-dependency-utils.ts
353
+ function shouldApplyEffect({ relation, terms }, values) {
354
+ if (!terms.length) {
355
+ return false;
356
+ }
357
+ const method = getRelationMethod(relation);
358
+ return terms[method](
359
+ (term) => isDependency(term) ? shouldApplyEffect(term, values) : evaluateTerm(term, getValue(term.path, values))
360
+ );
361
+ }
362
+ function evaluateTerm(term, actualValue) {
363
+ const { value: valueToCompare, operator } = term;
364
+ switch (operator) {
365
+ case "eq":
366
+ case "ne":
367
+ return actualValue === valueToCompare === ("eq" === operator);
368
+ case "gt":
369
+ case "lte":
370
+ if (isNaN(Number(actualValue)) || isNaN(Number(valueToCompare))) {
371
+ throw new Error("Mathematical comparison requires numeric values.");
372
+ }
373
+ return Number(actualValue) > Number(valueToCompare) === ("gt" === operator);
374
+ case "lt":
375
+ case "gte":
376
+ if (isNaN(Number(actualValue)) || isNaN(Number(valueToCompare))) {
377
+ throw new Error("Mathematical comparison requires numeric values.");
378
+ }
379
+ return Number(actualValue) < Number(valueToCompare) === ("lt" === operator);
380
+ case "in":
381
+ case "nin":
382
+ if (!Array.isArray(valueToCompare)) {
383
+ throw new Error('The "in" and "nin" operators require an array for comparison.');
384
+ }
385
+ return valueToCompare.includes(actualValue) === ("in" === operator);
386
+ case "contains":
387
+ case "ncontains":
388
+ if (("string" !== typeof actualValue || "string" !== typeof valueToCompare) && !Array.isArray(actualValue)) {
389
+ throw new Error(
390
+ 'The "contains" and "ncontains" operators require a string or an array for comparison.'
391
+ );
392
+ }
393
+ return "contains" === operator === actualValue.includes(valueToCompare);
394
+ case "exists":
395
+ case "not_exist":
396
+ const evaluation = !!actualValue || 0 === actualValue || false === actualValue;
397
+ return "exists" === operator === evaluation;
398
+ default:
399
+ return false;
400
+ }
401
+ }
402
+ function getRelationMethod(relation) {
403
+ switch (relation) {
404
+ case "or":
405
+ return "some";
406
+ case "and":
407
+ return "every";
408
+ default:
409
+ throw new Error(`Relation not supported ${relation}`);
410
+ }
411
+ }
412
+ function getValue(path, elementValues) {
413
+ return path.reduce((acc, key) => {
414
+ return "object" === typeof acc && acc !== null && key in acc ? acc[key]?.value : null;
415
+ }, elementValues);
416
+ }
417
+ function isDependency(term) {
418
+ return "relation" in term;
419
+ }
420
+
310
421
  // src/utils/is-transformable.ts
311
- import { z as z27 } from "@elementor/schema";
312
- var transformableSchema = z27.object({
313
- $$type: z27.string(),
314
- value: z27.any(),
315
- disabled: z27.boolean().optional()
422
+ import { z as z31 } from "@elementor/schema";
423
+ var transformableSchema = z31.object({
424
+ $$type: z31.string(),
425
+ value: z31.any(),
426
+ disabled: z31.boolean().optional()
316
427
  });
317
428
  var isTransformable = (value) => {
318
429
  return transformableSchema.safeParse(value).success;
@@ -353,17 +464,21 @@ export {
353
464
  backgroundImageSizeScalePropTypeUtil,
354
465
  backgroundOverlayPropTypeUtil,
355
466
  backgroundPropTypeUtil,
467
+ blurFilterPropTypeUtil,
356
468
  booleanPropTypeUtil,
357
469
  borderRadiusPropTypeUtil,
358
470
  borderWidthPropTypeUtil,
359
471
  boxShadowPropTypeUtil,
472
+ brightnessFilterPropTypeUtil,
360
473
  classesPropTypeUtil,
361
474
  colorPropTypeUtil,
362
475
  colorStopPropTypeUtil,
363
476
  createArrayPropUtils,
364
477
  createPropUtils,
365
478
  dimensionsPropTypeUtil,
479
+ evaluateTerm,
366
480
  filterEmptyValues,
481
+ filterPropTypeUtil,
367
482
  gradientColorStopPropTypeUtil,
368
483
  imageAttachmentIdPropType,
369
484
  imagePropTypeUtil,
@@ -374,12 +489,15 @@ export {
374
489
  layoutDirectionPropTypeUtil,
375
490
  linkPropTypeUtil,
376
491
  mergeProps,
492
+ moveTransformPropTypeUtil,
377
493
  numberPropTypeUtil,
378
494
  positionPropTypeUtil,
379
495
  shadowPropTypeUtil,
496
+ shouldApplyEffect,
380
497
  sizePropTypeUtil,
381
498
  stringPropTypeUtil,
382
499
  strokePropTypeUtil,
500
+ transformPropTypeUtil,
383
501
  urlPropTypeUtil
384
502
  };
385
503
  //# sourceMappingURL=index.mjs.map