blue-react 9.0.0-alpha2 → 9.0.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.
@@ -50,9 +50,9 @@ function HeaderTitle(_ref) {
50
50
 
51
51
  (0, _react.useEffect)(setDocumentTitle, []);
52
52
  (0, _react.useEffect)(setDocumentTitle, [children]);
53
- return /*#__PURE__*/_react.default.createElement("h3", {
53
+ return /*#__PURE__*/_react.default.createElement("div", {
54
54
  id: uniqueId,
55
- className: "blue-header-logo" + (className ? " ".concat(className) : "") + (sidebar ? " sidebar" : "")
55
+ className: "h3 blue-header-logo" + (className ? " ".concat(className) : "") + (sidebar ? " sidebar" : "")
56
56
  }, /*#__PURE__*/_react.default.createElement("span", {
57
57
  className: "blue-header-logo-title"
58
58
  }, logo ? /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("a", {
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _Utilities = _interopRequireDefault(require("./Utilities"));
13
13
 
14
+ var _SidebarToggler = _interopRequireDefault(require("./SidebarToggler"));
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -74,6 +76,7 @@ var Layout = /*#__PURE__*/function (_Component) {
74
76
  _this.defaultMatch = ["home"];
75
77
  _this.state = {
76
78
  sidebarIn: props.sidebarIn || false,
79
+ expandSidebar: props.hideSidebarMenu ? false : props.expandSidebar || localStorage.getItem("blueLayoutShrinkSidebar") === null,
77
80
  match: null,
78
81
  history: [],
79
82
  hash: window.location.hash,
@@ -81,6 +84,7 @@ var Layout = /*#__PURE__*/function (_Component) {
81
84
  blockRouting: props.blockRouting || undefined
82
85
  };
83
86
  _this.hideSidebar = _this.hideSidebar.bind(_assertThisInitialized(_this));
87
+ _this.toggleExpandSidebar = _this.toggleExpandSidebar.bind(_assertThisInitialized(_this));
84
88
  _this.eventListeners = [];
85
89
  return _this;
86
90
  }
@@ -131,6 +135,16 @@ var Layout = /*#__PURE__*/function (_Component) {
131
135
  this.props.onChangeSidebarIn(this.state.sidebarIn);
132
136
  }
133
137
 
138
+ if (prevProps.expandSidebar !== this.props.expandSidebar) {
139
+ this.setState({
140
+ expandSidebar: this.props.expandSidebar || false
141
+ });
142
+ }
143
+
144
+ if (this.props.onChangeExpandSidebar && prevState.expandSidebar !== this.state.expandSidebar) {
145
+ this.props.onChangeExpandSidebar(this.state.expandSidebar);
146
+ }
147
+
134
148
  if (prevProps.blockRouting !== this.props.blockRouting && this.props.blockRouting !== this.state.blockRouting) {
135
149
  this.setState({
136
150
  blockRouting: this.props.blockRouting
@@ -239,6 +253,21 @@ var Layout = /*#__PURE__*/function (_Component) {
239
253
  });
240
254
  });
241
255
  }
256
+ }, {
257
+ key: "toggleExpandSidebar",
258
+ value: function toggleExpandSidebar() {
259
+ var expandSidebar = this.state.expandSidebar;
260
+
261
+ if (expandSidebar) {
262
+ localStorage.setItem("blueLayoutShrinkSidebar", "true");
263
+ } else {
264
+ localStorage.removeItem("blueLayoutShrinkSidebar");
265
+ }
266
+
267
+ this.setState({
268
+ expandSidebar: !expandSidebar
269
+ });
270
+ }
242
271
  }, {
243
272
  key: "render",
244
273
  value: function render() {
@@ -250,21 +279,20 @@ var Layout = /*#__PURE__*/function (_Component) {
250
279
  }), /*#__PURE__*/_react.default.createElement("div", {
251
280
  id: this.props.id ? this.props.id : "",
252
281
  style: this.props.style ? this.props.style : {},
253
- className: "blue-layout" + (this.props.className ? " " + this.props.className : "") + (this.state.sidebarIn ? " open" : "") + (this.props.hideSidebarMenu ? " hasNoSidebarMenu" : " hasSidebarMenu") + (this.props.expandSidebar ? " expandSidebar" : "") + (this.props.disableHeaders ? " disableHeaders" : ""),
282
+ className: "blue-layout" + (this.props.className ? " " + this.props.className : "") + (this.state.sidebarIn ? " open" : "") + (this.props.hideSidebarMenu ? " hasNoSidebarMenu" : " hasSidebarMenu") + (this.state.expandSidebar ? " expandSidebar" : "") + (this.props.disableHeaders ? " disableHeaders" : "") + (this.props.hideToggleExpandSidebar ? " hideToggleExpandSidebar" : ""),
254
283
  onClick: this.hideSidebar
255
- }, /*#__PURE__*/_react.default.createElement("div", {
256
- className: "blue-sidebar-toggler"
257
- }, !this.props.hideSidebarMenu ? /*#__PURE__*/_react.default.createElement("button", {
258
- type: "button",
259
- className: "blue-open-menu blue-menu-item btn",
284
+ }, !this.props.hideSidebarMenu && /*#__PURE__*/_react.default.createElement(_SidebarToggler.default, {
285
+ sidebarToggleIconComponent: this.props.sidebarToggleIconComponent,
260
286
  onClick: function onClick() {
261
287
  _this4.setState({
262
288
  sidebarIn: !_this4.state.sidebarIn
263
289
  });
264
290
  }
265
- }, /*#__PURE__*/_react.default.createElement("div", {
266
- className: "blue-sidebar-exception position-absolute w-100 h-100"
267
- }), this.props.sidebarToggleIconComponent) : ""), this.props.children, (_this$props$pages = this.props.pages) === null || _this$props$pages === void 0 ? void 0 : _this$props$pages.map(function (page) {
291
+ }), !this.props.hideSidebarMenu && !this.props.hideToggleExpandSidebar && /*#__PURE__*/_react.default.createElement(_SidebarToggler.default, {
292
+ sidebarToggleIconComponent: this.props.sidebarToggleIconComponent,
293
+ onClick: this.toggleExpandSidebar,
294
+ className: "d-none d-xxl-block"
295
+ }), this.props.children, (_this$props$pages = this.props.pages) === null || _this$props$pages === void 0 ? void 0 : _this$props$pages.map(function (page) {
268
296
  return _this4.state.history.indexOf(page.name) > -1 && /*#__PURE__*/_react.default.createElement("div", {
269
297
  key: page.name,
270
298
  className: "router-page " + (_this4.state.match[0] === page.name ? "active" : "")
@@ -295,7 +323,6 @@ var Layout = /*#__PURE__*/function (_Component) {
295
323
  key: "defaultProps",
296
324
  get: function get() {
297
325
  return {
298
- expandSidebar: false,
299
326
  hideSidebarMenu: false,
300
327
  unrouteable: false,
301
328
  disableTitleSet: false,
@@ -304,7 +331,11 @@ var Layout = /*#__PURE__*/function (_Component) {
304
331
  width: "1em",
305
332
  height: "1em",
306
333
  fill: "currentColor",
307
- viewBox: "0 0 16 16"
334
+ viewBox: "0 0 16 16",
335
+ style: {
336
+ display: "inline-block",
337
+ verticalAlign: "-0.125em"
338
+ }
308
339
  }, /*#__PURE__*/_react.default.createElement("path", {
309
340
  fillRule: "evenodd",
310
341
  d: "M2.5 12a.5.5 0 01.5-.5h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5z"
@@ -323,7 +354,8 @@ var Layout = /*#__PURE__*/function (_Component) {
323
354
  warning: /*#__PURE__*/_react.default.createElement("span", {
324
355
  className: "bi-sign_warning"
325
356
  })
326
- }
357
+ },
358
+ hideToggleExpandSidebar: false
327
359
  };
328
360
  }
329
361
  }]);
@@ -94,7 +94,7 @@ function MenuItem(props) {
94
94
  (0, _react.useEffect)(function () {
95
95
  if (props.showDropdown !== undefined) setShowDropdown(props.showDropdown);
96
96
  }, [props.showDropdown]);
97
- var className = "blue-menu-item btn" + (props.isActive ? " active" : "") + (props.className ? " " + props.className : "") + (props.children ? " blue-menu-item-dropdown-toggle" : "");
97
+ var className = "blue-menu-item btn" + (props.isActive ? " active" : "") + (props.className ? " " + props.className : "") + (props.children ? " blue-menu-item-dropdown-toggle" : "") + (props.highlighted ? " highlighted" : "");
98
98
  var icon, iconForActive;
99
99
 
100
100
  if (typeof props.icon === "string") {
@@ -45,7 +45,8 @@ function Search(props) {
45
45
  reset = props.reset,
46
46
  resetIcon = props.resetIcon,
47
47
  sidebar = props.sidebar,
48
- id = props.id;
48
+ id = props.id,
49
+ inputRef = props.inputRef;
49
50
 
50
51
  var SearchControlId = id || "blue-search-control-" + _Utilities.default.guid();
51
52
 
@@ -98,6 +99,7 @@ function Search(props) {
98
99
  fillRule: "evenodd",
99
100
  d: "M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z"
100
101
  })))), props.children || /*#__PURE__*/_react.default.createElement("input", {
102
+ ref: inputRef,
101
103
  type: "search",
102
104
  value: value,
103
105
  onChange: function onChange(event) {
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = SidebarMenuItem;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _MenuItem = _interopRequireDefault(require("./MenuItem"));
13
+
14
+ var _Outside = _interopRequireDefault(require("./Outside"));
15
+
16
+ var _excluded = ["outerClass", "children", "onClick"];
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+
28
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+
30
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
31
+
32
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
+
34
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
35
+
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+
38
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
39
+
40
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
41
+
42
+ function getOffset(el) {
43
+ var rect = el.getBoundingClientRect();
44
+ return {
45
+ left: Math.round(rect.left + window.scrollX),
46
+ top: Math.round(rect.top + window.scrollY)
47
+ };
48
+ }
49
+ /**
50
+ * Extends `MenuItem` with following features:
51
+ * * Shows provided label as tooltip if sidebar is closed.
52
+ * * Children will be displayed on the right side of the parent item.
53
+ *
54
+ * **Important!** Set the following props to the surrounding `SidebarMenu` to provide problems with tooltips:
55
+ * ```jsx
56
+ * <SidebarMenu
57
+ * sidebarClass="overflow-visible"
58
+ * menuClass="overflow-visible"
59
+ * >
60
+ * ...
61
+ * </SidebarMenu>
62
+ * ```
63
+ */
64
+
65
+
66
+ function SidebarMenuItem(_ref) {
67
+ var _ref$outerClass = _ref.outerClass,
68
+ outerClass = _ref$outerClass === void 0 ? "" : _ref$outerClass,
69
+ children = _ref.children,
70
+ onClick = _ref.onClick,
71
+ props = _objectWithoutProperties(_ref, _excluded);
72
+
73
+ var _useState = (0, _react.useState)(false),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ open = _useState2[0],
76
+ setOpen = _useState2[1];
77
+
78
+ var toggle = function toggle() {
79
+ return setOpen(!open);
80
+ };
81
+
82
+ var _useState3 = (0, _react.useState)(0),
83
+ _useState4 = _slicedToArray(_useState3, 2),
84
+ offsetTop = _useState4[0],
85
+ setOffsetTop = _useState4[1];
86
+
87
+ var menuRef = (0, _react.useRef)(null);
88
+ (0, _react.useEffect)(function () {
89
+ setOpen(false);
90
+ }, [window.location.hash]);
91
+ (0, _react.useEffect)(function () {
92
+ if (menuRef && menuRef.current) {
93
+ var offset = getOffset(menuRef.current);
94
+ setOffsetTop(offset.top);
95
+ }
96
+ }, [menuRef, open]);
97
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children ? /*#__PURE__*/_react.default.createElement(_Outside.default, {
98
+ className: "position-relative ".concat(outerClass),
99
+ onClickOutside: function onClickOutside() {
100
+ setOpen(false);
101
+ }
102
+ }, /*#__PURE__*/_react.default.createElement(SidebarMenuItem, _extends({}, props, {
103
+ highlighted: open,
104
+ onClick: toggle
105
+ })), open && /*#__PURE__*/_react.default.createElement("div", {
106
+ ref: menuRef,
107
+ className: ["position-absolute", "shadow", "top-0", "ms-1", "rounded", "w-bla-sidebar-width", "blue-menu-item-dropdown", "blue-menu-item-dropdown-from-start"].join(" "),
108
+ style: {
109
+ left: "var(--blue-sidebar-width, 3rem)",
110
+ maxHeight: "calc(100vh - (".concat(offsetTop, "px + 1rem))"),
111
+ overflowY: "auto",
112
+ overflowX: "hidden",
113
+ backgroundColor: "var(--blue-sidebar-bg)"
114
+ }
115
+ }, /*#__PURE__*/_react.default.createElement("div", {
116
+ className: "blue-sidebar-state open"
117
+ }, children))) : /*#__PURE__*/_react.default.createElement("div", {
118
+ className: "blue-tooltip-end blue-sidebar-pseudo-hidden-on-open ".concat(outerClass),
119
+ "data-tooltip": !props.isActive ? props.label : "",
120
+ title: props.isActive ? props.label : ""
121
+ }, /*#__PURE__*/_react.default.createElement(_MenuItem.default, _extends({}, props, {
122
+ onClick: onClick
123
+ }))));
124
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SidebarToggler;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _shared = require("./shared");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /**
15
+ * Button to toggle sidebar state. Designed for internal use inside of `Layout`.
16
+ */
17
+ function SidebarToggler(_ref) {
18
+ var _ref$className = _ref.className,
19
+ className = _ref$className === void 0 ? "" : _ref$className,
20
+ sidebarToggleIconComponent = _ref.sidebarToggleIconComponent,
21
+ onClick = _ref.onClick;
22
+ return /*#__PURE__*/_react.default.createElement("div", {
23
+ className: "blue-sidebar-toggler blue-tooltip-end position-fixed ".concat(className),
24
+ "data-tooltip": (0, _shared.getPhrase)("Toggle menu")
25
+ }, /*#__PURE__*/_react.default.createElement("button", {
26
+ type: "button",
27
+ className: "blue-open-menu blue-menu-item btn rounded-0",
28
+ onClick: onClick,
29
+ "aria-label": (0, _shared.getPhrase)("Toggle menu")
30
+ }, /*#__PURE__*/_react.default.createElement("div", {
31
+ className: "blue-sidebar-exception position-absolute w-100 h-100"
32
+ }), sidebarToggleIconComponent));
33
+ }
@@ -8,7 +8,8 @@ var phrases = {
8
8
  Cancel: ["Cancel", "Abbrechen"],
9
9
  Yes: ["Yes", "Ja"],
10
10
  No: ["No", "Nein"],
11
- Message: ["Message", "Nachricht"]
11
+ Message: ["Message", "Nachricht"],
12
+ "Toggle menu": ["Toggle menu", "Menü umschalten"]
12
13
  };
13
14
 
14
15
  function getPhrase(keyword) {
package/dist/neu.scss ADDED
@@ -0,0 +1,76 @@
1
+ $theme: #e5dff4 !default;
2
+
3
+ @function neu-shadow($multiplicate: 1, $inset: false, $switch: false) {
4
+ $preset: "";
5
+ $bg-suffix: "";
6
+
7
+ @if $inset {
8
+ $preset: "inset";
9
+ $bg-suffix: "-inset";
10
+ }
11
+
12
+ @if $switch {
13
+ @return $preset calc(var(--neu-distance) * #{$multiplicate}) calc(var(--neu-distance) * #{$multiplicate})
14
+ calc(var(--neu-blur) * #{$multiplicate}) var(--neu-shadow-high#{$bg-suffix}),
15
+ $preset calc(var(--neu-distance) * -#{$multiplicate}) calc(var(--neu-distance) * -#{$multiplicate})
16
+ calc(var(--neu-blur) * #{$multiplicate}) var(--neu-shadow-low#{$bg-suffix});
17
+ }
18
+
19
+ @return $preset calc(var(--neu-distance) * -#{$multiplicate}) calc(var(--neu-distance) * -#{$multiplicate})
20
+ calc(var(--neu-blur) * #{$multiplicate}) var(--neu-shadow-high#{$bg-suffix}),
21
+ $preset calc(var(--neu-distance) * #{$multiplicate}) calc(var(--neu-distance) * #{$multiplicate})
22
+ calc(var(--neu-blur) * #{$multiplicate}) var(--neu-shadow-low#{$bg-suffix});
23
+ }
24
+
25
+ $neu-steps: (
26
+ 1: 0.25,
27
+ 2: 0.5,
28
+ 3: 1,
29
+ 4: 1.5,
30
+ 5: 3
31
+ );
32
+
33
+ @mixin neu($bg: $theme, $bg-inset: $theme) {
34
+ --neu-bg: #{$bg};
35
+ --neu-bg-inset: #{$bg-inset};
36
+
37
+ --neu-shadow-high: #{lighten($bg, 3%)};
38
+ --neu-shadow-low: #{darken($bg, 4%)};
39
+ --neu-shadow-high-inset: #{lighten($bg-inset, 4%)};
40
+ --neu-shadow-low-inset: #{darken($bg-inset, 4%)};
41
+
42
+ --neu-distance: 0.37rem;
43
+ --neu-blur: 0.7rem;
44
+
45
+ @each $unit, $value in $neu-steps {
46
+ --neu-shadow-#{$unit}: #{neu-shadow($value)};
47
+ --neu-shadow-inset-#{$unit}: #{neu-shadow($value, true)};
48
+
49
+ --neu-shadow-switch-#{$unit}: #{neu-shadow($value, false, true)};
50
+ --neu-shadow-inset-switch-#{$unit}: #{neu-shadow($value, true, true)};
51
+ }
52
+ }
53
+
54
+ @mixin neu-define-utility-classes() {
55
+ @each $unit, $value in $neu-steps {
56
+ .neu-shadow-#{$unit} {
57
+ box-shadow: var(--neu-shadow-#{$unit}) !important;
58
+ }
59
+ .neu-shadow-inset-#{$unit} {
60
+ box-shadow: var(--neu-shadow-inset-#{$unit}) !important;
61
+ }
62
+
63
+ .neu-shadow-switch-#{$unit} {
64
+ box-shadow: var(--neu-shadow-switch-#{$unit}) !important;
65
+ }
66
+ .neu-shadow-inset-switch-#{$unit} {
67
+ box-shadow: var(--neu-shadow-inset-switch-#{$unit}) !important;
68
+ }
69
+ }
70
+ }
71
+
72
+ :root {
73
+ @include neu();
74
+ }
75
+
76
+ @include neu-define-utility-classes();