blue-react 10.1.3 → 10.2.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.
- package/dist/components/ActionMenu.d.ts +1 -0
- package/dist/components/ActionMenu.js +1 -0
- package/dist/components/ActionMenuItem.js +73 -0
- package/dist/components/ActionMenuSwitch.js +44 -0
- package/dist/components/Actions.d.ts +16 -0
- package/dist/components/Actions.js +60 -0
- package/dist/components/Caret.js +25 -0
- package/dist/components/Layout/LayoutHeader.js +1 -1
- package/dist/components/Layout.d.ts +4 -2
- package/dist/components/Layout.js +12 -11
- package/dist/components/SidebarMenuItem.js +115 -0
- package/dist/components/SimpleLayout.d.ts +4 -2
- package/dist/components/SimpleLayout.js +14 -12
- package/dist/components/Switch.js +65 -0
- package/dist/components/shared.js +2 -1
- package/dist/style.css +16286 -0
- package/dist/style.min.css +12 -0
- package/dist/types/components/A.d.ts +9 -0
- package/dist/types/components/ActionMenu.d.ts +25 -0
- package/dist/types/components/ActionMenuItem.d.ts +35 -0
- package/dist/types/components/ActionMenuSwitch.d.ts +12 -0
- package/dist/types/components/Body.d.ts +21 -0
- package/dist/types/components/Caret.d.ts +18 -0
- package/dist/types/components/Chevron.d.ts +17 -0
- package/dist/types/components/Header.d.ts +8 -0
- package/dist/types/components/HeaderTitle.d.ts +40 -0
- package/dist/types/components/IconMenuItem.d.ts +19 -0
- package/dist/types/components/Intro.d.ts +23 -0
- package/dist/types/components/Layout.d.ts +144 -0
- package/dist/types/components/MenuItem.d.ts +149 -0
- package/dist/types/components/Modal.d.ts +30 -0
- package/dist/types/components/ModalProvider.d.ts +21 -0
- package/dist/types/components/Outside.d.ts +17 -0
- package/dist/types/components/Page.d.ts +12 -0
- package/dist/types/components/Search.d.ts +36 -0
- package/dist/types/components/SidebarMenu.d.ts +32 -0
- package/dist/types/components/SidebarMenuItem.d.ts +22 -0
- package/dist/types/components/SidebarToggler.d.ts +10 -0
- package/dist/types/components/SlimContainer.d.ts +10 -0
- package/dist/types/components/Status.d.ts +12 -0
- package/dist/types/components/StatusProvider.d.ts +15 -0
- package/dist/types/components/Switch.d.ts +33 -0
- package/dist/types/components/ToastProvider.d.ts +22 -0
- package/dist/types/components/Utilities.d.ts +41 -0
- package/dist/types/components/shared.d.ts +15 -0
- package/package.json +2 -2
|
@@ -20,6 +20,7 @@ export interface ActionMenuProps {
|
|
|
20
20
|
break?: breakOption | "none";
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
+
* @deprecated Use the new `Actions` instead, which is more flexible.
|
|
23
24
|
* The Action Menu on the top right of a page. You can place Actions here which are in context of the current page.
|
|
24
25
|
*/
|
|
25
26
|
export default function ActionMenu(props: ActionMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,6 +11,7 @@ export var ActionMenuContext = /*#__PURE__*/createContext({
|
|
|
11
11
|
breakOption: "lg"
|
|
12
12
|
});
|
|
13
13
|
/**
|
|
14
|
+
* @deprecated Use the new `Actions` instead, which is more flexible.
|
|
14
15
|
* The Action Menu on the top right of a page. You can place Actions here which are in context of the current page.
|
|
15
16
|
*/
|
|
16
17
|
export default function ActionMenu(props) {
|
|
@@ -0,0 +1,73 @@
|
|
|
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 = ActionMenuItem;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _MenuItem = _interopRequireDefault(require("./MenuItem"));
|
|
13
|
+
|
|
14
|
+
var _ActionMenu = require("./ActionMenu");
|
|
15
|
+
|
|
16
|
+
var _excluded = ["children"];
|
|
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 _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; }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Use this instead of `MenuItem` when you want to use it inside an `ActionMenu` to make it appear as a dropdown.
|
|
32
|
+
*
|
|
33
|
+
* It basically is a shortcut. Instead of writing:
|
|
34
|
+
*
|
|
35
|
+
* ```tsx
|
|
36
|
+
* <ActionMenu>
|
|
37
|
+
* <div className="position-relative z-1">
|
|
38
|
+
* <MenuItem
|
|
39
|
+
* label="Parent"
|
|
40
|
+
* supportOutside
|
|
41
|
+
* dropdownClassName={`position-md-absolute end-0 d-flex flex-column`}
|
|
42
|
+
* >
|
|
43
|
+
* <MenuItem label="Item 1" />
|
|
44
|
+
* </MenuItem>
|
|
45
|
+
* </div>
|
|
46
|
+
* </ActionMenu>
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* you can write:
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <ActionMenu>
|
|
52
|
+
* <ActionMenuItem label="Parent">
|
|
53
|
+
* <MenuItem label="Item 1" />
|
|
54
|
+
* </MenuItem>
|
|
55
|
+
* </ActionMenu>
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* The responsive utility class for absolute position (`position-md-absolute` in this example) is automatically added based on the `break` param of the parent `ActionMenu`.
|
|
59
|
+
*/
|
|
60
|
+
function ActionMenuItem(_ref) {
|
|
61
|
+
var children = _ref.children,
|
|
62
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
63
|
+
|
|
64
|
+
var _useContext = (0, _react.useContext)(_ActionMenu.ActionMenuContext),
|
|
65
|
+
breakOption = _useContext.breakOption;
|
|
66
|
+
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
+
className: "position-relative z-1"
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_MenuItem.default, _extends({}, props, {
|
|
70
|
+
supportOutside: true,
|
|
71
|
+
dropdownClassName: "position-".concat(breakOption, "-absolute end-0 d-flex flex-column")
|
|
72
|
+
}), children));
|
|
73
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = ActionMenuSwitch;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _Switch = _interopRequireDefault(require("./Switch"));
|
|
11
|
+
|
|
12
|
+
var _excluded = ["label"];
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
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); }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated
|
|
24
|
+
* Use a solution with Bootstrap's `.form-check.form-switch` or `MenuItem` with a switch icon.
|
|
25
|
+
* Switch for the Action Menu.
|
|
26
|
+
*/
|
|
27
|
+
function ActionMenuSwitch(_ref) {
|
|
28
|
+
var label = _ref.label,
|
|
29
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
30
|
+
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
32
|
+
className: "nav-item"
|
|
33
|
+
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
34
|
+
href: "javascript:void(0)",
|
|
35
|
+
className: "nav-link blue-actions-menu-item",
|
|
36
|
+
onClick: function onClick() {
|
|
37
|
+
if (props.onChange) props.onChange();
|
|
38
|
+
}
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_Switch.default, _extends({}, props, {
|
|
40
|
+
elementType: "span"
|
|
41
|
+
})), label && /*#__PURE__*/_react.default.createElement("span", {
|
|
42
|
+
className: "blue-actions-label"
|
|
43
|
+
}, "\xA0", label)));
|
|
44
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from "react";
|
|
2
|
+
export interface ActionsProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
menuClassName?: string;
|
|
6
|
+
collapseClassName?: string;
|
|
7
|
+
collapseStyle?: CSSProperties;
|
|
8
|
+
collapseMenuClassName?: string;
|
|
9
|
+
collapseMenuStyle?: CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Combination of toolbar and a dropdown menu. Items in toolbar will only be shown if there is enough space.
|
|
13
|
+
* Otherwise they will be visible in the dropdown menu. JavaScript detects if space is changing and rearranges.
|
|
14
|
+
* IMPORTANT: As of right now, children you pass will be rendered twice. Once in the toolbar and once in the dropdown.
|
|
15
|
+
*/
|
|
16
|
+
export default function Actions({ children, className, menuClassName, collapseClassName, collapseStyle, collapseMenuClassName, collapseMenuStyle }: ActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import React, { useEffect, useId, useRef } from "react";
|
|
8
|
+
import { getPhrase } from "./shared.js";
|
|
9
|
+
import clsx from "clsx";
|
|
10
|
+
import { init } from "blue-web/dist/js/actions.js";
|
|
11
|
+
/**
|
|
12
|
+
* Combination of toolbar and a dropdown menu. Items in toolbar will only be shown if there is enough space.
|
|
13
|
+
* Otherwise they will be visible in the dropdown menu. JavaScript detects if space is changing and rearranges.
|
|
14
|
+
* IMPORTANT: As of right now, children you pass will be rendered twice. Once in the toolbar and once in the dropdown.
|
|
15
|
+
*/
|
|
16
|
+
export default function Actions(_ref) {
|
|
17
|
+
var children = _ref.children,
|
|
18
|
+
className = _ref.className,
|
|
19
|
+
menuClassName = _ref.menuClassName,
|
|
20
|
+
collapseClassName = _ref.collapseClassName,
|
|
21
|
+
collapseStyle = _ref.collapseStyle,
|
|
22
|
+
collapseMenuClassName = _ref.collapseMenuClassName,
|
|
23
|
+
collapseMenuStyle = _ref.collapseMenuStyle;
|
|
24
|
+
var element = useRef(null);
|
|
25
|
+
var id = "Actions_Dropdown_".concat(useId().replace(/:/g, "-"));
|
|
26
|
+
useEffect(function () {
|
|
27
|
+
if (element.current) {
|
|
28
|
+
var _init = init(element.current),
|
|
29
|
+
destroy = _init.destroy;
|
|
30
|
+
return function () {
|
|
31
|
+
destroy();
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}, []);
|
|
35
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
36
|
+
ref: element,
|
|
37
|
+
className: clsx("BLUE-actions", className),
|
|
38
|
+
role: "toolbar",
|
|
39
|
+
"aria-label": getPhrase("Toolbar with buttons and button groups")
|
|
40
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: clsx("BLUE-actions-menu", menuClassName)
|
|
42
|
+
}, children), /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: clsx("BLUE-actions-collapse", collapseClassName),
|
|
44
|
+
style: _objectSpread(_defineProperty({}, "--blue-anchor-name", "--action-".concat(id)), collapseStyle)
|
|
45
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
46
|
+
type: "button",
|
|
47
|
+
popoverTarget: id,
|
|
48
|
+
className: "blue-anchor blue-menu-item btn px-3"
|
|
49
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
50
|
+
className: "blue-menu-item-icon",
|
|
51
|
+
"aria-hidden": true
|
|
52
|
+
}, "\u22EE"), /*#__PURE__*/React.createElement("span", {
|
|
53
|
+
className: "visually-hidden"
|
|
54
|
+
}, getPhrase("Toggle menu"))), /*#__PURE__*/React.createElement("div", {
|
|
55
|
+
id: id,
|
|
56
|
+
popover: "",
|
|
57
|
+
className: clsx("BLUE-actions-collapse-menu blue-anchored blue-anchored-end blue-anchored-fallback", "blue-menu-item-dropdown text-body", collapseMenuClassName),
|
|
58
|
+
style: _objectSpread(_defineProperty({}, "--blue-menu-item-dropdown-bg", "var(--bs-body-bg)"), collapseMenuStyle)
|
|
59
|
+
}, children)));
|
|
60
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Caret;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Will be replaced by the `Chevron` component in the next major version.
|
|
14
|
+
* Caret icon component.
|
|
15
|
+
*/
|
|
16
|
+
function Caret(_ref) {
|
|
17
|
+
var open = _ref.open,
|
|
18
|
+
mirrored = _ref.mirrored,
|
|
19
|
+
className = _ref.className,
|
|
20
|
+
style = _ref.style;
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
22
|
+
className: "blue-caret " + (open ? " blue-caret-open " : "") + (mirrored ? " blue-caret-mirrored " : "") + className,
|
|
23
|
+
style: style
|
|
24
|
+
});
|
|
25
|
+
}
|
|
@@ -14,7 +14,7 @@ export default function LayoutHeader(_ref) {
|
|
|
14
14
|
className = _ref.className,
|
|
15
15
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
16
16
|
return /*#__PURE__*/React.createElement("header", _extends({
|
|
17
|
-
className: "d-flex justify-content-between position-relative h-100 ".concat(className),
|
|
17
|
+
className: "d-flex justify-content-between position-relative h-100 overflow-auto ".concat(className),
|
|
18
18
|
style: _objectSpread({
|
|
19
19
|
color: "var(--blue-sidebar-color)",
|
|
20
20
|
background: "var(--blue-sidebar-bg)",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
2
|
export interface LayoutProps {
|
|
3
3
|
children?: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: CSSProperties;
|
|
4
6
|
header?: React.ReactNode;
|
|
5
7
|
side?: React.ReactNode;
|
|
6
8
|
noPageBorder?: boolean;
|
|
@@ -8,4 +10,4 @@ export interface LayoutProps {
|
|
|
8
10
|
/**
|
|
9
11
|
* A layout with header, side and main content area. Side is collapsible.
|
|
10
12
|
*/
|
|
11
|
-
export default function Layout({ children, header, side, noPageBorder }: LayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export default function Layout({ children, className, style, header, side, noPageBorder }: LayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import
|
|
3
|
-
import LayoutMain from "./Layout/LayoutMain.js";
|
|
2
|
+
import clsx from "clsx";
|
|
4
3
|
import { getPhrase } from "./shared.js";
|
|
5
4
|
/**
|
|
6
5
|
* A layout with header, side and main content area. Side is collapsible.
|
|
7
6
|
*/
|
|
8
7
|
export default function Layout(_ref) {
|
|
9
8
|
var children = _ref.children,
|
|
9
|
+
className = _ref.className,
|
|
10
|
+
style = _ref.style,
|
|
10
11
|
header = _ref.header,
|
|
11
12
|
side = _ref.side,
|
|
12
13
|
_ref$noPageBorder = _ref.noPageBorder,
|
|
13
14
|
noPageBorder = _ref$noPageBorder === void 0 ? false : _ref$noPageBorder;
|
|
14
15
|
return /*#__PURE__*/React.createElement("div", {
|
|
15
|
-
className: "blue-layout"
|
|
16
|
+
className: clsx("blue-layout", className),
|
|
17
|
+
style: style
|
|
16
18
|
}, /*#__PURE__*/React.createElement("input", {
|
|
17
19
|
id: "layout-expand",
|
|
18
20
|
type: "checkbox",
|
|
@@ -22,6 +24,7 @@ export default function Layout(_ref) {
|
|
|
22
24
|
className: "blue-layout-toggle blue-layout-toggle-expand",
|
|
23
25
|
htmlFor: "layout-expand",
|
|
24
26
|
title: getPhrase("Toggle menu"),
|
|
27
|
+
"aria-label": getPhrase("Toggle menu"),
|
|
25
28
|
role: "button"
|
|
26
29
|
}, /*#__PURE__*/React.createElement("span", {
|
|
27
30
|
className: "btn blue-menu-item w-100 h-100 d-flex align-items-center justify-content-center p-0"
|
|
@@ -29,13 +32,11 @@ export default function Layout(_ref) {
|
|
|
29
32
|
xmlns: "http://www.w3.org/2000/svg",
|
|
30
33
|
viewBox: "0 0 16 16",
|
|
31
34
|
"aria-hidden": "true",
|
|
32
|
-
tabIndex: -1,
|
|
33
35
|
width: "1em",
|
|
34
36
|
height: "1em",
|
|
35
37
|
fill: "currentColor",
|
|
36
38
|
className: "bi bi-layout-sidebar"
|
|
37
39
|
}, /*#__PURE__*/React.createElement("path", {
|
|
38
|
-
tabIndex: -1,
|
|
39
40
|
d: "M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5-1v12h9a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zM4 2H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2z"
|
|
40
41
|
})))), /*#__PURE__*/React.createElement("input", {
|
|
41
42
|
id: "layout-drawer",
|
|
@@ -45,6 +46,7 @@ export default function Layout(_ref) {
|
|
|
45
46
|
className: "blue-layout-toggle blue-layout-toggle-drawer",
|
|
46
47
|
htmlFor: "layout-drawer",
|
|
47
48
|
title: getPhrase("Toggle menu"),
|
|
49
|
+
"aria-label": getPhrase("Toggle menu"),
|
|
48
50
|
role: "button"
|
|
49
51
|
}, /*#__PURE__*/React.createElement("span", {
|
|
50
52
|
className: "btn blue-menu-item w-100 h-100 d-flex align-items-center justify-content-center p-0"
|
|
@@ -52,20 +54,17 @@ export default function Layout(_ref) {
|
|
|
52
54
|
xmlns: "http://www.w3.org/2000/svg",
|
|
53
55
|
viewBox: "0 0 16 16",
|
|
54
56
|
"aria-hidden": "true",
|
|
55
|
-
tabIndex: -1,
|
|
56
57
|
width: "1em",
|
|
57
58
|
height: "1em",
|
|
58
59
|
fill: "currentColor",
|
|
59
60
|
className: "bi bi-layout-sidebar-inset"
|
|
60
61
|
}, /*#__PURE__*/React.createElement("path", {
|
|
61
|
-
tabIndex: -1,
|
|
62
62
|
d: "M14 2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zM2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2z"
|
|
63
63
|
}), /*#__PURE__*/React.createElement("path", {
|
|
64
|
-
tabIndex: -1,
|
|
65
64
|
d: "M3 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z"
|
|
66
65
|
})))), /*#__PURE__*/React.createElement("header", {
|
|
67
66
|
className: "blue-layout-header"
|
|
68
|
-
},
|
|
67
|
+
}, header), /*#__PURE__*/React.createElement("aside", {
|
|
69
68
|
className: "blue-layout-side blue-sidebar-state open h-100 overflow-y-auto overflow-x-hidden",
|
|
70
69
|
style: {
|
|
71
70
|
color: "var(--blue-sidebar-color)",
|
|
@@ -73,8 +72,10 @@ export default function Layout(_ref) {
|
|
|
73
72
|
}
|
|
74
73
|
}, side), /*#__PURE__*/React.createElement("main", {
|
|
75
74
|
className: "blue-layout-main"
|
|
76
|
-
}, /*#__PURE__*/React.createElement(
|
|
77
|
-
|
|
75
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
className: clsx("blue-layout-body", {
|
|
77
|
+
"border-0": noPageBorder
|
|
78
|
+
})
|
|
78
79
|
}, children)), /*#__PURE__*/React.createElement("label", {
|
|
79
80
|
"aria-label": "Close sidebar",
|
|
80
81
|
htmlFor: "layout-drawer",
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
/**
|
|
43
|
+
* @deprecated `MenuItem` now has all the features of `SidebarMenuItem`. Use `MenuItem` instead.
|
|
44
|
+
* Extends `MenuItem` with following features:
|
|
45
|
+
* * Shows provided label as tooltip if sidebar is closed.
|
|
46
|
+
* * Children will be displayed on the right side of the parent item.
|
|
47
|
+
*
|
|
48
|
+
* **Important!** Set the following props to the surrounding `SidebarMenu` to provide problems with tooltips:
|
|
49
|
+
* ```jsx
|
|
50
|
+
* <SidebarMenu
|
|
51
|
+
* sidebarClass="overflow-visible"
|
|
52
|
+
* menuClass="overflow-visible"
|
|
53
|
+
* >
|
|
54
|
+
* ...
|
|
55
|
+
* </SidebarMenu>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
function SidebarMenuItem(_ref) {
|
|
59
|
+
var _ref$outerClass = _ref.outerClass,
|
|
60
|
+
outerClass = _ref$outerClass === void 0 ? "" : _ref$outerClass,
|
|
61
|
+
children = _ref.children,
|
|
62
|
+
onClick = _ref.onClick,
|
|
63
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
64
|
+
|
|
65
|
+
var _useState = (0, _react.useState)(false),
|
|
66
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
67
|
+
open = _useState2[0],
|
|
68
|
+
setOpen = _useState2[1];
|
|
69
|
+
|
|
70
|
+
var toggle = function toggle() {
|
|
71
|
+
return setOpen(!open);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var _useState3 = (0, _react.useState)(0),
|
|
75
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
76
|
+
offsetTop = _useState4[0],
|
|
77
|
+
setOffsetTop = _useState4[1];
|
|
78
|
+
|
|
79
|
+
var menuRef = (0, _react.useRef)(null);
|
|
80
|
+
(0, _react.useEffect)(function () {
|
|
81
|
+
setOpen(false);
|
|
82
|
+
}, [window.location.hash]);
|
|
83
|
+
(0, _react.useEffect)(function () {
|
|
84
|
+
if (menuRef && menuRef.current) {
|
|
85
|
+
setOffsetTop(menuRef.current.getBoundingClientRect().top);
|
|
86
|
+
}
|
|
87
|
+
}, [menuRef, open]);
|
|
88
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children ? /*#__PURE__*/_react.default.createElement(_Outside.default, {
|
|
89
|
+
className: "position-relative ".concat(outerClass),
|
|
90
|
+
onClickOutside: function onClickOutside() {
|
|
91
|
+
setOpen(false);
|
|
92
|
+
}
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(SidebarMenuItem, _extends({}, props, {
|
|
94
|
+
highlighted: open,
|
|
95
|
+
onClick: toggle
|
|
96
|
+
})), open && /*#__PURE__*/_react.default.createElement("div", {
|
|
97
|
+
ref: menuRef,
|
|
98
|
+
className: ["position-absolute", "shadow", "top-0", "ms-1", "rounded", "w-bla-sidebar-width", "blue-menu-item-dropdown-from-start"].join(" "),
|
|
99
|
+
style: {
|
|
100
|
+
left: "var(--blue-sidebar-width, 3rem)",
|
|
101
|
+
maxHeight: "calc(100vh - (".concat(offsetTop, "px + 1rem))"),
|
|
102
|
+
overflowY: "auto",
|
|
103
|
+
overflowX: "hidden",
|
|
104
|
+
backgroundColor: "var(--blue-sidebar-bg)"
|
|
105
|
+
}
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
107
|
+
className: "blue-sidebar-state open"
|
|
108
|
+
}, children))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
109
|
+
className: "blue-tooltip-end blue-sidebar-pseudo-hidden-on-open ".concat(outerClass),
|
|
110
|
+
"data-tooltip": !props.isActive ? props.label : "",
|
|
111
|
+
title: props.isActive ? props.label : ""
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement(_MenuItem.default, _extends({}, props, {
|
|
113
|
+
onClick: onClick
|
|
114
|
+
}))));
|
|
115
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
2
|
export interface SimpleLayoutProps {
|
|
3
3
|
children?: React.ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: CSSProperties;
|
|
4
6
|
header?: React.ReactNode;
|
|
5
7
|
noPageBorder?: boolean;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* A simple layout with header and main content area.
|
|
9
11
|
*/
|
|
10
|
-
export default function SimpleLayout({ children, header, noPageBorder }: SimpleLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default function SimpleLayout({ children, className, style, header, noPageBorder }: SimpleLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import
|
|
3
|
-
import LayoutMain from "./Layout/LayoutMain.js";
|
|
2
|
+
import clsx from "clsx";
|
|
4
3
|
/**
|
|
5
4
|
* A simple layout with header and main content area.
|
|
6
5
|
*/
|
|
7
6
|
export default function SimpleLayout(_ref) {
|
|
8
7
|
var children = _ref.children,
|
|
8
|
+
className = _ref.className,
|
|
9
|
+
style = _ref.style,
|
|
9
10
|
header = _ref.header,
|
|
10
11
|
_ref$noPageBorder = _ref.noPageBorder,
|
|
11
12
|
noPageBorder = _ref$noPageBorder === void 0 ? false : _ref$noPageBorder;
|
|
12
13
|
return /*#__PURE__*/React.createElement("div", {
|
|
13
|
-
className: "
|
|
14
|
-
style:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}, /*#__PURE__*/React.createElement(
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
className: clsx("blue-layout", className),
|
|
15
|
+
style: style
|
|
16
|
+
}, /*#__PURE__*/React.createElement("header", {
|
|
17
|
+
className: "blue-layout-header"
|
|
18
|
+
}, header), /*#__PURE__*/React.createElement("main", {
|
|
19
|
+
className: "blue-layout-main"
|
|
20
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
className: clsx("blue-layout-body", {
|
|
22
|
+
"border-0": noPageBorder
|
|
23
|
+
})
|
|
24
|
+
}, children)));
|
|
23
25
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 = Switch;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
* Use Bootstrap's `.form-check.form-switch` instead:
|
|
19
|
+
* https://getbootstrap.com/docs/5.2/forms/checks-radios/#switches
|
|
20
|
+
*
|
|
21
|
+
* For now, this component acts as proxy for Bootstrap's Switch.
|
|
22
|
+
* To place a label next to the switch, use the new `label` prop.
|
|
23
|
+
*
|
|
24
|
+
* Migrate to Blue React 8.4.0 and use legacy support: Set the `label` with a string. Or set the `legacy` prop to use the previous look and behaviour.
|
|
25
|
+
*/
|
|
26
|
+
function Switch(_ref) {
|
|
27
|
+
var className = _ref.className,
|
|
28
|
+
checked = _ref.checked,
|
|
29
|
+
onChange = _ref.onChange,
|
|
30
|
+
sliderLabel = _ref.sliderLabel,
|
|
31
|
+
disabled = _ref.disabled,
|
|
32
|
+
_ref$elementType = _ref.elementType,
|
|
33
|
+
elementType = _ref$elementType === void 0 ? "label" : _ref$elementType,
|
|
34
|
+
_ref$legacy = _ref.legacy,
|
|
35
|
+
legacy = _ref$legacy === void 0 ? false : _ref$legacy,
|
|
36
|
+
label = _ref.label;
|
|
37
|
+
|
|
38
|
+
if (legacy === true) {
|
|
39
|
+
return /*#__PURE__*/(0, _react.createElement)(elementType, {
|
|
40
|
+
className: "switch " + (disabled ? "disabled " : "") + className
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", {
|
|
42
|
+
type: "checkbox",
|
|
43
|
+
checked: checked,
|
|
44
|
+
onChange: onChange,
|
|
45
|
+
disabled: disabled,
|
|
46
|
+
role: "switch"
|
|
47
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
48
|
+
className: "slider round",
|
|
49
|
+
"data-label": sliderLabel
|
|
50
|
+
})));
|
|
51
|
+
} else {
|
|
52
|
+
return /*#__PURE__*/(0, _react.createElement)(elementType, {
|
|
53
|
+
className: "form-check form-switch " + (disabled ? "disabled " : "") + className
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", {
|
|
55
|
+
type: "checkbox",
|
|
56
|
+
role: "switch",
|
|
57
|
+
className: "form-check-input",
|
|
58
|
+
checked: checked,
|
|
59
|
+
onChange: onChange,
|
|
60
|
+
disabled: disabled
|
|
61
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
62
|
+
className: "form-check-label"
|
|
63
|
+
}, label)));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -7,7 +7,8 @@ var phrases = {
|
|
|
7
7
|
"Close all": ["Close all", "Alle schließen"],
|
|
8
8
|
Error: ["Error", "Fehler"],
|
|
9
9
|
Information: ["Information", "Information"],
|
|
10
|
-
Search: ["Search", "Suche"]
|
|
10
|
+
Search: ["Search", "Suche"],
|
|
11
|
+
"Toolbar with buttons and button groups": ["Toolbar with buttons and button groups", "Toolbar mit Buttons und Button-Gruppen"]
|
|
11
12
|
};
|
|
12
13
|
export function getPhrase(keyword) {
|
|
13
14
|
var countryCode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|