@makeswift/runtime 0.20.3 → 0.20.4-canary.1

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.
Files changed (41) hide show
  1. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  2. package/dist/cjs/runtimes/react/controls.js +59 -475
  3. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  4. package/dist/cjs/runtimes/react/legacy-controls.js +344 -0
  5. package/dist/cjs/runtimes/react/legacy-controls.js.map +1 -0
  6. package/dist/cjs/utils/deepEqual.js +2 -29
  7. package/dist/cjs/utils/deepEqual.js.map +1 -1
  8. package/dist/cjs/utils/is.js +3 -6
  9. package/dist/cjs/utils/is.js.map +1 -1
  10. package/dist/cjs/utils/partition.js +48 -0
  11. package/dist/cjs/utils/partition.js.map +1 -0
  12. package/dist/cjs/utils/shallowEqual.js +2 -28
  13. package/dist/cjs/utils/shallowEqual.js.map +1 -1
  14. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  15. package/dist/esm/runtimes/react/controls.js +58 -507
  16. package/dist/esm/runtimes/react/controls.js.map +1 -1
  17. package/dist/esm/runtimes/react/legacy-controls.js +356 -0
  18. package/dist/esm/runtimes/react/legacy-controls.js.map +1 -0
  19. package/dist/esm/utils/deepEqual.js +1 -18
  20. package/dist/esm/utils/deepEqual.js.map +1 -1
  21. package/dist/esm/utils/is.js +3 -6
  22. package/dist/esm/utils/is.js.map +1 -1
  23. package/dist/esm/utils/partition.js +23 -0
  24. package/dist/esm/utils/partition.js.map +1 -0
  25. package/dist/esm/utils/shallowEqual.js +1 -17
  26. package/dist/esm/utils/shallowEqual.js.map +1 -1
  27. package/dist/types/runtimes/react/controls.d.ts +0 -6
  28. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  29. package/dist/types/runtimes/react/legacy-controls.d.ts +7 -0
  30. package/dist/types/runtimes/react/legacy-controls.d.ts.map +1 -0
  31. package/dist/types/utils/__tests__/partition.test.d.ts +2 -0
  32. package/dist/types/utils/__tests__/partition.test.d.ts.map +1 -0
  33. package/dist/types/utils/deepEqual.d.ts +1 -1
  34. package/dist/types/utils/deepEqual.d.ts.map +1 -1
  35. package/dist/types/utils/is.d.ts +2 -1
  36. package/dist/types/utils/is.d.ts.map +1 -1
  37. package/dist/types/utils/partition.d.ts +19 -0
  38. package/dist/types/utils/partition.d.ts.map +1 -0
  39. package/dist/types/utils/shallowEqual.d.ts +1 -1
  40. package/dist/types/utils/shallowEqual.d.ts.map +1 -1
  41. package/package.json +3 -3
@@ -1,24 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useRef } from "react";
3
3
  import * as ReactPage from "../../state/react-page";
4
- import {
5
- useBoxShadow,
6
- useBorder as useBorderData,
7
- useLinkPropControllerData,
8
- useCheckboxPropControllerData,
9
- useDatePropControllerData,
10
- useFontPropControllerData,
11
- useVideoPropControllerData,
12
- useTablePropControllerData
13
- } from "../../components/hooks";
14
- import {
15
- useResponsiveBorder,
16
- useResponsiveBorderRadius,
17
- useResponsiveMargin,
18
- useResponsivePadding,
19
- useResponsiveShadow,
20
- useResponsiveWidth
21
- } from "../../components/utils/responsive-style";
22
4
  import {
23
5
  CheckboxDefinition,
24
6
  NumberDefinition,
@@ -39,77 +21,17 @@ import {
39
21
  TextInputDefinition,
40
22
  unstable_TypographyDefinition
41
23
  } from "../../controls";
24
+ import { isLegacyDescriptor } from "../../prop-controllers/descriptors";
42
25
  import { useFormattedStyle } from "./controls/style";
43
26
  import { ControlValue } from "./controls/control";
44
- import { RenderHook } from "./components";
45
27
  import { useSlot } from "./controls/slot";
46
- import { useStyle } from "./use-style";
47
28
  import { useRichText } from "./controls/rich-text/rich-text";
48
29
  import { useRichTextV2 } from "./controls/rich-text-v2";
49
30
  import { useStore } from "./hooks/use-store";
50
31
  import { useDocumentKey } from "./hooks/use-document-key";
51
32
  import { useSelector } from "./hooks/use-selector";
52
- import {
53
- Types as PropControllerTypes,
54
- getShadowsPropControllerDataResponsiveShadowsData,
55
- Shadows,
56
- BorderPropControllerFormat,
57
- getBorderPropControllerDataResponsiveBorderData,
58
- getBorderRadiusPropControllerDataResponsiveBorderRadiusData,
59
- BorderRadiusPropControllerFormat,
60
- MarginPropControllerFormat,
61
- getMarginPropControllerDataResponsiveMarginData,
62
- getPaddingPropControllerDataResponsivePaddingData,
63
- PaddingPropControllerFormat,
64
- getWidthPropControllerDataResponsiveLengthData,
65
- WidthPropControllerFormat,
66
- GapX,
67
- ResponsiveNumber,
68
- ResponsiveIconRadioGroup,
69
- ResponsiveSelect,
70
- ResponsiveOpacity,
71
- getSocialLinksPropControllerDataSocialLinksData
72
- } from "@makeswift/prop-controllers";
73
- import { isLegacyDescriptor } from "../../prop-controllers/descriptors";
74
- import { useResponsiveLengthPropControllerData } from "../../components/hooks/useResponsiveLengthPropControllerData";
75
- import { useNumberPropControllerData } from "../../components/hooks/useNumberPropControllerData";
76
- import { useResponsiveColorPropControllerData } from "../../components/hooks/useResponsiveColorPropControllerData";
77
- import { useTextStylePropControllerData } from "../../components/hooks/useTextStylePropControllerData";
78
- import { useNavigationLinksPropControllerData } from "../../components/hooks/useNavigationLinksPropControllerData";
79
- import { useTextAreaPropControllerData } from "../../components/hooks/useTextAreaPropControllerData";
80
- import { usePropValue } from "../../components/hooks/usePropValue";
81
- import { useGapYPropControllerData } from "../../components/hooks/useGapYPropControllerData";
82
- import { useElementIDPropControllerData } from "../../components/hooks/useElementIDPropControllerData";
83
- import { useTableFormFieldsPropControllerData } from "../../components/hooks/useTableFormFieldsPropControllerData";
84
- import { useGridPropControllerData } from "../../components/hooks/useGridPropControllerData";
85
- import { useImagePropControllerData } from "../../components/hooks/useImagePropControllerData";
86
- import { useImagesPropControllerData } from "../../components/hooks/useImagesPropControllerData";
87
- import { useBackgroundsPropControllerData } from "../../components/hooks/useBackgroundsPropControllerData";
88
- import { useTextInputPropControllerData } from "../../components/hooks/useTextInputPropControllerData";
89
- function useWidthStyle(data, descriptor) {
90
- const value = getWidthPropControllerDataResponsiveLengthData(data);
91
- return useStyle(useResponsiveWidth(value, descriptor.options.defaultValue));
92
- }
93
- function usePaddingStyle(data) {
94
- const value = getPaddingPropControllerDataResponsivePaddingData(data);
95
- return useStyle(useResponsivePadding(value));
96
- }
97
- function useMarginStyle(data) {
98
- const value = getMarginPropControllerDataResponsiveMarginData(data);
99
- return useStyle(useResponsiveMargin(value));
100
- }
101
- function useBorderRadiusStyle(data) {
102
- const value = getBorderRadiusPropControllerDataResponsiveBorderRadiusData(data);
103
- return useStyle(useResponsiveBorderRadius(value));
104
- }
105
- function useShadowsStyle(data) {
106
- return useStyle(useResponsiveShadow(useBoxShadow(data) ?? void 0));
107
- }
108
- function useBorderStyle(data) {
109
- const value = getBorderPropControllerDataResponsiveBorderData(data);
110
- const borderData = useBorderData(value);
111
- return useStyle(useResponsiveBorder(borderData ?? void 0));
112
- }
33
+ import { RenderHook } from "./components";
34
+ import { resolveLegacyDescriptorProp } from "./legacy-controls";
113
35
  function PropsValue({ element, children }) {
114
36
  const store = useStore();
115
37
  const propControllerDescriptorsRef = useRef(
@@ -124,466 +46,95 @@ function PropsValue({ element, children }) {
124
46
  });
125
47
  return Object.entries(propControllerDescriptorsRef.current).reduceRight(
126
48
  (renderFn, [propName, descriptor]) => (propsValue) => {
127
- if (!isLegacyDescriptor(descriptor)) {
128
- switch (descriptor.controlType) {
129
- case CheckboxDefinition.type:
130
- case NumberDefinition.type:
131
- case TextInputDefinition.type:
132
- case TextAreaDefinition.type:
133
- case SelectDefinition.type:
134
- case ColorDefinition.type:
135
- case IconRadioGroupDefinition.type:
136
- case ImageDefinition.type:
137
- case ComboboxDefinition.type:
138
- case ShapeDefinition.type:
139
- case ListDefinition.type:
140
- case LinkDefinition.type:
141
- case StyleV2Definition.type:
142
- case unstable_TypographyDefinition.type:
143
- return /* @__PURE__ */ jsx(
144
- ControlValue,
145
- {
146
- definition: descriptor,
147
- data: props[propName],
148
- control: propControllers?.[propName],
149
- children: (value) => renderFn({ ...propsValue, [propName]: value })
150
- }
151
- );
152
- case StyleDefinition.type: {
153
- const control = propControllers?.[propName] ?? null;
154
- return /* @__PURE__ */ jsx(
155
- RenderHook,
156
- {
157
- hook: useFormattedStyle,
158
- parameters: [props[propName], descriptor, control],
159
- children: (value) => renderFn({ ...propsValue, [propName]: value })
160
- },
161
- descriptor.controlType
162
- );
163
- }
164
- case RichTextV1Definition.type: {
165
- const control = propControllers?.[propName] ?? null;
166
- return /* @__PURE__ */ jsx(
167
- RenderHook,
168
- {
169
- hook: useRichText,
170
- parameters: [props[propName], control],
171
- children: (value) => renderFn({ ...propsValue, [propName]: value })
172
- },
173
- descriptor.controlType
174
- );
175
- }
176
- case RichTextV2Definition.type: {
177
- const control = propControllers?.[propName] ?? null;
178
- return /* @__PURE__ */ jsx(
179
- RenderHook,
180
- {
181
- hook: useRichTextV2,
182
- parameters: [props[propName], descriptor, control],
183
- children: (value) => renderFn({ ...propsValue, [propName]: value })
184
- },
185
- descriptor.controlType
186
- );
187
- }
188
- case SlotDefinition.type: {
189
- const control = propControllers?.[propName] ?? null;
190
- return /* @__PURE__ */ jsx(
191
- RenderHook,
192
- {
193
- hook: useSlot,
194
- parameters: [props[propName], control],
195
- children: (value) => renderFn({ ...propsValue, [propName]: value })
196
- },
197
- descriptor.controlType
198
- );
199
- }
200
- }
201
- console.error(`Unknown control type: ${descriptor.controlType}`);
202
- return renderFn({ ...propsValue, [propName]: props[propName] });
49
+ if (isLegacyDescriptor(descriptor)) {
50
+ return resolveLegacyDescriptorProp(
51
+ descriptor,
52
+ propName,
53
+ props[propName],
54
+ propsValue,
55
+ renderFn
56
+ );
203
57
  }
204
- switch (descriptor.type) {
205
- case PropControllerTypes.Width:
206
- switch (descriptor.options.format) {
207
- case WidthPropControllerFormat.ClassName:
208
- return /* @__PURE__ */ jsx(
209
- RenderHook,
210
- {
211
- hook: useWidthStyle,
212
- parameters: [props[propName], descriptor],
213
- children: (value) => renderFn({ ...propsValue, [propName]: value })
214
- },
215
- descriptor.type
216
- );
217
- case WidthPropControllerFormat.ResponsiveValue:
218
- default:
219
- return renderFn({
220
- ...propsValue,
221
- [propName]: getWidthPropControllerDataResponsiveLengthData(props[propName])
222
- });
223
- }
224
- case PropControllerTypes.Padding:
225
- switch (descriptor.options.format) {
226
- case PaddingPropControllerFormat.ClassName:
227
- return /* @__PURE__ */ jsx(
228
- RenderHook,
229
- {
230
- hook: usePaddingStyle,
231
- parameters: [props[propName]],
232
- children: (value) => renderFn({ ...propsValue, [propName]: value })
233
- },
234
- descriptor.type
235
- );
236
- case PaddingPropControllerFormat.ResponsiveValue:
237
- default:
238
- return renderFn({
239
- ...propsValue,
240
- [propName]: getPaddingPropControllerDataResponsivePaddingData(props[propName])
241
- });
242
- }
243
- case PropControllerTypes.Margin:
244
- switch (descriptor.options.format) {
245
- case MarginPropControllerFormat.ClassName:
246
- return /* @__PURE__ */ jsx(
247
- RenderHook,
248
- {
249
- hook: useMarginStyle,
250
- parameters: [props[propName]],
251
- children: (value) => renderFn({ ...propsValue, [propName]: value })
252
- },
253
- descriptor.type
254
- );
255
- case MarginPropControllerFormat.ResponsiveValue:
256
- default:
257
- return renderFn({
258
- ...propsValue,
259
- [propName]: getMarginPropControllerDataResponsiveMarginData(props[propName])
260
- });
261
- }
262
- case PropControllerTypes.BorderRadius:
263
- switch (descriptor.options.format) {
264
- case BorderRadiusPropControllerFormat.ClassName:
265
- return /* @__PURE__ */ jsx(
266
- RenderHook,
267
- {
268
- hook: useBorderRadiusStyle,
269
- parameters: [props[propName]],
270
- children: (value) => renderFn({ ...propsValue, [propName]: value })
271
- },
272
- descriptor.type
273
- );
274
- case BorderRadiusPropControllerFormat.ResponsiveValue:
275
- default:
276
- return renderFn({
277
- ...propsValue,
278
- [propName]: getBorderRadiusPropControllerDataResponsiveBorderRadiusData(
279
- props[propName]
280
- )
281
- });
282
- }
283
- case PropControllerTypes.Backgrounds:
284
- return /* @__PURE__ */ jsx(
285
- RenderHook,
286
- {
287
- hook: useBackgroundsPropControllerData,
288
- parameters: [props[propName]],
289
- children: (value) => renderFn({ ...propsValue, [propName]: value })
290
- },
291
- descriptor.type
292
- );
293
- case PropControllerTypes.Image:
294
- return /* @__PURE__ */ jsx(
295
- RenderHook,
296
- {
297
- hook: useImagePropControllerData,
298
- parameters: [props[propName]],
299
- children: (value) => renderFn({ ...propsValue, [propName]: value })
300
- },
301
- descriptor.type
302
- );
303
- case PropControllerTypes.Images:
304
- return /* @__PURE__ */ jsx(
305
- RenderHook,
306
- {
307
- hook: useImagesPropControllerData,
308
- parameters: [props[propName]],
309
- children: (value) => renderFn({ ...propsValue, [propName]: value })
310
- },
311
- descriptor.type
312
- );
313
- case PropControllerTypes.Number:
314
- return /* @__PURE__ */ jsx(
315
- RenderHook,
316
- {
317
- hook: useNumberPropControllerData,
318
- parameters: [props[propName]],
319
- children: (value) => renderFn({ ...propsValue, [propName]: value })
320
- },
321
- descriptor.type
322
- );
323
- case PropControllerTypes.ResponsiveNumber:
324
- return /* @__PURE__ */ jsx(
325
- RenderHook,
326
- {
327
- hook: (data) => usePropValue(ResponsiveNumber, data),
328
- parameters: [props[propName]],
329
- children: (value) => renderFn({ ...propsValue, [propName]: value })
330
- },
331
- descriptor.type
332
- );
333
- case PropControllerTypes.ResponsiveIconRadioGroup:
334
- return /* @__PURE__ */ jsx(
335
- RenderHook,
336
- {
337
- hook: (data) => usePropValue(ResponsiveIconRadioGroup, data),
338
- parameters: [props[propName]],
339
- children: (value) => renderFn({ ...propsValue, [propName]: value })
340
- },
341
- descriptor.type
342
- );
343
- case PropControllerTypes.ResponsiveSelect:
344
- return /* @__PURE__ */ jsx(
345
- RenderHook,
346
- {
347
- hook: (data) => usePropValue(ResponsiveSelect, data),
348
- parameters: [props[propName]],
349
- children: (value) => renderFn({ ...propsValue, [propName]: value })
350
- },
351
- descriptor.type
352
- );
353
- case PropControllerTypes.ResponsiveOpacity:
354
- return /* @__PURE__ */ jsx(
355
- RenderHook,
356
- {
357
- hook: (data) => usePropValue(ResponsiveOpacity, data),
358
- parameters: [props[propName]],
359
- children: (value) => renderFn({ ...propsValue, [propName]: value })
360
- },
361
- descriptor.type
362
- );
363
- case PropControllerTypes.ResponsiveLength:
364
- return /* @__PURE__ */ jsx(
365
- RenderHook,
366
- {
367
- hook: useResponsiveLengthPropControllerData,
368
- parameters: [props[propName]],
369
- children: (value) => renderFn({ ...propsValue, [propName]: value })
370
- },
371
- descriptor.type
372
- );
373
- case PropControllerTypes.Shadows:
374
- switch (descriptor.options.format) {
375
- case Shadows.Format.ClassName:
376
- return /* @__PURE__ */ jsx(
377
- RenderHook,
378
- {
379
- hook: useShadowsStyle,
380
- parameters: [props[propName]],
381
- children: (value) => renderFn({ ...propsValue, [propName]: value })
382
- },
383
- descriptor.type
384
- );
385
- case Shadows.Format.ResponsiveValue:
386
- default:
387
- return renderFn({
388
- ...propsValue,
389
- [propName]: getShadowsPropControllerDataResponsiveShadowsData(props[propName])
390
- });
391
- }
392
- case PropControllerTypes.Border:
393
- switch (descriptor.options.format) {
394
- case BorderPropControllerFormat.ClassName:
395
- return /* @__PURE__ */ jsx(
396
- RenderHook,
397
- {
398
- hook: useBorderStyle,
399
- parameters: [props[propName]],
400
- children: (value) => renderFn({ ...propsValue, [propName]: value })
401
- },
402
- descriptor.type
403
- );
404
- case BorderPropControllerFormat.ResponsiveValue:
405
- default:
406
- return renderFn({
407
- ...propsValue,
408
- [propName]: getBorderPropControllerDataResponsiveBorderData(props[propName])
409
- });
410
- }
411
- case PropControllerTypes.ResponsiveColor:
412
- return /* @__PURE__ */ jsx(
413
- RenderHook,
414
- {
415
- hook: useResponsiveColorPropControllerData,
416
- parameters: [props[propName]],
417
- children: (value) => renderFn({ ...propsValue, [propName]: value })
418
- },
419
- descriptor.type
420
- );
421
- case PropControllerTypes.Link:
422
- return /* @__PURE__ */ jsx(
423
- RenderHook,
424
- {
425
- hook: useLinkPropControllerData,
426
- parameters: [props[propName]],
427
- children: (value) => renderFn({ ...propsValue, [propName]: value })
428
- },
429
- descriptor.type
430
- );
431
- case PropControllerTypes.Checkbox:
432
- return /* @__PURE__ */ jsx(
433
- RenderHook,
434
- {
435
- hook: useCheckboxPropControllerData,
436
- parameters: [props[propName]],
437
- children: (value) => renderFn({ ...propsValue, [propName]: value })
438
- },
439
- descriptor.type
440
- );
441
- case PropControllerTypes.Date:
442
- return /* @__PURE__ */ jsx(
443
- RenderHook,
444
- {
445
- hook: useDatePropControllerData,
446
- parameters: [props[propName]],
447
- children: (value) => renderFn({ ...propsValue, [propName]: value })
448
- },
449
- descriptor.type
450
- );
451
- case PropControllerTypes.Font:
452
- return /* @__PURE__ */ jsx(
453
- RenderHook,
454
- {
455
- hook: useFontPropControllerData,
456
- parameters: [props[propName]],
457
- children: (value) => renderFn({ ...propsValue, [propName]: value })
458
- },
459
- descriptor.type
460
- );
461
- case PropControllerTypes.Video:
462
- return /* @__PURE__ */ jsx(
463
- RenderHook,
464
- {
465
- hook: useVideoPropControllerData,
466
- parameters: [props[propName]],
467
- children: (value) => renderFn({ ...propsValue, [propName]: value })
468
- },
469
- descriptor.type
470
- );
471
- case PropControllerTypes.Table:
472
- return /* @__PURE__ */ jsx(
473
- RenderHook,
474
- {
475
- hook: useTablePropControllerData,
476
- parameters: [props[propName]],
477
- children: (value) => renderFn({ ...propsValue, [propName]: value })
478
- },
479
- descriptor.type
480
- );
481
- case PropControllerTypes.TextStyle:
482
- return /* @__PURE__ */ jsx(
483
- RenderHook,
484
- {
485
- hook: useTextStylePropControllerData,
486
- parameters: [props[propName]],
487
- children: (value) => renderFn({ ...propsValue, [propName]: value })
488
- },
489
- descriptor.type
490
- );
491
- case PropControllerTypes.NavigationLinks:
58
+ switch (descriptor.controlType) {
59
+ case CheckboxDefinition.type:
60
+ case NumberDefinition.type:
61
+ case TextInputDefinition.type:
62
+ case TextAreaDefinition.type:
63
+ case SelectDefinition.type:
64
+ case ColorDefinition.type:
65
+ case IconRadioGroupDefinition.type:
66
+ case ImageDefinition.type:
67
+ case ComboboxDefinition.type:
68
+ case ShapeDefinition.type:
69
+ case ListDefinition.type:
70
+ case LinkDefinition.type:
71
+ case StyleV2Definition.type:
72
+ case unstable_TypographyDefinition.type:
492
73
  return /* @__PURE__ */ jsx(
493
- RenderHook,
74
+ ControlValue,
494
75
  {
495
- hook: useNavigationLinksPropControllerData,
496
- parameters: [props[propName]],
76
+ definition: descriptor,
77
+ data: props[propName],
78
+ control: propControllers?.[propName],
497
79
  children: (value) => renderFn({ ...propsValue, [propName]: value })
498
- },
499
- descriptor.type
80
+ }
500
81
  );
501
- case PropControllerTypes.TextInput:
82
+ case StyleDefinition.type: {
83
+ const control = propControllers?.[propName] ?? null;
502
84
  return /* @__PURE__ */ jsx(
503
85
  RenderHook,
504
86
  {
505
- hook: useTextInputPropControllerData,
506
- parameters: [props[propName]],
87
+ hook: useFormattedStyle,
88
+ parameters: [props[propName], descriptor, control],
507
89
  children: (value) => renderFn({ ...propsValue, [propName]: value })
508
90
  },
509
- descriptor.type
91
+ descriptor.controlType
510
92
  );
511
- case PropControllerTypes.TextArea:
512
- return /* @__PURE__ */ jsx(
513
- RenderHook,
514
- {
515
- hook: useTextAreaPropControllerData,
516
- parameters: [props[propName]],
517
- children: (value) => renderFn({ ...propsValue, [propName]: value })
518
- },
519
- descriptor.type
520
- );
521
- case PropControllerTypes.GapX:
522
- return /* @__PURE__ */ jsx(
523
- RenderHook,
524
- {
525
- hook: (data) => usePropValue(GapX, data),
526
- parameters: [props[propName]],
527
- children: (value) => renderFn({ ...propsValue, [propName]: value })
528
- },
529
- descriptor.type
530
- );
531
- case PropControllerTypes.GapY:
532
- return /* @__PURE__ */ jsx(
533
- RenderHook,
534
- {
535
- hook: useGapYPropControllerData,
536
- parameters: [props[propName]],
537
- children: (value) => renderFn({ ...propsValue, [propName]: value })
538
- },
539
- descriptor.type
540
- );
541
- case PropControllerTypes.ElementID:
93
+ }
94
+ case RichTextV1Definition.type: {
95
+ const control = propControllers?.[propName] ?? null;
542
96
  return /* @__PURE__ */ jsx(
543
97
  RenderHook,
544
98
  {
545
- hook: useElementIDPropControllerData,
546
- parameters: [props[propName]],
99
+ hook: useRichText,
100
+ parameters: [props[propName], control],
547
101
  children: (value) => renderFn({ ...propsValue, [propName]: value })
548
102
  },
549
- descriptor.type
103
+ descriptor.controlType
550
104
  );
551
- case PropControllerTypes.TableFormFields:
105
+ }
106
+ case RichTextV2Definition.type: {
107
+ const control = propControllers?.[propName] ?? null;
552
108
  return /* @__PURE__ */ jsx(
553
109
  RenderHook,
554
110
  {
555
- hook: useTableFormFieldsPropControllerData,
556
- parameters: [props[propName]],
111
+ hook: useRichTextV2,
112
+ parameters: [props[propName], descriptor, control],
557
113
  children: (value) => renderFn({ ...propsValue, [propName]: value })
558
114
  },
559
- descriptor.type
115
+ descriptor.controlType
560
116
  );
561
- case PropControllerTypes.SocialLinks:
562
- return renderFn({
563
- ...propsValue,
564
- [propName]: getSocialLinksPropControllerDataSocialLinksData(props[propName])
565
- });
566
- case PropControllerTypes.Grid:
117
+ }
118
+ case SlotDefinition.type: {
119
+ const control = propControllers?.[propName] ?? null;
567
120
  return /* @__PURE__ */ jsx(
568
121
  RenderHook,
569
122
  {
570
- hook: useGridPropControllerData,
571
- parameters: [props[propName]],
123
+ hook: useSlot,
124
+ parameters: [props[propName], control],
572
125
  children: (value) => renderFn({ ...propsValue, [propName]: value })
573
126
  },
574
- descriptor.type
127
+ descriptor.controlType
575
128
  );
576
- default:
577
- return renderFn({ ...propsValue, [propName]: props[propName] });
129
+ }
578
130
  }
131
+ console.error(`Unknown control type: ${descriptor.controlType}`);
132
+ return renderFn({ ...propsValue, [propName]: props[propName] });
579
133
  },
580
134
  children
581
135
  )({});
582
136
  }
583
137
  export {
584
- PropsValue,
585
- useBorderRadiusStyle,
586
- useBorderStyle,
587
- useShadowsStyle
138
+ PropsValue
588
139
  };
589
140
  //# sourceMappingURL=controls.js.map