@unbxd-ui/unbxd-react-components 0.2.145-beta.7 → 0.2.145-beta.9

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.
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _lodash = _interopRequireDefault(require("lodash.isequal"));
12
12
  var _usePrevious = require("./hooks/usePrevious");
13
13
  var _dataLoader = _interopRequireDefault(require("../../core/dataLoader"));
14
- var _excluded = ["records", "columnConfigs", "paginationType", "sortOrder", "apiInfo", "onApiError", "noDataDescription", "noDataHeading", "customClassName", "pagination", "refreshData", "showSelectableRows", "setSelectedRow", "clearData", "expandableRows", "selectableRows", "CustomLoading", "CustomNoDataComponent", "CustomAPIErrorComponent", "CheckBoxRow", "page", "perPage", "onPageChangeCB", "onRowsPerPageChangeCB", "requestKeys"];
14
+ var _excluded = ["records", "columnConfigs", "paginationType", "sortOrder", "apiInfo", "onApiError", "noDataDescription", "noDataHeading", "customClassName", "pagination", "refreshData", "showSelectableRows", "setSelectedRow", "clearData", "expandableRows", "selectableRows", "CustomLoading", "CustomNoDataComponent", "CustomAPIErrorComponent", "CheckBoxRow", "page", "perPage", "onPageChangeCB", "onRowsPerPageChangeCB", "requestKeys", "paginationRowsPerPageOptions"];
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
17
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -33,6 +33,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
33
33
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
34
34
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
35
35
  var TableChild = function TableChild() {
36
+ var _columnConfigs$, _columnConfigs;
36
37
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
37
38
  var _props$records = props.records,
38
39
  records = _props$records === void 0 ? [] : _props$records,
@@ -71,8 +72,14 @@ var TableChild = function TableChild() {
71
72
  onPageChangeCB = props.onPageChangeCB,
72
73
  onRowsPerPageChangeCB = props.onRowsPerPageChangeCB,
73
74
  requestKeys = props.requestKeys,
75
+ _props$paginationRows = props.paginationRowsPerPageOptions,
76
+ paginationRowsPerPageOptions = _props$paginationRows === void 0 ? [10, 20, 50, 100] : _props$paginationRows,
74
77
  restProps = _objectWithoutProperties(props, _excluded);
75
78
  var isServerPagination = paginationType === "SERVER";
79
+
80
+ // Check which column has stickyColumn prop
81
+ var isFirstColumnSticky = columnConfigs.length > 0 && ((_columnConfigs$ = columnConfigs[0]) === null || _columnConfigs$ === void 0 ? void 0 : _columnConfigs$.stickyColumn) === true;
82
+ var isLastColumnSticky = columnConfigs.length > 0 && ((_columnConfigs = columnConfigs[columnConfigs.length - 1]) === null || _columnConfigs === void 0 ? void 0 : _columnConfigs.stickyColumn) === true;
76
83
  var _apiInfo$pageNoKey = apiInfo.pageNoKey,
77
84
  pageNoKey = _apiInfo$pageNoKey === void 0 ? "page_number" : _apiInfo$pageNoKey,
78
85
  _apiInfo$perPageKey = apiInfo.perPageKey,
@@ -315,8 +322,8 @@ var TableChild = function TableChild() {
315
322
  heading: noDataHeading
316
323
  }) : /*#__PURE__*/_react["default"].createElement("div", null, "No Data"),
317
324
  paginationDefaultPage: page,
318
- className: isServerPagination ? "".concat(customClassName, " nutana-table pagination") : "".concat(customClassName, " nutana-table no-pagination"),
319
- paginationRowsPerPageOptions: [10, 20, 50, 100],
325
+ className: "".concat(customClassName, " nutana-table ").concat(isServerPagination ? 'pagination' : 'no-pagination', " ").concat(isFirstColumnSticky ? 'first-clm-sticky' : '', " ").concat(isLastColumnSticky ? 'last-clm-sticky' : '', " ").concat(expandableRows ? 'expandable-rows' : ''),
326
+ paginationRowsPerPageOptions: paginationRowsPerPageOptions,
320
327
  paginationResetDefaultPage: true,
321
328
  sortServer: true,
322
329
  selectedData: selectedData,
@@ -1 +1 @@
1
- .RCB-table{border-collapse:collapse;width:100%}.RCB-th.RCB-expand-column{width:50px}.RCB-th-sortable{cursor:pointer}.RCB-th-sort:after{content:"\2B0D"}.RCB-th-asc:after{content:"\25B2"}.RCB-th-dsc:after{content:"\25BC"}.RCB-tr .expand-open:before{content:"▼"}.RCB-tr .expand-close:before{content:"▶"}.RCB-paginate-wrapper .RCB-per-page-count{display:inline-block}.RCB-paginate-wrapper .RCB-form-el-cont{margin:0}.RCB-paginate-wrapper .RCB-inline-modal-btn{background:transparent;padding:0}.RCB-paginate-nav{display:inline-block;border-radius:12px;border:solid 1px #8399ae;background-color:#f6f7f9;vertical-align:middle;margin-left:15px;overflow:hidden}.RCB-page-nav{padding:0 5px;text-decoration:none;color:inherit}.RCB-page-nav:first-child{border-right:solid 1px #8399ae}.RCB-page-nav.disabled{color:#ccc;pointer-events:none;cursor:not-allowed}.RCB-no-data{text-align:center}.nutana-table{font-family:Nunito Sans, Helvetica Neue, Helvetica, Roboto, "sans-serif";letter-spacing:0.42px;max-height:unset !important;min-height:unset !important;overflow:inherit !important;z-index:20}.nutana-table .rdt_TableRow:hover{background-color:#F4F8FF}.nutana-table .rdt_TableRow:hover .readable{color:#3E71F2;cursor:pointer}.nutana-table .rdt_TableRow:hover .view-one{background-color:#F4F8FF}.nutana-table .rdt_TableRow:hover .view-one .no-metric-wrap{background-color:#F4F8FF !important}.nutana-table .rdt_TableRow .rdt_TableCell{padding:0;border-right:unset}.nutana-table .rdt_TableRow .rdt_TableCell:first-child{border-left:1px solid #DDE2EE}.nutana-table .rdt_TableRow .rdt_TableCell:last-child{border-right:1px solid #DDE2EE}.nutana-table .tbl-content{padding:18px 24px;width:100%}.nutana-table .header-title{color:#17173A;display:inline;font-weight:600;font-size:16px;text-transform:capitalize}.nutana-table .tbl-title-1{color:#17173A;font-size:16px;font-weight:600;margin-bottom:14px}.nutana-table .tbl-title-2{color:#17173A;font-size:14px;font-weight:600}.nutana-table .tbl-title-3{color:#17173A;font-size:12px;font-weight:600}.nutana-table .tbl-desc-1{color:#6F6F8D;font-size:16px;font-weight:600;margin-bottom:14px}.nutana-table .tbl-desc-2{color:#6F6F8D;font-size:14px;font-weight:600;margin-bottom:14px}.nutana-table .tbl-desc-3{color:#6F6F8D;font-size:12px;font-weight:600;letter-spacing:.42px}.nutana-table .rdt_TableHeadRow{box-shadow:0px 5px 15px 0px #17173A14;z-index:10}.nutana-table .rdt_TableHeadRow .rdt_TableCol:first-child{border-right:unset;border-left:1px solid #dde2ee;border-top:1px solid #dde2ee;border-top-left-radius:8px;margin:0}.nutana-table .rdt_TableHeadRow .rdt_TableCol{border-right:unset;padding:16px 24px}.nutana-table .rdt_TableHeadRow .rdt_TableCol:last-child{border-right:1px solid #DDE2EE;border-top-right-radius:8px}.nutana-table .rdt_TableCol_Sortable [data-column-id]{color:#17173a;display:inline;font-size:16px;font-weight:600;text-transform:capitalize}.nutana-table .rdt_TableCol_Sortable .status-col-tooltip{vertical-align:middle}.nutana-table .rdt_TableCol_Sortable .status-col-tooltip .RCB-tooltip-btn{margin-left:5px;border:unset}.nutana-table .column-kebab-menu .RCB-inline-modal-btn{padding:0}.nutana-table .column-kebab-menu .RCB-inline-modal-body{border-radius:4px;width:max-content}.nutana-table .left-line{border-left:1px solid #dde2ee;height:20px;padding-left:12px}.nutana-table .dd-menu-item{align-items:center;cursor:pointer;color:#6F6F8D;display:flex;font-size:14px;font-weight:600;padding:12px 16px}.nutana-table .dd-menu-item:hover{box-shadow:inset 3px 0 0 0 #3E71F2;background-color:#F4F8FF;color:#17173A}.nutana-table .dd-menu-item:hover .tbl-plus-icon{background-position:-1988px -2777px}.nutana-table .dd-menu-item:hover .tbl-file-icon{background-position:-2031px -2777px}.nutana-table .dd-menu-item .menu-icon{margin-right:8px}.nutana-table .dd-menu-item.no-more-queries-disabled{color:#bfc8ce;text-decoration:none;cursor:no-drop}.nutana-table .status-btn{border:1px solid;border-radius:37px;font-size:12px;font-weight:600;letter-spacing:.42px;padding:3px 8px}.nutana-table .status-btn__active{background-color:#e9f8f3;border-color:#90DCC1;color:#00C48C}.nutana-table .status-btn__draft{background-color:#e1e8fa;border-color:#8BACFF;color:#0A8FFD}.nutana-table .status-btn__upcoming{background-color:#fff5de;border-color:#FEE199;color:#C39C5B}.nutana-table .status-btn__expired{background:#FFE6E6;border-color:#FF8484;color:#F05C5C}.nutana-table .status-btn__stopped{background:#EFEFEF;border-color:#A0A0A0;color:#6F6F8D}.nutana-table .status-btns{margin-bottom:0}.nutana-table .merch-rule-type{border:1px solid #dae1e9;border-radius:12px;background-color:#ffffff;color:#687f8f;font-size:10px;padding:4px 9px}.nutana-table .campaign-type-icon span:first-of-type:before{content:"";margin-right:2px}.nutana-table .vertical-menu-icon{background-position:-1946px -2744px;height:18px;transform:scale(1.3);width:18px}.nutana-table .vertical-menu-icon:hover{background-position:-1946px -2778px}.nutana-table .right-triangle-icon{background-position:-1857px -2745px;height:20px;transform:scale(1);width:20px}.nutana-table .delete-text{color:#F05C5C}.nutana-table .loading-anim-wrap{padding:18px 24px;width:100%}.nutana-table .global{align-items:center;color:#3E71F2;text-transform:capitalize}.nutana-table .global .glob-icon{margin-right:3px;margin-left:-2px}.nutana-table .meta-info-bg{background-color:#F4F8FF;border-radius:6px;padding:16px;width:fit-content}.nutana-table .mb-5{margin-bottom:5px}.nutana-table .mb-0{margin-bottom:0}.nutana-table .mb-3{margin-bottom:3px}.nutana-table .mt-2{margin-top:2px}.nutana-table .pl-3{padding-left:3px}.nutana-table .pl-10{padding-left:10px}.RCB-table{font-size:14px}.RCB-table thead{border:1px solid #DADFE6}.RCB-table th{color:#FFF;background-color:#5C7185;padding:10px 8px;text-align:left}.RCB-table .RCB-tr{height:41px}.RCB-table td{padding:6px;background-color:#FFF;border-bottom:1px solid #E8EDEF}.RCB-table .RCB-form-el-cont{margin:0}.RCB-th-sortable:after{content:" ";margin-left:7px}.RCB-paginate-bar{color:#445870;font-size:14px;padding:7px 18px;border:1px solid #DADFE6;border-radius:7px 7px 0 0;background-color:#eef2fc}.RCB-paginate-bar .RCB-dropdown .RCB-inline-modal{border:none}.RCB-paginate-bar .RCB-inline-modal-btn{background:transparent;padding:0}
1
+ .RCB-table{border-collapse:collapse;width:100%}.RCB-th.RCB-expand-column{width:50px}.RCB-th-sortable{cursor:pointer}.RCB-th-sort:after{content:"\2B0D"}.RCB-th-asc:after{content:"\25B2"}.RCB-th-dsc:after{content:"\25BC"}.RCB-tr .expand-open:before{content:"▼"}.RCB-tr .expand-close:before{content:"▶"}.RCB-paginate-wrapper .RCB-per-page-count{display:inline-block}.RCB-paginate-wrapper .RCB-form-el-cont{margin:0}.RCB-paginate-wrapper .RCB-inline-modal-btn{background:transparent;padding:0}.RCB-paginate-nav{display:inline-block;border-radius:12px;border:solid 1px #8399ae;background-color:#f6f7f9;vertical-align:middle;margin-left:15px;overflow:hidden}.RCB-page-nav{padding:0 5px;text-decoration:none;color:inherit}.RCB-page-nav:first-child{border-right:solid 1px #8399ae}.RCB-page-nav.disabled{color:#ccc;pointer-events:none;cursor:not-allowed}.RCB-no-data{text-align:center}.nutana-table{font-family:Nunito Sans, Helvetica Neue, Helvetica, Roboto, "sans-serif";letter-spacing:0.42px;max-height:unset !important;min-height:unset !important;overflow:inherit !important;z-index:20}.nutana-table .rdt_TableRow{border-bottom-color:#DDE2EE !important}.nutana-table .rdt_TableRow:hover{background-color:#F4F8FF}.nutana-table .rdt_TableRow:hover .readable{color:#3E71F2;cursor:pointer}.nutana-table .rdt_TableRow:hover .view-one{background-color:#F4F8FF}.nutana-table .rdt_TableRow:hover .view-one .no-metric-wrap{background-color:#F4F8FF !important}.nutana-table .rdt_TableRow:hover .rdt_TableCell:first-child,.nutana-table .rdt_TableRow:hover [aria-label="Expand Row"]{box-shadow:inset 3px 0px 0px 0px #3E71F2}.nutana-table .rdt_TableRow .rdt_TableCell{padding:0;border-right:unset}.nutana-table .rdt_TableRow .rdt_TableCell:first-child{border-left:1px solid #DDE2EE}.nutana-table .rdt_TableRow .rdt_TableCell:last-child{border-right:1px solid #DDE2EE}.nutana-table.first-clm-sticky{overflow-x:auto;overflow-y:hidden}.nutana-table.first-clm-sticky .rdt_TableRow .rdt_TableCell:first-child{background:white;border-right:1px solid #dde2ee;box-shadow:5px 10px 15px 0px #17173A14;position:sticky;left:0;z-index:9}.nutana-table.first-clm-sticky .rdt_TableRow:hover .rdt_TableCell:first-child{background-color:#F4F8FF}.nutana-table.first-clm-sticky .rdt_TableHeadRow .rdt_TableCol:first-child{background:white;border-right:1px solid #dde2ee;position:sticky;left:0;z-index:9}.nutana-table.last-clm-sticky{overflow-x:auto;overflow-y:hidden}.nutana-table.last-clm-sticky .rdt_TableRow .rdt_TableCell:last-child{background:white;border-left:1px solid #dde2ee;box-shadow:-5px 10px 15px 0px #17173A14;position:sticky;left:unset;right:0;z-index:9}.nutana-table.last-clm-sticky .rdt_TableRow:hover .rdt_TableCell:last-child{background-color:#F4F8FF}.nutana-table.last-clm-sticky .rdt_TableHeadRow .rdt_TableCol:last-child{background:white;border-left:1px solid #dde2ee;position:sticky;left:unset;right:0;z-index:9}.nutana-table .tbl-content{padding:18px 24px;width:100%}.nutana-table .header-title{color:#17173A;display:inline;font-weight:600;font-size:16px;text-transform:capitalize}.nutana-table .tbl-title-1{color:#17173A;font-size:16px;font-weight:600;margin-bottom:14px}.nutana-table .tbl-title-2{color:#17173A;font-size:14px;font-weight:600}.nutana-table .tbl-title-3{color:#17173A;font-size:12px;font-weight:600}.nutana-table .tbl-desc-1{color:#6F6F8D;font-size:16px;font-weight:600;margin-bottom:14px}.nutana-table .tbl-desc-2{color:#6F6F8D;font-size:14px;font-weight:600;margin-bottom:14px}.nutana-table .tbl-desc-3{color:#6F6F8D;font-size:12px;font-weight:600;letter-spacing:.42px}.nutana-table .rdt_TableHeadRow{box-shadow:0px 5px 15px 0px #17173A14;border-color:#DDE2EE;z-index:10}.nutana-table .rdt_TableHeadRow .rdt_TableCol:first-child{border-right:unset;border-left:1px solid #dde2ee;border-top:1px solid #dde2ee;border-top-left-radius:8px;margin:0}.nutana-table .rdt_TableHeadRow .rdt_TableCol{border-right:unset;border-color:#DDE2EE;padding:16px 24px}.nutana-table .rdt_TableHeadRow .rdt_TableCol:last-child{border-right:1px solid #DDE2EE;border-top-right-radius:8px}.nutana-table .rdt_TableCol_Sortable [data-column-id]{color:#17173a;display:inline;font-size:16px;font-weight:600;text-transform:capitalize}.nutana-table .rdt_TableCol_Sortable .status-col-tooltip{vertical-align:middle}.nutana-table .rdt_TableCol_Sortable .status-col-tooltip .RCB-tooltip-btn{margin-left:5px;border:unset}.nutana-table .column-kebab-menu .RCB-inline-modal-btn{padding:0}.nutana-table .column-kebab-menu .RCB-inline-modal-body{border-radius:4px;width:max-content}.nutana-table .left-line{border-left:1px solid #dde2ee;height:20px;padding-left:12px}.nutana-table .dd-menu-item{align-items:center;cursor:pointer;color:#6F6F8D;display:flex;font-size:14px;font-weight:600;padding:12px 16px}.nutana-table .dd-menu-item:hover{box-shadow:inset 3px 0 0 0 #3E71F2;background-color:#F4F8FF;color:#17173A}.nutana-table .dd-menu-item:hover .tbl-plus-icon{background-position:-1988px -2777px}.nutana-table .dd-menu-item:hover .tbl-file-icon{background-position:-2031px -2777px}.nutana-table .dd-menu-item .menu-icon{margin-right:8px}.nutana-table .dd-menu-item.no-more-queries-disabled{color:#bfc8ce;text-decoration:none;cursor:no-drop}.nutana-table .status-btn{border:1px solid;border-radius:37px;font-size:12px;font-weight:600;letter-spacing:.42px;padding:3px 8px}.nutana-table .status-btn__active{background-color:#e9f8f3;border-color:#90DCC1;color:#00C48C}.nutana-table .status-btn__draft{background-color:#e1e8fa;border-color:#8BACFF;color:#0A8FFD}.nutana-table .status-btn__upcoming{background-color:#fff5de;border-color:#FEE199;color:#C39C5B}.nutana-table .status-btn__expired{background:#FFE6E6;border-color:#FF8484;color:#F05C5C}.nutana-table .status-btn__stopped{background:#EFEFEF;border-color:#A0A0A0;color:#6F6F8D}.nutana-table .status-btns{margin-bottom:0}.nutana-table .merch-rule-type{border:1px solid #dae1e9;border-radius:12px;background-color:#ffffff;color:#687f8f;font-size:10px;padding:4px 9px}.nutana-table .campaign-type-icon span:first-of-type:before{content:"";margin-right:2px}.nutana-table .vertical-menu-icon{background-position:-1946px -2744px;height:18px;transform:scale(1.3);width:18px}.nutana-table .vertical-menu-icon:hover{background-position:-1946px -2778px}.nutana-table .right-triangle-icon{background-position:-1857px -2745px;height:20px;transform:scale(1);width:20px}.nutana-table .delete-text{color:#F05C5C}.nutana-table .loading-anim-wrap{padding:18px 24px;width:100%}.nutana-table .global{align-items:center;color:#3E71F2;text-transform:capitalize}.nutana-table .global .glob-icon{margin-right:3px;margin-left:-2px}.nutana-table .meta-info-bg{background-color:#F4F8FF;border-radius:6px;padding:16px;width:fit-content}.nutana-table .mb-5{margin-bottom:5px}.nutana-table .mb-0{margin-bottom:0}.nutana-table .mb-3{margin-bottom:3px}.nutana-table .mt-2{margin-top:2px}.nutana-table .pl-3{padding-left:3px}.nutana-table .pl-10{padding-left:10px}.RCB-table{font-size:14px}.RCB-table thead{border:1px solid #DADFE6}.RCB-table th{color:#FFF;background-color:#5C7185;padding:10px 8px;text-align:left}.RCB-table .RCB-tr{height:41px}.RCB-table td{padding:6px;background-color:#FFF;border-bottom:1px solid #E8EDEF}.RCB-table .RCB-form-el-cont{margin:0}.RCB-th-sortable:after{content:" ";margin-left:7px}.RCB-paginate-bar{color:#445870;font-size:14px;padding:7px 18px;border:1px solid #DADFE6;border-radius:7px 7px 0 0;background-color:#eef2fc}.RCB-paginate-bar .RCB-dropdown .RCB-inline-modal{border:none}.RCB-paginate-bar .RCB-inline-modal-btn{background:transparent;padding:0}.rdt_Pagination{border-color:#DDE2EE !important;border-bottom-left-radius:8px;border-bottom-right-radius:8px}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.warningToast = exports.successToast = exports.resetToast = exports.infoToast = exports.errorToast = exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ 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; }
13
+ 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; }
14
+ 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; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
+ 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); }
17
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
18
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
20
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
21
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
22
+ 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."); }
23
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
24
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
27
+ var TOAST_ICON_MAP = {
28
+ success: "toast-success",
29
+ error: "toast-error",
30
+ warning: "toast-warn",
31
+ info: "toast-info"
32
+ };
33
+ var addToastExternal;
34
+ var resetToastExternal;
35
+ var removeToastExternal;
36
+ var ToastNotificationWrapper = function ToastNotificationWrapper() {
37
+ var _useState = (0, _react.useState)([]),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ toasts = _useState2[0],
40
+ setToasts = _useState2[1];
41
+ addToastExternal = function addToastExternal(toast) {
42
+ var _toast$appearance = toast.appearance,
43
+ appearance = _toast$appearance === void 0 ? "info" : _toast$appearance,
44
+ message = toast.message,
45
+ _toast$fadeOutTime = toast.fadeOutTime,
46
+ fadeOutTime = _toast$fadeOutTime === void 0 ? 6000 : _toast$fadeOutTime,
47
+ _toast$toastPosition = toast.toastPosition,
48
+ toastPosition = _toast$toastPosition === void 0 ? "bottom-left" : _toast$toastPosition,
49
+ _toast$autoClose = toast.autoClose,
50
+ autoClose = _toast$autoClose === void 0 ? appearance !== "error" : _toast$autoClose;
51
+ var newToast = {
52
+ id: Date.now(),
53
+ appearance: appearance,
54
+ message: message,
55
+ fadeOutTime: fadeOutTime,
56
+ position: toastPosition,
57
+ autoClose: autoClose
58
+ };
59
+
60
+ // Use functional setState to avoid stale closure
61
+ setToasts(function (prevToasts) {
62
+ var filterToast = prevToasts.filter(function (toast) {
63
+ return toast.message !== newToast.message;
64
+ });
65
+ return [newToast].concat(_toConsumableArray(filterToast));
66
+ });
67
+ };
68
+ resetToastExternal = function resetToastExternal() {
69
+ setToasts([]);
70
+ };
71
+ removeToastExternal = function removeToastExternal(id) {
72
+ setToasts(function (prevToasts) {
73
+ return prevToasts.filter(function (toast) {
74
+ return toast.id !== id;
75
+ });
76
+ });
77
+ };
78
+
79
+ // Group toasts by position for proper stacking
80
+ var toastsByPosition = toasts.reduce(function (acc, toast) {
81
+ if (!acc[toast.position]) {
82
+ acc[toast.position] = [];
83
+ }
84
+ acc[toast.position].push(toast);
85
+ return acc;
86
+ }, {});
87
+
88
+ // Helper function to determine stacking order
89
+ var getStackedToasts = function getStackedToasts(positionToasts, position) {
90
+ // For top positions, newest toasts should appear below existing ones
91
+ // For bottom positions, newest toasts should appear above existing ones
92
+ if (position.startsWith('top-')) {
93
+ return _toConsumableArray(positionToasts).reverse(); // Reverse for top positions
94
+ }
95
+ return positionToasts; // Keep original order for bottom positions
96
+ };
97
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, Object.entries(toastsByPosition).map(function (_ref) {
98
+ var _ref2 = _slicedToArray(_ref, 2),
99
+ position = _ref2[0],
100
+ positionToasts = _ref2[1];
101
+ return /*#__PURE__*/_react["default"].createElement("div", {
102
+ key: position,
103
+ className: "notification-outer-wrapper ".concat(position)
104
+ }, getStackedToasts(positionToasts, position).map(function (toast) {
105
+ return /*#__PURE__*/_react["default"].createElement("div", {
106
+ className: "toast ".concat(toast.appearance, " ").concat(toast.appearance === "success" ? "unx-qa-toastsucess" : "unx-qa-toasterror"),
107
+ key: toast.id
108
+ }, /*#__PURE__*/_react["default"].createElement("div", {
109
+ className: "message-icon-box"
110
+ }, /*#__PURE__*/_react["default"].createElement("span", {
111
+ className: TOAST_ICON_MAP[toast.appearance]
112
+ }), /*#__PURE__*/_react["default"].createElement("span", {
113
+ className: "message"
114
+ }, toast.message)), /*#__PURE__*/_react["default"].createElement("button", {
115
+ className: "toast-close",
116
+ onClick: function onClick() {
117
+ return removeToastExternal(toast.id);
118
+ }
119
+ }, "\xD7"), /*#__PURE__*/_react["default"].createElement(ProgressBar, {
120
+ id: toast.id,
121
+ autoClose: toast.autoClose,
122
+ fadeOutTime: toast.fadeOutTime,
123
+ appearance: toast.appearance
124
+ }));
125
+ }));
126
+ }));
127
+ };
128
+ var ProgressBar = function ProgressBar(_ref3) {
129
+ var id = _ref3.id,
130
+ fadeOutTime = _ref3.fadeOutTime,
131
+ autoClose = _ref3.autoClose,
132
+ appearance = _ref3.appearance;
133
+ var _useState3 = (0, _react.useState)(100),
134
+ _useState4 = _slicedToArray(_useState3, 2),
135
+ progress = _useState4[0],
136
+ setProgress = _useState4[1];
137
+ (0, _react.useEffect)(function () {
138
+ if (!autoClose) return;
139
+ var decrement = 100 / (fadeOutTime / 100);
140
+ var interval = setInterval(function () {
141
+ setProgress(function (prev) {
142
+ var newProgress = prev - decrement;
143
+ if (newProgress <= 0) {
144
+ // Schedule removal on next tick to avoid state updates during render
145
+ setTimeout(function () {
146
+ return removeToastExternal(id);
147
+ }, 0);
148
+ return 0;
149
+ }
150
+ return newProgress;
151
+ });
152
+ }, 100);
153
+
154
+ // Cleanup function
155
+ return function () {
156
+ clearInterval(interval);
157
+ };
158
+ }, [id, fadeOutTime, autoClose]);
159
+ return /*#__PURE__*/_react["default"].createElement("div", {
160
+ className: "toast-progress ".concat(appearance),
161
+ style: {
162
+ width: "".concat(progress, "%")
163
+ }
164
+ });
165
+ };
166
+ ProgressBar.propTypes = {
167
+ /** Unique identifier for the toast */
168
+ id: _propTypes["default"].number.isRequired,
169
+ /** Time in milliseconds before toast auto-closes */
170
+ fadeOutTime: _propTypes["default"].number,
171
+ /** Whether the toast should auto-close */
172
+ autoClose: _propTypes["default"].bool,
173
+ /** Visual appearance of the toast */
174
+ appearance: _propTypes["default"].oneOf(['success', 'error', 'warning', 'info'])
175
+ };
176
+ var successToast = exports.successToast = function successToast(message) {
177
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
178
+ if (!addToastExternal) throw new Error("ToastNotificationWrapper not initialized");
179
+ addToastExternal(_objectSpread(_objectSpread({}, options), {}, {
180
+ appearance: "success",
181
+ message: message
182
+ }));
183
+ };
184
+ var errorToast = exports.errorToast = function errorToast(message) {
185
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
186
+ if (!addToastExternal) throw new Error("ToastNotificationWrapper not initialized");
187
+ addToastExternal(_objectSpread(_objectSpread({}, options), {}, {
188
+ appearance: "error",
189
+ message: message
190
+ }));
191
+ };
192
+ var warningToast = exports.warningToast = function warningToast(message) {
193
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
194
+ if (!addToastExternal) throw new Error("ToastNotificationWrapper not initialized");
195
+ addToastExternal(_objectSpread(_objectSpread({}, options), {}, {
196
+ appearance: "warning",
197
+ message: message
198
+ }));
199
+ };
200
+ var infoToast = exports.infoToast = function infoToast(message) {
201
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
202
+ if (!addToastExternal) throw new Error("ToastNotificationWrapper not initialized");
203
+ addToastExternal(_objectSpread(_objectSpread({}, options), {}, {
204
+ appearance: "info",
205
+ message: message
206
+ }));
207
+ };
208
+ var resetToast = exports.resetToast = function resetToast() {
209
+ if (!resetToastExternal) throw new Error("ToastNotificationWrapper not initialized");
210
+ resetToastExternal();
211
+ };
212
+ var _default = exports["default"] = ToastNotificationWrapper;