@elementor/editor-props 0.3.0 → 0.5.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
@@ -18,9 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
20
  // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
23
  backgroundImagePropTypeUtil: () => backgroundImagePropTypeUtil,
24
+ backgroundOverlayPropTypeUtil: () => backgroundOverlayPropTypeUtil,
24
25
  borderRadiusPropTypeUtil: () => borderRadiusPropTypeUtil,
25
26
  borderWidthPropTypeUtil: () => borderWidthPropTypeUtil,
26
27
  boxShadowPropTypeUtil: () => boxShadowPropTypeUtil,
@@ -28,10 +29,12 @@ __export(src_exports, {
28
29
  colorGradientPropTypeUtil: () => colorGradientPropTypeUtil,
29
30
  colorPropTypeUtil: () => colorPropTypeUtil,
30
31
  createPropUtils: () => createPropUtils,
32
+ gapPropTypeUtil: () => gapPropTypeUtil,
31
33
  imageAttachmentIdPropType: () => imageAttachmentIdPropType,
32
34
  imagePropTypeUtil: () => imagePropTypeUtil,
33
35
  imageSrcPropTypeUtil: () => imageSrcPropTypeUtil,
34
36
  isTransformable: () => isTransformable,
37
+ linkPropTypeUtil: () => linkPropTypeUtil,
35
38
  linkedDimensionsPropTypeUtil: () => linkedDimensionsPropTypeUtil,
36
39
  numberPropTypeUtil: () => numberPropTypeUtil,
37
40
  shadowPropTypeUtil: () => shadowPropTypeUtil,
@@ -40,27 +43,30 @@ __export(src_exports, {
40
43
  strokePropTypeUtil: () => strokePropTypeUtil,
41
44
  urlPropTypeUtil: () => urlPropTypeUtil
42
45
  });
43
- module.exports = __toCommonJS(src_exports);
46
+ module.exports = __toCommonJS(index_exports);
44
47
 
45
- // src/prop-types/box-shadow.ts
46
- var import_schema4 = require("@elementor/schema");
48
+ // src/prop-types/background-overlay.ts
49
+ var import_schema3 = require("@elementor/schema");
47
50
 
48
51
  // src/utils/create-prop-utils.ts
49
52
  var import_schema = require("@elementor/schema");
50
53
  function createPropUtils(key, valueSchema) {
51
- const schema = import_schema.z.object({
54
+ const schema = import_schema.z.strictObject({
52
55
  $$type: import_schema.z.literal(key),
53
- value: valueSchema
56
+ value: valueSchema,
57
+ disabled: import_schema.z.boolean().optional()
54
58
  });
55
59
  function isValid(prop) {
56
60
  return schema.safeParse(prop).success;
57
61
  }
58
- function create(value, base) {
62
+ function create(value, createOptions) {
59
63
  const fn = typeof value === "function" ? value : () => value;
64
+ const { base, disabled } = createOptions || {};
60
65
  if (!base) {
61
66
  return {
62
67
  $$type: key,
63
- value: fn()
68
+ value: fn(),
69
+ ...disabled && { disabled }
64
70
  };
65
71
  }
66
72
  if (!isValid(base)) {
@@ -68,27 +74,44 @@ function createPropUtils(key, valueSchema) {
68
74
  }
69
75
  return {
70
76
  $$type: key,
71
- value: fn(base.value)
77
+ value: fn(base.value),
78
+ ...disabled && { disabled }
72
79
  };
73
80
  }
81
+ function extract(prop) {
82
+ if (!isValid(prop)) {
83
+ return null;
84
+ }
85
+ return prop.value;
86
+ }
74
87
  return {
88
+ extract,
75
89
  isValid,
76
90
  create,
77
91
  schema
78
92
  };
79
93
  }
80
94
 
81
- // src/prop-types/shadow.ts
82
- var import_schema3 = require("@elementor/schema");
83
-
84
95
  // src/prop-types/utils.ts
85
96
  var import_schema2 = require("@elementor/schema");
86
97
  var unknownChildrenSchema = import_schema2.z.any().nullable();
87
98
 
99
+ // src/prop-types/background-overlay.ts
100
+ var backgroundOverlayPropTypeUtil = createPropUtils(
101
+ "background-overlay",
102
+ import_schema3.z.strictObject({
103
+ color: unknownChildrenSchema
104
+ })
105
+ );
106
+
107
+ // src/prop-types/box-shadow.ts
108
+ var import_schema5 = require("@elementor/schema");
109
+
88
110
  // src/prop-types/shadow.ts
111
+ var import_schema4 = require("@elementor/schema");
89
112
  var shadowPropTypeUtil = createPropUtils(
90
113
  "shadow",
91
- import_schema3.z.strictObject({
114
+ import_schema4.z.strictObject({
92
115
  position: unknownChildrenSchema,
93
116
  hOffset: unknownChildrenSchema,
94
117
  vOffset: unknownChildrenSchema,
@@ -99,13 +122,13 @@ var shadowPropTypeUtil = createPropUtils(
99
122
  );
100
123
 
101
124
  // src/prop-types/box-shadow.ts
102
- var boxShadowPropTypeUtil = createPropUtils("box-shadow", import_schema4.z.array(shadowPropTypeUtil.schema));
125
+ var boxShadowPropTypeUtil = createPropUtils("box-shadow", import_schema5.z.array(shadowPropTypeUtil.schema));
103
126
 
104
127
  // src/prop-types/border-radius.ts
105
- var import_schema5 = require("@elementor/schema");
128
+ var import_schema6 = require("@elementor/schema");
106
129
  var borderRadiusPropTypeUtil = createPropUtils(
107
130
  "border-radius",
108
- import_schema5.z.strictObject({
131
+ import_schema6.z.strictObject({
109
132
  "top-left": unknownChildrenSchema,
110
133
  "top-right": unknownChildrenSchema,
111
134
  "bottom-right": unknownChildrenSchema,
@@ -114,10 +137,10 @@ var borderRadiusPropTypeUtil = createPropUtils(
114
137
  );
115
138
 
116
139
  // src/prop-types/border-width.ts
117
- var import_schema6 = require("@elementor/schema");
140
+ var import_schema7 = require("@elementor/schema");
118
141
  var borderWidthPropTypeUtil = createPropUtils(
119
142
  "border-width",
120
- import_schema6.z.strictObject({
143
+ import_schema7.z.strictObject({
121
144
  top: unknownChildrenSchema,
122
145
  right: unknownChildrenSchema,
123
146
  bottom: unknownChildrenSchema,
@@ -126,44 +149,38 @@ var borderWidthPropTypeUtil = createPropUtils(
126
149
  );
127
150
 
128
151
  // src/prop-types/classes.ts
129
- var import_schema7 = require("@elementor/schema");
130
- var classesPropTypeUtil = createPropUtils("classes", import_schema7.z.array(import_schema7.z.string().regex(/^[a-z][a-z-_0-9]*$/i)));
152
+ var import_schema8 = require("@elementor/schema");
153
+ var classesPropTypeUtil = createPropUtils("classes", import_schema8.z.array(import_schema8.z.string().regex(/^[a-z][a-z-_0-9]*$/i)));
131
154
 
132
155
  // src/prop-types/color.ts
133
- var import_schema8 = require("@elementor/schema");
134
- var colorPropTypeUtil = createPropUtils("color", import_schema8.z.string());
156
+ var import_schema9 = require("@elementor/schema");
157
+ var colorPropTypeUtil = createPropUtils("color", import_schema9.z.string());
135
158
 
136
159
  // src/prop-types/image.ts
137
- var import_schema9 = require("@elementor/schema");
160
+ var import_schema10 = require("@elementor/schema");
138
161
  var imagePropTypeUtil = createPropUtils(
139
162
  "image",
140
- import_schema9.z.strictObject({
163
+ import_schema10.z.strictObject({
141
164
  src: unknownChildrenSchema,
142
165
  size: unknownChildrenSchema
143
166
  })
144
167
  );
145
168
 
146
169
  // src/prop-types/image-attachment-id.ts
147
- var import_schema10 = require("@elementor/schema");
148
- var imageAttachmentIdPropType = createPropUtils("image-attachment-id", import_schema10.z.number());
149
-
150
- // src/prop-types/image-src.ts
151
- var import_schema12 = require("@elementor/schema");
152
-
153
- // src/prop-types/url.ts
154
170
  var import_schema11 = require("@elementor/schema");
155
- var urlPropTypeUtil = createPropUtils("url", import_schema11.z.string());
171
+ var imageAttachmentIdPropType = createPropUtils("image-attachment-id", import_schema11.z.number());
156
172
 
157
173
  // src/prop-types/image-src.ts
174
+ var import_schema12 = require("@elementor/schema");
158
175
  var imageSrcPropTypeUtil = createPropUtils(
159
176
  "image-src",
160
177
  import_schema12.z.strictObject({
161
- id: imageAttachmentIdPropType.schema,
178
+ id: unknownChildrenSchema,
162
179
  url: import_schema12.z.null()
163
180
  }).or(
164
181
  import_schema12.z.strictObject({
165
182
  id: import_schema12.z.null(),
166
- url: urlPropTypeUtil.schema
183
+ url: unknownChildrenSchema
167
184
  })
168
185
  )
169
186
  );
@@ -191,13 +208,13 @@ var sizePropTypeUtil = createPropUtils(
191
208
  "size",
192
209
  import_schema15.z.strictObject({
193
210
  unit: import_schema15.z.enum(["px", "em", "rem", "%", "vw", "vh"]),
194
- size: import_schema15.z.number().nullable()
211
+ size: import_schema15.z.number()
195
212
  })
196
213
  );
197
214
 
198
215
  // src/prop-types/string.ts
199
216
  var import_schema16 = require("@elementor/schema");
200
- var stringPropTypeUtil = createPropUtils("string", import_schema16.z.string());
217
+ var stringPropTypeUtil = createPropUtils("string", import_schema16.z.string().nullable());
201
218
 
202
219
  // src/prop-types/stroke.ts
203
220
  var import_schema17 = require("@elementor/schema");
@@ -209,27 +226,54 @@ var strokePropTypeUtil = createPropUtils(
209
226
  })
210
227
  );
211
228
 
212
- // src/prop-types/color-gradient.ts
229
+ // src/prop-types/url.ts
213
230
  var import_schema18 = require("@elementor/schema");
231
+ var urlPropTypeUtil = createPropUtils("url", import_schema18.z.string().url().nullable());
232
+
233
+ // src/prop-types/color-gradient.ts
234
+ var import_schema19 = require("@elementor/schema");
214
235
  var colorGradientPropTypeUtil = createPropUtils(
215
236
  "background-overlay",
216
- import_schema18.z.strictObject({
237
+ import_schema19.z.strictObject({
217
238
  color: unknownChildrenSchema
218
239
  })
219
240
  );
220
241
 
221
242
  // src/prop-types/background-image.ts
222
- var import_schema19 = require("@elementor/schema");
243
+ var import_schema20 = require("@elementor/schema");
223
244
  var backgroundImagePropTypeUtil = createPropUtils(
224
245
  "background-image",
225
- import_schema19.z.array(colorGradientPropTypeUtil.schema)
246
+ import_schema20.z.array(colorGradientPropTypeUtil.schema)
247
+ );
248
+
249
+ // src/prop-types/link.ts
250
+ var import_schema21 = require("@elementor/schema");
251
+ var linkPropTypeUtil = createPropUtils(
252
+ "link",
253
+ import_schema21.z.strictObject({
254
+ enabled: import_schema21.z.boolean(),
255
+ href: urlPropTypeUtil.schema,
256
+ isTargetBlank: import_schema21.z.boolean()
257
+ })
258
+ );
259
+
260
+ // src/prop-types/gaps.ts
261
+ var import_schema22 = require("@elementor/schema");
262
+ var gapPropTypeUtil = createPropUtils(
263
+ "gap",
264
+ import_schema22.z.object({
265
+ isLinked: import_schema22.z.boolean(),
266
+ row: import_schema22.z.any(),
267
+ column: import_schema22.z.any()
268
+ })
226
269
  );
227
270
 
228
271
  // src/utils/is-transformable.ts
229
- var import_schema20 = require("@elementor/schema");
230
- var transformableSchema = import_schema20.z.object({
231
- $$type: import_schema20.z.string(),
232
- value: import_schema20.z.any()
272
+ var import_schema23 = require("@elementor/schema");
273
+ var transformableSchema = import_schema23.z.object({
274
+ $$type: import_schema23.z.string(),
275
+ value: import_schema23.z.any(),
276
+ disabled: import_schema23.z.boolean().optional()
233
277
  });
234
278
  var isTransformable = (value) => {
235
279
  return transformableSchema.safeParse(value).success;
@@ -237,6 +281,7 @@ var isTransformable = (value) => {
237
281
  // Annotate the CommonJS export names for ESM import in node:
238
282
  0 && (module.exports = {
239
283
  backgroundImagePropTypeUtil,
284
+ backgroundOverlayPropTypeUtil,
240
285
  borderRadiusPropTypeUtil,
241
286
  borderWidthPropTypeUtil,
242
287
  boxShadowPropTypeUtil,
@@ -244,10 +289,12 @@ var isTransformable = (value) => {
244
289
  colorGradientPropTypeUtil,
245
290
  colorPropTypeUtil,
246
291
  createPropUtils,
292
+ gapPropTypeUtil,
247
293
  imageAttachmentIdPropType,
248
294
  imagePropTypeUtil,
249
295
  imageSrcPropTypeUtil,
250
296
  isTransformable,
297
+ linkPropTypeUtil,
251
298
  linkedDimensionsPropTypeUtil,
252
299
  numberPropTypeUtil,
253
300
  shadowPropTypeUtil,
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/url.ts","../src/prop-types/linked-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/color-gradient.ts","../src/prop-types/background-image.ts","../src/utils/is-transformable.ts"],"sourcesContent":["// types\nexport * from './types';\n\n// prop types\nexport * from './prop-types';\n\n// utils\nexport { createPropUtils } from './utils/create-prop-utils';\nexport { isTransformable } from './utils/is-transformable';\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 ZodTypeAny } from '@elementor/schema';\n\ntype Updater< T > = ( prev?: T ) => T;\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' ], element.props?.children );\n * ```\n */\n\nexport function createPropUtils< TKey extends string, TValue extends ZodTypeAny >( key: TKey, valueSchema: TValue ) {\n\tconst schema = z.object( {\n\t\t$$type: z.literal( key ),\n\t\tvalue: valueSchema,\n\t} );\n\n\ttype Prop = z.infer< typeof schema >;\n\n\tfunction isValid( prop: unknown ): prop is Prop {\n\t\treturn schema.safeParse( prop ).success;\n\t}\n\n\tfunction create( value: Prop[ 'value' ] ): Prop;\n\tfunction create( value: Updater< Prop[ 'value' ] >, base: unknown ): Prop;\n\tfunction create( value: Prop[ 'value' ] | Updater< Prop[ 'value' ] >, base?: unknown ): Prop {\n\t\tconst fn = ( typeof value === 'function' ? value : () => value ) as Updater< Prop[ 'value' ] >;\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};\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};\n\t}\n\n\treturn {\n\t\tisValid,\n\t\tcreate,\n\t\tschema,\n\t};\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'top-left': unknownChildrenSchema,\n\t\t'top-right': unknownChildrenSchema,\n\t\t'bottom-right': unknownChildrenSchema,\n\t\t'bottom-left': 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\ttop: unknownChildrenSchema,\n\t\tright: unknownChildrenSchema,\n\t\tbottom: unknownChildrenSchema,\n\t\tleft: 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 classesPropTypeUtil = createPropUtils( 'classes', z.array( z.string().regex( /^[a-z][a-z-_0-9]*$/i ) ) );\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 { imageAttachmentIdPropType } from './image-attachment-id';\nimport { urlPropTypeUtil } from './url';\n\nexport const imageSrcPropTypeUtil = createPropUtils(\n\t'image-src',\n\tz\n\t\t.strictObject( {\n\t\t\tid: imageAttachmentIdPropType.schema,\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: urlPropTypeUtil.schema,\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';\n\nexport const urlPropTypeUtil = createPropUtils( 'url', z.string() );\n\nexport type UrlPropValue = z.infer< typeof urlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const linkedDimensionsPropTypeUtil = createPropUtils(\n\t'linked-dimensions',\n\tz.strictObject( {\n\t\tisLinked: unknownChildrenSchema,\n\t\ttop: unknownChildrenSchema,\n\t\tright: unknownChildrenSchema,\n\t\tbottom: unknownChildrenSchema,\n\t\tleft: unknownChildrenSchema,\n\t} )\n);\n\nexport type LinkedDimensionsPropValue = z.infer< typeof linkedDimensionsPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const numberPropTypeUtil = createPropUtils( 'number', z.number() );\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.strictObject( {\n\t\tunit: z.enum( [ 'px', 'em', 'rem', '%', 'vw', 'vh' ] ),\n\t\tsize: z.number().nullable(),\n\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() );\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';\nimport { unknownChildrenSchema } from './utils';\n\nexport const colorGradientPropTypeUtil = createPropUtils(\n\t'background-overlay',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type ColorGradientPropValue = z.infer< typeof colorGradientPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { colorGradientPropTypeUtil } from './color-gradient';\n\nexport const backgroundImagePropTypeUtil = createPropUtils(\n\t'background-image',\n\tz.array( colorGradientPropTypeUtil.schema )\n);\n\nexport type backgroundImageTypePropValue = z.infer< typeof backgroundImagePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nconst transformableSchema = z.object( {\n\t$$type: z.string(),\n\tvalue: z.any(),\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"],"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"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/prop-types/background-overlay.ts","../src/utils/create-prop-utils.ts","../src/prop-types/utils.ts","../src/prop-types/box-shadow.ts","../src/prop-types/shadow.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/linked-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/color-gradient.ts","../src/prop-types/background-image.ts","../src/prop-types/link.ts","../src/prop-types/gaps.ts","../src/utils/is-transformable.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 { createPropUtils } from './utils/create-prop-utils';\nexport { isTransformable } from './utils/is-transformable';\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const backgroundOverlayPropTypeUtil = createPropUtils(\n\t'background-overlay',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type BackgroundOverlayPropTypeUtil = z.infer< typeof backgroundOverlayPropTypeUtil.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};\n}\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 { 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 } 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\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'top-left': unknownChildrenSchema,\n\t\t'top-right': unknownChildrenSchema,\n\t\t'bottom-right': unknownChildrenSchema,\n\t\t'bottom-left': 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\ttop: unknownChildrenSchema,\n\t\tright: unknownChildrenSchema,\n\t\tbottom: unknownChildrenSchema,\n\t\tleft: 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 classesPropTypeUtil = createPropUtils( 'classes', z.array( z.string().regex( /^[a-z][a-z-_0-9]*$/i ) ) );\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 linkedDimensionsPropTypeUtil = createPropUtils(\n\t'linked-dimensions',\n\tz.strictObject( {\n\t\tisLinked: unknownChildrenSchema,\n\t\ttop: unknownChildrenSchema,\n\t\tright: unknownChildrenSchema,\n\t\tbottom: unknownChildrenSchema,\n\t\tleft: unknownChildrenSchema,\n\t} )\n);\n\nexport type LinkedDimensionsPropValue = z.infer< typeof linkedDimensionsPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\n\nexport const numberPropTypeUtil = createPropUtils( 'number', z.number() );\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.strictObject( {\n\t\tunit: z.enum( [ 'px', 'em', 'rem', '%', 'vw', 'vh' ] ),\n\t\tsize: z.number(),\n\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().url().nullable() );\n\nexport type UrlPropValue = z.infer< typeof urlPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { unknownChildrenSchema } from './utils';\n\nexport const colorGradientPropTypeUtil = createPropUtils(\n\t'background-overlay',\n\tz.strictObject( {\n\t\tcolor: unknownChildrenSchema,\n\t} )\n);\n\nexport type ColorGradientPropValue = z.infer< typeof colorGradientPropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { colorGradientPropTypeUtil } from './color-gradient';\n\nexport const backgroundImagePropTypeUtil = createPropUtils(\n\t'background-image',\n\tz.array( colorGradientPropTypeUtil.schema )\n);\n\nexport type backgroundImageTypePropValue = z.infer< typeof backgroundImagePropTypeUtil.schema >;\n","import { z } from '@elementor/schema';\n\nimport { createPropUtils } from '../utils/create-prop-utils';\nimport { urlPropTypeUtil } from './url';\n\nexport const linkPropTypeUtil = createPropUtils(\n\t'link',\n\tz.strictObject( {\n\t\tenabled: z.boolean(),\n\t\thref: urlPropTypeUtil.schema,\n\t\tisTargetBlank: z.boolean(),\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';\n\nexport const gapPropTypeUtil = createPropUtils(\n\t'gap',\n\tz.object( {\n\t\tisLinked: z.boolean(),\n\t\trow: z.any(),\n\t\tcolumn: z.any(),\n\t} )\n);\n\nexport type GapPropValue = z.infer< typeof gapPropTypeUtil.schema >;\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"],"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"]}
package/dist/index.mjs CHANGED
@@ -1,22 +1,25 @@
1
- // src/prop-types/box-shadow.ts
2
- import { z as z4 } from "@elementor/schema";
1
+ // src/prop-types/background-overlay.ts
2
+ import { z as z3 } from "@elementor/schema";
3
3
 
4
4
  // src/utils/create-prop-utils.ts
5
5
  import { z } from "@elementor/schema";
6
6
  function createPropUtils(key, valueSchema) {
7
- const schema = z.object({
7
+ const schema = z.strictObject({
8
8
  $$type: z.literal(key),
9
- value: valueSchema
9
+ value: valueSchema,
10
+ disabled: z.boolean().optional()
10
11
  });
11
12
  function isValid(prop) {
12
13
  return schema.safeParse(prop).success;
13
14
  }
14
- function create(value, base) {
15
+ function create(value, createOptions) {
15
16
  const fn = typeof value === "function" ? value : () => value;
17
+ const { base, disabled } = createOptions || {};
16
18
  if (!base) {
17
19
  return {
18
20
  $$type: key,
19
- value: fn()
21
+ value: fn(),
22
+ ...disabled && { disabled }
20
23
  };
21
24
  }
22
25
  if (!isValid(base)) {
@@ -24,27 +27,44 @@ function createPropUtils(key, valueSchema) {
24
27
  }
25
28
  return {
26
29
  $$type: key,
27
- value: fn(base.value)
30
+ value: fn(base.value),
31
+ ...disabled && { disabled }
28
32
  };
29
33
  }
34
+ function extract(prop) {
35
+ if (!isValid(prop)) {
36
+ return null;
37
+ }
38
+ return prop.value;
39
+ }
30
40
  return {
41
+ extract,
31
42
  isValid,
32
43
  create,
33
44
  schema
34
45
  };
35
46
  }
36
47
 
37
- // src/prop-types/shadow.ts
38
- import { z as z3 } from "@elementor/schema";
39
-
40
48
  // src/prop-types/utils.ts
41
49
  import { z as z2 } from "@elementor/schema";
42
50
  var unknownChildrenSchema = z2.any().nullable();
43
51
 
52
+ // src/prop-types/background-overlay.ts
53
+ var backgroundOverlayPropTypeUtil = createPropUtils(
54
+ "background-overlay",
55
+ z3.strictObject({
56
+ color: unknownChildrenSchema
57
+ })
58
+ );
59
+
60
+ // src/prop-types/box-shadow.ts
61
+ import { z as z5 } from "@elementor/schema";
62
+
44
63
  // src/prop-types/shadow.ts
64
+ import { z as z4 } from "@elementor/schema";
45
65
  var shadowPropTypeUtil = createPropUtils(
46
66
  "shadow",
47
- z3.strictObject({
67
+ z4.strictObject({
48
68
  position: unknownChildrenSchema,
49
69
  hOffset: unknownChildrenSchema,
50
70
  vOffset: unknownChildrenSchema,
@@ -55,13 +75,13 @@ var shadowPropTypeUtil = createPropUtils(
55
75
  );
56
76
 
57
77
  // src/prop-types/box-shadow.ts
58
- var boxShadowPropTypeUtil = createPropUtils("box-shadow", z4.array(shadowPropTypeUtil.schema));
78
+ var boxShadowPropTypeUtil = createPropUtils("box-shadow", z5.array(shadowPropTypeUtil.schema));
59
79
 
60
80
  // src/prop-types/border-radius.ts
61
- import { z as z5 } from "@elementor/schema";
81
+ import { z as z6 } from "@elementor/schema";
62
82
  var borderRadiusPropTypeUtil = createPropUtils(
63
83
  "border-radius",
64
- z5.strictObject({
84
+ z6.strictObject({
65
85
  "top-left": unknownChildrenSchema,
66
86
  "top-right": unknownChildrenSchema,
67
87
  "bottom-right": unknownChildrenSchema,
@@ -70,10 +90,10 @@ var borderRadiusPropTypeUtil = createPropUtils(
70
90
  );
71
91
 
72
92
  // src/prop-types/border-width.ts
73
- import { z as z6 } from "@elementor/schema";
93
+ import { z as z7 } from "@elementor/schema";
74
94
  var borderWidthPropTypeUtil = createPropUtils(
75
95
  "border-width",
76
- z6.strictObject({
96
+ z7.strictObject({
77
97
  top: unknownChildrenSchema,
78
98
  right: unknownChildrenSchema,
79
99
  bottom: unknownChildrenSchema,
@@ -82,44 +102,38 @@ var borderWidthPropTypeUtil = createPropUtils(
82
102
  );
83
103
 
84
104
  // src/prop-types/classes.ts
85
- import { z as z7 } from "@elementor/schema";
86
- var classesPropTypeUtil = createPropUtils("classes", z7.array(z7.string().regex(/^[a-z][a-z-_0-9]*$/i)));
105
+ import { z as z8 } from "@elementor/schema";
106
+ var classesPropTypeUtil = createPropUtils("classes", z8.array(z8.string().regex(/^[a-z][a-z-_0-9]*$/i)));
87
107
 
88
108
  // src/prop-types/color.ts
89
- import { z as z8 } from "@elementor/schema";
90
- var colorPropTypeUtil = createPropUtils("color", z8.string());
109
+ import { z as z9 } from "@elementor/schema";
110
+ var colorPropTypeUtil = createPropUtils("color", z9.string());
91
111
 
92
112
  // src/prop-types/image.ts
93
- import { z as z9 } from "@elementor/schema";
113
+ import { z as z10 } from "@elementor/schema";
94
114
  var imagePropTypeUtil = createPropUtils(
95
115
  "image",
96
- z9.strictObject({
116
+ z10.strictObject({
97
117
  src: unknownChildrenSchema,
98
118
  size: unknownChildrenSchema
99
119
  })
100
120
  );
101
121
 
102
122
  // src/prop-types/image-attachment-id.ts
103
- import { z as z10 } from "@elementor/schema";
104
- var imageAttachmentIdPropType = createPropUtils("image-attachment-id", z10.number());
105
-
106
- // src/prop-types/image-src.ts
107
- import { z as z12 } from "@elementor/schema";
108
-
109
- // src/prop-types/url.ts
110
123
  import { z as z11 } from "@elementor/schema";
111
- var urlPropTypeUtil = createPropUtils("url", z11.string());
124
+ var imageAttachmentIdPropType = createPropUtils("image-attachment-id", z11.number());
112
125
 
113
126
  // src/prop-types/image-src.ts
127
+ import { z as z12 } from "@elementor/schema";
114
128
  var imageSrcPropTypeUtil = createPropUtils(
115
129
  "image-src",
116
130
  z12.strictObject({
117
- id: imageAttachmentIdPropType.schema,
131
+ id: unknownChildrenSchema,
118
132
  url: z12.null()
119
133
  }).or(
120
134
  z12.strictObject({
121
135
  id: z12.null(),
122
- url: urlPropTypeUtil.schema
136
+ url: unknownChildrenSchema
123
137
  })
124
138
  )
125
139
  );
@@ -147,13 +161,13 @@ var sizePropTypeUtil = createPropUtils(
147
161
  "size",
148
162
  z15.strictObject({
149
163
  unit: z15.enum(["px", "em", "rem", "%", "vw", "vh"]),
150
- size: z15.number().nullable()
164
+ size: z15.number()
151
165
  })
152
166
  );
153
167
 
154
168
  // src/prop-types/string.ts
155
169
  import { z as z16 } from "@elementor/schema";
156
- var stringPropTypeUtil = createPropUtils("string", z16.string());
170
+ var stringPropTypeUtil = createPropUtils("string", z16.string().nullable());
157
171
 
158
172
  // src/prop-types/stroke.ts
159
173
  import { z as z17 } from "@elementor/schema";
@@ -165,33 +179,61 @@ var strokePropTypeUtil = createPropUtils(
165
179
  })
166
180
  );
167
181
 
168
- // src/prop-types/color-gradient.ts
182
+ // src/prop-types/url.ts
169
183
  import { z as z18 } from "@elementor/schema";
184
+ var urlPropTypeUtil = createPropUtils("url", z18.string().url().nullable());
185
+
186
+ // src/prop-types/color-gradient.ts
187
+ import { z as z19 } from "@elementor/schema";
170
188
  var colorGradientPropTypeUtil = createPropUtils(
171
189
  "background-overlay",
172
- z18.strictObject({
190
+ z19.strictObject({
173
191
  color: unknownChildrenSchema
174
192
  })
175
193
  );
176
194
 
177
195
  // src/prop-types/background-image.ts
178
- import { z as z19 } from "@elementor/schema";
196
+ import { z as z20 } from "@elementor/schema";
179
197
  var backgroundImagePropTypeUtil = createPropUtils(
180
198
  "background-image",
181
- z19.array(colorGradientPropTypeUtil.schema)
199
+ z20.array(colorGradientPropTypeUtil.schema)
200
+ );
201
+
202
+ // src/prop-types/link.ts
203
+ import { z as z21 } from "@elementor/schema";
204
+ var linkPropTypeUtil = createPropUtils(
205
+ "link",
206
+ z21.strictObject({
207
+ enabled: z21.boolean(),
208
+ href: urlPropTypeUtil.schema,
209
+ isTargetBlank: z21.boolean()
210
+ })
211
+ );
212
+
213
+ // src/prop-types/gaps.ts
214
+ import { z as z22 } from "@elementor/schema";
215
+ var gapPropTypeUtil = createPropUtils(
216
+ "gap",
217
+ z22.object({
218
+ isLinked: z22.boolean(),
219
+ row: z22.any(),
220
+ column: z22.any()
221
+ })
182
222
  );
183
223
 
184
224
  // src/utils/is-transformable.ts
185
- import { z as z20 } from "@elementor/schema";
186
- var transformableSchema = z20.object({
187
- $$type: z20.string(),
188
- value: z20.any()
225
+ import { z as z23 } from "@elementor/schema";
226
+ var transformableSchema = z23.object({
227
+ $$type: z23.string(),
228
+ value: z23.any(),
229
+ disabled: z23.boolean().optional()
189
230
  });
190
231
  var isTransformable = (value) => {
191
232
  return transformableSchema.safeParse(value).success;
192
233
  };
193
234
  export {
194
235
  backgroundImagePropTypeUtil,
236
+ backgroundOverlayPropTypeUtil,
195
237
  borderRadiusPropTypeUtil,
196
238
  borderWidthPropTypeUtil,
197
239
  boxShadowPropTypeUtil,
@@ -199,10 +241,12 @@ export {
199
241
  colorGradientPropTypeUtil,
200
242
  colorPropTypeUtil,
201
243
  createPropUtils,
244
+ gapPropTypeUtil,
202
245
  imageAttachmentIdPropType,
203
246
  imagePropTypeUtil,
204
247
  imageSrcPropTypeUtil,
205
248
  isTransformable,
249
+ linkPropTypeUtil,
206
250
  linkedDimensionsPropTypeUtil,
207
251
  numberPropTypeUtil,
208
252
  shadowPropTypeUtil,