@bigbinary/neetoui 8.3.71 → 8.3.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Alert.js CHANGED
@@ -38,13 +38,15 @@ import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
38
38
  import '@babel/runtime/helpers/esm/inheritsLoose';
39
39
  import 'react-dom';
40
40
 
41
- var _excluded = ["size", "isOpen", "isSubmitting", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "onClose", "onSubmit", "title", "message", "submitButtonLabel", "cancelButtonLabel", "initialFocusRef", "initialFocusElement", "hideCancelButton"];
41
+ var _excluded = ["size", "isOpen", "isSubmitting", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "onClose", "onSubmit", "title", "message", "submitButtonLabel", "cancelButtonLabel", "initialFocusRef", "initialFocusElement", "hideCancelButton", "style"];
42
42
  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; }
43
43
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
44
44
  var SIZES = {
45
45
  medium: "medium"};
46
46
  var FOCUSABLE_ELEMENTS = {
47
47
  submit: "submit"};
48
+ var ALERT_STYLES = {
49
+ danger: "danger"};
48
50
  var Alert = function Alert(_ref) {
49
51
  var _ref$size = _ref.size,
50
52
  size = _ref$size === void 0 ? SIZES.medium : _ref$size,
@@ -78,6 +80,8 @@ var Alert = function Alert(_ref) {
78
80
  initialFocusElement = _ref.initialFocusElement,
79
81
  _ref$hideCancelButton = _ref.hideCancelButton,
80
82
  hideCancelButton = _ref$hideCancelButton === void 0 ? false : _ref$hideCancelButton,
83
+ _ref$style = _ref.style,
84
+ submitButtonStyle = _ref$style === void 0 ? ALERT_STYLES.danger : _ref$style,
81
85
  otherProps = _objectWithoutProperties(_ref, _excluded);
82
86
  var submitButtonRef = useRef(null);
83
87
  var cancelButtonRef = useRef(null);
@@ -136,7 +140,7 @@ var Alert = function Alert(_ref) {
136
140
  label: submitButtonLabel,
137
141
  loading: isSubmitting,
138
142
  ref: submitButtonRef,
139
- style: "danger",
143
+ style: submitButtonStyle,
140
144
  onClick: onSubmit
141
145
  })]
142
146
  })]
package/dist/Alert.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../src/components/Alert.jsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\n\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\nimport Typography from \"./Typography\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst FOCUSABLE_ELEMENTS = { submit: \"submit\", cancel: \"cancel\" };\n\nconst Alert = ({\n size = SIZES.medium,\n isOpen = false,\n isSubmitting = false,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel = \"Continue\",\n cancelButtonLabel = \"Cancel\",\n initialFocusRef,\n initialFocusElement,\n hideCancelButton = false,\n ...otherProps\n}) => {\n const submitButtonRef = useRef(null);\n const cancelButtonRef = useRef(null);\n\n const hasCustomFocusableElement = !!initialFocusRef || initialFocusElement;\n const initialFocusElementRef =\n initialFocusElement === FOCUSABLE_ELEMENTS.submit\n ? submitButtonRef\n : cancelButtonRef;\n\n // Generate unique IDs for title and message\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const ariaProps = {\n ...(title && { \"aria-labelledby\": titleId }),\n ...(message && { \"aria-describedby\": messageId }),\n };\n\n return (\n <Modal\n {...{\n backdropClassName,\n className,\n closeButton,\n closeOnEsc,\n closeOnOutsideClick,\n isOpen,\n onClose,\n size,\n ...(hasCustomFocusableElement && {\n initialFocusRef: initialFocusRef || initialFocusElementRef,\n }),\n ...ariaProps,\n ...otherProps,\n }}\n data-testid=\"alert-box\"\n role=\"alertdialog\"\n >\n <Modal.Header>\n <Typography data-testid=\"alert-title\" id={titleId} style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-testid=\"alert-message\"\n id={messageId}\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {message}\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center\">\n {!hideCancelButton && (\n <Button\n data-testid=\"alert-cancel-button\"\n label={cancelButtonLabel}\n ref={cancelButtonRef}\n style=\"tertiary\"\n onClick={onClose}\n />\n )}\n <Button\n data-testid=\"alert-submit-button\"\n disabled={isSubmitting || !isOpen}\n label={submitButtonLabel}\n loading={isSubmitting}\n ref={submitButtonRef}\n style=\"danger\"\n onClick={onSubmit}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nAlert.propTypes = {\n /**\n * To specify the size of the Alert.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Alert is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Alert is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the callback which will be invoked when the Alert is submitted.\n */\n onSubmit: PropTypes.func,\n /**\n * To provide title to the Alert.\n */\n title: PropTypes.string,\n /**\n * To provide description to the Alert.\n */\n message: PropTypes.node,\n /**\n * To add loading state to submit button\n */\n isSubmitting: PropTypes.bool,\n /**\n * To provide external classNames to the Alert.\n */\n className: PropTypes.string,\n /**\n * To close the Alert on pressing the `Esc` key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Alert should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To provide label to the submit button.\n */\n submitButtonLabel: PropTypes.string,\n /**\n * To provide label to the cancel button.\n */\n cancelButtonLabel: PropTypes.string,\n /**\n * To add custom classes to Backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Alert content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To specify the ref of the element which will receive focus when the Alert is opened.\n * If not specified, the focus will be set to the submit button inside the Alert.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * To specify the element which will receive focus when the Alert is opened.\n */\n initialFocusElement: PropTypes.oneOf(Object.values(FOCUSABLE_ELEMENTS)),\n /**\n * To hide the cancel button\n */\n hideCancelButton: PropTypes.bool,\n};\n\nexport default Alert;\n"],"names":["SIZES","small","medium","FOCUSABLE_ELEMENTS","submit","Alert","_ref","_ref$size","size","_ref$isOpen","isOpen","_ref$isSubmitting","isSubmitting","_ref$className","className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$onClose","onClose","_ref$onSubmit","onSubmit","_ref$title","title","_ref$message","message","_ref$submitButtonLabe","submitButtonLabel","_ref$cancelButtonLabe","cancelButtonLabel","initialFocusRef","initialFocusElement","_ref$hideCancelButton","hideCancelButton","otherProps","_objectWithoutProperties","_excluded","submitButtonRef","useRef","cancelButtonRef","hasCustomFocusableElement","initialFocusElementRef","baseId","useId","titleId","concat","messageId","ariaProps","_objectSpread","_jsxs","Modal","role","children","_jsx","Header","Typography","id","style","Body","lineHeight","Footer","Button","label","ref","onClick","disabled","loading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,KAAK,GAAG;AAAEC,EAAgBC,MAAM,EAAE,QAAyB,CAAC;AAElE,IAAMC,kBAAkB,GAAG;AAAEC,EAAAA,MAAM,EAAE,QAA2B,CAAC;AAEjE,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAmBL;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAlBJE,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGP,KAAK,CAACE,MAAM,GAAAK,SAAA;IAAAE,WAAA,GAAAH,IAAA,CACnBI,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;IAAAE,iBAAA,GAAAL,IAAA,CACdM,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,cAAA,GAAAP,IAAA,CACpBQ,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,eAAA,GAAAT,IAAA,CACdU,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;IAAAE,gBAAA,GAAAX,IAAA,CACjBY,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,gBAAA;IAAAE,qBAAA,GAAAb,IAAA,CAClBc,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAf,IAAA,CACtBgB,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,YAAA,GAAAjB,IAAA,CAC1BkB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,YAAA;IAAAE,aAAA,GAAAnB,IAAA,CAClBoB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,aAAA;IAAAE,UAAA,GAAArB,IAAA,CACnBsB,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IAAAE,YAAA,GAAAvB,IAAA,CACVwB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,qBAAA,GAAAzB,IAAA,CACZ0B,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,qBAAA;IAAAE,qBAAA,GAAA3B,IAAA,CAC9B4B,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,qBAAA;IAC5BE,eAAe,GAAA7B,IAAA,CAAf6B,eAAe;IACfC,mBAAmB,GAAA9B,IAAA,CAAnB8B,mBAAmB;IAAAC,qBAAA,GAAA/B,IAAA,CACnBgC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;AACrBE,IAAAA,UAAU,GAAAC,wBAAA,CAAAlC,IAAA,EAAAmC,SAAA,CAAA;AAEb,EAAA,IAAMC,eAAe,GAAGC,MAAM,CAAC,IAAI,CAAC;AACpC,EAAA,IAAMC,eAAe,GAAGD,MAAM,CAAC,IAAI,CAAC;AAEpC,EAAA,IAAME,yBAAyB,GAAG,CAAC,CAACV,eAAe,IAAIC,mBAAmB;EAC1E,IAAMU,sBAAsB,GAC1BV,mBAAmB,KAAKjC,kBAAkB,CAACC,MAAM,GAC7CsC,eAAe,GACfE,eAAe;;AAErB;AACA,EAAA,IAAMG,MAAM,GAAGC,KAAK,EAAE;AACtB,EAAA,IAAMC,OAAO,GAAA,cAAA,CAAAC,MAAA,CAAkBH,MAAM,CAAE;AACvC,EAAA,IAAMI,SAAS,GAAA,gBAAA,CAAAD,MAAA,CAAoBH,MAAM,CAAE;AAC3C,EAAA,IAAMK,SAAS,GAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACTzB,KAAK,IAAI;AAAE,IAAA,iBAAiB,EAAEqB;GAAS,CAAA,EACvCnB,OAAO,IAAI;AAAE,IAAA,kBAAkB,EAAEqB;AAAU,GAAC,CACjD;AAED,EAAA,oBACEG,IAAA,CAACC,KAAK,EAAAF,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AAEFjC,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBN,IAAAA,SAAS,EAATA,SAAS;AACTI,IAAAA,WAAW,EAAXA,WAAW;AACXF,IAAAA,UAAU,EAAVA,UAAU;AACVM,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBZ,IAAAA,MAAM,EAANA,MAAM;AACNc,IAAAA,OAAO,EAAPA,OAAO;AACPhB,IAAAA,IAAI,EAAJA;AAAI,GAAA,EACAqC,yBAAyB,IAAI;IAC/BV,eAAe,EAAEA,eAAe,IAAIW;GACrC,CAAA,EACEM,SAAS,CAAA,EACTb,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;AAEf,IAAA,aAAA,EAAY,WAAW;AACvBiB,IAAAA,IAAI,EAAC,aAAa;AAAAC,IAAAA,QAAA,EAAA,cAElBC,GAAA,CAACH,KAAK,CAACI,MAAM,EAAA;MAAAF,QAAA,eACXC,GAAA,CAACE,UAAU,EAAA;AAAC,QAAA,aAAA,EAAY,aAAa;AAACC,QAAAA,EAAE,EAAEZ,OAAQ;AAACa,QAAAA,KAAK,EAAC,IAAI;AAAAL,QAAAA,QAAA,EAC1D7B;OACS;AAAC,KACD,CAAC,eACf8B,GAAA,CAACH,KAAK,CAACQ,IAAI,EAAA;MAAAN,QAAA,eACTC,GAAA,CAACE,UAAU,EAAA;AACT,QAAA,aAAA,EAAY,eAAe;AAC3BC,QAAAA,EAAE,EAAEV,SAAU;AACda,QAAAA,UAAU,EAAC,QAAQ;AACnBF,QAAAA,KAAK,EAAC,OAAO;AAAAL,QAAAA,QAAA,EAEZ3B;OACS;AAAC,KACH,CAAC,eACbwB,IAAA,CAACC,KAAK,CAACU,MAAM,EAAA;AAACnD,MAAAA,SAAS,EAAC,yEAAyE;AAAA2C,MAAAA,QAAA,GAC9F,CAACnB,gBAAgB,iBAChBoB,GAAA,CAACQ,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,qBAAqB;AACjCC,QAAAA,KAAK,EAAEjC,iBAAkB;AACzBkC,QAAAA,GAAG,EAAExB,eAAgB;AACrBkB,QAAAA,KAAK,EAAC,UAAU;AAChBO,QAAAA,OAAO,EAAE7C;AAAQ,OAClB,CACF,eACDkC,GAAA,CAACQ,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,qBAAqB;AACjCI,QAAAA,QAAQ,EAAE1D,YAAY,IAAI,CAACF,MAAO;AAClCyD,QAAAA,KAAK,EAAEnC,iBAAkB;AACzBuC,QAAAA,OAAO,EAAE3D,YAAa;AACtBwD,QAAAA,GAAG,EAAE1B,eAAgB;AACrBoB,QAAAA,KAAK,EAAC,QAAQ;AACdO,QAAAA,OAAO,EAAE3C;AAAS,OACnB,CAAC;AAAA,KACU,CAAC;AAAA,GAAA,CACV,CAAC;AAEZ;;;;"}
1
+ {"version":3,"file":"Alert.js","sources":["../src/components/Alert.jsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\n\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\nimport Typography from \"./Typography\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst FOCUSABLE_ELEMENTS = { submit: \"submit\", cancel: \"cancel\" };\n\nconst ALERT_STYLES = { danger: \"danger\", warning: \"warning\" };\n\nconst Alert = ({\n size = SIZES.medium,\n isOpen = false,\n isSubmitting = false,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel = \"Continue\",\n cancelButtonLabel = \"Cancel\",\n initialFocusRef,\n initialFocusElement,\n hideCancelButton = false,\n style: submitButtonStyle = ALERT_STYLES.danger,\n ...otherProps\n}) => {\n const submitButtonRef = useRef(null);\n const cancelButtonRef = useRef(null);\n\n const hasCustomFocusableElement = !!initialFocusRef || initialFocusElement;\n const initialFocusElementRef =\n initialFocusElement === FOCUSABLE_ELEMENTS.submit\n ? submitButtonRef\n : cancelButtonRef;\n\n // Generate unique IDs for title and message\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const ariaProps = {\n ...(title && { \"aria-labelledby\": titleId }),\n ...(message && { \"aria-describedby\": messageId }),\n };\n\n return (\n <Modal\n {...{\n backdropClassName,\n className,\n closeButton,\n closeOnEsc,\n closeOnOutsideClick,\n isOpen,\n onClose,\n size,\n ...(hasCustomFocusableElement && {\n initialFocusRef: initialFocusRef || initialFocusElementRef,\n }),\n ...ariaProps,\n ...otherProps,\n }}\n data-testid=\"alert-box\"\n role=\"alertdialog\"\n >\n <Modal.Header>\n <Typography data-testid=\"alert-title\" id={titleId} style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-testid=\"alert-message\"\n id={messageId}\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {message}\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center\">\n {!hideCancelButton && (\n <Button\n data-testid=\"alert-cancel-button\"\n label={cancelButtonLabel}\n ref={cancelButtonRef}\n style=\"tertiary\"\n onClick={onClose}\n />\n )}\n <Button\n data-testid=\"alert-submit-button\"\n disabled={isSubmitting || !isOpen}\n label={submitButtonLabel}\n loading={isSubmitting}\n ref={submitButtonRef}\n style={submitButtonStyle}\n onClick={onSubmit}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nAlert.propTypes = {\n /**\n * To specify the size of the Alert.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Alert is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Alert is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the callback which will be invoked when the Alert is submitted.\n */\n onSubmit: PropTypes.func,\n /**\n * To provide title to the Alert.\n */\n title: PropTypes.string,\n /**\n * To provide description to the Alert.\n */\n message: PropTypes.node,\n /**\n * To add loading state to submit button\n */\n isSubmitting: PropTypes.bool,\n /**\n * To provide external classNames to the Alert.\n */\n className: PropTypes.string,\n /**\n * To close the Alert on pressing the `Esc` key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Alert should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To provide label to the submit button.\n */\n submitButtonLabel: PropTypes.string,\n /**\n * To provide label to the cancel button.\n */\n cancelButtonLabel: PropTypes.string,\n /**\n * To add custom classes to Backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Alert content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To specify the ref of the element which will receive focus when the Alert is opened.\n * If not specified, the focus will be set to the submit button inside the Alert.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * To specify the element which will receive focus when the Alert is opened.\n */\n initialFocusElement: PropTypes.oneOf(Object.values(FOCUSABLE_ELEMENTS)),\n /**\n * To hide the cancel button\n */\n hideCancelButton: PropTypes.bool,\n /**\n * To specify the style of the Alert submit button.\n */\n style: PropTypes.oneOf(Object.values(ALERT_STYLES)),\n};\n\nexport default Alert;\n"],"names":["SIZES","small","medium","FOCUSABLE_ELEMENTS","submit","ALERT_STYLES","danger","Alert","_ref","_ref$size","size","_ref$isOpen","isOpen","_ref$isSubmitting","isSubmitting","_ref$className","className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$onClose","onClose","_ref$onSubmit","onSubmit","_ref$title","title","_ref$message","message","_ref$submitButtonLabe","submitButtonLabel","_ref$cancelButtonLabe","cancelButtonLabel","initialFocusRef","initialFocusElement","_ref$hideCancelButton","hideCancelButton","_ref$style","style","submitButtonStyle","otherProps","_objectWithoutProperties","_excluded","submitButtonRef","useRef","cancelButtonRef","hasCustomFocusableElement","initialFocusElementRef","baseId","useId","titleId","concat","messageId","ariaProps","_objectSpread","_jsxs","Modal","role","children","_jsx","Header","Typography","id","Body","lineHeight","Footer","Button","label","ref","onClick","disabled","loading"],"mappings":"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"}
package/dist/cjs/Alert.js CHANGED
@@ -40,13 +40,15 @@ require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
40
40
  require('@babel/runtime/helpers/esm/inheritsLoose');
41
41
  require('react-dom');
42
42
 
43
- var _excluded = ["size", "isOpen", "isSubmitting", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "onClose", "onSubmit", "title", "message", "submitButtonLabel", "cancelButtonLabel", "initialFocusRef", "initialFocusElement", "hideCancelButton"];
43
+ var _excluded = ["size", "isOpen", "isSubmitting", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "onClose", "onSubmit", "title", "message", "submitButtonLabel", "cancelButtonLabel", "initialFocusRef", "initialFocusElement", "hideCancelButton", "style"];
44
44
  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; }
45
45
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
46
46
  var SIZES = {
47
47
  medium: "medium"};
48
48
  var FOCUSABLE_ELEMENTS = {
49
49
  submit: "submit"};
50
+ var ALERT_STYLES = {
51
+ danger: "danger"};
50
52
  var Alert = function Alert(_ref) {
51
53
  var _ref$size = _ref.size,
52
54
  size = _ref$size === void 0 ? SIZES.medium : _ref$size,
@@ -80,6 +82,8 @@ var Alert = function Alert(_ref) {
80
82
  initialFocusElement = _ref.initialFocusElement,
81
83
  _ref$hideCancelButton = _ref.hideCancelButton,
82
84
  hideCancelButton = _ref$hideCancelButton === void 0 ? false : _ref$hideCancelButton,
85
+ _ref$style = _ref.style,
86
+ submitButtonStyle = _ref$style === void 0 ? ALERT_STYLES.danger : _ref$style,
83
87
  otherProps = _objectWithoutProperties(_ref, _excluded);
84
88
  var submitButtonRef = React.useRef(null);
85
89
  var cancelButtonRef = React.useRef(null);
@@ -138,7 +142,7 @@ var Alert = function Alert(_ref) {
138
142
  label: submitButtonLabel,
139
143
  loading: isSubmitting,
140
144
  ref: submitButtonRef,
141
- style: "danger",
145
+ style: submitButtonStyle,
142
146
  onClick: onSubmit
143
147
  })]
144
148
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../src/components/Alert.jsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\n\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\nimport Typography from \"./Typography\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst FOCUSABLE_ELEMENTS = { submit: \"submit\", cancel: \"cancel\" };\n\nconst Alert = ({\n size = SIZES.medium,\n isOpen = false,\n isSubmitting = false,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel = \"Continue\",\n cancelButtonLabel = \"Cancel\",\n initialFocusRef,\n initialFocusElement,\n hideCancelButton = false,\n ...otherProps\n}) => {\n const submitButtonRef = useRef(null);\n const cancelButtonRef = useRef(null);\n\n const hasCustomFocusableElement = !!initialFocusRef || initialFocusElement;\n const initialFocusElementRef =\n initialFocusElement === FOCUSABLE_ELEMENTS.submit\n ? submitButtonRef\n : cancelButtonRef;\n\n // Generate unique IDs for title and message\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const ariaProps = {\n ...(title && { \"aria-labelledby\": titleId }),\n ...(message && { \"aria-describedby\": messageId }),\n };\n\n return (\n <Modal\n {...{\n backdropClassName,\n className,\n closeButton,\n closeOnEsc,\n closeOnOutsideClick,\n isOpen,\n onClose,\n size,\n ...(hasCustomFocusableElement && {\n initialFocusRef: initialFocusRef || initialFocusElementRef,\n }),\n ...ariaProps,\n ...otherProps,\n }}\n data-testid=\"alert-box\"\n role=\"alertdialog\"\n >\n <Modal.Header>\n <Typography data-testid=\"alert-title\" id={titleId} style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-testid=\"alert-message\"\n id={messageId}\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {message}\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center\">\n {!hideCancelButton && (\n <Button\n data-testid=\"alert-cancel-button\"\n label={cancelButtonLabel}\n ref={cancelButtonRef}\n style=\"tertiary\"\n onClick={onClose}\n />\n )}\n <Button\n data-testid=\"alert-submit-button\"\n disabled={isSubmitting || !isOpen}\n label={submitButtonLabel}\n loading={isSubmitting}\n ref={submitButtonRef}\n style=\"danger\"\n onClick={onSubmit}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nAlert.propTypes = {\n /**\n * To specify the size of the Alert.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Alert is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Alert is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the callback which will be invoked when the Alert is submitted.\n */\n onSubmit: PropTypes.func,\n /**\n * To provide title to the Alert.\n */\n title: PropTypes.string,\n /**\n * To provide description to the Alert.\n */\n message: PropTypes.node,\n /**\n * To add loading state to submit button\n */\n isSubmitting: PropTypes.bool,\n /**\n * To provide external classNames to the Alert.\n */\n className: PropTypes.string,\n /**\n * To close the Alert on pressing the `Esc` key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Alert should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To provide label to the submit button.\n */\n submitButtonLabel: PropTypes.string,\n /**\n * To provide label to the cancel button.\n */\n cancelButtonLabel: PropTypes.string,\n /**\n * To add custom classes to Backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Alert content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To specify the ref of the element which will receive focus when the Alert is opened.\n * If not specified, the focus will be set to the submit button inside the Alert.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * To specify the element which will receive focus when the Alert is opened.\n */\n initialFocusElement: PropTypes.oneOf(Object.values(FOCUSABLE_ELEMENTS)),\n /**\n * To hide the cancel button\n */\n hideCancelButton: PropTypes.bool,\n};\n\nexport default Alert;\n"],"names":["SIZES","small","medium","FOCUSABLE_ELEMENTS","submit","Alert","_ref","_ref$size","size","_ref$isOpen","isOpen","_ref$isSubmitting","isSubmitting","_ref$className","className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$onClose","onClose","_ref$onSubmit","onSubmit","_ref$title","title","_ref$message","message","_ref$submitButtonLabe","submitButtonLabel","_ref$cancelButtonLabe","cancelButtonLabel","initialFocusRef","initialFocusElement","_ref$hideCancelButton","hideCancelButton","otherProps","_objectWithoutProperties","_excluded","submitButtonRef","useRef","cancelButtonRef","hasCustomFocusableElement","initialFocusElementRef","baseId","useId","titleId","concat","messageId","ariaProps","_objectSpread","_jsxs","Modal","role","children","_jsx","Header","Typography","id","style","Body","lineHeight","Footer","Button","label","ref","onClick","disabled","loading"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sources":["../../src/components/Alert.jsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\n\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\nimport Typography from \"./Typography\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst FOCUSABLE_ELEMENTS = { submit: \"submit\", cancel: \"cancel\" };\n\nconst ALERT_STYLES = { danger: \"danger\", warning: \"warning\" };\n\nconst Alert = ({\n size = SIZES.medium,\n isOpen = false,\n isSubmitting = false,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n onClose = () => {},\n onSubmit = () => {},\n title = \"\",\n message = \"\",\n submitButtonLabel = \"Continue\",\n cancelButtonLabel = \"Cancel\",\n initialFocusRef,\n initialFocusElement,\n hideCancelButton = false,\n style: submitButtonStyle = ALERT_STYLES.danger,\n ...otherProps\n}) => {\n const submitButtonRef = useRef(null);\n const cancelButtonRef = useRef(null);\n\n const hasCustomFocusableElement = !!initialFocusRef || initialFocusElement;\n const initialFocusElementRef =\n initialFocusElement === FOCUSABLE_ELEMENTS.submit\n ? submitButtonRef\n : cancelButtonRef;\n\n // Generate unique IDs for title and message\n const baseId = useId();\n const titleId = `alert-title-${baseId}`;\n const messageId = `alert-message-${baseId}`;\n const ariaProps = {\n ...(title && { \"aria-labelledby\": titleId }),\n ...(message && { \"aria-describedby\": messageId }),\n };\n\n return (\n <Modal\n {...{\n backdropClassName,\n className,\n closeButton,\n closeOnEsc,\n closeOnOutsideClick,\n isOpen,\n onClose,\n size,\n ...(hasCustomFocusableElement && {\n initialFocusRef: initialFocusRef || initialFocusElementRef,\n }),\n ...ariaProps,\n ...otherProps,\n }}\n data-testid=\"alert-box\"\n role=\"alertdialog\"\n >\n <Modal.Header>\n <Typography data-testid=\"alert-title\" id={titleId} style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-testid=\"alert-message\"\n id={messageId}\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {message}\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center\">\n {!hideCancelButton && (\n <Button\n data-testid=\"alert-cancel-button\"\n label={cancelButtonLabel}\n ref={cancelButtonRef}\n style=\"tertiary\"\n onClick={onClose}\n />\n )}\n <Button\n data-testid=\"alert-submit-button\"\n disabled={isSubmitting || !isOpen}\n label={submitButtonLabel}\n loading={isSubmitting}\n ref={submitButtonRef}\n style={submitButtonStyle}\n onClick={onSubmit}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nAlert.propTypes = {\n /**\n * To specify the size of the Alert.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Alert is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Alert is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the callback which will be invoked when the Alert is submitted.\n */\n onSubmit: PropTypes.func,\n /**\n * To provide title to the Alert.\n */\n title: PropTypes.string,\n /**\n * To provide description to the Alert.\n */\n message: PropTypes.node,\n /**\n * To add loading state to submit button\n */\n isSubmitting: PropTypes.bool,\n /**\n * To provide external classNames to the Alert.\n */\n className: PropTypes.string,\n /**\n * To close the Alert on pressing the `Esc` key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Alert should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To provide label to the submit button.\n */\n submitButtonLabel: PropTypes.string,\n /**\n * To provide label to the cancel button.\n */\n cancelButtonLabel: PropTypes.string,\n /**\n * To add custom classes to Backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Alert content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To specify the ref of the element which will receive focus when the Alert is opened.\n * If not specified, the focus will be set to the submit button inside the Alert.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * To specify the element which will receive focus when the Alert is opened.\n */\n initialFocusElement: PropTypes.oneOf(Object.values(FOCUSABLE_ELEMENTS)),\n /**\n * To hide the cancel button\n */\n hideCancelButton: PropTypes.bool,\n /**\n * To specify the style of the Alert submit button.\n */\n style: PropTypes.oneOf(Object.values(ALERT_STYLES)),\n};\n\nexport default Alert;\n"],"names":["SIZES","small","medium","FOCUSABLE_ELEMENTS","submit","ALERT_STYLES","danger","Alert","_ref","_ref$size","size","_ref$isOpen","isOpen","_ref$isSubmitting","isSubmitting","_ref$className","className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$onClose","onClose","_ref$onSubmit","onSubmit","_ref$title","title","_ref$message","message","_ref$submitButtonLabe","submitButtonLabel","_ref$cancelButtonLabe","cancelButtonLabel","initialFocusRef","initialFocusElement","_ref$hideCancelButton","hideCancelButton","_ref$style","style","submitButtonStyle","otherProps","_objectWithoutProperties","_excluded","submitButtonRef","useRef","cancelButtonRef","hasCustomFocusableElement","initialFocusElementRef","baseId","useId","titleId","concat","messageId","ariaProps","_objectSpread","_jsxs","Modal","role","children","_jsx","Header","Typography","id","Body","lineHeight","Footer","Button","label","ref","onClick","disabled","loading"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui",
3
- "version": "8.3.71",
3
+ "version": "8.3.72",
4
4
  "author": "BigBinary",
5
5
  "license": "MIT",
6
6
  "description": "neetoUI drives the experience at all neeto products",