@linzjs/lui 21.34.1-3 → 21.35.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/CHANGELOG.md +7 -0
- package/dist/components/Toast/Helpers/ToastSection.d.ts +9 -0
- package/dist/components/Toast/Helpers/ToastTypes.d.ts +34 -0
- package/dist/components/Toast/Helpers/getToastProviderEl.d.ts +15 -0
- package/dist/components/Toast/Helpers/toastUsage.d.ts +2 -0
- package/dist/components/Toast/Helpers/useToastState.d.ts +21 -0
- package/dist/components/Toast/ToastProvider.d.ts +10 -0
- package/dist/components/Toast/Upgrade/LuiToastMessageCompatibleInterface.d.ts +5 -0
- package/dist/components/Toast/Upgrade/index.d.ts +14 -0
- package/dist/components/Toast/Upgrade/observeOlderToasts.d.ts +6 -0
- package/dist/components/Toast/Upgrade/useShowLUIMessageCompatibleInterface.d.ts +5 -0
- package/dist/components/Toast/index.d.ts +2 -0
- package/dist/components/Toast/useToast.d.ts +16 -0
- package/dist/components/common/Hooks.d.ts +0 -1
- package/dist/hooks/useClickedOutsideElement.d.ts +2 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +534 -251
- package/dist/index.js.map +1 -1
- package/dist/lui.css +0 -94
- package/dist/lui.css.map +1 -1
- package/dist/lui.esm.js +531 -246
- package/dist/lui.esm.js.map +1 -1
- package/dist/scss/base.scss +0 -1
- package/package.json +1 -1
- package/dist/components/LuiModal/LuiAlertModalV2.d.ts +0 -7
- package/dist/components/LuiModal/LuiModalV2.d.ts +0 -35
- package/dist/scss/Components/Modal/modal-v2.scss +0 -122
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ var React = require('react');
|
|
|
6
6
|
var reactMenu = require('@szhsin/react-menu');
|
|
7
7
|
var lottie = require('lottie-web/build/player/lottie_light');
|
|
8
8
|
var crypto$1 = require('crypto');
|
|
9
|
-
var
|
|
9
|
+
var ReactDOM = require('react-dom');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -32,7 +32,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
32
32
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
33
|
var lottie__default = /*#__PURE__*/_interopDefaultLegacy(lottie);
|
|
34
34
|
var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto$1);
|
|
35
|
-
var
|
|
35
|
+
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
36
36
|
|
|
37
37
|
function r$2(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r$2(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r$2(e))&&(n&&(n+=" "),n+=t);return n}
|
|
38
38
|
|
|
@@ -25684,8 +25684,8 @@ function styleInject(css, ref) {
|
|
|
25684
25684
|
}
|
|
25685
25685
|
}
|
|
25686
25686
|
|
|
25687
|
-
var css_248z$
|
|
25688
|
-
styleInject(css_248z$
|
|
25687
|
+
var css_248z$l = ".LuiFloatingWindow-buttons {\n display: flex;\n align-items: center;\n}\n\n.LuiFloatingWindow-extra-buttons-divider {\n margin-right: 4px;\n margin-left: 8px;\n margin-top: -6px;\n font-size: x-large;\n opacity: 0.7;\n}\n\n.FloatingWindow-window {\n box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.1490196078), 0px 6px 10px 0px rgba(0, 0, 0, 0.2509803922);\n position: absolute;\n background-color: #ffffff;\n top: 10%;\n left: 5%;\n display: flex;\n flex-direction: column;\n border-radius: 9px;\n}\n\n.FloatingWindow-container {\n display: flex;\n height: calc(100% - 50px);\n width: 100%;\n overflow: auto;\n}\n\n.FloatingWindow-header-element {\n flex: 0;\n}\n\n.FloatingWindow-header {\n height: 48px;\n line-height: 48px;\n color: #2a292c;\n padding: 0 8px;\n display: flex;\n overflow: hidden;\n justify-content: space-between;\n border-bottom: 2px #eaeaea solid;\n font-size: 1em;\n font-weight: 600;\n}\n\n.FloatingWindow-header-title-text {\n font-size: 1em;\n font-weight: 600;\n overflow: hidden;\n}\n\n.FloatingWindow-buttons {\n display: flex;\n align-items: center;\n}\n\n.FloatingWindow-extra-buttons-divider {\n margin-right: 4px;\n margin-left: 8px;\n margin-top: -6px;\n font-size: x-large;\n opacity: 0.7;\n}\n\n.FloatingWindowHeaderButton-button {\n padding: 0 0 0 8px;\n border: none;\n outline: none;\n border-radius: 50%;\n background-color: transparent;\n color: #6b6966;\n display: flex;\n}\n\n.FloatingWindowHeaderButton-icon {\n fill: #6b6966;\n}\n\n.floating-window-icon {\n display: inline-block;\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n width: 24px;\n fill: #6b6966;\n}";
|
|
25688
|
+
styleInject(css_248z$l);
|
|
25689
25689
|
|
|
25690
25690
|
/**
|
|
25691
25691
|
* Overwrite the common buttons for floating window to
|
|
@@ -25775,87 +25775,6 @@ var LuiFloatingWindow = function (props) {
|
|
|
25775
25775
|
return (React__default["default"].createElement(WF, __assign({}, props, { name: LUI_WINDOW_NAME, initialSize: initialSize, initialPosition: initialPosition || INITIAL_POSITION, minSize: { width: MINI_WIDTH, height: MINI_HEIGHT }, bounds: bounds, headerProps: generateHeaders, startDisplayed: startDisplayed, startPoppedOut: startPoppedOut })));
|
|
25776
25776
|
};
|
|
25777
25777
|
|
|
25778
|
-
var LuiToastMessage = function (_a) {
|
|
25779
|
-
var level = _a.level, _b = _a.displayTimeout, displayTimeout = _b === void 0 ? 4000 : _b, _c = _a.display, display = _c === void 0 ? true : _c, requireDismiss = _a.requireDismiss, onClose = _a.onClose, _d = _a.onCloseDelay, onCloseDelay = _d === void 0 ? displayTimeout : _d, children = _a.children, type = _a.type;
|
|
25780
|
-
var _e = React.useState('lui-msg-toast-show'), className = _e[0], setClassname = _e[1];
|
|
25781
|
-
var _f = React.useState(undefined), fadeOutTimer = _f[0], setFadeOutTimer = _f[1];
|
|
25782
|
-
var _g = React.useState(undefined), removeTimer = _g[0], setRemoveTimer = _g[1];
|
|
25783
|
-
var materialIcon = getMaterialIconForLevel(level);
|
|
25784
|
-
var callOnCloseAfterDissolved = function () {
|
|
25785
|
-
// This is so the caller can remove it from the dom
|
|
25786
|
-
if (onClose) {
|
|
25787
|
-
var timer = window.setTimeout(onClose, onCloseDelay);
|
|
25788
|
-
setRemoveTimer(timer);
|
|
25789
|
-
}
|
|
25790
|
-
};
|
|
25791
|
-
React.useEffect(function () {
|
|
25792
|
-
// clear timers if previously set
|
|
25793
|
-
fadeOutTimer && clearTimeout(fadeOutTimer);
|
|
25794
|
-
removeTimer && clearTimeout(removeTimer);
|
|
25795
|
-
setClassname('lui-msg-toast-show');
|
|
25796
|
-
if (!requireDismiss && displayTimeout !== 0) {
|
|
25797
|
-
// set a new timer
|
|
25798
|
-
var timer = window.setTimeout(function () {
|
|
25799
|
-
setClassname('lui-msg-toast-hide');
|
|
25800
|
-
callOnCloseAfterDissolved();
|
|
25801
|
-
}, displayTimeout);
|
|
25802
|
-
setFadeOutTimer(timer);
|
|
25803
|
-
}
|
|
25804
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25805
|
-
}, [requireDismiss, displayTimeout, children]);
|
|
25806
|
-
React.useEffect(function () {
|
|
25807
|
-
if (!display) {
|
|
25808
|
-
setClassname('lui-msg-toast-hide');
|
|
25809
|
-
callOnCloseAfterDissolved();
|
|
25810
|
-
}
|
|
25811
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25812
|
-
}, [display]);
|
|
25813
|
-
return (React__default["default"].createElement("div", { role: "status", "data-testid": className, className: "lui-msg-".concat(level, " lui-msg-toast lui-msg-toast-dismissable ").concat(className) },
|
|
25814
|
-
React__default["default"].createElement("i", { className: "lui-msg-status-icon material-icons-round" }, materialIcon),
|
|
25815
|
-
children,
|
|
25816
|
-
React__default["default"].createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: function () {
|
|
25817
|
-
setClassname('lui-msg-toast-hide');
|
|
25818
|
-
callOnCloseAfterDissolved();
|
|
25819
|
-
} },
|
|
25820
|
-
React__default["default"].createElement("i", { className: "material-icons-round" }, "close"))));
|
|
25821
|
-
};
|
|
25822
|
-
|
|
25823
|
-
var UIMessagingContext = React.createContext({
|
|
25824
|
-
// @ts-ignore
|
|
25825
|
-
showMessage: function (props) { }
|
|
25826
|
-
});
|
|
25827
|
-
function useShowLUIMessage() {
|
|
25828
|
-
return React.useContext(UIMessagingContext).showMessage;
|
|
25829
|
-
}
|
|
25830
|
-
var LuiMessagingContextProvider = function (props) {
|
|
25831
|
-
var _a = React.useState(), _message = _a[0], setMessage = _a[1];
|
|
25832
|
-
var _b = React.useState(), _messageType = _b[0], setMessageType = _b[1];
|
|
25833
|
-
var _c = React.useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
|
|
25834
|
-
var _d = React.useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
|
|
25835
|
-
var showMessage = function (props) {
|
|
25836
|
-
setMessage(props.message);
|
|
25837
|
-
setMessageType(props.messageType);
|
|
25838
|
-
setMessageLevel(props.messageLevel);
|
|
25839
|
-
setRequireDismiss(props.requireDismiss === undefined
|
|
25840
|
-
? props.messageLevel === 'error'
|
|
25841
|
-
: props.requireDismiss);
|
|
25842
|
-
};
|
|
25843
|
-
var renderMessage = function () {
|
|
25844
|
-
switch (_messageType) {
|
|
25845
|
-
case 'toast':
|
|
25846
|
-
return (React__default["default"].createElement(LuiToastMessage, { onClose: function () {
|
|
25847
|
-
setMessage(undefined);
|
|
25848
|
-
}, level: _messageLevel, requireDismiss: _requireDismiss },
|
|
25849
|
-
React__default["default"].createElement("span", { "data-testid": 'toastMessageShow' }, typeof _message === 'string' ? React__default["default"].createElement("h2", null, _message) : _message)));
|
|
25850
|
-
default:
|
|
25851
|
-
return null;
|
|
25852
|
-
}
|
|
25853
|
-
};
|
|
25854
|
-
return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
|
|
25855
|
-
_message && renderMessage(),
|
|
25856
|
-
props.children));
|
|
25857
|
-
};
|
|
25858
|
-
|
|
25859
25778
|
var LuiExpandableBanner = function (props) {
|
|
25860
25779
|
var contentMaxHeight = props.contentMaxHeight;
|
|
25861
25780
|
var initiallyCollapsed = React.useRef(props.start === 'expanded' ? false : true);
|
|
@@ -27961,8 +27880,8 @@ ReactSplitGrid.defaultProps = {
|
|
|
27961
27880
|
onDrag: undefined,
|
|
27962
27881
|
};
|
|
27963
27882
|
|
|
27964
|
-
var css_248z$
|
|
27965
|
-
styleInject(css_248z$
|
|
27883
|
+
var css_248z$k = ".LuiResizableLayout-leftPanel {\n display: flex;\n flex-direction: column;\n /* this overflow and the one below (LuiResizableLayout-leftPanelBody) are need to make only\n the search result div scroll (instead of the whole page) */\n overflow: auto;\n}\n\n.LuiResizableLayout-rightPanel {\n display: flex;\n flex-direction: column;\n /* this overflow and the one below (LuiResizableLayout-leftPanelBody) are need to make only\n the search result div scroll (instead of the whole page) */\n overflow: auto;\n}\n\n.LuiResizableLayout-leftPanelBody {\n overflow-y: auto;\n}\n\n.LuiResizableLayout-gutterParentControl {\n display: flex;\n /* use visibility and opacity instead of display: none as we want to be able to fade in on hover */\n visibility: hidden;\n opacity: 0;\n position: fixed;\n top: 50%;\n z-index: 500;\n margin-left: -30px; /*half total control width, minus half the gutter width*/\n transition: 0.3s all 2s ease-in;\n}\n\n.LuiResizableLayout-gutterControlLeft, .LuiResizableLayout-gutterControlRight {\n background-color: #eaeaea;\n width: 32px;\n height: 80px;\n text-align: center;\n display: flex;\n align-items: center;\n}\n\n.LuiResizableLayout-gutterControlLeft {\n border-radius: 3px 0 0 3px;\n}\n\n.LuiResizableLayout-gutterControlRight {\n border-radius: 0 3px 3px 0;\n}\n\n.LuiResizableLayout-gutterControlLeft > .LuiIcon, .LuiResizableLayout-gutterControlRight > .LuiIcon {\n height: auto;\n}\n\n.LuiResizableLayout-gutterControlLeft:hover, .LuiResizableLayout-gutterControlRight:hover {\n background-color: #73c8e1;\n cursor: pointer;\n}\n\n.LuiResizableLayout-gutterControl-collapsed {\n visibility: hidden;\n}\n\n/* TODO: move the expand gutter button so it doesn't show over the scroll bar */\n.LuiResizableLayout-gutterParentControlVisible {\n visibility: visible;\n opacity: 1;\n}\n\n.LuiResizableLayout-grid {\n display: grid;\n height: 100%;\n}\n\n.LuiResizableLayout-gutterCol {\n grid-row: 1/-1;\n cursor: col-resize;\n width: 16px;\n z-index: 1;\n}\n\n.LuiResizableLayout-gutterCol-collapsed {\n width: 4px;\n}\n\n.LuiResizableLayout-gutterCol1 {\n grid-column: 2;\n}\n\n.LuiResizableLayout-gutterCol:hover > .LuiResizableLayout-gutterParentControl {\n visibility: visible;\n opacity: 1;\n transition: 0s all 0s ease-in;\n}\n\n.LuiResizableLayout-gutterSlider {\n width: 4px;\n height: 100%;\n background-color: #eaeaea;\n pointer-events: none;\n}\n\n.LuiResizableLayout-gutterCol:hover .LuiResizableLayout-gutterSlider, .LuiResizableLayout-gutterCol:active .LuiResizableLayout-gutterSlider {\n background-color: #73c8e1;\n}";
|
|
27884
|
+
styleInject(css_248z$k);
|
|
27966
27885
|
|
|
27967
27886
|
var GutterComponent = function (props) {
|
|
27968
27887
|
var leftIcon = (React__default["default"].createElement(LuiIcon, { name: "ic_double_arrow_left", alt: "", status: "interactive" }));
|
|
@@ -31721,8 +31640,8 @@ var LuiTabsPanelSwitch = function (props) {
|
|
|
31721
31640
|
} }, tabProps), children));
|
|
31722
31641
|
};
|
|
31723
31642
|
|
|
31724
|
-
var css_248z$
|
|
31725
|
-
styleInject(css_248z$
|
|
31643
|
+
var css_248z$j = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiError {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 600;\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5rem;\n color: #2a292c;\n}\n.LuiError-errorIcon {\n vertical-align: middle;\n display: inline-block;\n}\n.LuiError-errorText {\n margin-left: 0.5rem;\n}";
|
|
31644
|
+
styleInject(css_248z$j);
|
|
31726
31645
|
|
|
31727
31646
|
var LuiError = function (_a) {
|
|
31728
31647
|
var error = _a.error, className = _a.className;
|
|
@@ -32084,8 +32003,8 @@ var LuiDateInput = React__default["default"].forwardRef(function (_a, ref) {
|
|
|
32084
32003
|
return React__default["default"].createElement(LuiTextInput, __assign({}, mapped, { ref: ref }));
|
|
32085
32004
|
});
|
|
32086
32005
|
|
|
32087
|
-
var css_248z$
|
|
32088
|
-
styleInject(css_248z$
|
|
32006
|
+
var css_248z$i = ".LuiTextInput.money input {\n background-image: url(\"data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'> <text x='4' y='31' font-size='15' font-family='Open Sans, system-ui, sans-seri' text-anchor='middle'>$</text> </svg>\");\n background-position: 10px center;\n background-repeat: no-repeat;\n padding-left: 22px;\n line-height: unset;\n}";
|
|
32007
|
+
styleInject(css_248z$i);
|
|
32089
32008
|
|
|
32090
32009
|
var MoneyParser = /** @class */ (function () {
|
|
32091
32010
|
function MoneyParser(init, options) {
|
|
@@ -32696,7 +32615,7 @@ function hash$2 (value, length) {
|
|
|
32696
32615
|
* @param {string} value
|
|
32697
32616
|
* @return {string}
|
|
32698
32617
|
*/
|
|
32699
|
-
function trim (value) {
|
|
32618
|
+
function trim$1 (value) {
|
|
32700
32619
|
return value.trim()
|
|
32701
32620
|
}
|
|
32702
32621
|
|
|
@@ -32913,7 +32832,7 @@ function dealloc (value) {
|
|
|
32913
32832
|
* @return {string}
|
|
32914
32833
|
*/
|
|
32915
32834
|
function delimit (type) {
|
|
32916
|
-
return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))
|
|
32835
|
+
return trim$1(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))
|
|
32917
32836
|
}
|
|
32918
32837
|
|
|
32919
32838
|
/**
|
|
@@ -33162,7 +33081,7 @@ function ruleset (value, root, parent, index, offset, rules, points, type, props
|
|
|
33162
33081
|
|
|
33163
33082
|
for (var i = 0, j = 0, k = 0; i < index; ++i)
|
|
33164
33083
|
for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)
|
|
33165
|
-
if (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\f/g, rule[x])))
|
|
33084
|
+
if (z = trim$1(j > 0 ? rule[x] + ' ' + y : replace(y, /&\f/g, rule[x])))
|
|
33166
33085
|
props[k++] = z;
|
|
33167
33086
|
|
|
33168
33087
|
return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)
|
|
@@ -36095,7 +36014,7 @@ var MenuPortal = /*#__PURE__*/function (_Component2) {
|
|
|
36095
36014
|
value: {
|
|
36096
36015
|
getPortalPlacement: this.getPortalPlacement
|
|
36097
36016
|
}
|
|
36098
|
-
}, appendTo ? /*#__PURE__*/
|
|
36017
|
+
}, appendTo ? /*#__PURE__*/ReactDOM.createPortal(menuWrapper, appendTo) : menuWrapper);
|
|
36099
36018
|
}
|
|
36100
36019
|
}]);
|
|
36101
36020
|
|
|
@@ -39737,9 +39656,9 @@ var StateManagedSelect = /*#__PURE__*/React__default["default"].forwardRef(funct
|
|
|
39737
39656
|
|
|
39738
39657
|
var Select = StateManagedSelect;
|
|
39739
39658
|
|
|
39740
|
-
var css_248z$
|
|
39659
|
+
var css_248z$h = "";
|
|
39741
39660
|
var colors = {"charcoal":"#2a292c","fuscous":"#6b6966","gray":"#989189","silver":"#beb9b4","lily":"#eaeaea","dew":"#DAD7D6","hint":"#f9f9f9","snow":"#ffffff","white":"#ffffff","teal":"#00425d","sea":"#007198","electric":"#0096cc","spray":"#73c8e1","polar":"#e2f3f7","memesia":"#1F69C3","sherpa":"#004b50","surfie":"#017a76","persian":"#00a599","downy":"#73cdc8","iceberg":"#dcf5f0","sacramento":"#004e32","salem":"#08814d","pigment":"#0aa245","granny":"#9bd79b","panache":"#e9fae7","brand-primary":"#004b50","brand-secondary":"#017a76","engine":"#cc0000","carrot":"#EA6A2E","kendall":"#F5CCCC","elizabeth":"#FBDED0","andrea":"#3A7CDF","celestial":"#D7E5F9","golf":"#0AA345","error":"#cc0000","error-bg":"#F5CCCC","error-focus":"#5a0000","warning":"#EA6A2E","warning-bg":"#fbdfd2","warning-focus":"#b33a01","success":"#0aa245","success-bg":"#e9fae7","info":"#3A7CDF","info-bg":"#d8e5f9","visited":"#00425d","green-hover":"#107c3a","green-active":"#094a22","green-btn":"#0aa245","txt-link":"#1F69C3","primary-hover-btn":"#005678","selection":"#c7e9f3","heading-color":"#017a76","heading-color--secondary":"#2a292c","base-type-color":"#2a292c","input-text":"#2a292c","input-placeholder":"#6b6966","input-placeholder-when-disabled":"#989189","base-icon-color":"#007198","disabled-color":"#989189","disabled-color-dark":"#6b6966","linz-color-primary":"#023d48","linz-color-primary-hover":"#01818a","linz-color-tertiary":"#e1e44a","linz-color-tertiary-hover":"#cdcf59","color-test-pink":"#f09","linz-linear-gradient-blue":"linear-gradient(70deg, #00425d 12%, #007198 100%)","linz-linear-gradient-teal":"linear-gradient(270deg, #00a599 1%, #73cdc8 100%)"};
|
|
39742
|
-
styleInject(css_248z$
|
|
39661
|
+
styleInject(css_248z$h);
|
|
39743
39662
|
|
|
39744
39663
|
var _excluded = ["allowCreateWhileLoading", "createOptionPosition", "formatCreateLabel", "isValidNewOption", "getNewOptionData", "onCreateOption", "options", "onChange"];
|
|
39745
39664
|
|
|
@@ -39924,14 +39843,6 @@ var useEscapeFunction = function (onEscape) {
|
|
|
39924
39843
|
};
|
|
39925
39844
|
}, [escFunction]);
|
|
39926
39845
|
};
|
|
39927
|
-
var useEscapeFunction2 = function (onEscape, trigger) {
|
|
39928
|
-
if (trigger === void 0) { trigger = 'keydown'; }
|
|
39929
|
-
var escFunction = React.useCallback(function (event) { return event.key === 'Escape' && onEscape(event); }, [onEscape]);
|
|
39930
|
-
React.useEffect(function () {
|
|
39931
|
-
document.addEventListener(trigger, escFunction);
|
|
39932
|
-
return function () { return document.removeEventListener(trigger, escFunction); };
|
|
39933
|
-
}, [escFunction]);
|
|
39934
|
-
};
|
|
39935
39846
|
/**
|
|
39936
39847
|
* A hook which allows handling of click event anywhere on the page.
|
|
39937
39848
|
* Provides a way of handling clicks done inside or outside the element bound to the returned react ref.
|
|
@@ -41867,7 +41778,7 @@ var _react = React__default["default"];
|
|
|
41867
41778
|
|
|
41868
41779
|
var _react2 = _interopRequireDefault(_react);
|
|
41869
41780
|
|
|
41870
|
-
var _reactDom =
|
|
41781
|
+
var _reactDom = ReactDOM__default["default"];
|
|
41871
41782
|
|
|
41872
41783
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
|
41873
41784
|
|
|
@@ -42291,118 +42202,8 @@ var LuiModalHeader = function (props) {
|
|
|
42291
42202
|
React__default["default"].createElement(LuiIcon, { name: "ic_clear", alt: "Help", size: "lg" }))))))));
|
|
42292
42203
|
};
|
|
42293
42204
|
|
|
42294
|
-
|
|
42295
|
-
|
|
42296
|
-
* usage:
|
|
42297
|
-
```typescript
|
|
42298
|
-
const refElement = React.useRef<HTMLButtonElement>(null);
|
|
42299
|
-
const handleClickOutside = () => {
|
|
42300
|
-
console.log("hello world");
|
|
42301
|
-
};
|
|
42302
|
-
useClickedOutsideElement(refElement, handleClickOutside);
|
|
42303
|
-
return <button ref={refElement}>Click Me!</button>;
|
|
42304
|
-
```
|
|
42305
|
-
*/
|
|
42306
|
-
function useClickedOutsideElement(refElement, handleClickOutside) {
|
|
42307
|
-
React__default["default"].useEffect(function () {
|
|
42308
|
-
function onOutsideClicked(event) {
|
|
42309
|
-
var element = refElement.current;
|
|
42310
|
-
if (!(element === null || element === void 0 ? void 0 : element.contains(event.target))) {
|
|
42311
|
-
handleClickOutside();
|
|
42312
|
-
}
|
|
42313
|
-
}
|
|
42314
|
-
document.addEventListener('mousedown', onOutsideClicked);
|
|
42315
|
-
return function () {
|
|
42316
|
-
document.removeEventListener('mousedown', onOutsideClicked);
|
|
42317
|
-
};
|
|
42318
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42319
|
-
}, []);
|
|
42320
|
-
}
|
|
42321
|
-
|
|
42322
|
-
var _a;
|
|
42323
|
-
// this is here for the tests
|
|
42324
|
-
var isTest = typeof process !== 'undefined' && ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) === 'test';
|
|
42325
|
-
if (!isTest)
|
|
42326
|
-
Modal.setAppElement('#root');
|
|
42327
|
-
var LuiModalV2 = function (props) {
|
|
42328
|
-
var _a;
|
|
42329
|
-
var modalRef = React.useRef(null);
|
|
42330
|
-
var handleClickOutside = React.useCallback(function () { var _a; return props.shouldCloseOnOverlayClick && ((_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props)); }, [props.shouldCloseOnEsc, props.onClose]);
|
|
42331
|
-
useClickedOutsideElement(modalRef, handleClickOutside);
|
|
42332
|
-
var handleEsc = React.useCallback(function (e) {
|
|
42333
|
-
var _a;
|
|
42334
|
-
if (props.shouldCloseOnEsc !== false) {
|
|
42335
|
-
e.stopPropagation();
|
|
42336
|
-
(_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
42337
|
-
}
|
|
42338
|
-
}, [props.shouldCloseOnEsc, props.onClose]);
|
|
42339
|
-
useEscapeFunction2(handleEsc, props.shouldCloseOnEsc === 'use-keyup' ? 'keyup' : 'keydown');
|
|
42340
|
-
var handleAutoFocus = function (el) {
|
|
42341
|
-
if (props.preventAutoFocus)
|
|
42342
|
-
return;
|
|
42343
|
-
if (el && !el.contains(el.ownerDocument.activeElement)) {
|
|
42344
|
-
var firstFocusableElement = el.querySelector('input,button');
|
|
42345
|
-
firstFocusableElement === null || firstFocusableElement === void 0 ? void 0 : firstFocusableElement.focus();
|
|
42346
|
-
}
|
|
42347
|
-
};
|
|
42348
|
-
var showCloseButton = Boolean(props.showCloseButton && props.onClose);
|
|
42349
|
-
var showHelpButton = Boolean(props.helpLink);
|
|
42350
|
-
var showButtons = showCloseButton || showHelpButton;
|
|
42351
|
-
var showHeadingIcon = props.headingIcon && !props.isLoading;
|
|
42352
|
-
return (React__default["default"].createElement(Modal, { key: props.key, isOpen: true,
|
|
42353
|
-
// disble the `shouldClose` props as we handle them ourselves
|
|
42354
|
-
shouldCloseOnOverlayClick: false, shouldCloseOnEsc: false, overlayClassName: "modal", className: props.lowContrast ? 'lui-scrim-low-contrast' : 'lui-scrim',
|
|
42355
|
-
// required to prevent warnings that are not applicable in real usage
|
|
42356
|
-
ariaHideApp: !isTest, parentSelector: props.appendToElement },
|
|
42357
|
-
React__default["default"].createElement("div", { ref: function (el) {
|
|
42358
|
-
modalRef.current = el;
|
|
42359
|
-
handleAutoFocus(el);
|
|
42360
|
-
}, className: clsx('lui-modal-v2 lui-box-shadow', props.maxWidth && 'lui-max-width', props.className) },
|
|
42361
|
-
React__default["default"].createElement("div", { className: "lui-modal-v2-header", id: "lui-modal-v2-header" },
|
|
42362
|
-
props.isLoading && (React__default["default"].createElement(LuiMiniSpinner, { size: 20, divProps: { className: 'lui-modal-v2-header-spinner' } })),
|
|
42363
|
-
showHeadingIcon && (React__default["default"].createElement("div", { className: "lui-modal-v2-header-icon" },
|
|
42364
|
-
React__default["default"].createElement(LuiIcon, __assign({ size: "md", name: "", alt: "Help" }, props.headingIcon, { className: clsx('', (_a = props.headingIcon) === null || _a === void 0 ? void 0 : _a.className) })))),
|
|
42365
|
-
props.headingText && (React__default["default"].createElement("h2", { className: "lui-modal-v2-header-title" }, props.headingText)),
|
|
42366
|
-
showButtons && (React__default["default"].createElement("div", { className: "lui-modal-v2-header-buttons" },
|
|
42367
|
-
showHelpButton && React__default["default"].createElement(HelpButton, { helpLink: props.helpLink }),
|
|
42368
|
-
showCloseButton && React__default["default"].createElement(CloseButton, { onClose: props.onClose })))),
|
|
42369
|
-
React__default["default"].createElement("div", { className: "lui-modal-v2-contents" }, props.children))));
|
|
42370
|
-
};
|
|
42371
|
-
var LuiModalV2Buttons = function (props) { return (React__default["default"].createElement("div", { className: clsx('lui-modal-v2-btn-row', props.className) }, props.children)); };
|
|
42372
|
-
var HelpButton = function (props) { return (React__default["default"].createElement("button", { "aria-label": "Modal Help", title: "Help", className: "lui-modal-v2-header-help-btn", onClick: typeof props.helpLink === 'string'
|
|
42373
|
-
? function () { return window.open(props.helpLink, '_blank'); }
|
|
42374
|
-
: props.helpLink },
|
|
42375
|
-
React__default["default"].createElement(LuiIcon, { name: "ic_help_outline", alt: "Help", size: "md" }))); };
|
|
42376
|
-
var CloseButton = function (props) { return (React__default["default"].createElement("button", { "aria-label": "Modal Close", title: "Close", className: "lui-modal-v2-header-close-btn", onClick: props.onClose },
|
|
42377
|
-
React__default["default"].createElement(LuiIcon, { name: "ic_clear", alt: "Help", size: "md" }))); };
|
|
42378
|
-
/** Allows injecting the modal header text */
|
|
42379
|
-
var LuiModalV2HeadingText = function (props) {
|
|
42380
|
-
var _a = React.useState(), target = _a[0], setTarget = _a[1];
|
|
42381
|
-
React.useEffect(function () {
|
|
42382
|
-
var modalHeader = document.querySelector('#lui-modal-v2-header');
|
|
42383
|
-
modalHeader && setTarget(modalHeader);
|
|
42384
|
-
}, []);
|
|
42385
|
-
if (!target)
|
|
42386
|
-
return null;
|
|
42387
|
-
return require$$1.createPortal(React__default["default"].createElement("h2", { className: clsx('lui-modal-v2-header-title lui-modal-v2-header-title-portal', props.className) }, props.children), target);
|
|
42388
|
-
};
|
|
42389
|
-
|
|
42390
|
-
var LuiAlertModalV2 = function (props) {
|
|
42391
|
-
var level = props.level, className = props.className, children = props.children, rest = __rest(props, ["level", "className", "children"]);
|
|
42392
|
-
var materialIcon = getMaterialIconForLevel(level);
|
|
42393
|
-
var status = Object.keys(ICON_STATUS).includes(level)
|
|
42394
|
-
? level
|
|
42395
|
-
: 'interactive';
|
|
42396
|
-
return (React__default["default"].createElement(LuiModalV2, __assign({}, rest, { className: clsx("lui-modal-v2-".concat(level), className), headingIcon: {
|
|
42397
|
-
name: "ic_".concat(materialIcon),
|
|
42398
|
-
alt: "".concat(level, " status icon"),
|
|
42399
|
-
size: 'md',
|
|
42400
|
-
status: status
|
|
42401
|
-
} }), children));
|
|
42402
|
-
};
|
|
42403
|
-
|
|
42404
|
-
var css_248z$e = "@keyframes react-loading-skeleton {\n 100% {\n transform: translateX(100%);\n }\n}\n\n.react-loading-skeleton {\n --base-color: #ebebeb;\n --highlight-color: #f5f5f5;\n --animation-duration: 1.5s;\n --animation-direction: normal;\n --pseudo-element-display: block; /* Enable animation */\n\n background-color: var(--base-color);\n\n width: 100%;\n border-radius: 0.25rem;\n display: inline-flex;\n line-height: 1;\n\n position: relative;\n user-select: none;\n overflow: hidden;\n z-index: 1; /* Necessary for overflow: hidden to work correctly in Safari */\n}\n\n.react-loading-skeleton::after {\n content: ' ';\n display: var(--pseudo-element-display);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n background-repeat: no-repeat;\n background-image: linear-gradient(\n 90deg,\n var(--base-color),\n var(--highlight-color),\n var(--base-color)\n );\n transform: translateX(-100%);\n\n animation-name: react-loading-skeleton;\n animation-direction: var(--animation-direction);\n animation-duration: var(--animation-duration);\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n}\n\n@media (prefers-reduced-motion) {\n .react-loading-skeleton {\n --pseudo-element-display: none; /* Disable animation */\n }\n}\n";
|
|
42405
|
-
styleInject(css_248z$e);
|
|
42205
|
+
var css_248z$g = "@keyframes react-loading-skeleton {\n 100% {\n transform: translateX(100%);\n }\n}\n\n.react-loading-skeleton {\n --base-color: #ebebeb;\n --highlight-color: #f5f5f5;\n --animation-duration: 1.5s;\n --animation-direction: normal;\n --pseudo-element-display: block; /* Enable animation */\n\n background-color: var(--base-color);\n\n width: 100%;\n border-radius: 0.25rem;\n display: inline-flex;\n line-height: 1;\n\n position: relative;\n user-select: none;\n overflow: hidden;\n z-index: 1; /* Necessary for overflow: hidden to work correctly in Safari */\n}\n\n.react-loading-skeleton::after {\n content: ' ';\n display: var(--pseudo-element-display);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n background-repeat: no-repeat;\n background-image: linear-gradient(\n 90deg,\n var(--base-color),\n var(--highlight-color),\n var(--base-color)\n );\n transform: translateX(-100%);\n\n animation-name: react-loading-skeleton;\n animation-direction: var(--animation-direction);\n animation-duration: var(--animation-duration);\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n}\n\n@media (prefers-reduced-motion) {\n .react-loading-skeleton {\n --pseudo-element-display: none; /* Disable animation */\n }\n}\n";
|
|
42206
|
+
styleInject(css_248z$g);
|
|
42406
42207
|
|
|
42407
42208
|
/**
|
|
42408
42209
|
* @internal
|
|
@@ -46964,7 +46765,7 @@ function TippyGenerator(tippy) {
|
|
|
46964
46765
|
mutableBox.ref = node;
|
|
46965
46766
|
preserveRef(children.ref, node);
|
|
46966
46767
|
}
|
|
46967
|
-
}) : null, mounted && /*#__PURE__*/
|
|
46768
|
+
}) : null, mounted && /*#__PURE__*/ReactDOM.createPortal(render ? render(toDataAttributes(attrs), singletonContent, mutableBox.instance) : content, mutableBox.container));
|
|
46968
46769
|
}
|
|
46969
46770
|
|
|
46970
46771
|
return Tippy;
|
|
@@ -46999,6 +46800,34 @@ var LuiTooltip = function (props) {
|
|
|
46999
46800
|
return React__default["default"].createElement(Tippy, __assign({}, tippyProps), children);
|
|
47000
46801
|
};
|
|
47001
46802
|
|
|
46803
|
+
/**
|
|
46804
|
+
* This hook will callback with handleClickOutside() when "mousedown" dom event occurs off the refElement
|
|
46805
|
+
* usage:
|
|
46806
|
+
```typescript
|
|
46807
|
+
const refElement = React.useRef<HTMLButtonElement>(null);
|
|
46808
|
+
const handleClickOutside = () => {
|
|
46809
|
+
console.log("hello world");
|
|
46810
|
+
};
|
|
46811
|
+
useClickedOutsideElement(refElement, handleClickOutside);
|
|
46812
|
+
return <button ref={refElement}>Click Me!</button>;
|
|
46813
|
+
```
|
|
46814
|
+
*/
|
|
46815
|
+
function useClickedOutsideElement(refElement, handleClickOutside) {
|
|
46816
|
+
React__default["default"].useEffect(function () {
|
|
46817
|
+
function onOutsideClicked(event) {
|
|
46818
|
+
var element = refElement.current;
|
|
46819
|
+
if (!(element === null || element === void 0 ? void 0 : element.contains(event.target))) {
|
|
46820
|
+
handleClickOutside();
|
|
46821
|
+
}
|
|
46822
|
+
}
|
|
46823
|
+
document.addEventListener('mousedown', onOutsideClicked);
|
|
46824
|
+
return function () {
|
|
46825
|
+
document.removeEventListener('mousedown', onOutsideClicked);
|
|
46826
|
+
};
|
|
46827
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46828
|
+
}, []);
|
|
46829
|
+
}
|
|
46830
|
+
|
|
47002
46831
|
var getFillClassName = function (fillVariation, backgroundFill) {
|
|
47003
46832
|
if (backgroundFill) {
|
|
47004
46833
|
return 'LuiBadge--fill';
|
|
@@ -47048,8 +46877,8 @@ var LuiSidePanelProvider = function (_a) {
|
|
|
47048
46877
|
React__default["default"].createElement(LuiSidePanelContainer, __assign({}, props))));
|
|
47049
46878
|
};
|
|
47050
46879
|
|
|
47051
|
-
var css_248z$
|
|
47052
|
-
styleInject(css_248z$
|
|
46880
|
+
var css_248z$f = ".lui-switch-checkbox {\n height: 0;\n width: 0;\n visibility: hidden;\n}\n\n.lui-switch-label {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n width: 40px;\n height: 20px;\n background: grey;\n border-radius: 40px;\n position: relative;\n transition: background-color 0.2s;\n}\n\n.lui-switch-label .lui-switch-button {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 16px;\n border-radius: 18px;\n transition: 0.2s;\n background: #fff;\n box-shadow: 0 0 2px 0 rgba(10, 10, 10, 0.29);\n}\n\n.lui-switch-checkbox:checked + .lui-switch-label .lui-switch-button {\n left: calc(100% - 2px);\n transform: translateX(-100%);\n}\n\n.lui-switch-label:active .lui-switch-button {\n width: 20px;\n}";
|
|
46881
|
+
styleInject(css_248z$f);
|
|
47053
46882
|
|
|
47054
46883
|
var LuiSwitchButton = function (props) {
|
|
47055
46884
|
var generatedId = useGenerateOrDefaultId();
|
|
@@ -54680,8 +54509,8 @@ var LuiAccordicardStatic = function (props) {
|
|
|
54680
54509
|
React__default["default"].createElement(LuiIcon, { className: clsx('LuiAccordicardStatic-chevron', isOpen ? 'LuiAccordicardStatic-chevron--isOpen' : null), name: 'ic_expand_more', alt: "expand", title: "Expand and collapse panel", size: "md" }))));
|
|
54681
54510
|
};
|
|
54682
54511
|
|
|
54683
|
-
var css_248z$
|
|
54684
|
-
styleInject(css_248z$
|
|
54512
|
+
var css_248z$e = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.lui-accordion {\n padding: 8px;\n display: flex;\n border-radius: 5px;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.2509803922), 0px 0px 3px 0px rgba(0, 0, 0, 0.1490196078);\n}\n.lui-accordion .chevron {\n transition: all 0.3s ease-in-out;\n transform: rotate(0);\n}\n.lui-accordion .chevron--isOpen {\n transform: rotate(180deg);\n}\n.lui-accordion .accordion-heading {\n padding: 4px;\n}\n.lui-accordion h4 {\n padding: 4px;\n}\n.lui-accordion > summary {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.lui-accordion > summary h4 {\n margin-top: 0;\n display: inline-block;\n}\n.lui-accordion > summary::marker, .lui-accordion > summary::-webkit-details-marker {\n display: none;\n}";
|
|
54513
|
+
styleInject(css_248z$e);
|
|
54685
54514
|
|
|
54686
54515
|
var LuiAccordion = function (props) {
|
|
54687
54516
|
var _a = props.expanded, expanded = _a === void 0 ? false : _a, heading = props.heading, children = props.children, _b = props.iconColor, iconColor = _b === void 0 ? '#017A76' : _b, className = props.className, _c = props.style, style = _c === void 0 ? {} : _c;
|
|
@@ -54792,8 +54621,8 @@ var LuiMultiSwitch = function (_a) {
|
|
|
54792
54621
|
React__default["default"].createElement("div", { className: clsx('LuiMultiSwitch-labels', disabled && 'LuiMultiSwitch-disabled') }, options === null || options === void 0 ? void 0 : options.map(function (option, i) { return (React__default["default"].createElement("label", { role: 'radio', key: i, htmlFor: id.current, "aria-disabled": option.disabled || disabled, "aria-checked": selectedIndex === i, className: option.className, onClick: function () { return select(i); }, onTouchStart: function () { return select(i); } }, option.text)); }))));
|
|
54793
54622
|
};
|
|
54794
54623
|
|
|
54795
|
-
var css_248z$
|
|
54796
|
-
styleInject(css_248z$
|
|
54624
|
+
var css_248z$d = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiListBox {\n padding: 0;\n list-style: none;\n}\n.LuiListBox .LuiListBoxItem {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n user-select: none;\n color: #2a292c;\n line-height: 24px;\n outline: none;\n padding: 0.5rem 0.75rem;\n border: 2px solid transparent;\n}\n.LuiListBox .LuiListBoxItem:focus-visible {\n border-color: #007198;\n}\n.LuiListBox .LuiListBoxItem.LuiListBoxItem-selected {\n background: #e2f3f7;\n}\n.LuiListBox .LuiListBoxItem:hover, .LuiListBox .LuiListBoxItem.LuiListBoxItem-selected:hover {\n background: #d6eef4;\n}\n.LuiListBox .LuiListBoxItem.LuiListBoxItem-disabled {\n background: #eaeaea;\n}\n.LuiListBox .LuiListBox-emptyIndicator, .LuiListBox .LuiListBox-loadingIndicator {\n padding: 0.5rem 0.75rem;\n}\n.LuiListBox .LuiListBoxGroup .LuiListBoxGroup-heading {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n user-select: none;\n color: #6b6966;\n line-height: 16px;\n padding: 0.5rem 0.5rem;\n}";
|
|
54625
|
+
styleInject(css_248z$d);
|
|
54797
54626
|
|
|
54798
54627
|
function $c1d7fb2ec91bae71$var$Item(props) {
|
|
54799
54628
|
return null;
|
|
@@ -58293,16 +58122,16 @@ function DefaultEmptyIndicator() {
|
|
|
58293
58122
|
return React__default["default"].createElement("li", { className: "LuiListBox-emptyIndicator" }, "Nothing to Display");
|
|
58294
58123
|
}
|
|
58295
58124
|
|
|
58296
|
-
var css_248z$
|
|
58297
|
-
styleInject(css_248z$
|
|
58125
|
+
var css_248z$c = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.RadioItemRenderer {\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 0 0 2rem;\n}\n.RadioItemRenderer::before {\n content: \"\";\n height: 1.5rem;\n min-width: 1.5rem;\n width: 1.5rem;\n border: 2px solid #007198;\n border-radius: 50%;\n background-color: transparent;\n position: absolute;\n left: 0;\n top: 0;\n margin-right: 0.75rem;\n}\n.RadioItemRenderer:after {\n content: \"\";\n position: absolute;\n left: 5px;\n top: 5px;\n background-color: #007198;\n height: 14px;\n min-width: 14px;\n width: 14px;\n border-radius: 50%;\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n}\n.RadioItemRenderer-isSelected:after {\n opacity: 1;\n}";
|
|
58126
|
+
styleInject(css_248z$c);
|
|
58298
58127
|
|
|
58299
58128
|
function RadioItemRenderer(_a) {
|
|
58300
58129
|
var item = _a.item, isSelected = _a.isSelected;
|
|
58301
58130
|
return (React__default["default"].createElement("div", { className: "RadioItemRenderer ".concat(isSelected ? 'RadioItemRenderer-isSelected' : '') }, item.label));
|
|
58302
58131
|
}
|
|
58303
58132
|
|
|
58304
|
-
var css_248z$
|
|
58305
|
-
styleInject(css_248z$
|
|
58133
|
+
var css_248z$b = ".CheckboxRenderer {\n display: flex;\n align-items: center;\n}";
|
|
58134
|
+
styleInject(css_248z$b);
|
|
58306
58135
|
|
|
58307
58136
|
function CheckboxItemRenderer(_a) {
|
|
58308
58137
|
var item = _a.item, isSelected = _a.isSelected;
|
|
@@ -58326,8 +58155,8 @@ function LuiSideMenuItem(_a) {
|
|
|
58326
58155
|
React__default["default"].createElement("span", { className: "navText" }, label))));
|
|
58327
58156
|
}
|
|
58328
58157
|
|
|
58329
|
-
var css_248z$
|
|
58330
|
-
styleInject(css_248z$
|
|
58158
|
+
var css_248z$a = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n@keyframes animate-stripes {\n 100% {\n background-position: 100px 0;\n }\n}\n.ProgressBar, .ProgressBar-PROC, .ProgressBar-COMP, .ProgressBar-FAIL {\n height: 5px;\n width: 100%;\n background-color: #eaeaea;\n border-radius: 3px;\n}\n.ProgressBar-FAIL {\n background-color: #cc0000;\n}\n.ProgressBar-COMP {\n background-color: #0aa245;\n}\n.ProgressBar-PROC {\n background-color: #0096cc;\n transition: width 0.3s ease-in-out;\n}\n.ProgressBar-PROC.indeterminate {\n background-image: linear-gradient(-45deg, transparent 25%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0.75) 75%, transparent 75%);\n background-size: 50px 100%;\n animation: animate-stripes 5s linear infinite;\n}";
|
|
58159
|
+
styleInject(css_248z$a);
|
|
58331
58160
|
|
|
58332
58161
|
var LuiProgressBar = function (_a) {
|
|
58333
58162
|
var value = _a.value, max = _a.max, error = _a.error, _b = _a.barHeight, barHeight = _b === void 0 ? '5px' : _b;
|
|
@@ -58355,8 +58184,8 @@ var LuiProgressBar = function (_a) {
|
|
|
58355
58184
|
React__default["default"].createElement("div", { "data-testid": 'progress-bar-size', className: clsx("ProgressBar-".concat(status), { indeterminate: indeterminate }), style: { width: "".concat(percentage, "%"), height: barHeight } })));
|
|
58356
58185
|
};
|
|
58357
58186
|
|
|
58358
|
-
var css_248z$
|
|
58359
|
-
styleInject(css_248z$
|
|
58187
|
+
var css_248z$9 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.Toolbar {\n position: absolute;\n align-items: center;\n align-self: center;\n background: #ffffff;\n border-radius: 5px;\n display: flex;\n flex-direction: column;\n height: fit-content;\n margin: 0 0.75rem;\n padding: 0;\n width: fit-content;\n z-index: 1000;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.2509803922), 0px 0px 3px 0px rgba(0, 0, 0, 0.1490196078);\n}\n\n.Left {\n justify-self: start;\n}\n\n.Right {\n justify-self: end;\n}";
|
|
58188
|
+
styleInject(css_248z$9);
|
|
58360
58189
|
|
|
58361
58190
|
exports.ToolbarDirection = void 0;
|
|
58362
58191
|
(function (ToolbarDirection) {
|
|
@@ -58378,8 +58207,8 @@ var ToolbarIcon = function (_a) {
|
|
|
58378
58207
|
return iconImage ? (React__default["default"].createElement("img", { className: "LuiIcon--lg", alt: iconName, src: iconImage })) : (React__default["default"].createElement(LuiIcon, { name: iconName, alt: iconName, size: 'md' }));
|
|
58379
58208
|
};
|
|
58380
58209
|
|
|
58381
|
-
var css_248z$
|
|
58382
|
-
styleInject(css_248z$
|
|
58210
|
+
var css_248z$8 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.ToolbarButton {\n height: 40px;\n width: 40px;\n line-height: 12px;\n margin: 2px;\n padding: 0.25rem;\n}\n\n.ToolbarButton-placement {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ToolbarButton img {\n border-radius: 3px;\n margin: -0.25rem;\n}\n\n.ToolbarButton,\n.ToolbarButton:hover,\n.ToolbarButton:disabled,\n.ToolbarButton:active:enabled {\n border-radius: 5px;\n border: 2px #ffffff solid !important;\n}\n\n.ToolbarItem-separator {\n height: 2px;\n background-color: #eaeaea;\n width: 100%;\n}";
|
|
58211
|
+
styleInject(css_248z$8);
|
|
58383
58212
|
|
|
58384
58213
|
/**
|
|
58385
58214
|
* Create button for using either LuiIcon or Image.
|
|
@@ -58442,8 +58271,8 @@ var useMediaQuery = function (query) {
|
|
|
58442
58271
|
return matches;
|
|
58443
58272
|
};
|
|
58444
58273
|
|
|
58445
|
-
var css_248z$
|
|
58446
|
-
styleInject(css_248z$
|
|
58274
|
+
var css_248z$7 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiCounter-round {\n background: #007198;\n color: #ffffff;\n text-align: center;\n width: 1.5em;\n height: 1.5em;\n border-radius: 50%;\n display: inline-block;\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n pointer-events: none;\n}";
|
|
58275
|
+
styleInject(css_248z$7);
|
|
58447
58276
|
|
|
58448
58277
|
var LuiCounter = React__default["default"].forwardRef(function (props, ref) {
|
|
58449
58278
|
var selectedNum = props.selectedNum, totalNum = props.totalNum, _a = props.shape, shape = _a === void 0 ? 'rect' : _a, _b = props.countZero, countZero = _b === void 0 ? true : _b, title = props.title, className = props.className, rest = __rest(props, ["selectedNum", "totalNum", "shape", "countZero", "title", "className"]);
|
|
@@ -58458,8 +58287,8 @@ var LuiCounter = React__default["default"].forwardRef(function (props, ref) {
|
|
|
58458
58287
|
return (React__default["default"].createElement(React__default["default"].Fragment, null, !(selectedNum === 0 && !countZero) && (React__default["default"].createElement("span", __assign({ ref: ref, className: determineCounterClassname(), "data-testid": "lui-counter-number-".concat(shape), title: title !== null && title !== void 0 ? title : "".concat(selectedNum, " of ").concat(totalNum, " rows selected") }, rest), selectedNum.toLocaleString()))));
|
|
58459
58288
|
});
|
|
58460
58289
|
|
|
58461
|
-
var css_248z$
|
|
58462
|
-
styleInject(css_248z$
|
|
58290
|
+
var css_248z$6 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.lui-pagination-override-mobile .lui-pagination-desktop {\n display: none;\n visibility: hidden;\n opacity: 0;\n}\n.lui-pagination-override-mobile .lui-pagination-mobile {\n display: flex;\n}\n\n.lui-pagination-override-desktop .lui-pagination-mobile {\n display: none;\n visibility: hidden;\n opacity: 0;\n}\n.lui-pagination-override-desktop .lui-pagination-desktop {\n display: flex;\n}\n\n.lui-pagination-controller {\n container-type: inline-size;\n}\n@container (min-width: 500px) {\n .lui-pagination-controller .lui-pagination-mobile {\n display: none;\n visibility: hidden;\n opacity: 0;\n }\n .lui-pagination-controller .lui-pagination-desktop {\n display: flex;\n }\n}\n@container (max-width: 499px) {\n .lui-pagination-controller .lui-pagination-desktop {\n display: none;\n visibility: hidden;\n opacity: 0;\n }\n .lui-pagination-controller .lui-pagination-mobile {\n display: flex;\n }\n}\n\n.lui-pagination {\n display: flex;\n user-select: none;\n justify-content: center;\n}\n.lui-pagination-page-counter {\n display: flex;\n align-items: center;\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n.lui-pagination .lui-button {\n color: #2a292c;\n height: 40px;\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n}\n.lui-pagination .lui-button .lui-pagination-navigation-icon {\n padding-top: 1px;\n}\n.lui-pagination .lui-button .lui-pagination-navigation-icon path {\n fill: #2a292c;\n}\n.lui-pagination .lui-button:hover {\n color: #2a292c;\n}\n.lui-pagination .lui-button-selected {\n background-color: #007198;\n color: #ffffff;\n}\n.lui-pagination-ellipsis {\n pointer-events: none;\n}\n.lui-pagination-navigate-disabled {\n pointer-events: none;\n}\n.lui-pagination-navigate-disabled .lui-pagination-navigation-icon {\n padding-top: 1px;\n}\n.lui-pagination-navigate-disabled .lui-pagination-navigation-icon path {\n fill: #989189 !important;\n}";
|
|
58291
|
+
styleInject(css_248z$6);
|
|
58463
58292
|
|
|
58464
58293
|
var LuiPagination = function (_a) {
|
|
58465
58294
|
var totalPages = _a.totalPages, currentPage = _a.currentPage, onPageChange = _a.onPageChange, _b = _a.isMobileLayout, isMobileLayout = _b === void 0 ? null : _b;
|
|
@@ -58569,11 +58398,11 @@ var LuiPagination = function (_a) {
|
|
|
58569
58398
|
React__default["default"].createElement("div", { className: "pagination" }, renderPaginationNumbers())))));
|
|
58570
58399
|
};
|
|
58571
58400
|
|
|
58572
|
-
var css_248z$
|
|
58573
|
-
styleInject(css_248z$
|
|
58401
|
+
var css_248z$5 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.Separator {\n background-color: #eaeaea;\n position: absolute;\n display: flex;\n justify-content: space-around;\n transition-property: background-color;\n transition-delay: 750ms;\n transition-duration: 0ms;\n}\n.Separator-arrows {\n align-self: center;\n position: relative;\n opacity: 0;\n transition-property: opacity;\n transition-delay: 750ms;\n transition-duration: 0ms;\n}\n.Separator:focus-within, .Separator:hover, .Separator:focus, .Separator:active {\n background-color: #73c8e1;\n transition-delay: 0ms;\n transition-duration: 0ms;\n}\n.Separator:focus-within .Separator-arrows, .Separator:hover .Separator-arrows, .Separator:focus .Separator-arrows, .Separator:active .Separator-arrows {\n opacity: 1;\n transition-delay: 0ms;\n transition-duration: 0ms;\n display: inline-block;\n}";
|
|
58402
|
+
styleInject(css_248z$5);
|
|
58574
58403
|
|
|
58575
|
-
var css_248z$
|
|
58576
|
-
styleInject(css_248z$
|
|
58404
|
+
var css_248z$4 = ".Control {\n transition: opacity 0.2s ease;\n position: absolute;\n margin-left: 0 !important;\n display: flex;\n justify-content: space-around;\n align-items: center;\n}";
|
|
58405
|
+
styleInject(css_248z$4);
|
|
58577
58406
|
|
|
58578
58407
|
var useForkRef = function (forwardedRef) {
|
|
58579
58408
|
var localRef = React.useRef(null);
|
|
@@ -59331,8 +59160,8 @@ var keyDownHandler = function (e) {
|
|
|
59331
59160
|
return valueNow + delta;
|
|
59332
59161
|
};
|
|
59333
59162
|
|
|
59334
|
-
var css_248z$
|
|
59335
|
-
styleInject(css_248z$
|
|
59163
|
+
var css_248z$3 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.Splitter {\n display: grid;\n position: relative;\n overflow: hidden;\n opacity: 0;\n}\n.Splitter > :first-child, .Splitter > :nth-child(2) {\n position: relative;\n z-index: 0;\n background: #f9f9f9;\n overflow: auto;\n}\n.Splitter.resizing * {\n pointer-events: none;\n user-select: none;\n}";
|
|
59164
|
+
styleInject(css_248z$3);
|
|
59336
59165
|
|
|
59337
59166
|
/**
|
|
59338
59167
|
* Container that appends a separator when the children count equals 2.
|
|
@@ -59384,8 +59213,8 @@ var useSplitterRef = function () {
|
|
|
59384
59213
|
return { ref: ref, setRatio: setRatio };
|
|
59385
59214
|
};
|
|
59386
59215
|
|
|
59387
|
-
var css_248z = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiBannerV2 {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.2509803922), 0px 0px 3px 0px rgba(0, 0, 0, 0.1490196078);\n font-size: 16px;\n display: grid;\n align-items: center;\n min-height: 3rem;\n position: relative;\n background-color: #ffffff;\n border-radius: 5px;\n padding-bottom: 0.5rem;\n padding-top: 0.5rem;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.LuiBannerV2 > :first-child {\n margin-top: 0;\n}\n.LuiBannerV2.has-level {\n padding-left: 3.25rem;\n border-left-width: 0.5rem;\n border-left-style: solid;\n}\n.LuiBannerV2.warning {\n border-left-color: #EA6A2E;\n}\n.LuiBannerV2.error {\n border-left-color: #cc0000;\n}\n.LuiBannerV2.info {\n border-left-color: #3A7CDF;\n}\n.LuiBannerV2.success {\n border-left-color: #0AA345;\n}\n.LuiBannerV2.can-dismiss {\n padding-right: 2.5rem;\n}\n.LuiBannerV2-Icon {\n position: absolute;\n left: 0.5rem;\n top: 0.5rem;\n}\n.LuiBannerV2-Icon.warning {\n color: #EA6A2E;\n}\n.LuiBannerV2-Icon.error {\n color: #cc0000;\n}\n.LuiBannerV2-Icon.info {\n color: #3A7CDF;\n}\n.LuiBannerV2-Icon.success {\n color: #0AA345;\n}\n.LuiBannerV2-Icon svg {\n fill: currentColor;\n}\n.LuiBannerV2-Dismiss {\n display: flex;\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n background-color: transparent;\n padding: 0;\n}\n.LuiBannerV2-Dismiss svg {\n fill: #6b6966;\n}";
|
|
59388
|
-
styleInject(css_248z);
|
|
59216
|
+
var css_248z$2 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiBannerV2 {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.2509803922), 0px 0px 3px 0px rgba(0, 0, 0, 0.1490196078);\n font-size: 16px;\n display: grid;\n align-items: center;\n min-height: 3rem;\n position: relative;\n background-color: #ffffff;\n border-radius: 5px;\n padding-bottom: 0.5rem;\n padding-top: 0.5rem;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.LuiBannerV2 > :first-child {\n margin-top: 0;\n}\n.LuiBannerV2.has-level {\n padding-left: 3.25rem;\n border-left-width: 0.5rem;\n border-left-style: solid;\n}\n.LuiBannerV2.warning {\n border-left-color: #EA6A2E;\n}\n.LuiBannerV2.error {\n border-left-color: #cc0000;\n}\n.LuiBannerV2.info {\n border-left-color: #3A7CDF;\n}\n.LuiBannerV2.success {\n border-left-color: #0AA345;\n}\n.LuiBannerV2.can-dismiss {\n padding-right: 2.5rem;\n}\n.LuiBannerV2-Icon {\n position: absolute;\n left: 0.5rem;\n top: 0.5rem;\n}\n.LuiBannerV2-Icon.warning {\n color: #EA6A2E;\n}\n.LuiBannerV2-Icon.error {\n color: #cc0000;\n}\n.LuiBannerV2-Icon.info {\n color: #3A7CDF;\n}\n.LuiBannerV2-Icon.success {\n color: #0AA345;\n}\n.LuiBannerV2-Icon svg {\n fill: currentColor;\n}\n.LuiBannerV2-Dismiss {\n display: flex;\n position: absolute;\n right: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n background-color: transparent;\n padding: 0;\n}\n.LuiBannerV2-Dismiss svg {\n fill: #6b6966;\n}";
|
|
59217
|
+
styleInject(css_248z$2);
|
|
59389
59218
|
|
|
59390
59219
|
var LuiBannerV2 = React.forwardRef(function (_a, ref) {
|
|
59391
59220
|
var _b, _c, _d;
|
|
@@ -59404,6 +59233,462 @@ var LuiBannerV2 = React.forwardRef(function (_a, ref) {
|
|
|
59404
59233
|
onDismiss && (React__default["default"].createElement("button", __assign({}, dismissButtonProps, { className: clsx('LuiBannerV2-Dismiss', dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps.className), "aria-label": (_b = dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps['aria-label']) !== null && _b !== void 0 ? _b : 'Dismiss', type: (_c = dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps.type) !== null && _c !== void 0 ? _c : 'button', onClick: onDismiss }), (_d = dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps.children) !== null && _d !== void 0 ? _d : (React__default["default"].createElement(LuiIcon, { size: "md", name: "ic_clear", spanProps: { 'aria-hidden': true }, alt: "Dismiss" }))))));
|
|
59405
59234
|
});
|
|
59406
59235
|
|
|
59236
|
+
var css_248z$1 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.ToastProvider {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n display: grid;\n grid-template-columns: repeat(3, auto);\n grid-template-areas: \"left center right\";\n padding: 1.5rem;\n z-index: 1200;\n}\n.ToastProvider .LuiBannerV2 {\n justify-content: flex-start;\n min-height: 4rem;\n min-width: 320px;\n max-width: min(50vw - 2rem, 400px);\n background-color: #f9f9f9;\n}\n.ToastProvider .LuiBannerV2-Icon {\n top: 50%;\n transform: translateY(-50%);\n}\n.ToastProvider .LuiBannerV2-Icon.warning {\n transform: translateY(calc(-50% - 1px));\n}\n.ToastProvider .LuiBannerV2 * {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n font-weight: 400;\n}";
|
|
59237
|
+
styleInject(css_248z$1);
|
|
59238
|
+
|
|
59239
|
+
var topRightToastsHeight = function (portal) {
|
|
59240
|
+
var _a, _b, _c, _d;
|
|
59241
|
+
var toasts = (_b = (_a = portal.getElementsByClassName('topRight')[0]) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[data-toastid]')) !== null && _b !== void 0 ? _b : [];
|
|
59242
|
+
var lastOne = toasts[toasts.length - 1];
|
|
59243
|
+
var rect = lastOne === null || lastOne === void 0 ? void 0 : lastOne.getBoundingClientRect();
|
|
59244
|
+
return ((_c = rect === null || rect === void 0 ? void 0 : rect.top) !== null && _c !== void 0 ? _c : 0) + ((_d = rect === null || rect === void 0 ? void 0 : rect.height) !== null && _d !== void 0 ? _d : 0);
|
|
59245
|
+
};
|
|
59246
|
+
var observer = function (portal) {
|
|
59247
|
+
return new MutationObserver(function () {
|
|
59248
|
+
var oldToasts = document === null || document === void 0 ? void 0 : document.querySelectorAll('.lui-msg-toast');
|
|
59249
|
+
if (oldToasts === null || oldToasts === void 0 ? void 0 : oldToasts.length) {
|
|
59250
|
+
var newTop_1 = Math.max(topRightToastsHeight(portal) - 24, 0);
|
|
59251
|
+
oldToasts.forEach(function (el) {
|
|
59252
|
+
var oldToast = el;
|
|
59253
|
+
var oldTop = parseInt(oldToast.style.top);
|
|
59254
|
+
if (newTop_1 !== oldTop) {
|
|
59255
|
+
oldToast.style.top = "".concat(newTop_1, "px");
|
|
59256
|
+
oldToast.style.transition = oldTop > newTop_1 ? 'top 0.2s ease-in' : '';
|
|
59257
|
+
}
|
|
59258
|
+
});
|
|
59259
|
+
}
|
|
59260
|
+
});
|
|
59261
|
+
};
|
|
59262
|
+
/**
|
|
59263
|
+
* Observes DOM changes in the elements tree to identify older toasts
|
|
59264
|
+
* that have been added to the page, to calculate a CSS top value so
|
|
59265
|
+
* that these are stacked below the new ones, if any.
|
|
59266
|
+
*/
|
|
59267
|
+
var observeOlderToasts = function (portal) {
|
|
59268
|
+
return observer(portal).observe(document.body, {
|
|
59269
|
+
childList: true,
|
|
59270
|
+
subtree: true
|
|
59271
|
+
});
|
|
59272
|
+
};
|
|
59273
|
+
|
|
59274
|
+
var portalId = 'lui-global-toast-container';
|
|
59275
|
+
/**
|
|
59276
|
+
* Retrieves the toast provider container element. It creates a new
|
|
59277
|
+
* one if it hasn't been created already.
|
|
59278
|
+
*
|
|
59279
|
+
* @description It is expected that application A, renders application B, that happens to render
|
|
59280
|
+
* the new toasts as well. In this case, application B will still render the context
|
|
59281
|
+
* provider to handle their toasts, but it will re-use the portal created by A.
|
|
59282
|
+
*
|
|
59283
|
+
* When the provider is created, it will observe older toasts coming to the screen
|
|
59284
|
+
* to make them visually align with the new ones. This needs to happens when the portal is
|
|
59285
|
+
* created, regardless of what app has created it.
|
|
59286
|
+
*
|
|
59287
|
+
* @returns HTMLDivElement
|
|
59288
|
+
*/
|
|
59289
|
+
var getToastProviderEl = function () {
|
|
59290
|
+
var portal = document.getElementById(portalId);
|
|
59291
|
+
if (portal) {
|
|
59292
|
+
return portal;
|
|
59293
|
+
}
|
|
59294
|
+
portal = document.createElement('div');
|
|
59295
|
+
portal.id = portalId;
|
|
59296
|
+
portal.className = 'ToastProvider';
|
|
59297
|
+
if (document.body.firstChild) {
|
|
59298
|
+
document.body.insertBefore(portal, document.body.firstChild);
|
|
59299
|
+
}
|
|
59300
|
+
else {
|
|
59301
|
+
document.body.appendChild(portal);
|
|
59302
|
+
}
|
|
59303
|
+
// Register the observer when the portal is created to visually align older toastd with new ones
|
|
59304
|
+
observeOlderToasts(portal);
|
|
59305
|
+
return portal;
|
|
59306
|
+
};
|
|
59307
|
+
|
|
59308
|
+
var css_248z = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.ToastSection {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n padding: 0.5rem;\n max-height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n /* IE and Edge */\n -ms-overflow-style: none;\n /* Firefox */\n scrollbar-width: none;\n /* Opera Safari Chrome */\n}\n.ToastSection::-webkit-scrollbar {\n display: none;\n}\n.ToastSection > :not(:last-child) {\n margin-bottom: 0.5rem;\n}\n.ToastSection [data-toastId] {\n pointer-events: all;\n}\n.ToastSection.topLeft {\n grid-area: left;\n}\n.ToastSection.topLeft [data-toastId] {\n margin-right: auto;\n max-height: 100vh;\n animation: 0.4s topLeftin forwards;\n}\n@keyframes topLeftin {\n 0% {\n opacity: 0;\n transform: translateX(-40%);\n }\n 100% {\n opacity: 1;\n transform: translate(0%);\n }\n}\n.ToastSection.topLeft [data-toastId].ItemDeleted {\n animation: 0.4s topLeftout forwards;\n}\n@keyframes topLeftout {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translateX(-40%);\n }\n 100% {\n opacity: 0;\n max-height: 0;\n margin-bottom: 0;\n }\n}\n.ToastSection.topCenter {\n grid-area: center;\n}\n.ToastSection.topCenter [data-toastId] {\n margin-left: auto;\n margin-right: auto;\n max-height: 100vh;\n animation: 0.4s topCenterin forwards;\n}\n@keyframes topCenterin {\n 0% {\n opacity: 0;\n transform: translateY(-40%);\n }\n 100% {\n opacity: 1;\n transform: translate(0%);\n }\n}\n.ToastSection.topCenter [data-toastId].ItemDeleted {\n animation: 0.4s topCenterout forwards;\n}\n@keyframes topCenterout {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translateY(-40%);\n }\n 100% {\n opacity: 0;\n max-height: 0;\n margin-bottom: 0;\n }\n}\n.ToastSection.topRight {\n grid-area: right;\n}\n.ToastSection.topRight [data-toastId] {\n margin-left: auto;\n max-height: 100vh;\n animation: 0.4s topRightin forwards;\n}\n@keyframes topRightin {\n 0% {\n opacity: 0;\n transform: translateX(40%);\n }\n 100% {\n opacity: 1;\n transform: translate(0%);\n }\n}\n.ToastSection.topRight [data-toastId].ItemDeleted {\n animation: 0.4s topRightout forwards;\n}\n@keyframes topRightout {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: translateX(40%);\n }\n 100% {\n opacity: 0;\n max-height: 0;\n margin-bottom: 0;\n }\n}\n.ToastSection.bottomLeft {\n margin-right: auto;\n grid-area: left;\n margin-top: auto;\n}\n.ToastSection.bottomLeft [data-toastId] {\n animation: 0.4s bottomLeftin forwards;\n}\n@keyframes bottomLeftin {\n 0% {\n opacity: 0;\n max-height: 0;\n }\n 50% {\n max-height: 100vh;\n opacity: 0;\n transform: translateX(-40%);\n }\n 100% {\n opacity: 1;\n transform: translate(0%);\n }\n}\n.ToastSection.bottomLeft [data-toastId].ItemDeleted {\n animation: 0.4s bottomLeftout forwards;\n}\n@keyframes bottomLeftout {\n 0% {\n opacity: 1;\n max-height: 100vh;\n }\n 100% {\n opacity: 0;\n transform: translateX(-40%);\n }\n}\n.ToastSection.bottomCenter {\n grid-area: center;\n margin-top: auto;\n margin-left: auto;\n margin-right: auto;\n}\n.ToastSection.bottomCenter [data-toastId] {\n animation: 0.4s bottomCenterin forwards;\n}\n@keyframes bottomCenterin {\n 0% {\n opacity: 0;\n max-height: 0;\n }\n 50% {\n max-height: 100vh;\n opacity: 0;\n transform: translateY(40%);\n }\n 100% {\n opacity: 1;\n transform: translate(0%);\n }\n}\n.ToastSection.bottomCenter [data-toastId].ItemDeleted {\n animation: 0.4s bottomCenterout forwards;\n}\n@keyframes bottomCenterout {\n 0% {\n opacity: 1;\n max-height: 100vh;\n }\n 100% {\n opacity: 0;\n transform: translateY(-40%);\n }\n}\n.ToastSection.bottomRight {\n grid-area: right;\n margin-top: auto;\n}\n.ToastSection.bottomRight [data-toastId] {\n margin-left: auto;\n animation: 0.4s bottomRightin forwards;\n}\n@keyframes bottomRightin {\n 0% {\n opacity: 0;\n max-height: 0;\n }\n 50% {\n max-height: 100vh;\n opacity: 0;\n transform: translateX(40%);\n }\n 100% {\n opacity: 1;\n transform: translate(0%);\n }\n}\n.ToastSection.bottomRight [data-toastId].ItemDeleted {\n animation: 0.4s bottomRightout forwards;\n}\n@keyframes bottomRightout {\n 0% {\n opacity: 1;\n max-height: 100vh;\n }\n 100% {\n opacity: 0;\n transform: translateX(40%);\n }\n}";
|
|
59309
|
+
styleInject(css_248z);
|
|
59310
|
+
|
|
59311
|
+
var getToastSectionEl = function (position) {
|
|
59312
|
+
var portal = getToastProviderEl();
|
|
59313
|
+
var section = portal.getElementsByClassName(position)[0];
|
|
59314
|
+
if (section) {
|
|
59315
|
+
return section;
|
|
59316
|
+
}
|
|
59317
|
+
section = document.createElement('div');
|
|
59318
|
+
section.className = "ToastSection ".concat(position);
|
|
59319
|
+
portal.appendChild(section);
|
|
59320
|
+
return section;
|
|
59321
|
+
};
|
|
59322
|
+
var ToastSection = function (_a) {
|
|
59323
|
+
var position = _a.position, list = _a.list, remove = _a.remove, defaultTimeout = _a.defaultTimeout;
|
|
59324
|
+
var section = getToastSectionEl(position);
|
|
59325
|
+
var _b = React.useState(list), state = _b[0], setState = _b[1];
|
|
59326
|
+
React.useEffect(
|
|
59327
|
+
/**
|
|
59328
|
+
* Delay deletions from provider state. Add instead a 'ItemDeleted' class to the
|
|
59329
|
+
* toasts that are pending deletion to trigger an exiting animation.
|
|
59330
|
+
*
|
|
59331
|
+
* Because of this local copy of the global state, any toasts additions need to be
|
|
59332
|
+
* copied over in a useEffect as well.
|
|
59333
|
+
*/
|
|
59334
|
+
function delayToastsDeletionAndAddNewOnes() {
|
|
59335
|
+
var deleted = state
|
|
59336
|
+
.filter(function (s) { return !list.some(function (l) { return l.id === s.id; }); })
|
|
59337
|
+
.map(function (s) { return s.id; });
|
|
59338
|
+
var added = list.filter(function (l) { return !state.some(function (s) { return s.id === l.id; }); });
|
|
59339
|
+
deleted
|
|
59340
|
+
.map(function (id) { return section.querySelector("[data-toastid=\"".concat(id, "\"]")); })
|
|
59341
|
+
.forEach(function (deletedToast) { return deletedToast === null || deletedToast === void 0 ? void 0 : deletedToast.classList.add('ItemDeleted'); });
|
|
59342
|
+
if (added.length) {
|
|
59343
|
+
setState(function (prev) { return __spreadArray(__spreadArray([], prev, true), added, true); });
|
|
59344
|
+
}
|
|
59345
|
+
}, [list, state]);
|
|
59346
|
+
React.useEffect(
|
|
59347
|
+
/**
|
|
59348
|
+
* Capture toast updates to be copied to the local state
|
|
59349
|
+
*/
|
|
59350
|
+
function updateExistingToasts() {
|
|
59351
|
+
if (list.length === state.length) {
|
|
59352
|
+
var updated_1 = list.filter(function (l) {
|
|
59353
|
+
return state.find(function (s) { return s.id === l.id && s.updatedAt !== l.updatedAt; });
|
|
59354
|
+
});
|
|
59355
|
+
if (updated_1.length) {
|
|
59356
|
+
setState(function (prev) {
|
|
59357
|
+
return prev.map(function (p) { var _a; return (_a = updated_1.find(function (u) { return u.id === p.id; })) !== null && _a !== void 0 ? _a : p; });
|
|
59358
|
+
});
|
|
59359
|
+
}
|
|
59360
|
+
}
|
|
59361
|
+
}, [list, state]);
|
|
59362
|
+
React.useEffect(
|
|
59363
|
+
/**
|
|
59364
|
+
* Capture 'animationend' so that once a toast has left the page, it can
|
|
59365
|
+
* be cleared from the local state.
|
|
59366
|
+
*
|
|
59367
|
+
* @description It uses `addEventListener` in the section, because the
|
|
59368
|
+
* section portal may have been created by a parent App and not necessarily
|
|
59369
|
+
* the consumer application.
|
|
59370
|
+
*/
|
|
59371
|
+
function clearLocalStateAfterDeleteAnimationEnds() {
|
|
59372
|
+
var animationEnd = function (e) {
|
|
59373
|
+
var _a, _b, _c;
|
|
59374
|
+
var animatedToast = e.target;
|
|
59375
|
+
var animatedId = Number(animatedToast.getAttribute('data-toastid'));
|
|
59376
|
+
if (animatedToast.classList.contains('ItemDeleted')) {
|
|
59377
|
+
(_c = (_b = (_a = state
|
|
59378
|
+
.find(function (s) { return s.id === animatedId; })) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.onLeave) === null || _c === void 0 ? void 0 : _c.call(_b, animatedId);
|
|
59379
|
+
setState(function (prev) { return prev.filter(function (t) { return t.id !== animatedId; }); });
|
|
59380
|
+
}
|
|
59381
|
+
};
|
|
59382
|
+
section.addEventListener('animationend', animationEnd);
|
|
59383
|
+
return function () { return section.removeEventListener('animationend', animationEnd); };
|
|
59384
|
+
}, [section, state]);
|
|
59385
|
+
return ReactDOM__default["default"].createPortal(React__namespace.createElement(React.Fragment, { key: position }, state.map(function (toast) { return (React__namespace.createElement(Toast, __assign({ key: toast.id }, { toast: toast, remove: remove, defaultTimeout: defaultTimeout }))); })), section);
|
|
59386
|
+
};
|
|
59387
|
+
var Toast = function (props) {
|
|
59388
|
+
var _a, _b;
|
|
59389
|
+
var toast = props.toast, remove = props.remove, defaultTimeout = props.defaultTimeout;
|
|
59390
|
+
var close = React.useCallback(function () { return remove(toast.id); }, [remove, toast.id]);
|
|
59391
|
+
var ms = (_b = (_a = toast.options) === null || _a === void 0 ? void 0 : _a.timeout) !== null && _b !== void 0 ? _b : defaultTimeout;
|
|
59392
|
+
var shouldPersist = [
|
|
59393
|
+
NaN,
|
|
59394
|
+
Infinity,
|
|
59395
|
+
Number.MAX_SAFE_INTEGER,
|
|
59396
|
+
Number.MAX_VALUE,
|
|
59397
|
+
].includes(ms);
|
|
59398
|
+
React.useEffect(function () {
|
|
59399
|
+
if (!shouldPersist) {
|
|
59400
|
+
var timer_1 = setTimeout(close, ms);
|
|
59401
|
+
return function () { return clearTimeout(timer_1); };
|
|
59402
|
+
}
|
|
59403
|
+
return;
|
|
59404
|
+
}, [shouldPersist, ms, close]);
|
|
59405
|
+
return (React__namespace.createElement("div", { "data-toastid": toast.id }, typeof toast.notification === 'function'
|
|
59406
|
+
? toast.notification({ close: close })
|
|
59407
|
+
: toast.notification));
|
|
59408
|
+
};
|
|
59409
|
+
|
|
59410
|
+
var reducer = function (state, action) {
|
|
59411
|
+
var updatedAt = new Date().getTime();
|
|
59412
|
+
if (action.type === 'add') {
|
|
59413
|
+
var createdAt = updatedAt;
|
|
59414
|
+
var notification = action.notification, options = action.options, id = action.id;
|
|
59415
|
+
var toast = { notification: notification, options: options, id: id, updatedAt: updatedAt, createdAt: createdAt };
|
|
59416
|
+
var toasts = __spreadArray([toast], state.toasts, true);
|
|
59417
|
+
return trim(__assign(__assign({}, state), { toasts: toasts }));
|
|
59418
|
+
}
|
|
59419
|
+
if (action.type === 'remove') {
|
|
59420
|
+
return __assign(__assign({}, state), { toasts: state.toasts.filter(function (t) { return t.id !== action.id; }) });
|
|
59421
|
+
}
|
|
59422
|
+
if (action.type === 'update') {
|
|
59423
|
+
var notification = action.notification, options = action.options, id_1 = action.id;
|
|
59424
|
+
var updated_1 = { notification: notification, options: options, id: id_1, updatedAt: updatedAt };
|
|
59425
|
+
return __assign(__assign({}, state), { toasts: state.toasts.map(function (t) { return (t.id !== id_1 ? t : __assign(__assign({}, t), updated_1)); }) });
|
|
59426
|
+
}
|
|
59427
|
+
return state;
|
|
59428
|
+
};
|
|
59429
|
+
var useToastState = function (_a) {
|
|
59430
|
+
var stack = _a.stack;
|
|
59431
|
+
var _b = React.useReducer(reducer, {
|
|
59432
|
+
toasts: [],
|
|
59433
|
+
stack: stack
|
|
59434
|
+
}), state = _b[0], dispatch = _b[1];
|
|
59435
|
+
var toasts = group(state.toasts);
|
|
59436
|
+
return { toasts: toasts, dispatch: dispatch };
|
|
59437
|
+
};
|
|
59438
|
+
var group = function (list) {
|
|
59439
|
+
var initial = [];
|
|
59440
|
+
return list.reduce(function (res, item) {
|
|
59441
|
+
var _a;
|
|
59442
|
+
var _b, _c;
|
|
59443
|
+
var position = (_c = (_b = item === null || item === void 0 ? void 0 : item.options) === null || _b === void 0 ? void 0 : _b.position) !== null && _c !== void 0 ? _c : 'topRight';
|
|
59444
|
+
return __assign(__assign({}, res), (_a = {}, _a[position] = __spreadArray(__spreadArray([], res[position], true), [item], false), _a));
|
|
59445
|
+
}, {
|
|
59446
|
+
topLeft: initial,
|
|
59447
|
+
topCenter: initial,
|
|
59448
|
+
topRight: initial,
|
|
59449
|
+
bottomLeft: initial,
|
|
59450
|
+
bottomCenter: initial,
|
|
59451
|
+
bottomRight: initial
|
|
59452
|
+
});
|
|
59453
|
+
};
|
|
59454
|
+
var trim = function (state) { return (__assign(__assign({}, state), { toasts: Object.values(group(state.toasts))
|
|
59455
|
+
.map(function (toasts) {
|
|
59456
|
+
return toasts
|
|
59457
|
+
.sort(function (a, b) { return (a.createdAt > b.createdAt ? -1 : 1); })
|
|
59458
|
+
.slice(0, state.stack);
|
|
59459
|
+
})
|
|
59460
|
+
.flat() })); };
|
|
59461
|
+
|
|
59462
|
+
var ToastContext = React__namespace.createContext(undefined);
|
|
59463
|
+
var portal = getToastProviderEl();
|
|
59464
|
+
var ToastProvider = function (_a) {
|
|
59465
|
+
var children = _a.children, _b = _a.defaultTimeout, defaultTimeout = _b === void 0 ? 4000 : _b, _c = _a.stack, stack = _c === void 0 ? 5 : _c;
|
|
59466
|
+
var _d = useToastState({ stack: stack }), toasts = _d.toasts, dispatch = _d.dispatch;
|
|
59467
|
+
var remove = React.useCallback(function (id) { return dispatch({ type: 'remove', id: id }); }, [dispatch]);
|
|
59468
|
+
if (React.useContext(ToastContext)) {
|
|
59469
|
+
return React__namespace.createElement(React__namespace.Fragment, null, children);
|
|
59470
|
+
}
|
|
59471
|
+
return (React__namespace.createElement(React__namespace.Fragment, null,
|
|
59472
|
+
ReactDOM__default["default"].createPortal(React__namespace.createElement(React__namespace.Fragment, null, Object.entries(toasts).map(function (_a) {
|
|
59473
|
+
var section = _a[0], list = _a[1];
|
|
59474
|
+
return (React__namespace.createElement(ToastSection, __assign({ key: section }, {
|
|
59475
|
+
position: section,
|
|
59476
|
+
list: list,
|
|
59477
|
+
remove: remove,
|
|
59478
|
+
defaultTimeout: defaultTimeout
|
|
59479
|
+
})));
|
|
59480
|
+
})), portal),
|
|
59481
|
+
React__namespace.createElement(ToastContext.Provider, { value: dispatch }, children)));
|
|
59482
|
+
};
|
|
59483
|
+
|
|
59484
|
+
var getUniqueToastId = function () { return Math.floor(Math.random() * 10000); };
|
|
59485
|
+
var toastFunctions = function (dispatch) {
|
|
59486
|
+
var toast = function (notification, options) {
|
|
59487
|
+
var id = getUniqueToastId();
|
|
59488
|
+
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'add', notification: notification, options: options, id: id });
|
|
59489
|
+
return id;
|
|
59490
|
+
};
|
|
59491
|
+
var update = function (id, notification, options) {
|
|
59492
|
+
dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'update', notification: notification, options: options, id: id });
|
|
59493
|
+
return id;
|
|
59494
|
+
};
|
|
59495
|
+
var banner = function (level, defaults) {
|
|
59496
|
+
if (defaults === void 0) { defaults = {}; }
|
|
59497
|
+
return function (children, options) {
|
|
59498
|
+
if (options === void 0) { options = defaults; }
|
|
59499
|
+
return toast(function (_a) {
|
|
59500
|
+
var close = _a.close;
|
|
59501
|
+
return (React__namespace.createElement(LuiBannerV2, __assign({}, { level: level, children: children }, { onDismiss: options.timeout === Infinity ? close : undefined })));
|
|
59502
|
+
}, options);
|
|
59503
|
+
};
|
|
59504
|
+
};
|
|
59505
|
+
return {
|
|
59506
|
+
toast: toast,
|
|
59507
|
+
update: update,
|
|
59508
|
+
dismiss: function (id) { return dispatch === null || dispatch === void 0 ? void 0 : dispatch({ type: 'remove', id: id }); },
|
|
59509
|
+
info: banner('info'),
|
|
59510
|
+
success: banner('success'),
|
|
59511
|
+
error: banner('error', { timeout: Infinity }),
|
|
59512
|
+
warning: banner('warning', { timeout: Infinity }),
|
|
59513
|
+
plain: banner()
|
|
59514
|
+
};
|
|
59515
|
+
};
|
|
59516
|
+
var useToast = function () {
|
|
59517
|
+
var dispatch = React.useContext(ToastContext);
|
|
59518
|
+
return React.useMemo(function () { return toastFunctions(dispatch); }, [dispatch]);
|
|
59519
|
+
};
|
|
59520
|
+
|
|
59521
|
+
var LuiToastMessage$1 = function (_a) {
|
|
59522
|
+
var level = _a.level, _b = _a.displayTimeout, displayTimeout = _b === void 0 ? 4000 : _b, _c = _a.display, display = _c === void 0 ? true : _c, requireDismiss = _a.requireDismiss, onClose = _a.onClose, _d = _a.onCloseDelay, onCloseDelay = _d === void 0 ? displayTimeout : _d, children = _a.children, type = _a.type;
|
|
59523
|
+
var _e = React.useState('lui-msg-toast-show'), className = _e[0], setClassname = _e[1];
|
|
59524
|
+
var _f = React.useState(undefined), fadeOutTimer = _f[0], setFadeOutTimer = _f[1];
|
|
59525
|
+
var _g = React.useState(undefined), removeTimer = _g[0], setRemoveTimer = _g[1];
|
|
59526
|
+
var materialIcon = getMaterialIconForLevel(level);
|
|
59527
|
+
var callOnCloseAfterDissolved = function () {
|
|
59528
|
+
// This is so the caller can remove it from the dom
|
|
59529
|
+
if (onClose) {
|
|
59530
|
+
var timer = window.setTimeout(onClose, onCloseDelay);
|
|
59531
|
+
setRemoveTimer(timer);
|
|
59532
|
+
}
|
|
59533
|
+
};
|
|
59534
|
+
React.useEffect(function () {
|
|
59535
|
+
// clear timers if previously set
|
|
59536
|
+
fadeOutTimer && clearTimeout(fadeOutTimer);
|
|
59537
|
+
removeTimer && clearTimeout(removeTimer);
|
|
59538
|
+
setClassname('lui-msg-toast-show');
|
|
59539
|
+
if (!requireDismiss && displayTimeout !== 0) {
|
|
59540
|
+
// set a new timer
|
|
59541
|
+
var timer = window.setTimeout(function () {
|
|
59542
|
+
setClassname('lui-msg-toast-hide');
|
|
59543
|
+
callOnCloseAfterDissolved();
|
|
59544
|
+
}, displayTimeout);
|
|
59545
|
+
setFadeOutTimer(timer);
|
|
59546
|
+
}
|
|
59547
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59548
|
+
}, [requireDismiss, displayTimeout, children]);
|
|
59549
|
+
React.useEffect(function () {
|
|
59550
|
+
if (!display) {
|
|
59551
|
+
setClassname('lui-msg-toast-hide');
|
|
59552
|
+
callOnCloseAfterDissolved();
|
|
59553
|
+
}
|
|
59554
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59555
|
+
}, [display]);
|
|
59556
|
+
return (React__default["default"].createElement("div", { role: "status", "data-testid": className, className: "lui-msg-".concat(level, " lui-msg-toast lui-msg-toast-dismissable ").concat(className) },
|
|
59557
|
+
React__default["default"].createElement("i", { className: "lui-msg-status-icon material-icons-round" }, materialIcon),
|
|
59558
|
+
children,
|
|
59559
|
+
React__default["default"].createElement("button", { "aria-label": "Close dialog", type: type || 'button', onClick: function () {
|
|
59560
|
+
setClassname('lui-msg-toast-hide');
|
|
59561
|
+
callOnCloseAfterDissolved();
|
|
59562
|
+
} },
|
|
59563
|
+
React__default["default"].createElement("i", { className: "material-icons-round" }, "close"))));
|
|
59564
|
+
};
|
|
59565
|
+
|
|
59566
|
+
var UIMessagingContext = React.createContext({
|
|
59567
|
+
// @ts-ignore
|
|
59568
|
+
showMessage: function (props) { }
|
|
59569
|
+
});
|
|
59570
|
+
function useShowLUIMessage$1() {
|
|
59571
|
+
return React.useContext(UIMessagingContext).showMessage;
|
|
59572
|
+
}
|
|
59573
|
+
var LuiMessagingContextProvider$1 = function (props) {
|
|
59574
|
+
var _a = React.useState(), _message = _a[0], setMessage = _a[1];
|
|
59575
|
+
var _b = React.useState(), _messageType = _b[0], setMessageType = _b[1];
|
|
59576
|
+
var _c = React.useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
|
|
59577
|
+
var _d = React.useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
|
|
59578
|
+
var showMessage = function (props) {
|
|
59579
|
+
setMessage(props.message);
|
|
59580
|
+
setMessageType(props.messageType);
|
|
59581
|
+
setMessageLevel(props.messageLevel);
|
|
59582
|
+
setRequireDismiss(props.requireDismiss === undefined
|
|
59583
|
+
? props.messageLevel === 'error'
|
|
59584
|
+
: props.requireDismiss);
|
|
59585
|
+
};
|
|
59586
|
+
var renderMessage = function () {
|
|
59587
|
+
switch (_messageType) {
|
|
59588
|
+
case 'toast':
|
|
59589
|
+
return (React__default["default"].createElement(LuiToastMessage$1, { onClose: function () {
|
|
59590
|
+
setMessage(undefined);
|
|
59591
|
+
}, level: _messageLevel, requireDismiss: _requireDismiss },
|
|
59592
|
+
React__default["default"].createElement("span", { "data-testid": 'toastMessageShow' }, typeof _message === 'string' ? React__default["default"].createElement("h2", null, _message) : _message)));
|
|
59593
|
+
default:
|
|
59594
|
+
return null;
|
|
59595
|
+
}
|
|
59596
|
+
};
|
|
59597
|
+
return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
|
|
59598
|
+
_message && renderMessage(),
|
|
59599
|
+
props.children));
|
|
59600
|
+
};
|
|
59601
|
+
|
|
59602
|
+
var LuiToastMessageCompatibleInterface = function (props) {
|
|
59603
|
+
var level = props.level, _a = props.displayTimeout, displayTimeout = _a === void 0 ? 4000 : _a, _b = props.display, display = _b === void 0 ? true : _b, requireDismiss = props.requireDismiss, onClose = props.onClose, children = props.children;
|
|
59604
|
+
var toastIdRef = React.useRef(undefined);
|
|
59605
|
+
var onceDismissedRef = React.useRef(false);
|
|
59606
|
+
var displayRef = React.useRef(display);
|
|
59607
|
+
var _c = useToast(), toast = _c.toast, dismiss = _c.dismiss, update = _c.update;
|
|
59608
|
+
displayRef.current = display;
|
|
59609
|
+
// Close when it's unmounted
|
|
59610
|
+
React.useEffect(function () {
|
|
59611
|
+
return function () {
|
|
59612
|
+
if (toastIdRef.current) {
|
|
59613
|
+
dismiss(toastIdRef.current);
|
|
59614
|
+
toastIdRef.current = undefined;
|
|
59615
|
+
}
|
|
59616
|
+
};
|
|
59617
|
+
}, []);
|
|
59618
|
+
React.useEffect(function () {
|
|
59619
|
+
var onceDismissed = onceDismissedRef.current;
|
|
59620
|
+
if (display && !onceDismissed) {
|
|
59621
|
+
var notification = function (_a) {
|
|
59622
|
+
var close = _a.close;
|
|
59623
|
+
var onDismiss = requireDismiss ? close : undefined;
|
|
59624
|
+
return React__default["default"].createElement(LuiBannerV2, __assign({}, { level: level, onDismiss: onDismiss, children: children }));
|
|
59625
|
+
};
|
|
59626
|
+
var options = {
|
|
59627
|
+
timeout: displayTimeout === 0 ? Infinity : displayTimeout,
|
|
59628
|
+
onLeave: function () {
|
|
59629
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
59630
|
+
onceDismissedRef.current = displayRef.current;
|
|
59631
|
+
toastIdRef.current = undefined;
|
|
59632
|
+
}
|
|
59633
|
+
};
|
|
59634
|
+
if (!toastIdRef.current) {
|
|
59635
|
+
toastIdRef.current = toast(notification, options);
|
|
59636
|
+
}
|
|
59637
|
+
else {
|
|
59638
|
+
update(toastIdRef.current, notification, options);
|
|
59639
|
+
}
|
|
59640
|
+
}
|
|
59641
|
+
if (!display && toastIdRef.current !== undefined) {
|
|
59642
|
+
dismiss(toastIdRef.current);
|
|
59643
|
+
toastIdRef.current = undefined;
|
|
59644
|
+
}
|
|
59645
|
+
}, [props]);
|
|
59646
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
59647
|
+
};
|
|
59648
|
+
|
|
59649
|
+
/**
|
|
59650
|
+
* Provide new toast hook with old interface from original useShowLUIMessage
|
|
59651
|
+
*/
|
|
59652
|
+
var useShowLUIMessageCompatibleInterface = function () {
|
|
59653
|
+
var toast = useToast().toast;
|
|
59654
|
+
return function (props) {
|
|
59655
|
+
var message = props.message, messageLevel = props.messageLevel, requireDismiss = props.requireDismiss;
|
|
59656
|
+
var toastProps = { children: message, level: messageLevel };
|
|
59657
|
+
if (requireDismiss || messageLevel === 'error') {
|
|
59658
|
+
toast(function (_a) {
|
|
59659
|
+
var close = _a.close;
|
|
59660
|
+
return React__default["default"].createElement(LuiBannerV2, __assign({}, toastProps, { onDismiss: close }));
|
|
59661
|
+
});
|
|
59662
|
+
}
|
|
59663
|
+
else {
|
|
59664
|
+
toast(React__default["default"].createElement(LuiBannerV2, __assign({}, toastProps)));
|
|
59665
|
+
}
|
|
59666
|
+
};
|
|
59667
|
+
};
|
|
59668
|
+
|
|
59669
|
+
var ToastUpgrade = React.createContext(false);
|
|
59670
|
+
var useToastUpgrade = function () { return React.useContext(ToastUpgrade); };
|
|
59671
|
+
/**
|
|
59672
|
+
* @deprecated Use ToastProvider or LuiMessagingContextProvider with upgrade prop set to true to get the new designs
|
|
59673
|
+
*/
|
|
59674
|
+
var LuiMessagingContextProvider = function (props) {
|
|
59675
|
+
var _a = props.upgrade, upgrade = _a === void 0 ? false : _a, rest = __rest(props, ["upgrade"]);
|
|
59676
|
+
if (React.useContext(ToastContext)) {
|
|
59677
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, rest.children);
|
|
59678
|
+
}
|
|
59679
|
+
return (React__default["default"].createElement(ToastUpgrade.Provider, { value: upgrade }, upgrade ? (React__default["default"].createElement(ToastProvider, __assign({}, rest))) : (React__default["default"].createElement(LuiMessagingContextProvider$1, __assign({}, rest)))));
|
|
59680
|
+
};
|
|
59681
|
+
var useShowLUIMessage = function () {
|
|
59682
|
+
var upgrade = useToastUpgrade();
|
|
59683
|
+
var older = useShowLUIMessage$1();
|
|
59684
|
+
var newer = useShowLUIMessageCompatibleInterface();
|
|
59685
|
+
return upgrade ? newer : older;
|
|
59686
|
+
};
|
|
59687
|
+
var LuiToastMessage = function (props) {
|
|
59688
|
+
var upgrade = useToastUpgrade();
|
|
59689
|
+
return upgrade ? (React__default["default"].createElement(LuiToastMessageCompatibleInterface, __assign({}, props))) : (React__default["default"].createElement(LuiToastMessage$1, __assign({}, props)));
|
|
59690
|
+
};
|
|
59691
|
+
|
|
59407
59692
|
exports.CheckboxItemRenderer = CheckboxItemRenderer;
|
|
59408
59693
|
exports.LUI_WINDOW_NAME = LUI_WINDOW_NAME;
|
|
59409
59694
|
exports.LuiAccordicard = LuiAccordicard;
|
|
@@ -59411,7 +59696,6 @@ exports.LuiAccordicardStatic = LuiAccordicardStatic;
|
|
|
59411
59696
|
exports.LuiAccordion = LuiAccordion;
|
|
59412
59697
|
exports.LuiAlertModal = LuiAlertModal;
|
|
59413
59698
|
exports.LuiAlertModalButtons = LuiAlertModalButtons;
|
|
59414
|
-
exports.LuiAlertModalV2 = LuiAlertModalV2;
|
|
59415
59699
|
exports.LuiAppFooterSml = LuiAppFooterSml;
|
|
59416
59700
|
exports.LuiBadge = LuiBadge;
|
|
59417
59701
|
exports.LuiBanner = LuiBanner;
|
|
@@ -59465,9 +59749,6 @@ exports.LuiMenuCloseButtonV2 = LuiMenuCloseButtonV2;
|
|
|
59465
59749
|
exports.LuiMessagingContextProvider = LuiMessagingContextProvider;
|
|
59466
59750
|
exports.LuiMiniSpinner = LuiMiniSpinner;
|
|
59467
59751
|
exports.LuiModal = LuiModal;
|
|
59468
|
-
exports.LuiModalV2 = LuiModalV2;
|
|
59469
|
-
exports.LuiModalV2Buttons = LuiModalV2Buttons;
|
|
59470
|
-
exports.LuiModalV2HeadingText = LuiModalV2HeadingText;
|
|
59471
59752
|
exports.LuiMoneyInput = LuiMoneyInput;
|
|
59472
59753
|
exports.LuiMultiSwitch = LuiMultiSwitch;
|
|
59473
59754
|
exports.LuiMultiSwitchYesNo = LuiMultiSwitchYesNo;
|
|
@@ -59507,6 +59788,7 @@ exports.LuiTooltip = LuiTooltip;
|
|
|
59507
59788
|
exports.LuiUpdatesSplashModal = LuiUpdatesSplashModal;
|
|
59508
59789
|
exports.RadioItemRenderer = RadioItemRenderer;
|
|
59509
59790
|
exports.Splitter = Splitter;
|
|
59791
|
+
exports.ToastProvider = ToastProvider;
|
|
59510
59792
|
exports.ToolbarButton = ToolbarButton;
|
|
59511
59793
|
exports.ToolbarItem = ToolbarItem;
|
|
59512
59794
|
exports.ToolbarItemSeparator = ToolbarItemSeparator;
|
|
@@ -59521,4 +59803,5 @@ exports.useMediaQuery = useMediaQuery;
|
|
|
59521
59803
|
exports.usePageClickFunction = usePageClickFunction;
|
|
59522
59804
|
exports.useShowLUIMessage = useShowLUIMessage;
|
|
59523
59805
|
exports.useSplitterRef = useSplitterRef;
|
|
59806
|
+
exports.useToast = useToast;
|
|
59524
59807
|
//# sourceMappingURL=index.js.map
|