@bigbinary/neeto-themes-frontend 3.0.0 → 3.0.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.
@@ -1,5 +1,5 @@
1
1
  import { shallow } from 'zustand/shallow';
2
- import { useState, createElement, useEffect, useRef, memo, useCallback } from 'react';
2
+ import { useState, useEffect, createElement, useRef, memo, useCallback } from 'react';
3
3
  import { t as t$1 } from 'i18next';
4
4
  import { hyphenate, findBy, findIndexBy, isPresent, isNot, filterBy, snakeToCamelCase, isNotPresent, toLabelAndValue, humanize, isNotEmpty, noop } from '@bigbinary/neeto-cist';
5
5
  import { useMutationWithInvalidation, withT, useBreakpoints, withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
@@ -27,18 +27,18 @@ import Editor from '@monaco-editor/react';
27
27
  import { useFormikContext, Field } from 'formik';
28
28
  import Down from '@bigbinary/neeto-icons/Down';
29
29
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
30
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
31
- import _regeneratorRuntime from '@babel/runtime/regenerator';
32
- import ImageUploader from '@bigbinary/neeto-image-uploader-frontend/ImageUploader';
30
+ import { negate, isEmpty } from 'ramda';
33
31
  import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils';
34
- import Toastr from '@bigbinary/neetoui/Toastr';
35
- import { isEmpty, negate } from 'ramda';
36
- import Select from '@bigbinary/neetoui/Select';
37
32
  import CenterAlign from '@bigbinary/neeto-icons/CenterAlign';
38
33
  import LeftAlign from '@bigbinary/neeto-icons/LeftAlign';
39
34
  import ColorPicker from '@bigbinary/neetoui/ColorPicker';
35
+ import Select from '@bigbinary/neetoui/Select';
40
36
  import { Slider } from 'antd';
41
37
  import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
38
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
39
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
40
+ import ImageUploader from '@bigbinary/neeto-image-uploader-frontend/ImageUploader';
41
+ import Toastr from '@bigbinary/neetoui/Toastr';
42
42
  import Input from '@bigbinary/neetoui/formik/Input';
43
43
  import Search from '@bigbinary/neeto-molecules/Search';
44
44
  import Rating from '@bigbinary/neeto-icons/Rating';
@@ -435,13 +435,15 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
435
435
  kind = _ref.kind,
436
436
  defaultValue = _ref.defaultValue,
437
437
  _ref$order = _ref.order,
438
- order = _ref$order === void 0 ? null : _ref$order;
438
+ order = _ref$order === void 0 ? null : _ref$order,
439
+ dependsOn = _ref.dependsOn;
439
440
  switch (kind) {
440
441
  case "color":
441
442
  return _objectSpread$4({
442
443
  value: defaultValue,
443
444
  kind: "color",
444
- key: key
445
+ key: key,
446
+ dependsOn: dependsOn
445
447
  }, order !== null && {
446
448
  order: order
447
449
  });
@@ -449,7 +451,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
449
451
  return _objectSpread$4({
450
452
  value: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
451
453
  kind: "font_family",
452
- key: key
454
+ key: key,
455
+ dependsOn: dependsOn
453
456
  }, order !== null && {
454
457
  order: order
455
458
  });
@@ -457,7 +460,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
457
460
  return _objectSpread$4({
458
461
  value: 0,
459
462
  kind: "overlay_opacity",
460
- key: key
463
+ key: key,
464
+ dependsOn: dependsOn
461
465
  }, order !== null && {
462
466
  order: order
463
467
  });
@@ -465,7 +469,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
465
469
  return _objectSpread$4({
466
470
  value: 0,
467
471
  kind: "slider",
468
- key: key
472
+ key: key,
473
+ dependsOn: dependsOn
469
474
  }, order !== null && {
470
475
  order: order
471
476
  });
@@ -473,7 +478,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
473
478
  return _objectSpread$4({
474
479
  value: defaultValue,
475
480
  kind: "radius",
476
- key: key
481
+ key: key,
482
+ dependsOn: dependsOn
477
483
  }, order !== null && {
478
484
  order: order
479
485
  });
@@ -481,7 +487,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
481
487
  return _objectSpread$4({
482
488
  value: String(defaultValue),
483
489
  kind: "boolean",
484
- key: key
490
+ key: key,
491
+ dependsOn: dependsOn
485
492
  }, order !== null && {
486
493
  order: order
487
494
  });
@@ -489,7 +496,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
489
496
  return _objectSpread$4({
490
497
  value: defaultValue,
491
498
  kind: "order_selector",
492
- key: key
499
+ key: key,
500
+ dependsOn: dependsOn
493
501
  }, order !== null && {
494
502
  order: order
495
503
  });
@@ -497,7 +505,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
497
505
  return _objectSpread$4({
498
506
  value: defaultValue,
499
507
  kind: "alignment_block",
500
- key: key
508
+ key: key,
509
+ dependsOn: dependsOn
501
510
  }, order !== null && {
502
511
  order: order
503
512
  });
@@ -505,7 +514,8 @@ var buildInitialValues = function buildInitialValues(theme, themePropertiesSchem
505
514
  return _objectSpread$4({
506
515
  value: defaultValue,
507
516
  kind: "custom_css",
508
- key: key
517
+ key: key,
518
+ dependsOn: dependsOn
509
519
  }, order !== null && {
510
520
  order: order
511
521
  });
@@ -550,159 +560,27 @@ var isPropertyVisible = function isPropertyVisible(key, formikValues, themePrope
550
560
  var buildLabel = function buildLabel(key, kind) {
551
561
  return t$1("neetoThemes.properties.".concat(snakeToCamelCase(kind), ".").concat(snakeToCamelCase(key)));
552
562
  };
553
-
554
- var SelectBlock = function SelectBlock(_ref) {
555
- var label = _ref.label,
556
- _ref$placeholder = _ref.placeholder,
557
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
558
- value = _ref.value,
559
- options = _ref.options,
560
- onChange = _ref.onChange;
561
- return /*#__PURE__*/jsxs("div", {
562
- className: "flex items-center justify-between",
563
- "data-cy": "theme-style-".concat(joinHyphenCase(label)),
564
- children: [/*#__PURE__*/jsx(Typography, {
565
- "data-cy": "logo-field-labels",
566
- style: "body2",
567
- children: label
568
- }), /*#__PURE__*/jsx("div", {
569
- className: "w-40",
570
- children: /*#__PURE__*/jsx(Select, {
571
- onChange: onChange,
572
- options: options,
573
- placeholder: placeholder,
574
- value: value
575
- })
576
- })]
563
+ var buildProperties = function buildProperties(values, condition, themePropertiesSchema) {
564
+ values.forEach(function (value) {
565
+ themePropertiesSchema.forEach(function (theme) {
566
+ if (!(value.key === theme.key)) return;
567
+ value.dependsOn = theme.dependsOn;
568
+ });
577
569
  });
578
- };
579
-
580
- var ImageBlock = function ImageBlock(_ref) {
581
- var _findBy;
582
- var label = _ref.label,
583
- name = _ref.name,
584
- _ref$imageData = _ref.imageData,
585
- imageData = _ref$imageData === void 0 ? {} : _ref$imageData,
586
- _ref$uploadConfig = _ref.uploadConfig,
587
- uploadConfig = _ref$uploadConfig === void 0 ? {
588
- maxImageSize: ONE_MEGABYTE
589
- } : _ref$uploadConfig,
590
- attribute = _ref.attribute;
591
- var _useTranslation = useTranslation(),
592
- t = _useTranslation.t;
593
- var _useFormikContext = useFormikContext(),
594
- setFieldValue = _useFormikContext.setFieldValue,
595
- values = _useFormikContext.values;
596
- var _useConfigStore = useConfigStore(function (store) {
597
- return {
598
- themePropertiesSchema: store["themePropertiesSchema"]
599
- };
600
- }, shallow),
601
- themePropertiesSchema = _useConfigStore.themePropertiesSchema;
602
- var propertySchema = findBy({
603
- key: attribute
604
- }, themePropertiesSchema);
605
- var enablePositionChanger = (propertySchema === null || propertySchema === void 0 ? void 0 : propertySchema.enablePositionChanger) || false;
606
- var options = propertySchema === null || propertySchema === void 0 ? void 0 : propertySchema.options;
607
- var positionKeyInSchema = findBy({
608
- key: "".concat(name, "_position")
609
- }, themePropertiesSchema);
610
- var isPositionChangerVisible = enablePositionChanger && (imageData === null || imageData === void 0 ? void 0 : imageData.url) && isPresent(positionKeyInSchema);
611
- var positionKeyIndex = findIndexBy({
612
- key: "".concat(name, "_position")
613
- }, values.properties);
614
- var handleImageChange = /*#__PURE__*/function () {
615
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(image) {
616
- var dominantColor;
617
- return _regeneratorRuntime.wrap(function _callee$(_context) {
618
- while (1) switch (_context.prev = _context.next) {
619
- case 0:
620
- _context.prev = 0;
621
- if (!(isEmpty(image.signedId) || isEmpty(image.url))) {
622
- _context.next = 4;
623
- break;
624
- }
625
- setFieldValue(name, {
626
- signedId: null,
627
- url: image.url
628
- });
629
- return _context.abrupt("return");
630
- case 4:
631
- _context.next = 6;
632
- return getDominantColorFromUrl(image.url);
633
- case 6:
634
- dominantColor = _context.sent;
635
- setFieldValue(name, {
636
- signedId: image.signedId,
637
- url: image.url,
638
- dominantColor: dominantColor
639
- });
640
- _context.next = 13;
641
- break;
642
- case 10:
643
- _context.prev = 10;
644
- _context.t0 = _context["catch"](0);
645
- Toastr.error(_context.t0);
646
- case 13:
647
- case "end":
648
- return _context.stop();
649
- }
650
- }, _callee, null, [[0, 10]]);
651
- }));
652
- return function handleImageChange(_x) {
653
- return _ref2.apply(this, arguments);
654
- };
655
- }();
656
- return /*#__PURE__*/jsxs("div", {
657
- className: "space-y-3",
658
- "data-cy": "theme-style-".concat(label ? joinHyphenCase(label) : "image-block"),
659
- children: [label && /*#__PURE__*/jsx("div", {
660
- className: "flex items-center justify-between",
661
- children: /*#__PURE__*/jsx(Typography, {
662
- "data-cy": "style-fields-labels",
663
- style: "body2",
664
- children: label
665
- })
666
- }), /*#__PURE__*/jsxs("div", {
667
- className: "space-y-3",
668
- children: [/*#__PURE__*/createElement(ImageUploader, {
669
- uploadConfig: uploadConfig,
670
- className: "h-40 w-full",
671
- key: imageData === null || imageData === void 0 ? void 0 : imageData.url,
672
- src: imageData === null || imageData === void 0 ? void 0 : imageData.url,
673
- onUploadComplete: handleImageChange
674
- }), isPositionChangerVisible && /*#__PURE__*/jsx(SelectBlock, {
675
- label: buildLabel("".concat(name, "Position"), "image"),
676
- options: options || POSITION_OPTIONS,
677
- placeholder: t("neetoThemes.common.left"),
678
- value: toLabelAndValue(((_findBy = findBy({
679
- key: "".concat(name, "_position")
680
- }, values.properties)) === null || _findBy === void 0 ? void 0 : _findBy.value) || (positionKeyInSchema === null || positionKeyInSchema === void 0 ? void 0 : positionKeyInSchema.defaultValue)),
681
- onChange: function onChange(option) {
682
- return setFieldValue("properties[".concat(positionKeyIndex, "].value"), option.value);
683
- }
684
- })]
685
- })]
570
+ if (condition) {
571
+ return filterBy({
572
+ dependsOn: condition
573
+ }, values);
574
+ }
575
+ var imageKeys = new Set();
576
+ filterBy({
577
+ kind: "image"
578
+ }, themePropertiesSchema).forEach(function (ele) {
579
+ return imageKeys.add(ele.key);
686
580
  });
687
- };
688
-
689
- var Images = function Images(_ref) {
690
- var attribute = _ref.attribute,
691
- className = _ref.className;
692
- var _useFormikContext = useFormikContext(),
693
- values = _useFormikContext.values;
694
- var key = snakeToCamelCase(attribute);
695
- var title = buildLabel(key, "image");
696
- var imageData = values[key];
697
- return /*#__PURE__*/jsx(Card$2, {
698
- className: className,
699
- title: title,
700
- name: "images",
701
- children: /*#__PURE__*/jsx(ImageBlock, {
702
- attribute: attribute,
703
- imageData: imageData,
704
- name: key
705
- })
581
+ return values === null || values === void 0 ? void 0 : values.filter(function (_ref2) {
582
+ var dependsOn = _ref2.dependsOn;
583
+ return !imageKeys.has(dependsOn);
706
584
  });
707
585
  };
708
586
 
@@ -836,6 +714,32 @@ var FontPickerBlock = function FontPickerBlock(_ref) {
836
714
  });
837
715
  };
838
716
 
717
+ var SelectBlock = function SelectBlock(_ref) {
718
+ var label = _ref.label,
719
+ _ref$placeholder = _ref.placeholder,
720
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
721
+ value = _ref.value,
722
+ options = _ref.options,
723
+ onChange = _ref.onChange;
724
+ return /*#__PURE__*/jsxs("div", {
725
+ className: "flex items-center justify-between",
726
+ "data-cy": "theme-style-".concat(joinHyphenCase(label)),
727
+ children: [/*#__PURE__*/jsx(Typography, {
728
+ "data-cy": "logo-field-labels",
729
+ style: "body2",
730
+ children: label
731
+ }), /*#__PURE__*/jsx("div", {
732
+ className: "w-40",
733
+ children: /*#__PURE__*/jsx(Select, {
734
+ onChange: onChange,
735
+ options: options,
736
+ placeholder: placeholder,
737
+ value: value
738
+ })
739
+ })]
740
+ });
741
+ };
742
+
839
743
  var SliderBlock = function SliderBlock(_ref) {
840
744
  var label = _ref.label,
841
745
  onChange = _ref.onChange,
@@ -878,6 +782,7 @@ var SwitchBlock = function SwitchBlock(_ref) {
878
782
  var doesHelpTextExist = i18n.exists(translationKey);
879
783
  return /*#__PURE__*/jsxs("div", {
880
784
  className: "flex items-center justify-between",
785
+ "data-cy": "theme-style-content-background",
881
786
  children: [/*#__PURE__*/jsxs("div", {
882
787
  className: "inline-flex items-center gap-4",
883
788
  children: [/*#__PURE__*/jsx(Typography, {
@@ -902,9 +807,7 @@ var SwitchBlock = function SwitchBlock(_ref) {
902
807
 
903
808
  var Properties = function Properties(_ref) {
904
809
  var onPropertiesChange = _ref.onPropertiesChange,
905
- className = _ref.className;
906
- var _useTranslation = useTranslation(),
907
- t = _useTranslation.t;
810
+ condition = _ref.condition;
908
811
  var _useConfigStore = useConfigStore(function (store) {
909
812
  return {
910
813
  themePropertiesSchema: store["themePropertiesSchema"]
@@ -959,11 +862,8 @@ var Properties = function Properties(_ref) {
959
862
  previewingTheme: values
960
863
  });
961
864
  }, [values]);
962
- return /*#__PURE__*/jsx(Card$2, {
963
- className: className,
964
- name: "style",
965
- title: t("neetoThemes.common.style"),
966
- children: values.properties.sort(function (a, b) {
865
+ return /*#__PURE__*/jsx(Fragment, {
866
+ children: buildProperties(values === null || values === void 0 ? void 0 : values.properties, condition, themePropertiesSchema).sort(function (a, b) {
967
867
  var order = function order(key) {
968
868
  var _findBy;
969
869
  return ((_findBy = findBy({
@@ -1071,6 +971,139 @@ var Properties = function Properties(_ref) {
1071
971
  });
1072
972
  };
1073
973
 
974
+ var ImageBlock = function ImageBlock(_ref) {
975
+ var _findBy;
976
+ var label = _ref.label,
977
+ name = _ref.name,
978
+ _ref$imageData = _ref.imageData,
979
+ imageData = _ref$imageData === void 0 ? {} : _ref$imageData,
980
+ _ref$uploadConfig = _ref.uploadConfig,
981
+ uploadConfig = _ref$uploadConfig === void 0 ? {
982
+ maxImageSize: ONE_MEGABYTE
983
+ } : _ref$uploadConfig,
984
+ attribute = _ref.attribute;
985
+ var _useTranslation = useTranslation(),
986
+ t = _useTranslation.t;
987
+ var _useFormikContext = useFormikContext(),
988
+ setFieldValue = _useFormikContext.setFieldValue,
989
+ values = _useFormikContext.values;
990
+ var _useConfigStore = useConfigStore(function (store) {
991
+ return {
992
+ themePropertiesSchema: store["themePropertiesSchema"]
993
+ };
994
+ }, shallow),
995
+ themePropertiesSchema = _useConfigStore.themePropertiesSchema;
996
+ var propertySchema = findBy({
997
+ key: attribute
998
+ }, themePropertiesSchema);
999
+ var enablePositionChanger = (propertySchema === null || propertySchema === void 0 ? void 0 : propertySchema.enablePositionChanger) || false;
1000
+ var options = propertySchema === null || propertySchema === void 0 ? void 0 : propertySchema.options;
1001
+ var positionKeyInSchema = findBy({
1002
+ key: "".concat(name, "_position")
1003
+ }, themePropertiesSchema);
1004
+ var isPositionChangerVisible = enablePositionChanger && (imageData === null || imageData === void 0 ? void 0 : imageData.url) && isPresent(positionKeyInSchema);
1005
+ var positionKeyIndex = findIndexBy({
1006
+ key: "".concat(name, "_position")
1007
+ }, values.properties);
1008
+ var handleImageChange = /*#__PURE__*/function () {
1009
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(image) {
1010
+ var dominantColor;
1011
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
1012
+ while (1) switch (_context.prev = _context.next) {
1013
+ case 0:
1014
+ _context.prev = 0;
1015
+ if (!(isEmpty(image.signedId) || isEmpty(image.url))) {
1016
+ _context.next = 4;
1017
+ break;
1018
+ }
1019
+ setFieldValue(name, {
1020
+ signedId: null,
1021
+ url: image.url
1022
+ });
1023
+ return _context.abrupt("return");
1024
+ case 4:
1025
+ _context.next = 6;
1026
+ return getDominantColorFromUrl(image.url);
1027
+ case 6:
1028
+ dominantColor = _context.sent;
1029
+ setFieldValue(name, {
1030
+ signedId: image.signedId,
1031
+ url: image.url,
1032
+ dominantColor: dominantColor
1033
+ });
1034
+ _context.next = 13;
1035
+ break;
1036
+ case 10:
1037
+ _context.prev = 10;
1038
+ _context.t0 = _context["catch"](0);
1039
+ Toastr.error(_context.t0);
1040
+ case 13:
1041
+ case "end":
1042
+ return _context.stop();
1043
+ }
1044
+ }, _callee, null, [[0, 10]]);
1045
+ }));
1046
+ return function handleImageChange(_x) {
1047
+ return _ref2.apply(this, arguments);
1048
+ };
1049
+ }();
1050
+ return /*#__PURE__*/jsxs("div", {
1051
+ className: "space-y-3",
1052
+ "data-cy": "theme-style-".concat(label ? joinHyphenCase(label) : "image-block"),
1053
+ children: [label && /*#__PURE__*/jsx("div", {
1054
+ className: "flex items-center justify-between",
1055
+ children: /*#__PURE__*/jsx(Typography, {
1056
+ "data-cy": "style-fields-labels",
1057
+ style: "body2",
1058
+ children: label
1059
+ })
1060
+ }), /*#__PURE__*/jsxs("div", {
1061
+ className: "space-y-3",
1062
+ children: [/*#__PURE__*/createElement(ImageUploader, {
1063
+ uploadConfig: uploadConfig,
1064
+ className: "h-40 w-full",
1065
+ key: imageData === null || imageData === void 0 ? void 0 : imageData.url,
1066
+ src: imageData === null || imageData === void 0 ? void 0 : imageData.url,
1067
+ onUploadComplete: handleImageChange
1068
+ }), isPositionChangerVisible && /*#__PURE__*/jsx(SelectBlock, {
1069
+ label: buildLabel("".concat(name, "Position"), "image"),
1070
+ options: options || POSITION_OPTIONS,
1071
+ placeholder: t("neetoThemes.common.left"),
1072
+ value: toLabelAndValue(((_findBy = findBy({
1073
+ key: "".concat(name, "_position")
1074
+ }, values.properties)) === null || _findBy === void 0 ? void 0 : _findBy.value) || (positionKeyInSchema === null || positionKeyInSchema === void 0 ? void 0 : positionKeyInSchema.defaultValue)),
1075
+ onChange: function onChange(option) {
1076
+ return setFieldValue("properties[".concat(positionKeyIndex, "].value"), option.value);
1077
+ }
1078
+ })]
1079
+ })]
1080
+ });
1081
+ };
1082
+
1083
+ var Images = function Images(_ref) {
1084
+ var attribute = _ref.attribute,
1085
+ className = _ref.className,
1086
+ onPropertiesChange = _ref.onPropertiesChange;
1087
+ var _useFormikContext = useFormikContext(),
1088
+ values = _useFormikContext.values;
1089
+ var key = snakeToCamelCase(attribute);
1090
+ var title = buildLabel(key, "image");
1091
+ var imageData = values[key];
1092
+ return /*#__PURE__*/jsxs(Card$2, {
1093
+ className: className,
1094
+ title: title,
1095
+ name: "images",
1096
+ children: [/*#__PURE__*/jsx(ImageBlock, {
1097
+ attribute: attribute,
1098
+ imageData: imageData,
1099
+ name: key
1100
+ }), /*#__PURE__*/jsx(Properties, {
1101
+ onPropertiesChange: onPropertiesChange,
1102
+ condition: attribute
1103
+ })]
1104
+ });
1105
+ };
1106
+
1074
1107
  var ThemeMeta = withT(function (_ref) {
1075
1108
  var t = _ref.t,
1076
1109
  className = _ref.className;
@@ -1184,21 +1217,27 @@ var Customize = function Customize(_ref) {
1184
1217
  className: classnames({
1185
1218
  hidden: isCustomCssScreen
1186
1219
  })
1187
- }), /*#__PURE__*/jsx(Properties, {
1188
- onPropertiesChange: onPropertiesChange,
1220
+ }), /*#__PURE__*/jsx(Card$2, {
1189
1221
  className: classnames({
1190
1222
  hidden: isCustomCssScreen
1223
+ }),
1224
+ name: "style",
1225
+ title: t("neetoThemes.common.style"),
1226
+ children: /*#__PURE__*/jsx(Properties, {
1227
+ onPropertiesChange: onPropertiesChange
1191
1228
  })
1192
1229
  }), filterBy({
1193
1230
  kind: "image"
1194
1231
  }, themePropertiesSchema).map(function (_ref5) {
1195
1232
  var key = _ref5.key;
1196
- return /*#__PURE__*/jsx(Images, {
1233
+ return /*#__PURE__*/createElement(Images, {
1234
+ onPropertiesChange: onPropertiesChange,
1197
1235
  attribute: key,
1198
1236
  className: classnames({
1199
1237
  hidden: isCustomCssScreen
1200
- })
1201
- }, key);
1238
+ }),
1239
+ key: key
1240
+ });
1202
1241
  }), /*#__PURE__*/jsx(CustomCSS, {
1203
1242
  currentScreen: currentScreen,
1204
1243
  onEditCSSClick: onEditCSSClick