@bigbinary/neeto-themes-frontend 4.0.29 → 4.0.30

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 (46) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/NeetoThemesBuilder.js +74 -6
  3. package/dist/NeetoThemesBuilder.js.map +1 -1
  4. package/dist/cjs/NeetoThemesBuilder.js +83 -15
  5. package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
  6. package/dist/cjs/hooks.js +2 -5
  7. package/dist/cjs/hooks.js.map +1 -1
  8. package/dist/cjs/index.js +6 -6
  9. package/dist/cjs/utils.js +1 -4
  10. package/dist/cjs/utils.js.map +1 -1
  11. package/dist/cjs/v2/NeetoThemesBuilder.js +3 -4
  12. package/dist/cjs/v2/NeetoThemesBuilder.js.map +1 -1
  13. package/dist/cjs/v2/hooks.js +2 -5
  14. package/dist/cjs/v2/hooks.js.map +1 -1
  15. package/dist/cjs/v2/index.js +3 -4
  16. package/dist/cjs/v2/index.js.map +1 -1
  17. package/dist/cjs/v2/utils.js +1 -4
  18. package/dist/cjs/v2/utils.js.map +1 -1
  19. package/dist/hooks.js +2 -5
  20. package/dist/hooks.js.map +1 -1
  21. package/dist/{index-BUeeI0XI.js → index-CZdpMMBb.js} +8 -80
  22. package/dist/index-CZdpMMBb.js.map +1 -0
  23. package/dist/{index-BZB12oJt.js → index-CzRk-Wf1.js} +9 -76
  24. package/dist/index-CzRk-Wf1.js.map +1 -0
  25. package/dist/index.js +6 -6
  26. package/dist/{useExpandedSection-GpzbAxmE.js → useExpandedSection-BTBI4UqP.js} +2 -2
  27. package/dist/{useExpandedSection-GpzbAxmE.js.map → useExpandedSection-BTBI4UqP.js.map} +1 -1
  28. package/dist/{useExpandedSection-CelNLEKQ.js → useExpandedSection-MjgB7rh6.js} +2 -2
  29. package/dist/{useExpandedSection-CelNLEKQ.js.map → useExpandedSection-MjgB7rh6.js.map} +1 -1
  30. package/dist/{useGlobalThemesApi-NQA1B1Zs.js → useGlobalThemesApi-BTyTasTb.js} +3 -3
  31. package/dist/{useGlobalThemesApi-NQA1B1Zs.js.map → useGlobalThemesApi-BTyTasTb.js.map} +1 -1
  32. package/dist/{useGlobalThemesApi-DOH4EK5Q.js → useGlobalThemesApi-BUsKyTn_.js} +3 -3
  33. package/dist/{useGlobalThemesApi-DOH4EK5Q.js.map → useGlobalThemesApi-BUsKyTn_.js.map} +1 -1
  34. package/dist/utils.js +1 -4
  35. package/dist/utils.js.map +1 -1
  36. package/dist/v2/NeetoThemesBuilder.js +3 -4
  37. package/dist/v2/NeetoThemesBuilder.js.map +1 -1
  38. package/dist/v2/hooks.js +2 -5
  39. package/dist/v2/hooks.js.map +1 -1
  40. package/dist/v2/index.js +3 -4
  41. package/dist/v2/index.js.map +1 -1
  42. package/dist/v2/utils.js +1 -4
  43. package/dist/v2/utils.js.map +1 -1
  44. package/package.json +3 -3
  45. package/dist/index-BUeeI0XI.js.map +0 -1
  46. package/dist/index-BZB12oJt.js.map +0 -1
@@ -6,9 +6,11 @@ var neetoCist = require('@bigbinary/neeto-cist');
6
6
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
7
  var Spinner = require('@bigbinary/neetoui/Spinner');
8
8
  var reactI18next = require('react-i18next');
9
- var utils = require('../index-BUeeI0XI.js');
10
- var useGlobalThemesApi = require('../useGlobalThemesApi-DOH4EK5Q.js');
11
- var useExpandedSection = require('../useExpandedSection-GpzbAxmE.js');
9
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
10
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
11
+ var Toastr = require('@bigbinary/neetoui/Toastr');
12
+ var useGlobalThemesApi = require('../useGlobalThemesApi-BUsKyTn_.js');
13
+ var useExpandedSection = require('../useExpandedSection-BTBI4UqP.js');
12
14
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
13
15
  var classnames = require('classnames');
14
16
  var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
@@ -26,6 +28,7 @@ var Tooltip = require('@bigbinary/neetoui/Tooltip');
26
28
  var Form = require('@bigbinary/neetoui/formik/Form');
27
29
  var BlockNavigation = require('@bigbinary/neetoui/formik/BlockNavigation');
28
30
  var formik = require('formik');
31
+ var utils = require('../index-CZdpMMBb.js');
29
32
  var jsxRuntime = require('react/jsx-runtime');
30
33
  var i18n = require('i18next');
31
34
  var Right = require('@bigbinary/neeto-icons/Right');
@@ -44,10 +47,7 @@ var Help = require('@bigbinary/neeto-icons/Help');
44
47
  var Checkbox = require('@bigbinary/neetoui/Checkbox');
45
48
  var Modal = require('@bigbinary/neetoui/Modal');
46
49
  var Input = require('@bigbinary/neetoui/Input');
47
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
48
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
49
50
  var ImageUploader = require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
50
- var Toastr = require('@bigbinary/neetoui/Toastr');
51
51
  var Input$1 = require('@bigbinary/neetoui/formik/Input');
52
52
  var Search = require('@bigbinary/neeto-molecules/Search');
53
53
  var AddImage = require('@bigbinary/neeto-icons/AddImage');
@@ -62,6 +62,74 @@ require('axios');
62
62
  require('zustand');
63
63
  require('yup');
64
64
 
65
+ var getImageFromUrl = function getImageFromUrl(source) {
66
+ var image = new Image();
67
+ image.crossOrigin = "anonymous";
68
+ image.src = source;
69
+ return new Promise(function (resolve) {
70
+ image.onload = function () {
71
+ resolve(image);
72
+ };
73
+ });
74
+ };
75
+ var getDominantColorFromUrl = /*#__PURE__*/function () {
76
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(imageUrl) {
77
+ var image, context, c;
78
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
79
+ while (1) switch (_context.prev = _context.next) {
80
+ case 0:
81
+ _context.prev = 0;
82
+ _context.next = 3;
83
+ return getImageFromUrl(imageUrl);
84
+ case 3:
85
+ image = _context.sent;
86
+ context = document.createElement("canvas").getContext("2d");
87
+ context === null || context === void 0 || context.drawImage(image, 0, 0, 1, 1);
88
+ c = context === null || context === void 0 ? void 0 : context.getImageData(0, 0, 1, 1).data;
89
+ if (!c) {
90
+ _context.next = 9;
91
+ break;
92
+ }
93
+ return _context.abrupt("return", "#".concat(((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2]).toString(16).slice(1)));
94
+ case 9:
95
+ return _context.abrupt("return", null);
96
+ case 12:
97
+ _context.prev = 12;
98
+ _context.t0 = _context["catch"](0);
99
+ Toastr.error(_context.t0);
100
+ return _context.abrupt("return", null);
101
+ case 16:
102
+ case "end":
103
+ return _context.stop();
104
+ }
105
+ }, _callee, null, [[0, 12]]);
106
+ }));
107
+ return function getDominantColorFromUrl(_x) {
108
+ return _ref.apply(this, arguments);
109
+ };
110
+ }();
111
+ var scrollElementIntoView = function scrollElementIntoView(elementId) {
112
+ var elementToScroll = document.getElementById(elementId);
113
+ var sidebarContainer = document.querySelector(".neeto-themes-sidebar__scroll");
114
+ if (!elementToScroll || !sidebarContainer) return;
115
+ var elementRect = elementToScroll.getBoundingClientRect();
116
+ var sidebarContainerRect = sidebarContainer.getBoundingClientRect();
117
+ var offset = elementRect.top - sidebarContainerRect.top + sidebarContainer.scrollTop;
118
+ sidebarContainer.scrollTo({
119
+ top: offset,
120
+ behavior: "smooth"
121
+ });
122
+ };
123
+ var isFunction = function isFunction(obj) {
124
+ return typeof obj === "function";
125
+ };
126
+ var isNewThemeRoute = function isNewThemeRoute() {
127
+ return location.pathname.endsWith("new");
128
+ };
129
+ var isEditThemeRoute = function isEditThemeRoute() {
130
+ return location.pathname.endsWith("edit");
131
+ };
132
+
65
133
  var DESIGN_SCREENS = {
66
134
  THEMES: "Themes",
67
135
  Customize: "Customize",
@@ -274,7 +342,7 @@ var CustomCSS = function CustomCSS(_ref) {
274
342
  if (!isCustomCssScreen) return onEditCSSClick(DESIGN_SCREENS.CustomCSS);
275
343
  onEditCSSClick(DESIGN_SCREENS.Customize);
276
344
  return setTimeout(function () {
277
- utils.scrollElementIntoView("css-editor");
345
+ scrollElementIntoView("css-editor");
278
346
  }, 400);
279
347
  };
280
348
  var handleChange = function handleChange(value) {
@@ -1202,7 +1270,7 @@ var ImageBlock = function ImageBlock(_ref) {
1202
1270
  return _context.abrupt("return");
1203
1271
  case 4:
1204
1272
  _context.next = 6;
1205
- return utils.getDominantColorFromUrl(image.url);
1273
+ return getDominantColorFromUrl(image.url);
1206
1274
  case 6:
1207
1275
  dominantColor = _context.sent;
1208
1276
  setFieldValue(name, {
@@ -1378,7 +1446,7 @@ var Customize = function Customize(_ref) {
1378
1446
  _useShowGlobalTheme$d3 = _useShowGlobalTheme$d2.globalTheme,
1379
1447
  globalTheme = _useShowGlobalTheme$d3 === void 0 ? {} : _useShowGlobalTheme$d3;
1380
1448
  var _useFetchTheme = useGlobalThemesApi.useFetchTheme(themeId, {
1381
- enabled: utils.isEditThemeRoute() && ramda.isNotNil(themeId),
1449
+ enabled: isEditThemeRoute() && ramda.isNotNil(themeId),
1382
1450
  initialData: theme !== null && theme !== void 0 ? theme : undefined
1383
1451
  }),
1384
1452
  _useFetchTheme$data = _useFetchTheme.data,
@@ -1728,7 +1796,7 @@ var Card = function Card(_ref) {
1728
1796
  if (neetoCist.isPresent(onEditTheme)) onEditTheme(theme, section);else onCloneTheme(theme, section);
1729
1797
  };
1730
1798
  };
1731
- var showMoreDropdown = utils.isFunction(onDeleteTheme);
1799
+ var showMoreDropdown = isFunction(onDeleteTheme);
1732
1800
  return /*#__PURE__*/jsxRuntime.jsx("div", {
1733
1801
  className: "group space-y-2 pt-0.5",
1734
1802
  "data-flip-id": theme.id,
@@ -1922,7 +1990,7 @@ var Themes = function Themes(_ref) {
1922
1990
  if (didScrollActiveThemeIntoView.current || !(currentTheme !== null && currentTheme !== void 0 && currentTheme.id)) return;
1923
1991
  didScrollActiveThemeIntoView.current = true;
1924
1992
  setTimeout(function () {
1925
- utils.scrollElementIntoView(currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.id);
1993
+ scrollElementIntoView(currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.id);
1926
1994
  }, 100);
1927
1995
  }, [didScrollActiveThemeIntoView, currentTheme === null || currentTheme === void 0 ? void 0 : currentTheme.id]);
1928
1996
  var setPreviewTheme = function setPreviewTheme(theme) {
@@ -2079,7 +2147,7 @@ var TitleBar = function TitleBar(_ref) {
2079
2147
  }, shallow.shallow),
2080
2148
  entityType = _useConfigStore.entityType,
2081
2149
  helpDocUrl = _useConfigStore.helpDocUrl;
2082
- var isCustomizeScreen = utils.isEditThemeRoute() || utils.isNewThemeRoute();
2150
+ var isCustomizeScreen = isEditThemeRoute() || isNewThemeRoute();
2083
2151
  var isCustomCssScreen = isScreenCustomCSS(currentScreen);
2084
2152
  var isRTL = i18n.dir() === "rtl";
2085
2153
  var BackButtonIcon = isRTL ? RightArrow : LeftArrow;
@@ -2105,7 +2173,7 @@ var TitleBar = function TitleBar(_ref) {
2105
2173
  lineHeight: "normal",
2106
2174
  style: "h3",
2107
2175
  weight: "semibold",
2108
- children: [isCustomizeScreen && !isCustomCssScreen && (utils.isNewThemeRoute() ? t("neetoThemes.build.leftSideBar.themes.createTheme.title") : t("neetoThemes.build.leftSideBar.themes.editTheme.title")), isCustomCssScreen && t("neetoThemes.build.leftSideBar.themes.customCSS")]
2176
+ children: [isCustomizeScreen && !isCustomCssScreen && (isNewThemeRoute() ? t("neetoThemes.build.leftSideBar.themes.createTheme.title") : t("neetoThemes.build.leftSideBar.themes.editTheme.title")), isCustomCssScreen && t("neetoThemes.build.leftSideBar.themes.customCSS")]
2109
2177
  })]
2110
2178
  })
2111
2179
  });
@@ -2305,7 +2373,7 @@ var Sidebar = function Sidebar(_ref) {
2305
2373
  };
2306
2374
  var highlightTheme = function highlightTheme(themeIdToHighlight) {
2307
2375
  setTimeout(function () {
2308
- utils.scrollElementIntoView(themeIdToHighlight);
2376
+ scrollElementIntoView(themeIdToHighlight);
2309
2377
  }, 1500);
2310
2378
  setTimeout(function () {
2311
2379
  setThemeToHighlight(null);
@@ -2503,7 +2571,7 @@ var NeetoThemesBuilder = function NeetoThemesBuilder(_ref) {
2503
2571
  });
2504
2572
  }, []);
2505
2573
  react.useEffect(function () {
2506
- if (neetoCist.isNotPresent(currentTheme) || utils.isEditThemeRoute()) {
2574
+ if (neetoCist.isNotPresent(currentTheme) || isEditThemeRoute()) {
2507
2575
  return;
2508
2576
  }
2509
2577
  setThemeState({