@crystaldesign/diva-navigator 24.15.0-beta.4 → 24.15.0-beta.40

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.
@@ -16,6 +16,7 @@ import { md5 } from '@crystaldesign/diva-utils';
16
16
  import _typeof from '@babel/runtime/helpers/typeof';
17
17
  import { Html5Qrcode } from 'html5-qrcode';
18
18
  import { Alert } from '@mui/material';
19
+ import Snowfall from 'react-snowfall';
19
20
  import { useSwipeable } from 'react-swipeable';
20
21
 
21
22
  (function() {
@@ -63,7 +64,7 @@ var headerWrapperRight = "header-wrapper-right-zLaAR";
63
64
  var hide$1 = "hide-1DmsJ";
64
65
  var breadcrumbsWrapper = "breadcrumbs-wrapper-nqYkU";
65
66
  var customArea = "custom-area-FLAOC";
66
- var css_248z$n = ".header-bLyVg {\n background-color: white;\n color: #333333;\n height: -moz-fit-content;\n height: fit-content;\n width: 100%;\n position: relative;\n box-shadow: 0px 1px 4px 0px rgba(51, 51, 51, 1);\n font-family: var(--diva-typography-font-family);\n transition: height ease-in-out 1s;\n z-index: 2;\n display: flex;\n flex-direction: column;\n}\n\n.header-wrapper-BPUbF {\n width: 100%;\n height: 60px;\n position: relative;\n display: flex;\n justify-content: flex-start;\n z-index: 1;\n overflow: hidden;\n}\n\n.header-wrapper-left-qxYUn {\n display: flex;\n z-index: 1;\n}\n\n.header-wrapper-right-zLaAR {\n display: flex;\n flex: 1 1 250px;\n max-width: -moz-max-content;\n max-width: max-content;\n justify-content: flex-end;\n height: 100%;\n align-items: center;\n overflow: hidden;\n right: 0;\n background-color: #fff;\n z-index: 10;\n margin-left: auto;\n flex-basis: fit-content;\n}\n\n.darkmode .header-wrapper-right-zLaAR {\n background-color: transparent;\n background-color: initial;\n}\n\n.hide-1DmsJ {\n height: 0;\n transition: height ease-in-out 1s;\n}\n\n.breadcrumbs-wrapper-nqYkU {\n width: 100%;\n height: 30px;\n position: relative;\n border-top: 1px solid #f2f2f2;\n}\n\n.selected-z3Uht {\n transform: scale(1.1);\n color: var(--diva-theme-palette-primary-main);\n}\n.custom-area-FLAOC {\n margin: 8px;\n height: 46px;\n overflow: auto;\n}\n";
67
+ var css_248z$n = ".header-bLyVg {\n background-color: white;\n color: #333333;\n height: -moz-fit-content;\n height: fit-content;\n width: 100%;\n position: relative;\n box-shadow: 0px 1px 4px 0px rgba(51, 51, 51, 1);\n font-family: var(--diva-typography-font-family);\n transition: height ease-in-out 1s;\n z-index: 2;\n display: flex;\n flex-direction: column;\n}\n\n.header-wrapper-BPUbF {\n width: 100%;\n height: 60px;\n position: relative;\n display: flex;\n justify-content: flex-start;\n z-index: 1;\n}\n\n.header-wrapper-left-qxYUn {\n display: flex;\n z-index: 1;\n}\n\n.header-wrapper-right-zLaAR {\n display: flex;\n flex: 1 1 250px;\n max-width: -moz-max-content;\n max-width: max-content;\n justify-content: flex-end;\n height: 100%;\n align-items: center;\n overflow: hidden;\n right: 0;\n background-color: #fff;\n z-index: 10;\n margin-left: auto;\n flex-basis: fit-content;\n}\n\n.darkmode .header-wrapper-right-zLaAR {\n background-color: transparent;\n background-color: initial;\n}\n\n.hide-1DmsJ {\n height: 0;\n transition: height ease-in-out 1s;\n}\n\n.breadcrumbs-wrapper-nqYkU {\n width: 100%;\n height: 30px;\n position: relative;\n border-top: 1px solid #f2f2f2;\n}\n\n.selected-z3Uht {\n transform: scale(1.1);\n color: var(--diva-theme-palette-primary-main);\n}\n.custom-area-FLAOC {\n margin: 8px;\n height: 46px;\n overflow: auto;\n}\n";
67
68
  styleInject(css_248z$n);
68
69
 
69
70
  var scroller = "scroller-QE6K3";
@@ -107,6 +108,7 @@ var Button = function Button(_ref) {
107
108
  return /*#__PURE__*/jsxs("div", {
108
109
  className: classNames(button$2, !!(currentComponent !== null && currentComponent !== void 0 && currentComponent.type) && (currentComponent === null || currentComponent === void 0 ? void 0 : currentComponent.type) === ((_b$action2 = b.action) === null || _b$action2 === void 0 ? void 0 : _b$action2.type) ? selected$4 : undefined),
109
110
  ref: ref,
111
+ "data-test-id": b.text,
110
112
  children: [t(b.text, b.text), /*#__PURE__*/jsx("a", {
111
113
  href: resolveComponent(b.action),
112
114
  children: /*#__PURE__*/jsx("span", {
@@ -125,24 +127,54 @@ function Buttons () {
125
127
  _useDivaCore$state = _useDivaCore.state,
126
128
  initializing = _useDivaCore$state.initializing,
127
129
  width = _useDivaCore$state.dimensions.width,
128
- buttons = _useDivaCore$state.navigationConfiguration.buttons;
130
+ _useDivaCore$state$na = _useDivaCore$state.navigationConfiguration,
131
+ buttons = _useDivaCore$state$na.buttons,
132
+ customLogo = _useDivaCore$state$na.customLogo;
129
133
  var scrollerDiv = useRef();
130
- var _useState = useState(false),
134
+ var _useState = useState(),
131
135
  _useState2 = _slicedToArray(_useState, 2),
132
- showArrowLeft = _useState2[0],
133
- setShowArrowLeft = _useState2[1];
136
+ observer = _useState2[0],
137
+ setObserver = _useState2[1];
134
138
  var _useState3 = useState(false),
135
139
  _useState4 = _slicedToArray(_useState3, 2),
136
- showArrowRight = _useState4[0],
137
- setShowArrowRight = _useState4[1];
140
+ showArrowLeft = _useState4[0],
141
+ setShowArrowLeft = _useState4[1];
142
+ var _useState5 = useState(false),
143
+ _useState6 = _slicedToArray(_useState5, 2),
144
+ showArrowRight = _useState6[0],
145
+ setShowArrowRight = _useState6[1];
138
146
  var recalcScroll = function recalcScroll(width) {
139
147
  if (!scrollerDiv.current) return;
140
- if (scrollerDiv.current.scrollLeft > 0 !== showArrowLeft) setShowArrowLeft(!showArrowLeft);
141
- if (scrollerDiv.current.scrollLeft + (width !== null && width !== void 0 ? width : scrollerDiv.current.clientWidth) + 1 < scrollerDiv.current.scrollWidth !== showArrowRight) setShowArrowRight(!showArrowRight);
148
+ setShowArrowLeft(!!(scrollerDiv.current.scrollLeft > 0));
149
+ setShowArrowRight(!!(scrollerDiv.current.scrollLeft + (width !== null && width !== void 0 ? width : scrollerDiv.current.clientWidth) + 1 < scrollerDiv.current.scrollWidth));
142
150
  };
151
+ useEffect(function () {
152
+ if (scrollerDiv.current) {
153
+ observer === null || observer === void 0 || observer.disconnect();
154
+ var obs = new MutationObserver(function () {
155
+ recalcScroll();
156
+ });
157
+ obs.observe(scrollerDiv.current, {
158
+ characterData: true,
159
+ childList: true,
160
+ subtree: true,
161
+ characterDataOldValue: true
162
+ });
163
+ setObserver(obs);
164
+ return function () {
165
+ return obs.disconnect();
166
+ };
167
+ }
168
+ return;
169
+ }, [scrollerDiv]);
143
170
  useEffect(function () {
144
171
  recalcScroll();
145
172
  }, [initializing, width]);
173
+ useEffect(function () {
174
+ setTimeout(function () {
175
+ return recalcScroll();
176
+ }, 500);
177
+ }, [customLogo]);
146
178
  var scrollDistance = scrollerDiv.current && scrollerDiv.current.clientWidth < 400 ? scrollerDiv.current.clientWidth : 400;
147
179
  return /*#__PURE__*/jsxs("div", {
148
180
  className: scroller,
@@ -189,18 +221,24 @@ var buttonsWrapper = "buttons-wrapper-ypwVh";
189
221
  var breadcrumb = "breadcrumb-03kGg";
190
222
  var splitter = "splitter-blALw";
191
223
  var selected$3 = "selected-M8GAh";
192
- var css_248z$k = ".buttons-wrapper-ypwVh {\n display: flex;\n align-items: center;\n height: 100%;\n gap: 6px;\n margin-left: 24px;\n color: #4f4f4f;\n}\n.breadcrumb-03kGg {\n cursor: pointer;\n font-size: small;\n}\n\n.splitter-blALw:first-of-type {\n display: none;\n}\n\n.splitter-blALw {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: center / 80% no-repeat url(\"data:image/svg+xml,%3Csvg width%3D%2212%22 height%3D%2212%22 viewBox%3D%220 0 12 12%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M5 3.5L7.5 6L5 8.5%22 stroke%3D%22%237B7B7B%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n.breadcrumb-03kGg:hover {\n transform: scale(1.1);\n color: var(--diva-theme-palette-primary-main);\n text-decoration: underline;\n transition: all 200ms;\n}\n\n.breadcrumb-03kGg.selected-M8GAh {\n color: var(--diva-theme-palette-primary-main);\n text-decoration: underline;\n}\n";
224
+ var greetingsTextClass = "greetings-text-class-74-so";
225
+ var css_248z$k = ".buttons-wrapper-ypwVh {\n display: flex;\n align-items: center;\n height: 100%;\n gap: 6px;\n margin-left: 24px;\n color: #4f4f4f;\n}\n.breadcrumb-03kGg {\n cursor: pointer;\n font-size: small;\n}\n\n.splitter-blALw:first-of-type {\n display: none;\n}\n\n.splitter-blALw {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: center / 80% no-repeat url(\"data:image/svg+xml,%3Csvg width%3D%2212%22 height%3D%2212%22 viewBox%3D%220 0 12 12%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M5 3.5L7.5 6L5 8.5%22 stroke%3D%22%237B7B7B%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n.breadcrumb-03kGg:hover {\n transform: scale(1.1);\n color: var(--diva-theme-palette-primary-main);\n text-decoration: underline;\n transition: all 200ms;\n}\n\n.breadcrumb-03kGg.selected-M8GAh {\n color: var(--diva-theme-palette-primary-main);\n text-decoration: underline;\n}\n\n.greetings-text-class-74-so {\n position: absolute;\n right: 16px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n letter-spacing: 1px;\n font-size: 16px;\n}\n";
193
226
  styleInject(css_248z$k);
194
227
 
195
228
  function Breadcrumbs () {
196
229
  var _useDivaCore = useDivaCore(),
197
230
  openComponent = _useDivaCore.actions.openComponent,
198
- breadcrumbs = _useDivaCore.state.navigationConfiguration.breadcrumbs;
231
+ _useDivaCore$state = _useDivaCore.state,
232
+ hideSnow = _useDivaCore$state.hideSnow,
233
+ _useDivaCore$state$na = _useDivaCore$state.navigationConfiguration,
234
+ breadcrumbs = _useDivaCore$state$na.breadcrumbs,
235
+ greetingsText = _useDivaCore$state$na.greetingsText,
236
+ showSnow = _useDivaCore$state$na.showSnow;
199
237
  var _useTranslation = useTranslation(),
200
238
  t = _useTranslation.t;
201
- return /*#__PURE__*/jsx("div", {
239
+ return /*#__PURE__*/jsxs("div", {
202
240
  className: buttonsWrapper,
203
- children: breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.breadcrumbs.path.slice().sort(function (a, b) {
241
+ children: [breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.breadcrumbs.path.slice().sort(function (a, b) {
204
242
  return a.level - b.level;
205
243
  }).map(function (b) {
206
244
  return /*#__PURE__*/jsxs(Fragment, {
@@ -214,7 +252,10 @@ function Breadcrumbs () {
214
252
  children: t(b.name)
215
253
  })]
216
254
  }, b.name);
217
- })
255
+ }), greetingsText && (!hideSnow && showSnow || !showSnow) && /*#__PURE__*/jsx("div", {
256
+ className: greetingsTextClass,
257
+ children: t(greetingsText)
258
+ })]
218
259
  });
219
260
  }
220
261
 
@@ -1474,8 +1515,12 @@ var HidePrices = function HidePrices(props) {
1474
1515
  var _useDivaCore = useDivaCore(),
1475
1516
  _useDivaCore$state = _useDivaCore.state,
1476
1517
  hidePrices = _useDivaCore$state.hidePrices,
1518
+ hideSnow = _useDivaCore$state.hideSnow,
1477
1519
  theme = _useDivaCore$state.theme,
1478
- toggleHidePrices = _useDivaCore.actions.toggleHidePrices;
1520
+ showSnow = _useDivaCore$state.navigationConfiguration.showSnow,
1521
+ _useDivaCore$actions = _useDivaCore.actions,
1522
+ toggleHidePrices = _useDivaCore$actions.toggleHidePrices,
1523
+ toggleHideSnow = _useDivaCore$actions.toggleHideSnow;
1479
1524
  var _useTranslation = useTranslation(),
1480
1525
  t = _useTranslation.t;
1481
1526
  var myVarVal = (theme === null || theme === void 0 || (_theme$palette = theme.palette) === null || _theme$palette === void 0 || (_theme$palette = _theme$palette.primary) === null || _theme$palette === void 0 ? void 0 : _theme$palette.main) || '#a84232';
@@ -1494,6 +1539,21 @@ var HidePrices = function HidePrices(props) {
1494
1539
  }), /*#__PURE__*/jsx("div", {
1495
1540
  className: text,
1496
1541
  children: t('navigation.user.hideprices')
1542
+ }), showSnow && /*#__PURE__*/jsxs(Fragment$1, {
1543
+ children: [/*#__PURE__*/jsx(Switch, {
1544
+ onChange: toggleHideSnow,
1545
+ checked: !hideSnow,
1546
+ onColor: '#00bcd4',
1547
+ offColor: '#CACACA',
1548
+ height: 20,
1549
+ width: 36,
1550
+ handleDiameter: 16,
1551
+ uncheckedIcon: false,
1552
+ checkedIcon: false
1553
+ }), /*#__PURE__*/jsx("div", {
1554
+ className: text,
1555
+ children: t('navigation.user.hidesnow')
1556
+ })]
1497
1557
  })]
1498
1558
  });
1499
1559
  };
@@ -2255,6 +2315,7 @@ var Header = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2255
2315
  var _useDivaCore = useDivaCore(),
2256
2316
  showLoginWindow = _useDivaCore.actions.showLoginWindow,
2257
2317
  _useDivaCore$state = _useDivaCore.state,
2318
+ hideSnow = _useDivaCore$state.hideSnow,
2258
2319
  user = _useDivaCore$state.user,
2259
2320
  isMobile = _useDivaCore$state.dimensions.isMobile,
2260
2321
  _useDivaCore$state$na = _useDivaCore$state.navigationConfiguration,
@@ -2265,8 +2326,12 @@ var Header = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2265
2326
  showOrgName = _useDivaCore$state$na.showOrgName,
2266
2327
  showUserName = _useDivaCore$state$na.showUserName,
2267
2328
  qrCodeScanner = _useDivaCore$state$na.qrCodeScanner,
2268
- initializing = _useDivaCore$state.initializing,
2329
+ showSnow = _useDivaCore$state$na.showSnow;
2330
+ _useDivaCore$state$na.greetingsText;
2331
+ var initializing = _useDivaCore$state.initializing,
2269
2332
  availableLanguages = _useDivaCore$state.availableLanguages;
2333
+ var _useTranslation = useTranslation();
2334
+ _useTranslation.t;
2270
2335
  var _useState = useState(false),
2271
2336
  _useState2 = _slicedToArray(_useState, 2),
2272
2337
  open = _useState2[0],
@@ -2306,7 +2371,16 @@ var Header = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2306
2371
  id: "diva-header",
2307
2372
  ref: ref,
2308
2373
  className: classNames(header, initializing || headerLoading ? hide$1 : undefined),
2309
- children: [/*#__PURE__*/jsxs("div", {
2374
+ children: [!hideSnow && showSnow && /*#__PURE__*/jsx(Snowfall, {
2375
+ color: "#a7b6eb",
2376
+ speed: [0.01, 0.03],
2377
+ wind: [-0.02, 0.02],
2378
+ radius: [0.5, 2],
2379
+ snowflakeCount: 130,
2380
+ style: {
2381
+ zIndex: 1000
2382
+ }
2383
+ }), /*#__PURE__*/jsxs("div", {
2310
2384
  className: headerWrapper,
2311
2385
  children: [/*#__PURE__*/jsx(Logos, {}), welcomeText && /*#__PURE__*/jsx(WelcomeText, {
2312
2386
  text: welcomeText
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Header/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,MAAM,CAAC,OAAO,gCA0Bb"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Header/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,MAAM,CAAC,OAAO,gCA2Bb"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/Header/Buttons/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAA+B,MAAM,IAAI,UAAU,EAAa,MAAM,0BAA0B,CAAC;AAIxG,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,CAAC;AAErE,QAAA,MAAM,MAAM,uBAAwB,KAAK,sBAgCxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/Header/Buttons/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAA+B,MAAM,IAAI,UAAU,EAAa,MAAM,0BAA0B,CAAC;AAIxG,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,CAAC;AAErE,QAAA,MAAM,MAAM,uBAAwB,KAAK,sBAiCxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Header/Buttons/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,MAAM,CAAC,OAAO,gCAmDb"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Header/Buttons/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,MAAM,CAAC,OAAO,gCAmEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;;AAenD,wBAoEG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;;AAgBnD,wBAmFG"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Profil/HidePrices/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,KAAK,GAAG,EAAE,CAAC;AAEhB,QAAA,MAAM,UAAU,UAAW,KAAK,sBA0B/B,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/Profil/HidePrices/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,KAAK,GAAG,EAAE,CAAC;AAEhB,QAAA,MAAM,UAAU,UAAW,KAAK,sBA+C/B,CAAC;AAEF,eAAe,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/diva-navigator",
3
- "version": "24.15.0-beta.4",
3
+ "version": "24.15.0-beta.40",
4
4
  "license": "MIT",
5
5
  "devDependencies": {
6
6
  "@testing-library/jest-dom": "^6.5.0",
@@ -13,6 +13,7 @@
13
13
  "classnames": "^2.5.1",
14
14
  "html5-qrcode": "^2.3.8",
15
15
  "react-dropdown": "^1.11.0",
16
+ "react-snowfall": "^2.2.0",
16
17
  "react-swipeable": "^7.0.1",
17
18
  "react-switch": "^7.0.0"
18
19
  },
@@ -23,5 +24,5 @@
23
24
  },
24
25
  "module": "build/esm/index.js",
25
26
  "types": "./build/types/navigator/src/index.d.ts",
26
- "gitHead": "44e02af4341a3222df7f77867c2f45bc47f1f28c"
27
+ "gitHead": "ed900e671d4442ebd8a0dc07ebf3b1013fc20dce"
27
28
  }