@onewelcome/react-lib-components 3.0.1 → 4.1.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.
Files changed (37) hide show
  1. package/dist/cjs/Notifications/BaseModal/BaseModal.cjs.js +1 -1
  2. package/dist/cjs/Notifications/BaseModal/BaseModalActions/BaseModalActions.cjs.js +1 -1
  3. package/dist/cjs/Notifications/Dialog/DialogActions/DialogActions.cjs.js +1 -1
  4. package/dist/cjs/Notifications/Dialog/DialogActions/DialogActions.module.cjs.js +1 -1
  5. package/dist/cjs/Tag/Tag.cjs.js +2 -0
  6. package/dist/cjs/Tag/Tag.cjs.js.map +1 -0
  7. package/dist/cjs/Tag/Tag.module.cjs.js +2 -0
  8. package/dist/cjs/Tag/Tag.module.cjs.js.map +1 -0
  9. package/dist/cjs/Wizard/WizardActions/WizardActions.cjs.js +1 -1
  10. package/dist/cjs/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.d.ts +5 -3
  11. package/dist/cjs/src/components/Wizard/WizardActions/WizardActions.d.ts +0 -6
  12. package/dist/cjs/src/index.cjs.js +1 -1
  13. package/dist/cjs/src/index.d.ts +2 -0
  14. package/dist/esm/Notifications/BaseModal/BaseModal.esm.js +1 -1
  15. package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js +1 -1
  16. package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.esm.js +1 -1
  17. package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.module.esm.js +1 -1
  18. package/dist/esm/Tag/Tag.esm.js +2 -0
  19. package/dist/esm/Tag/Tag.esm.js.map +1 -0
  20. package/dist/esm/Tag/Tag.module.esm.js +2 -0
  21. package/dist/esm/Tag/Tag.module.esm.js.map +1 -0
  22. package/dist/esm/Wizard/WizardActions/WizardActions.esm.js +1 -1
  23. package/dist/esm/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.d.ts +5 -3
  24. package/dist/esm/src/components/Wizard/WizardActions/WizardActions.d.ts +0 -6
  25. package/dist/esm/src/index.d.ts +2 -0
  26. package/dist/esm/src/index.esm.js +1 -1
  27. package/package.json +1 -1
  28. package/src/components/Notifications/BaseModal/BaseModal.tsx +19 -3
  29. package/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +7 -22
  30. package/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx +20 -20
  31. package/src/components/Notifications/Dialog/Dialog.test.tsx +1 -2
  32. package/src/components/Notifications/Dialog/DialogActions/DialogActions.module.scss +14 -0
  33. package/src/components/Notifications/Dialog/DialogActions/DialogActions.tsx +2 -1
  34. package/src/components/Wizard/Wizard.test.tsx +3 -13
  35. package/src/components/Wizard/WizardActions/WizardActions.test.tsx +6 -18
  36. package/src/components/Wizard/WizardActions/WizardActions.tsx +0 -15
  37. package/src/index.ts +2 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("react-dom"),l=require("../../src/hooks/useGetDomRoot.cjs.js"),d=require("./BaseModal.module.cjs.js"),o=require("./BaseModalContext.cjs.js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e);const n="overflow",s=a=>{e.useEffect((()=>{a?document.body.style[n]="hidden":0===document.querySelectorAll("[role=dialog][data-hidden=false]").length&&document.body.style.removeProperty(n)}),[a])},i=r.default.forwardRef((({id:t,children:n,open:i,onClose:c,className:u="",containerProps:f,backdropProps:m,labelledby:v,describedby:b,disableEscapeKeyDown:y=!1,disableBackdrop:p=!1,forceContainerOpen:h=!1,zIndex:x,domRoot:E,...$},j)=>{var N,I,g;s(i);const k=e.useRef(null),{root:q}=l.useGetDomRoot(E,k);e.useEffect((()=>{var e;i&&(null===(e=k.current)||void 0===e||e.focus())}),[i]);return r.default.createElement("div",{ref:k},a.createPortal(r.default.createElement("div",{...$,ref:j,id:t,className:`${d.default.modal} ${i?d.default.visible:""} ${u}`,role:"dialog","aria-modal":"true","aria-labelledby":null!=v?v:o.labelId(t),"aria-describedby":null!=b?b:o.descriptionId(t),"aria-hidden":!i,tabIndex:-1,"data-hidden":!i,onKeyDown:e=>{y||"Escape"!==e.key||(e.stopPropagation(),null==c||c())},style:{zIndex:x}},r.default.createElement("div",{...m,className:`${d.default.backdrop} ${null!==(N=null==m?void 0:m.className)&&void 0!==N?N:""}`,onClick:()=>!p&&c&&c()}),h?r.default.createElement("div",{...f,"aria-hidden":!i,"data-element":"dialog",hidden:!i,style:{zIndex:x&&x+1},className:`${d.default.container} ${null!==(I=null==f?void 0:f.className)&&void 0!==I?I:""}`},n):i&&r.default.createElement("div",{...f,"data-element":"dialog",style:{zIndex:x&&x+1},className:`${d.default.container} ${null!==(g=null==f?void 0:f.className)&&void 0!==g?g:""}`},n)),q))}));exports.BaseModal=i,exports.useSetBodyScroll=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),l=require("react-dom"),a=require("../../src/hooks/useGetDomRoot.cjs.js"),d=require("./BaseModal.module.cjs.js"),o=require("./BaseModalContext.cjs.js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e);const n="overflow",s=l=>{e.useEffect((()=>{l?document.body.style[n]="hidden":0===document.querySelectorAll("[role=dialog][data-hidden=false]").length&&document.body.style.removeProperty(n)}),[l])},i=r.default.forwardRef((({id:t,children:n,open:i,onClose:u,className:c="",containerProps:f,backdropProps:m,labelledby:v,describedby:p,disableEscapeKeyDown:b=!1,disableBackdrop:y=!1,forceContainerOpen:E=!1,zIndex:h,domRoot:x,...$},j)=>{var N,C,I;s(i);const g=e.useRef(null),{root:k}=a.useGetDomRoot(x,g);e.useEffect((()=>{var e;i&&(null===(e=g.current)||void 0===e||e.focus())}),[i]);const q=()=>r.default.Children.map(n,(e=>{var l;return r.default.isValidElement(e)?r.default.cloneElement(e,{onClose:null!==(l=e.props.onClose)&&void 0!==l?l:u}):e}));return r.default.createElement("div",{ref:g},l.createPortal(r.default.createElement("div",{...$,ref:j,id:t,className:`${d.default.modal} ${i?d.default.visible:""} ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":null!=v?v:o.labelId(t),"aria-describedby":null!=p?p:o.descriptionId(t),"aria-hidden":!i,tabIndex:-1,"data-hidden":!i,onKeyDown:e=>{b||"Escape"!==e.key||(e.stopPropagation(),null==u||u())},style:{zIndex:h}},r.default.createElement("div",{...m,className:`${d.default.backdrop} ${null!==(N=null==m?void 0:m.className)&&void 0!==N?N:""}`,onClick:()=>!y&&u&&u()}),E?r.default.createElement("div",{...f,"aria-hidden":!i,"data-element":"dialog",hidden:!i,style:{zIndex:h&&h+1},className:`${d.default.container} ${null!==(C=null==f?void 0:f.className)&&void 0!==C?C:""}`},q()):i&&r.default.createElement("div",{...f,"data-element":"dialog",style:{zIndex:h&&h+1},className:`${d.default.container} ${null!==(I=null==f?void 0:f.className)&&void 0!==I?I:""}`},q())),k))}));exports.BaseModal=i,exports.useSetBodyScroll=s;
2
2
  //# sourceMappingURL=BaseModal.cjs.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./BaseModalActions.module.cjs.js"),a=require("../../../Button/Button.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=l(e);const r=c.default.forwardRef((({children:l,onClose:r,cancelAction:n={label:void 0,disable:!1},className:u="",...o},s)=>{var d;const i=c.default.createRef()||s,f=e.useRef(null),v=e.useRef(null),m=c.default.createElement(a.Button,{key:"cancel",variant:"text",color:"default",onClick:r},null!==(d=null==n?void 0:n.label)&&void 0!==d?d:"Cancel");return c.default.createElement("div",{...o,ref:i,className:`${t.default.actions} ${u}`},!n.disable&&c.default.createElement("div",{className:t.default["cancel-action"],ref:f},m),c.default.createElement("div",{ref:v,className:t.default["primary-actions"]},l))}));exports.BaseModalActions=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./BaseModalActions.module.cjs.js"),a=require("../../../Button/Button.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=l(e);const n=c.default.forwardRef((({children:l,cancelAction:n,cancelActionsClassName:r="",onClose:o,className:s="",...u},d)=>{const f=c.default.createRef()||d,i=e.useRef(null),m=e.useRef(null),v=c.default.createElement(a.Button,{variant:"text",color:"default",...null==n?void 0:n.cancelButtonProps,onClick:o},null==n?void 0:n.label);return c.default.createElement("div",{...u,ref:f,className:`${t.default.actions} ${s}`},n&&c.default.createElement("div",{className:`${t.default["cancel-action"]} ${r}`,ref:i},v),l&&c.default.createElement("div",{ref:m,className:t.default["primary-actions"]},l))}));exports.BaseModalActions=n;
2
2
  //# sourceMappingURL=BaseModalActions.cjs.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),l=require("../../BaseModal/BaseModalActions/BaseModalActions.cjs.js"),a=require("./DialogActions.module.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=o(e);const s=t.default.forwardRef((({children:e,cancelAction:o,onClose:s,...c},i)=>t.default.createElement(l.BaseModalActions,{...c,cancelAction:{label:null==o?void 0:o.label,disable:null==o?void 0:o.disable},onClose:s,ref:i,className:a.default.actions},e)));exports.DialogActions=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("../../BaseModal/BaseModalActions/BaseModalActions.cjs.js"),o=require("./DialogActions.module.cjs.js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=t(e);const s=c.default.forwardRef((({children:e,cancelAction:t,onClose:s,...l},n)=>c.default.createElement(a.BaseModalActions,{...l,cancelAction:t,cancelActionsClassName:o.default["cancel-action"],onClose:s,ref:n,className:o.default.actions},e)));exports.DialogActions=s;
2
2
  //# sourceMappingURL=DialogActions.cjs.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=".DialogActions_module_actions__e0b1287d *+*{margin-left:.5rem}";require("../../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.cjs.js").default(e,{}),exports.css=e,exports.default={actions:"DialogActions_module_actions__e0b1287d"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=".DialogActions_module_actions__3e00d0bf *+*{margin-left:.5rem}@media screen and (max-width:640px){.DialogActions_module_actions__3e00d0bf .DialogActions_module_cancelAction__3e00d0bf{align-items:flex-end;display:block;flex-direction:column;margin-bottom:.5rem;margin-left:0}.DialogActions_module_actions__3e00d0bf .DialogActions_module_cancelAction__3e00d0bf>*{width:100%}}";require("../../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.cjs.js").default(e,{}),exports.css=e,exports.default={actions:"DialogActions_module_actions__3e00d0bf","cancel-action":"DialogActions_module_cancelAction__3e00d0bf"};
2
2
  //# sourceMappingURL=DialogActions.module.cjs.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("../Icon/Icon.cjs.js"),r=require("./Tag.module.cjs.js"),t=require("../Typography/Typography.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(e);const n=e.forwardRef((({children:e,variant:o,icon:n,backgroundColor:c,color:i,...d},s)=>{var u;return l.default.createElement("div",{ref:s,className:`${"enabled"===o?r.default["tag-enabled"]:"disabled"===o?r.default["tag-disabled"]:void 0} ${r.default.tag} ${null!==(u=d.className)&&void 0!==u?u:""}`,style:{backgroundColor:c,color:i},...d},n?l.default.createElement(a.Icon,{size:"inherit",icon:n}):"enabled"===o?l.default.createElement(a.Icon,{size:"inherit",icon:a.Icons.CheckmarkCircleAlt}):"disabled"===o?l.default.createElement(a.Icon,{size:"inherit",icon:a.Icons.Forbidden}):void 0,l.default.createElement(t.Typography,{spacing:{marginBottom:0},variant:"body",className:r.default.label},e))}));exports.Tag=n;
2
+ //# sourceMappingURL=Tag.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var a=".Tag_module_tag__18af6da0{align-items:center;border-radius:3.125rem;display:inline-flex;font-size:.75rem;gap:.25rem;padding:.375rem .7rem}.Tag_module_tag__18af6da0.Tag_module_tagEnabled__18af6da0{background-color:var(--color-green100)}.Tag_module_tag__18af6da0.Tag_module_tagDisabled__18af6da0{background-color:var(--color-blue-grey100)}.Tag_module_tag__18af6da0 .Tag_module_label__18af6da0{color:inherit;font-size:inherit;line-height:.75rem}";require("../node_modules/rollup-plugin-styles/dist/runtime/inject-css.cjs.js").default(a,{}),exports.css=a,exports.default={tag:"Tag_module_tag__18af6da0","tag-enabled":"Tag_module_tagEnabled__18af6da0","tag-disabled":"Tag_module_tagDisabled__18af6da0",label:"Tag_module_label__18af6da0"};
2
+ //# sourceMappingURL=Tag.module.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag.module.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../Button/Button.cjs.js"),n=require("../WizardStateProvider.cjs.js"),r=require("../wizardStateReducer.cjs.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=a(e);exports.WizardActions=({actions:a})=>{const{state:{mode:o,steps:c,currentStepNo:i},dispatch:u}=e.useContext(n.WizardStateContext),d=((t,n,r)=>e.useMemo(((e,t)=>()=>e.findIndex(((e,n)=>n>t&&!e.disabled)))(r,n),[t,n,r]))(o,i,c),s=-1!==d,f=((t,n,r)=>e.useMemo(((e,t)=>()=>{const n=e.length-1-t,r=[...e].reverse().findIndex(((e,t)=>t>n&&!e.disabled));return r>0?e.length-1-r:-1})(r,n),[t,n,r]))(o,i,c),v=-1!==f,C=!s||"edit"===o,p=e=>{"forward"===e?s&&u(r.changeCurrentStepNo(d)):v&&u(r.changeCurrentStepNo(f))};return l.default.createElement(e.Fragment,null,!a.cancel.hide&&l.default.createElement(t.Button,{variant:"text",onClick:a.cancel.onClick,...a.cancel.cancelButtonProps},a.cancel.label),v&&l.default.createElement(t.Button,{variant:"outline",onClick:()=>{var e,t;null===(t=(e=a.previous).onClick)||void 0===t||t.call(e),p("backward")}},a.previous.label),s&&l.default.createElement(t.Button,{variant:"edit"===o?"outline":"fill",onClick:()=>{a.next.onClick(i)&&p("forward")}},a.next.label),C&&l.default.createElement(t.Button,{onClick:()=>{a.saveAndClose.onClick(i)}},a.saveAndClose.label))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../Button/Button.cjs.js"),r=require("../WizardStateProvider.cjs.js"),n=require("../wizardStateReducer.cjs.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=a(e);exports.WizardActions=({actions:a})=>{const{state:{mode:o,steps:i,currentStepNo:u},dispatch:d}=e.useContext(r.WizardStateContext),s=((t,r,n)=>e.useMemo(((e,t)=>()=>e.findIndex(((e,r)=>r>t&&!e.disabled)))(n,r),[t,r,n]))(o,u,i),c=-1!==s,f=((t,r,n)=>e.useMemo(((e,t)=>()=>{const r=e.length-1-t,n=[...e].reverse().findIndex(((e,t)=>t>r&&!e.disabled));return n>0?e.length-1-n:-1})(n,r),[t,r,n]))(o,u,i),v=-1!==f,C=!c||"edit"===o,p=e=>{"forward"===e?c&&d(n.changeCurrentStepNo(s)):v&&d(n.changeCurrentStepNo(f))};return l.default.createElement(e.Fragment,null,v&&l.default.createElement(t.Button,{variant:"outline",onClick:()=>{var e,t;null===(t=(e=a.previous).onClick)||void 0===t||t.call(e),p("backward")}},a.previous.label),c&&l.default.createElement(t.Button,{variant:"edit"===o?"outline":"fill",onClick:()=>{a.next.onClick(u)&&p("forward")}},a.next.label),C&&l.default.createElement(t.Button,{onClick:()=>{a.saveAndClose.onClick(u)}},a.saveAndClose.label))};
2
2
  //# sourceMappingURL=WizardActions.cjs.js.map
@@ -1,11 +1,13 @@
1
1
  import React, { ComponentPropsWithRef } from "react";
2
+ import { Props as ButtonProps } from "../../../Button/Button";
2
3
  export interface Props extends ComponentPropsWithRef<"div"> {
3
4
  children?: React.ReactNode;
4
- onClose: () => void;
5
+ onClose?: () => void;
5
6
  cancelAction?: CancelAction;
7
+ cancelActionsClassName?: string;
6
8
  }
7
9
  export interface CancelAction {
8
- label?: string;
9
- disable?: boolean;
10
+ label: string;
11
+ cancelButtonProps?: ButtonProps;
10
12
  }
11
13
  export declare const BaseModalActions: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -2,12 +2,6 @@ import React from "react";
2
2
  import { Props as ButtonProps } from "../../Button/Button";
3
3
  export interface Props extends React.HTMLProps<HTMLDivElement> {
4
4
  actions: {
5
- cancel: {
6
- label?: string;
7
- hide?: boolean;
8
- onClick?: () => void;
9
- cancelButtonProps?: ButtonProps;
10
- };
11
5
  previous: {
12
6
  label: string;
13
7
  onClick: () => void;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_BaseStyling_/BaseStyling.cjs.js"),r=require("../Button/Button.cjs.js"),s=require("../Breadcrumbs/Breadcrumbs.cjs.js"),o=require("../ContextMenu/ContextMenu.cjs.js"),t=require("../ContextMenu/ContextMenuItem.cjs.js"),a=require("../Link/Link.cjs.js"),i=require("../Icon/Icon.cjs.js"),p=require("../Button/IconButton.cjs.js"),n=require("../Tabs/Tab.cjs.js"),c=require("../Tabs/Tabs.cjs.js"),j=require("../TextEllipsis/TextEllipsis.cjs.js"),u=require("../Tiles/Tile.cjs.js"),l=require("../Tiles/Tiles.cjs.js"),d=require("../Tooltip/Tooltip.cjs.js"),x=require("../Typography/Typography.cjs.js"),q=require("../ProgressBar/ProgressBar.cjs.js"),B=require("../Skeleton/Skeleton.cjs.js"),b=require("../StatusIndicator/StatusIndicator.cjs.js"),T=require("../Pagination/Pagination.cjs.js"),W=require("./hooks/useRepeater.cjs.js"),S=require("./hooks/useDebouncedCallback.cjs.js"),m=require("./util/helper.cjs.js"),C=require("../Notifications/BaseModal/BaseModal.cjs.js"),F=require("../Notifications/Snackbar/useSnackbar.cjs.js"),M=require("../Notifications/Dialog/Dialog.cjs.js"),g=require("../Notifications/DiscardChangesModal/DiscardChangesModal.cjs.js"),k=require("../Notifications/BaseModal/BaseModalActions/BaseModalActions.cjs.js"),I=require("../Notifications/BaseModal/BaseModalContent/BaseModalContent.cjs.js"),D=require("../Notifications/BaseModal/BaseModalHeader/BaseModalHeader.cjs.js"),h=require("../Notifications/NotificationProvider/NotificationContext.cjs.js"),f=require("../Notifications/SlideInModal/SlideInModal.cjs.js"),z=require("../Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js"),G=require("../Form/Checkbox/Checkbox.cjs.js"),N=require("../Form/Fieldset/Fieldset.cjs.js"),P=require("../Form/Form.cjs.js"),y=require("../Form/FormControl/FormControl.cjs.js"),R=require("../Form/FormGroup/FormGroup.cjs.js"),v=require("../Form/FormHelperText/FormHelperText.cjs.js"),A=require("../Form/Input/Input.cjs.js"),H=require("../Form/Wrapper/InputWrapper/InputWrapper.cjs.js"),L=require("../Form/Label/Label.cjs.js"),O=require("../Form/Select/Option.cjs.js"),E=require("../Form/Radio/Radio.cjs.js"),_=require("../Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js"),w=require("../Form/Select/Select.cjs.js"),J=require("../Form/Textarea/Textarea.cjs.js"),K=require("../Form/Toggle/Toggle.cjs.js"),Q=require("../Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js"),U=require("../Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js"),V=require("../Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js"),X=require("../Wizard/Wizard.cjs.js"),Y=require("../Wizard/WizardActions/WizardActions.cjs.js"),Z=require("../Wizard/WizardSteps/WizardSteps.cjs.js"),$=require("../Wizard/BaseWizardSteps/BaseWizardSteps.cjs.js"),ee=require("../DataGrid/DataGrid.cjs.js"),re=require("../DataGrid/DataGridBody/DataGridRow.cjs.js"),se=require("../DataGrid/DataGridBody/DataGridCell.cjs.js"),oe=require("../Notifications/Banner/Banner.cjs.js");exports.BaseStyling=e.BaseStyling,exports.Button=r.Button,exports.Breadcrumbs=s.Breadcrumbs,exports.ContextMenu=o.ContextMenu,exports.ContextMenuItem=t.ContextMenuItem,exports.Link=a.Link,exports.Icon=i.Icon,Object.defineProperty(exports,"Icons",{enumerable:!0,get:function(){return i.Icons}}),exports.IconButton=p.IconButton,exports.Tab=n.Tab,exports.Tabs=c.Tabs,exports.TextEllipsis=j.TextEllipsis,exports.Tile=u.Tile,exports.Tiles=l.Tiles,exports.Tooltip=d.Tooltip,exports.Typography=x.Typography,exports.ProgressBar=q.ProgressBar,exports.Skeleton=B.Skeleton,exports.StatusIndicator=b.StatusIndicator,exports.Pagination=T.Pagination,exports.useRepeater=W.useRepeater,exports.useDebouncedCallback=S.useDebouncedCallback,exports.debounce=m.debounce,exports.generateID=m.generateID,exports.throttle=m.throttle,exports.Modal=C.BaseModal,exports.useSnackbar=F.useSnackbar,exports.Dialog=M.Dialog,exports.DiscardChangesModal=g.DiscardChangesModal,exports.ModalActions=k.BaseModalActions,exports.ModalContent=I.BaseModalContent,exports.ModalHeader=D.BaseModalHeader,exports.NotificationProvider=h.NotificationProvider,exports.useNotificationContext=h.useNotificationContext,exports.SlideInModal=f.SlideInModal,exports.SnackbarProvider=z.SnackbarProvider,exports.Checkbox=G.Checkbox,exports.Fieldset=N.Fieldset,exports.Form=P.Form,exports.FormControl=y.FormControl,exports.FormGroup=R.FormGroup,exports.FormHelperText=v.FormHelperText,exports.Input=A.Input,exports.InputWrapper=H.InputWrapper,exports.Label=L.Label,exports.Option=O.Option,exports.Radio=E.Radio,exports.RadioWrapper=_.RadioWrapper,exports.Select=w.Select,exports.Textarea=J.Textarea,exports.Toggle=K.Toggle,exports.CheckboxWrapper=Q.CheckboxWrapper,exports.TextareaWrapper=U.TextareaWrapper,exports.SelectWrapper=V.SelectWrapper,exports.Wizard=X.Wizard,exports.WizardActions=Y.WizardActions,exports.WizardSteps=Z.WizardSteps,exports.BaseWizardSteps=$.BaseWizardSteps,exports.DataGrid=ee.DataGrid,exports.DataGridRow=re.DataGridRow,exports.DataGridCell=se.DataGridCell,exports.Banner=oe.Banner;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_BaseStyling_/BaseStyling.cjs.js"),r=require("../Button/Button.cjs.js"),s=require("../Breadcrumbs/Breadcrumbs.cjs.js"),o=require("../ContextMenu/ContextMenu.cjs.js"),t=require("../ContextMenu/ContextMenuItem.cjs.js"),a=require("../Link/Link.cjs.js"),i=require("../Icon/Icon.cjs.js"),p=require("../Button/IconButton.cjs.js"),n=require("../Tabs/Tab.cjs.js"),c=require("../Tabs/Tabs.cjs.js"),j=require("../Tag/Tag.cjs.js"),u=require("../TextEllipsis/TextEllipsis.cjs.js"),l=require("../Tiles/Tile.cjs.js"),d=require("../Tiles/Tiles.cjs.js"),x=require("../Tooltip/Tooltip.cjs.js"),q=require("../Typography/Typography.cjs.js"),T=require("../ProgressBar/ProgressBar.cjs.js"),B=require("../Skeleton/Skeleton.cjs.js"),b=require("../StatusIndicator/StatusIndicator.cjs.js"),W=require("../Pagination/Pagination.cjs.js"),S=require("./hooks/useRepeater.cjs.js"),m=require("./hooks/useDebouncedCallback.cjs.js"),g=require("./util/helper.cjs.js"),C=require("../Notifications/BaseModal/BaseModal.cjs.js"),F=require("../Notifications/Snackbar/useSnackbar.cjs.js"),M=require("../Notifications/Dialog/Dialog.cjs.js"),k=require("../Notifications/DiscardChangesModal/DiscardChangesModal.cjs.js"),I=require("../Notifications/BaseModal/BaseModalActions/BaseModalActions.cjs.js"),D=require("../Notifications/BaseModal/BaseModalContent/BaseModalContent.cjs.js"),h=require("../Notifications/BaseModal/BaseModalHeader/BaseModalHeader.cjs.js"),f=require("../Notifications/NotificationProvider/NotificationContext.cjs.js"),z=require("../Notifications/SlideInModal/SlideInModal.cjs.js"),G=require("../Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js"),N=require("../Form/Checkbox/Checkbox.cjs.js"),P=require("../Form/Fieldset/Fieldset.cjs.js"),y=require("../Form/Form.cjs.js"),R=require("../Form/FormControl/FormControl.cjs.js"),v=require("../Form/FormGroup/FormGroup.cjs.js"),A=require("../Form/FormHelperText/FormHelperText.cjs.js"),H=require("../Form/Input/Input.cjs.js"),L=require("../Form/Wrapper/InputWrapper/InputWrapper.cjs.js"),O=require("../Form/Label/Label.cjs.js"),E=require("../Form/Select/Option.cjs.js"),_=require("../Form/Radio/Radio.cjs.js"),w=require("../Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js"),J=require("../Form/Select/Select.cjs.js"),K=require("../Form/Textarea/Textarea.cjs.js"),Q=require("../Form/Toggle/Toggle.cjs.js"),U=require("../Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js"),V=require("../Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js"),X=require("../Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js"),Y=require("../Wizard/Wizard.cjs.js"),Z=require("../Wizard/WizardActions/WizardActions.cjs.js"),$=require("../Wizard/WizardSteps/WizardSteps.cjs.js"),ee=require("../Wizard/BaseWizardSteps/BaseWizardSteps.cjs.js"),re=require("../DataGrid/DataGrid.cjs.js"),se=require("../DataGrid/DataGridBody/DataGridRow.cjs.js"),oe=require("../DataGrid/DataGridBody/DataGridCell.cjs.js"),te=require("../Notifications/Banner/Banner.cjs.js");exports.BaseStyling=e.BaseStyling,exports.Button=r.Button,exports.Breadcrumbs=s.Breadcrumbs,exports.ContextMenu=o.ContextMenu,exports.ContextMenuItem=t.ContextMenuItem,exports.Link=a.Link,exports.Icon=i.Icon,Object.defineProperty(exports,"Icons",{enumerable:!0,get:function(){return i.Icons}}),exports.IconButton=p.IconButton,exports.Tab=n.Tab,exports.Tabs=c.Tabs,exports.Tag=j.Tag,exports.TextEllipsis=u.TextEllipsis,exports.Tile=l.Tile,exports.Tiles=d.Tiles,exports.Tooltip=x.Tooltip,exports.Typography=q.Typography,exports.ProgressBar=T.ProgressBar,exports.Skeleton=B.Skeleton,exports.StatusIndicator=b.StatusIndicator,exports.Pagination=W.Pagination,exports.useRepeater=S.useRepeater,exports.useDebouncedCallback=m.useDebouncedCallback,exports.debounce=g.debounce,exports.generateID=g.generateID,exports.throttle=g.throttle,exports.Modal=C.BaseModal,exports.useSnackbar=F.useSnackbar,exports.Dialog=M.Dialog,exports.DiscardChangesModal=k.DiscardChangesModal,exports.ModalActions=I.BaseModalActions,exports.ModalContent=D.BaseModalContent,exports.ModalHeader=h.BaseModalHeader,exports.NotificationProvider=f.NotificationProvider,exports.useNotificationContext=f.useNotificationContext,exports.SlideInModal=z.SlideInModal,exports.SnackbarProvider=G.SnackbarProvider,exports.Checkbox=N.Checkbox,exports.Fieldset=P.Fieldset,exports.Form=y.Form,exports.FormControl=R.FormControl,exports.FormGroup=v.FormGroup,exports.FormHelperText=A.FormHelperText,exports.Input=H.Input,exports.InputWrapper=L.InputWrapper,exports.Label=O.Label,exports.Option=E.Option,exports.Radio=_.Radio,exports.RadioWrapper=w.RadioWrapper,exports.Select=J.Select,exports.Textarea=K.Textarea,exports.Toggle=Q.Toggle,exports.CheckboxWrapper=U.CheckboxWrapper,exports.TextareaWrapper=V.TextareaWrapper,exports.SelectWrapper=X.SelectWrapper,exports.Wizard=Y.Wizard,exports.WizardActions=Z.WizardActions,exports.WizardSteps=$.WizardSteps,exports.BaseWizardSteps=ee.BaseWizardSteps,exports.DataGrid=re.DataGrid,exports.DataGridRow=se.DataGridRow,exports.DataGridCell=oe.DataGridCell,exports.Banner=te.Banner;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -17,6 +17,8 @@ export { Tab } from "./components/Tabs/Tab";
17
17
  export type { Props as TabProps } from "./components/Tabs/Tab";
18
18
  export { Tabs } from "./components/Tabs/Tabs";
19
19
  export type { Props as TabsProps } from "./components/Tabs/Tabs";
20
+ export { Tag } from "./components/Tag/Tag";
21
+ export type { Props as TagProps } from "./components/Tag/Tag";
20
22
  export { TextEllipsis } from "./components/TextEllipsis/TextEllipsis";
21
23
  export type { Props as TextEllipsisProps } from "./components/TextEllipsis/TextEllipsis";
22
24
  export { Tile } from "./components/Tiles/Tile";
@@ -1,2 +1,2 @@
1
- import e,{useRef as o,useEffect as a}from"react";import{createPortal as l}from"react-dom";import{useGetDomRoot as d}from"../../src/hooks/useGetDomRoot.esm.js";import r from"./BaseModal.module.esm.js";import{labelId as n,descriptionId as t}from"./BaseModalContext.esm.js";const i="overflow",s=e=>{a((()=>{e?document.body.style[i]="hidden":0===document.querySelectorAll("[role=dialog][data-hidden=false]").length&&document.body.style.removeProperty(i)}),[e])},m=e.forwardRef((({id:i,children:m,open:c,onClose:u,className:p="",containerProps:v,backdropProps:b,labelledby:y,describedby:f,disableEscapeKeyDown:h=!1,disableBackdrop:$=!1,forceContainerOpen:N=!1,zIndex:x,domRoot:E,...g},k)=>{var I,w,z;s(c);const C=o(null),{root:P}=d(E,C);a((()=>{var e;c&&(null===(e=C.current)||void 0===e||e.focus())}),[c]);return e.createElement("div",{ref:C},l(e.createElement("div",{...g,ref:k,id:i,className:`${r.modal} ${c?r.visible:""} ${p}`,role:"dialog","aria-modal":"true","aria-labelledby":null!=y?y:n(i),"aria-describedby":null!=f?f:t(i),"aria-hidden":!c,tabIndex:-1,"data-hidden":!c,onKeyDown:e=>{h||"Escape"!==e.key||(e.stopPropagation(),null==u||u())},style:{zIndex:x}},e.createElement("div",{...b,className:`${r.backdrop} ${null!==(I=null==b?void 0:b.className)&&void 0!==I?I:""}`,onClick:()=>!$&&u&&u()}),N?e.createElement("div",{...v,"aria-hidden":!c,"data-element":"dialog",hidden:!c,style:{zIndex:x&&x+1},className:`${r.container} ${null!==(w=null==v?void 0:v.className)&&void 0!==w?w:""}`},m):c&&e.createElement("div",{...v,"data-element":"dialog",style:{zIndex:x&&x+1},className:`${r.container} ${null!==(z=null==v?void 0:v.className)&&void 0!==z?z:""}`},m)),P))}));export{m as BaseModal,s as useSetBodyScroll};
1
+ import e,{useRef as o,useEffect as l}from"react";import{createPortal as a}from"react-dom";import{useGetDomRoot as d}from"../../src/hooks/useGetDomRoot.esm.js";import n from"./BaseModal.module.esm.js";import{labelId as r,descriptionId as t}from"./BaseModalContext.esm.js";const s="overflow",i=e=>{l((()=>{e?document.body.style[s]="hidden":0===document.querySelectorAll("[role=dialog][data-hidden=false]").length&&document.body.style.removeProperty(s)}),[e])},m=e.forwardRef((({id:s,children:m,open:c,onClose:u,className:p="",containerProps:v,backdropProps:b,labelledby:y,describedby:f,disableEscapeKeyDown:h=!1,disableBackdrop:E=!1,forceContainerOpen:$=!1,zIndex:N,domRoot:x,...C},g)=>{var k,I,w;i(c);const z=o(null),{root:P}=d(x,z);l((()=>{var e;c&&(null===(e=z.current)||void 0===e||e.focus())}),[c]);const j=()=>e.Children.map(m,(o=>{var l;return e.isValidElement(o)?e.cloneElement(o,{onClose:null!==(l=o.props.onClose)&&void 0!==l?l:u}):o}));return e.createElement("div",{ref:z},a(e.createElement("div",{...C,ref:g,id:s,className:`${n.modal} ${c?n.visible:""} ${p}`,role:"dialog","aria-modal":"true","aria-labelledby":null!=y?y:r(s),"aria-describedby":null!=f?f:t(s),"aria-hidden":!c,tabIndex:-1,"data-hidden":!c,onKeyDown:e=>{h||"Escape"!==e.key||(e.stopPropagation(),null==u||u())},style:{zIndex:N}},e.createElement("div",{...b,className:`${n.backdrop} ${null!==(k=null==b?void 0:b.className)&&void 0!==k?k:""}`,onClick:()=>!E&&u&&u()}),$?e.createElement("div",{...v,"aria-hidden":!c,"data-element":"dialog",hidden:!c,style:{zIndex:N&&N+1},className:`${n.container} ${null!==(I=null==v?void 0:v.className)&&void 0!==I?I:""}`},j()):c&&e.createElement("div",{...v,"data-element":"dialog",style:{zIndex:N&&N+1},className:`${n.container} ${null!==(w=null==v?void 0:v.className)&&void 0!==w?w:""}`},j())),P))}));export{m as BaseModal,i as useSetBodyScroll};
2
2
  //# sourceMappingURL=BaseModal.esm.js.map
@@ -1,2 +1,2 @@
1
- import e,{useRef as a}from"react";import l from"./BaseModalActions.module.esm.js";import{Button as t}from"../../../Button/Button.esm.js";const c=e.forwardRef((({children:c,onClose:o,cancelAction:n={label:void 0,disable:!1},className:r="",...s},i)=>{var m;const d=e.createRef()||i,f=a(null),u=a(null),v=e.createElement(t,{key:"cancel",variant:"text",color:"default",onClick:o},null!==(m=null==n?void 0:n.label)&&void 0!==m?m:"Cancel");return e.createElement("div",{...s,ref:d,className:`${l.actions} ${r}`},!n.disable&&e.createElement("div",{className:l["cancel-action"],ref:f},v),e.createElement("div",{ref:u,className:l["primary-actions"]},c))}));export{c as BaseModalActions};
1
+ import e,{useRef as t}from"react";import a from"./BaseModalActions.module.esm.js";import{Button as l}from"../../../Button/Button.esm.js";const c=e.forwardRef((({children:c,cancelAction:o,cancelActionsClassName:n="",onClose:r,className:s="",...m},i)=>{const d=e.createRef()||i,f=t(null),u=t(null),p=e.createElement(l,{variant:"text",color:"default",...null==o?void 0:o.cancelButtonProps,onClick:r},null==o?void 0:o.label);return e.createElement("div",{...m,ref:d,className:`${a.actions} ${s}`},o&&e.createElement("div",{className:`${a["cancel-action"]} ${n}`,ref:f},p),c&&e.createElement("div",{ref:u,className:a["primary-actions"]},c))}));export{c as BaseModalActions};
2
2
  //# sourceMappingURL=BaseModalActions.esm.js.map
@@ -1,2 +1,2 @@
1
- import o from"react";import{BaseModalActions as e}from"../../BaseModal/BaseModalActions/BaseModalActions.esm.js";import l from"./DialogActions.module.esm.js";const a=o.forwardRef((({children:a,cancelAction:s,onClose:c,...i},n)=>o.createElement(e,{...i,cancelAction:{label:null==s?void 0:s.label,disable:null==s?void 0:s.disable},onClose:c,ref:n,className:l.actions},a)));export{a as DialogActions};
1
+ import o from"react";import{BaseModalActions as e}from"../../BaseModal/BaseModalActions/BaseModalActions.esm.js";import c from"./DialogActions.module.esm.js";const a=o.forwardRef((({children:a,cancelAction:s,onClose:n,...t},l)=>o.createElement(e,{...t,cancelAction:s,cancelActionsClassName:c["cancel-action"],onClose:n,ref:l,className:c.actions},a)));export{a as DialogActions};
2
2
  //# sourceMappingURL=DialogActions.esm.js.map
@@ -1,2 +1,2 @@
1
- var containers=[],styleTags=[];const o = function(e,t){if(e&&"undefined"!=typeof document){var n,s=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,a="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var i=containers.indexOf(a);-1===i&&(i=containers.push(a)-1,styleTags[i]={}),n=styleTags[i]&&styleTags[i][s]?styleTags[i][s]:styleTags[i][s]=c()}else n=c();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var i="prepend"===s?"afterbegin":"beforeend";return a.insertAdjacentElement(i,e),e}};var e=".DialogActions_module_actions__e0b1287d *+*{margin-left:.5rem}",s={actions:"DialogActions_module_actions__e0b1287d"};o(e,{});export{e as css,s as default};
1
+ var containers=[],styleTags=[];const o = function(e,t){if(e&&"undefined"!=typeof document){var n,s=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,a="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var i=containers.indexOf(a);-1===i&&(i=containers.push(a)-1,styleTags[i]={}),n=styleTags[i]&&styleTags[i][s]?styleTags[i][s]:styleTags[i][s]=c()}else n=c();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var i="prepend"===s?"afterbegin":"beforeend";return a.insertAdjacentElement(i,e),e}};var i=".DialogActions_module_actions__3e00d0bf *+*{margin-left:.5rem}@media screen and (max-width:640px){.DialogActions_module_actions__3e00d0bf .DialogActions_module_cancelAction__3e00d0bf{align-items:flex-end;display:block;flex-direction:column;margin-bottom:.5rem;margin-left:0}.DialogActions_module_actions__3e00d0bf .DialogActions_module_cancelAction__3e00d0bf>*{width:100%}}",e={actions:"DialogActions_module_actions__3e00d0bf","cancel-action":"DialogActions_module_cancelAction__3e00d0bf"};o(i,{});export{i as css,e as default};
2
2
  //# sourceMappingURL=DialogActions.module.esm.js.map
@@ -0,0 +1,2 @@
1
+ import e,{forwardRef as r}from"react";import{Icon as o,Icons as a}from"../Icon/Icon.esm.js";import i from"./Tag.module.esm.js";import{Typography as t}from"../Typography/Typography.esm.js";const n=r((({children:r,variant:n,icon:l,backgroundColor:c,color:m,...s},d)=>{var b;return e.createElement("div",{ref:d,className:`${"enabled"===n?i["tag-enabled"]:"disabled"===n?i["tag-disabled"]:void 0} ${i.tag} ${null!==(b=s.className)&&void 0!==b?b:""}`,style:{backgroundColor:c,color:m},...s},l?e.createElement(o,{size:"inherit",icon:l}):"enabled"===n?e.createElement(o,{size:"inherit",icon:a.CheckmarkCircleAlt}):"disabled"===n?e.createElement(o,{size:"inherit",icon:a.Forbidden}):void 0,e.createElement(t,{spacing:{marginBottom:0},variant:"body",className:i.label},r))}));export{n as Tag};
2
+ //# sourceMappingURL=Tag.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var containers=[],styleTags=[];const a = function(e,t){if(e&&"undefined"!=typeof document){var n,s=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,a="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var i=containers.indexOf(a);-1===i&&(i=containers.push(a)-1,styleTags[i]={}),n=styleTags[i]&&styleTags[i][s]?styleTags[i][s]:styleTags[i][s]=c()}else n=c();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var i="prepend"===s?"afterbegin":"beforeend";return a.insertAdjacentElement(i,e),e}};var e=".Tag_module_tag__18af6da0{align-items:center;border-radius:3.125rem;display:inline-flex;font-size:.75rem;gap:.25rem;padding:.375rem .7rem}.Tag_module_tag__18af6da0.Tag_module_tagEnabled__18af6da0{background-color:var(--color-green100)}.Tag_module_tag__18af6da0.Tag_module_tagDisabled__18af6da0{background-color:var(--color-blue-grey100)}.Tag_module_tag__18af6da0 .Tag_module_label__18af6da0{color:inherit;font-size:inherit;line-height:.75rem}",_={tag:"Tag_module_tag__18af6da0","tag-enabled":"Tag_module_tagEnabled__18af6da0","tag-disabled":"Tag_module_tagDisabled__18af6da0",label:"Tag_module_label__18af6da0"};a(e,{});export{e as css,_ as default};
2
+ //# sourceMappingURL=Tag.module.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag.module.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import e,{useContext as t,Fragment as n,useMemo as l}from"react";import{Button as r}from"../../Button/Button.esm.js";import{WizardStateContext as a}from"../WizardStateProvider.esm.js";import{changeCurrentStepNo as o}from"../wizardStateReducer.esm.js";const c=({actions:c})=>{const{state:{mode:i,steps:s,currentStepNo:d},dispatch:m}=t(a),u=((e,t,n)=>l(((e,t)=>()=>e.findIndex(((e,n)=>n>t&&!e.disabled)))(n,t),[e,t,n]))(i,d,s),p=-1!==u,v=((e,t,n)=>l(((e,t)=>()=>{const n=e.length-1-t,l=[...e].reverse().findIndex(((e,t)=>t>n&&!e.disabled));return l>0?e.length-1-l:-1})(n,t),[e,t,n]))(i,d,s),C=-1!==v,f=!p||"edit"===i,k=e=>{"forward"===e?p&&m(o(u)):C&&m(o(v))};return e.createElement(n,null,!c.cancel.hide&&e.createElement(r,{variant:"text",onClick:c.cancel.onClick,...c.cancel.cancelButtonProps},c.cancel.label),C&&e.createElement(r,{variant:"outline",onClick:()=>{var e,t;null===(t=(e=c.previous).onClick)||void 0===t||t.call(e),k("backward")}},c.previous.label),p&&e.createElement(r,{variant:"edit"===i?"outline":"fill",onClick:()=>{c.next.onClick(d)&&k("forward")}},c.next.label),f&&e.createElement(r,{onClick:()=>{c.saveAndClose.onClick(d)}},c.saveAndClose.label))};export{c as WizardActions};
1
+ import e,{useContext as t,Fragment as r,useMemo as n}from"react";import{Button as o}from"../../Button/Button.esm.js";import{WizardStateContext as l}from"../WizardStateProvider.esm.js";import{changeCurrentStepNo as a}from"../wizardStateReducer.esm.js";const i=({actions:i})=>{const{state:{mode:s,steps:d,currentStepNo:c},dispatch:m}=t(l),u=((e,t,r)=>n(((e,t)=>()=>e.findIndex(((e,r)=>r>t&&!e.disabled)))(r,t),[e,t,r]))(s,c,d),p=-1!==u,v=((e,t,r)=>n(((e,t)=>()=>{const r=e.length-1-t,n=[...e].reverse().findIndex(((e,t)=>t>r&&!e.disabled));return n>0?e.length-1-n:-1})(r,t),[e,t,r]))(s,c,d),f=-1!==v,C=!p||"edit"===s,k=e=>{"forward"===e?p&&m(a(u)):f&&m(a(v))};return e.createElement(r,null,f&&e.createElement(o,{variant:"outline",onClick:()=>{var e,t;null===(t=(e=i.previous).onClick)||void 0===t||t.call(e),k("backward")}},i.previous.label),p&&e.createElement(o,{variant:"edit"===s?"outline":"fill",onClick:()=>{i.next.onClick(c)&&k("forward")}},i.next.label),C&&e.createElement(o,{onClick:()=>{i.saveAndClose.onClick(c)}},i.saveAndClose.label))};export{i as WizardActions};
2
2
  //# sourceMappingURL=WizardActions.esm.js.map
@@ -1,11 +1,13 @@
1
1
  import React, { ComponentPropsWithRef } from "react";
2
+ import { Props as ButtonProps } from "../../../Button/Button";
2
3
  export interface Props extends ComponentPropsWithRef<"div"> {
3
4
  children?: React.ReactNode;
4
- onClose: () => void;
5
+ onClose?: () => void;
5
6
  cancelAction?: CancelAction;
7
+ cancelActionsClassName?: string;
6
8
  }
7
9
  export interface CancelAction {
8
- label?: string;
9
- disable?: boolean;
10
+ label: string;
11
+ cancelButtonProps?: ButtonProps;
10
12
  }
11
13
  export declare const BaseModalActions: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -2,12 +2,6 @@ import React from "react";
2
2
  import { Props as ButtonProps } from "../../Button/Button";
3
3
  export interface Props extends React.HTMLProps<HTMLDivElement> {
4
4
  actions: {
5
- cancel: {
6
- label?: string;
7
- hide?: boolean;
8
- onClick?: () => void;
9
- cancelButtonProps?: ButtonProps;
10
- };
11
5
  previous: {
12
6
  label: string;
13
7
  onClick: () => void;
@@ -17,6 +17,8 @@ export { Tab } from "./components/Tabs/Tab";
17
17
  export type { Props as TabProps } from "./components/Tabs/Tab";
18
18
  export { Tabs } from "./components/Tabs/Tabs";
19
19
  export type { Props as TabsProps } from "./components/Tabs/Tabs";
20
+ export { Tag } from "./components/Tag/Tag";
21
+ export type { Props as TagProps } from "./components/Tag/Tag";
20
22
  export { TextEllipsis } from "./components/TextEllipsis/TextEllipsis";
21
23
  export type { Props as TextEllipsisProps } from "./components/TextEllipsis/TextEllipsis";
22
24
  export { Tile } from "./components/Tiles/Tile";
@@ -1,2 +1,2 @@
1
- export{BaseStyling}from"../_BaseStyling_/BaseStyling.esm.js";export{Button}from"../Button/Button.esm.js";export{Breadcrumbs}from"../Breadcrumbs/Breadcrumbs.esm.js";export{ContextMenu}from"../ContextMenu/ContextMenu.esm.js";export{ContextMenuItem}from"../ContextMenu/ContextMenuItem.esm.js";export{Link}from"../Link/Link.esm.js";export{Icon,Icons}from"../Icon/Icon.esm.js";export{IconButton}from"../Button/IconButton.esm.js";export{Tab}from"../Tabs/Tab.esm.js";export{Tabs}from"../Tabs/Tabs.esm.js";export{TextEllipsis}from"../TextEllipsis/TextEllipsis.esm.js";export{Tile}from"../Tiles/Tile.esm.js";export{Tiles}from"../Tiles/Tiles.esm.js";export{Tooltip}from"../Tooltip/Tooltip.esm.js";export{Typography}from"../Typography/Typography.esm.js";export{ProgressBar}from"../ProgressBar/ProgressBar.esm.js";export{Skeleton}from"../Skeleton/Skeleton.esm.js";export{StatusIndicator}from"../StatusIndicator/StatusIndicator.esm.js";export{Pagination}from"../Pagination/Pagination.esm.js";export{useRepeater}from"./hooks/useRepeater.esm.js";export{useDebouncedCallback}from"./hooks/useDebouncedCallback.esm.js";export{debounce,generateID,throttle}from"./util/helper.esm.js";export{BaseModal as Modal}from"../Notifications/BaseModal/BaseModal.esm.js";export{useSnackbar}from"../Notifications/Snackbar/useSnackbar.esm.js";export{Dialog}from"../Notifications/Dialog/Dialog.esm.js";export{DiscardChangesModal}from"../Notifications/DiscardChangesModal/DiscardChangesModal.esm.js";export{BaseModalActions as ModalActions}from"../Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js";export{BaseModalContent as ModalContent}from"../Notifications/BaseModal/BaseModalContent/BaseModalContent.esm.js";export{BaseModalHeader as ModalHeader}from"../Notifications/BaseModal/BaseModalHeader/BaseModalHeader.esm.js";export{NotificationProvider,useNotificationContext}from"../Notifications/NotificationProvider/NotificationContext.esm.js";export{SlideInModal}from"../Notifications/SlideInModal/SlideInModal.esm.js";export{SnackbarProvider}from"../Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js";export{Checkbox}from"../Form/Checkbox/Checkbox.esm.js";export{Fieldset}from"../Form/Fieldset/Fieldset.esm.js";export{Form}from"../Form/Form.esm.js";export{FormControl}from"../Form/FormControl/FormControl.esm.js";export{FormGroup}from"../Form/FormGroup/FormGroup.esm.js";export{FormHelperText}from"../Form/FormHelperText/FormHelperText.esm.js";export{Input}from"../Form/Input/Input.esm.js";export{InputWrapper}from"../Form/Wrapper/InputWrapper/InputWrapper.esm.js";export{Label}from"../Form/Label/Label.esm.js";export{Option}from"../Form/Select/Option.esm.js";export{Radio}from"../Form/Radio/Radio.esm.js";export{RadioWrapper}from"../Form/Wrapper/RadioWrapper/RadioWrapper.esm.js";export{Select}from"../Form/Select/Select.esm.js";export{Textarea}from"../Form/Textarea/Textarea.esm.js";export{Toggle}from"../Form/Toggle/Toggle.esm.js";export{CheckboxWrapper}from"../Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js";export{TextareaWrapper}from"../Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js";export{SelectWrapper}from"../Form/Wrapper/SelectWrapper/SelectWrapper.esm.js";export{Wizard}from"../Wizard/Wizard.esm.js";export{WizardActions}from"../Wizard/WizardActions/WizardActions.esm.js";export{WizardSteps}from"../Wizard/WizardSteps/WizardSteps.esm.js";export{BaseWizardSteps}from"../Wizard/BaseWizardSteps/BaseWizardSteps.esm.js";export{DataGrid}from"../DataGrid/DataGrid.esm.js";export{DataGridRow}from"../DataGrid/DataGridBody/DataGridRow.esm.js";export{DataGridCell}from"../DataGrid/DataGridBody/DataGridCell.esm.js";export{Banner}from"../Notifications/Banner/Banner.esm.js";
1
+ export{BaseStyling}from"../_BaseStyling_/BaseStyling.esm.js";export{Button}from"../Button/Button.esm.js";export{Breadcrumbs}from"../Breadcrumbs/Breadcrumbs.esm.js";export{ContextMenu}from"../ContextMenu/ContextMenu.esm.js";export{ContextMenuItem}from"../ContextMenu/ContextMenuItem.esm.js";export{Link}from"../Link/Link.esm.js";export{Icon,Icons}from"../Icon/Icon.esm.js";export{IconButton}from"../Button/IconButton.esm.js";export{Tab}from"../Tabs/Tab.esm.js";export{Tabs}from"../Tabs/Tabs.esm.js";export{Tag}from"../Tag/Tag.esm.js";export{TextEllipsis}from"../TextEllipsis/TextEllipsis.esm.js";export{Tile}from"../Tiles/Tile.esm.js";export{Tiles}from"../Tiles/Tiles.esm.js";export{Tooltip}from"../Tooltip/Tooltip.esm.js";export{Typography}from"../Typography/Typography.esm.js";export{ProgressBar}from"../ProgressBar/ProgressBar.esm.js";export{Skeleton}from"../Skeleton/Skeleton.esm.js";export{StatusIndicator}from"../StatusIndicator/StatusIndicator.esm.js";export{Pagination}from"../Pagination/Pagination.esm.js";export{useRepeater}from"./hooks/useRepeater.esm.js";export{useDebouncedCallback}from"./hooks/useDebouncedCallback.esm.js";export{debounce,generateID,throttle}from"./util/helper.esm.js";export{BaseModal as Modal}from"../Notifications/BaseModal/BaseModal.esm.js";export{useSnackbar}from"../Notifications/Snackbar/useSnackbar.esm.js";export{Dialog}from"../Notifications/Dialog/Dialog.esm.js";export{DiscardChangesModal}from"../Notifications/DiscardChangesModal/DiscardChangesModal.esm.js";export{BaseModalActions as ModalActions}from"../Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js";export{BaseModalContent as ModalContent}from"../Notifications/BaseModal/BaseModalContent/BaseModalContent.esm.js";export{BaseModalHeader as ModalHeader}from"../Notifications/BaseModal/BaseModalHeader/BaseModalHeader.esm.js";export{NotificationProvider,useNotificationContext}from"../Notifications/NotificationProvider/NotificationContext.esm.js";export{SlideInModal}from"../Notifications/SlideInModal/SlideInModal.esm.js";export{SnackbarProvider}from"../Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js";export{Checkbox}from"../Form/Checkbox/Checkbox.esm.js";export{Fieldset}from"../Form/Fieldset/Fieldset.esm.js";export{Form}from"../Form/Form.esm.js";export{FormControl}from"../Form/FormControl/FormControl.esm.js";export{FormGroup}from"../Form/FormGroup/FormGroup.esm.js";export{FormHelperText}from"../Form/FormHelperText/FormHelperText.esm.js";export{Input}from"../Form/Input/Input.esm.js";export{InputWrapper}from"../Form/Wrapper/InputWrapper/InputWrapper.esm.js";export{Label}from"../Form/Label/Label.esm.js";export{Option}from"../Form/Select/Option.esm.js";export{Radio}from"../Form/Radio/Radio.esm.js";export{RadioWrapper}from"../Form/Wrapper/RadioWrapper/RadioWrapper.esm.js";export{Select}from"../Form/Select/Select.esm.js";export{Textarea}from"../Form/Textarea/Textarea.esm.js";export{Toggle}from"../Form/Toggle/Toggle.esm.js";export{CheckboxWrapper}from"../Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js";export{TextareaWrapper}from"../Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js";export{SelectWrapper}from"../Form/Wrapper/SelectWrapper/SelectWrapper.esm.js";export{Wizard}from"../Wizard/Wizard.esm.js";export{WizardActions}from"../Wizard/WizardActions/WizardActions.esm.js";export{WizardSteps}from"../Wizard/WizardSteps/WizardSteps.esm.js";export{BaseWizardSteps}from"../Wizard/BaseWizardSteps/BaseWizardSteps.esm.js";export{DataGrid}from"../DataGrid/DataGrid.esm.js";export{DataGridRow}from"../DataGrid/DataGridBody/DataGridRow.esm.js";export{DataGridCell}from"../DataGrid/DataGridBody/DataGridCell.esm.js";export{Banner}from"../Notifications/Banner/Banner.esm.js";
2
2
  //# sourceMappingURL=index.esm.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "homepage": "http://onewelcome.github.io/react-lib-components",
3
3
  "name": "@onewelcome/react-lib-components",
4
- "version": "3.0.1",
4
+ "version": "4.1.0",
5
5
  "license": "Apache-2.0",
6
6
  "author": "OneWelcome B.V.",
7
7
  "main": "dist/cjs/src/index.cjs.js",
@@ -14,7 +14,13 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React, { ForwardRefRenderFunction, ComponentPropsWithRef, useEffect, useRef } from "react";
17
+ import React, {
18
+ ForwardRefRenderFunction,
19
+ ComponentPropsWithRef,
20
+ useEffect,
21
+ useRef,
22
+ ReactElement
23
+ } from "react";
18
24
  import { createPortal } from "react-dom";
19
25
  import { useGetDomRoot } from "../../../hooks/useGetDomRoot";
20
26
  import classes from "./BaseModal.module.scss";
@@ -101,6 +107,16 @@ const BaseModalComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
101
107
 
102
108
  const handleBackdropClick = () => !disableBackdrop && onClose && onClose();
103
109
 
110
+ const renderChildren = () =>
111
+ React.Children.map(children, child => {
112
+ if (React.isValidElement(child)) {
113
+ return React.cloneElement(child as ReactElement, {
114
+ onClose: child.props.onClose ?? onClose
115
+ });
116
+ }
117
+ return child;
118
+ });
119
+
104
120
  return (
105
121
  <div ref={wrappingDivRef}>
106
122
  {createPortal(
@@ -133,7 +149,7 @@ const BaseModalComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
133
149
  style={{ zIndex: zIndex && zIndex + 1 }}
134
150
  className={`${classes["container"]} ${containerProps?.className ?? ""}`}
135
151
  >
136
- {children}
152
+ {renderChildren()}
137
153
  </div>
138
154
  ) : (
139
155
  open && (
@@ -143,7 +159,7 @@ const BaseModalComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
143
159
  style={{ zIndex: zIndex && zIndex + 1 }}
144
160
  className={`${classes["container"]} ${containerProps?.className ?? ""}`}
145
161
  >
146
- {children}
162
+ {renderChildren()}
147
163
  </div>
148
164
  )
149
165
  )}
@@ -23,9 +23,7 @@ describe("BaseModalActions", () => {
23
23
  const children = "Content";
24
24
  const classNames = ["class1", "class2"];
25
25
  const { container } = render(
26
- <BaseModalActions onClose={jest.fn()} className={classNames.join(" ")}>
27
- {children}
28
- </BaseModalActions>
26
+ <BaseModalActions className={classNames.join(" ")}>{children}</BaseModalActions>
29
27
  );
30
28
 
31
29
  const dialogActionsContainer = container.children[0];
@@ -33,34 +31,21 @@ describe("BaseModalActions", () => {
33
31
  expect(dialogActionsContainer).toHaveTextContent(children);
34
32
  });
35
33
 
36
- it("Should render the default cancel action if we don't pass it", () => {
37
- const { container } = render(<BaseModalActions onClose={jest.fn()} />);
34
+ it("Shouldn't render cancel button if we don't pass label", () => {
35
+ const { container } = render(<BaseModalActions />);
38
36
  const dialogActionsContainer = container.children[0];
39
37
  expect(dialogActionsContainer).toHaveClass("actions");
40
- expect(dialogActionsContainer).toHaveTextContent("Cancel");
38
+ expect(dialogActionsContainer).not.toHaveTextContent("Cancel");
41
39
  });
42
40
 
43
- it("should render a cancel action with a custom label", () => {
44
- const cancelAction = { label: "Close", disable: false };
45
- const { container } = render(
46
- <BaseModalActions onClose={jest.fn()} cancelAction={cancelAction} />
47
- );
41
+ it("Should render a cancel button with a `Close` label", () => {
42
+ const cancelAction = { label: "Close" };
43
+ const { container } = render(<BaseModalActions cancelAction={cancelAction} />);
48
44
 
49
45
  const dialogActionsContainer = container.children[0];
50
46
  expect(dialogActionsContainer).toHaveClass("actions");
51
47
  expect(dialogActionsContainer).toHaveTextContent(cancelAction.label);
52
48
  });
53
-
54
- it("Shouldn't render a label because of disabled cancel action", () => {
55
- const cancelAction = { label: "Close", disable: true };
56
- const { container } = render(
57
- <BaseModalActions onClose={jest.fn()} cancelAction={cancelAction} />
58
- );
59
-
60
- const dialogActionsContainer = container.children[0];
61
- expect(dialogActionsContainer).toHaveClass("actions");
62
- expect(dialogActionsContainer).not.toHaveTextContent(cancelAction.label);
63
- });
64
49
  });
65
50
  describe("ref should work", () => {
66
51
  it("should give back the proper data prop, this also checks if the component propagates ...rest properly", () => {
@@ -16,49 +16,49 @@
16
16
 
17
17
  import React, { ForwardRefRenderFunction, ComponentPropsWithRef, useRef } from "react";
18
18
  import classes from "./BaseModalActions.module.scss";
19
- import { Button } from "../../../Button/Button";
19
+ import { Button, Props as ButtonProps } from "../../../Button/Button";
20
20
 
21
21
  export interface Props extends ComponentPropsWithRef<"div"> {
22
22
  children?: React.ReactNode;
23
- onClose: () => void;
23
+ onClose?: () => void;
24
24
  cancelAction?: CancelAction;
25
+ cancelActionsClassName?: string;
25
26
  }
26
27
 
27
28
  export interface CancelAction {
28
- label?: string;
29
- disable?: boolean;
29
+ label: string;
30
+ cancelButtonProps?: ButtonProps;
30
31
  }
31
32
 
32
33
  const BaseModalActionsComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
33
- {
34
- children,
35
- onClose,
36
- cancelAction = { label: undefined, disable: false },
37
- className = "",
38
- ...rest
39
- }: Props,
34
+ { children, cancelAction, cancelActionsClassName = "", onClose, className = "", ...rest }: Props,
40
35
  ref
41
36
  ) => {
42
37
  const innerRef = (React.createRef() as React.RefObject<HTMLDivElement>) || ref;
43
38
  const cancelButtonRef = useRef<HTMLDivElement>(null);
44
39
  const primaryActionsRef = useRef<HTMLDivElement>(null);
45
40
 
46
- const CancelButton = (
47
- <Button key="cancel" variant="text" color="default" onClick={onClose}>
48
- {cancelAction?.label ?? "Cancel"}
41
+ const cancelButton = (
42
+ <Button variant="text" color="default" {...cancelAction?.cancelButtonProps} onClick={onClose}>
43
+ {cancelAction?.label}
49
44
  </Button>
50
45
  );
51
46
 
52
47
  return (
53
48
  <div {...rest} ref={innerRef} className={`${classes["actions"]} ${className}`}>
54
- {!cancelAction.disable && (
55
- <div className={classes["cancel-action"]} ref={cancelButtonRef}>
56
- {CancelButton}
49
+ {cancelAction && (
50
+ <div
51
+ className={`${classes["cancel-action"]} ${cancelActionsClassName}`}
52
+ ref={cancelButtonRef}
53
+ >
54
+ {cancelButton}
55
+ </div>
56
+ )}
57
+ {children && (
58
+ <div ref={primaryActionsRef} className={classes["primary-actions"]}>
59
+ {children}
57
60
  </div>
58
61
  )}
59
- <div ref={primaryActionsRef} className={classes["primary-actions"]}>
60
- {children}
61
- </div>
62
62
  </div>
63
63
  );
64
64
  };
@@ -29,8 +29,7 @@ const initParams: Props = {
29
29
  onClick: jest.fn()
30
30
  },
31
31
  cancelAction: {
32
- label: "Cancel",
33
- disable: false
32
+ label: "Cancel"
34
33
  },
35
34
  secondaryAction: {
36
35
  label: "Cancel",
@@ -18,4 +18,18 @@
18
18
  & * + * {
19
19
  margin-left: 0.5rem;
20
20
  }
21
+
22
+ @media screen and (max-width: 640px) {
23
+ .cancel-action {
24
+ display: block;
25
+ flex-direction: column;
26
+ align-items: flex-end;
27
+ margin-left: 0;
28
+ margin-bottom: 0.5rem;
29
+
30
+ > * {
31
+ width: 100%;
32
+ }
33
+ }
34
+ }
21
35
  }
@@ -33,7 +33,8 @@ const DialogActionsComponent: ForwardRefRenderFunction<HTMLDivElement, Props> =
33
33
  return (
34
34
  <BaseModalActions
35
35
  {...rest}
36
- cancelAction={{ label: cancelAction?.label, disable: cancelAction?.disable }}
36
+ cancelAction={cancelAction}
37
+ cancelActionsClassName={classes["cancel-action"]}
37
38
  onClose={onClose}
38
39
  ref={ref}
39
40
  className={classes["actions"]}
@@ -56,10 +56,6 @@ const initWizardStepsProps = {
56
56
 
57
57
  const initWizardActionsProps: WizardActionProps = {
58
58
  actions: {
59
- cancel: {
60
- label: "Cancel",
61
- onClick: jest.fn()
62
- },
63
59
  next: {
64
60
  label: "Next",
65
61
  onClick: jest.fn()
@@ -102,9 +98,6 @@ const getStepButtons = (container: HTMLElement) =>
102
98
 
103
99
  const getActionsButtons = (container: HTMLElement) => {
104
100
  const actionsContainer = getByTestId(container, "wizard-actions");
105
- const cancel = queryByRole(actionsContainer, "button", {
106
- name: initWizardActionsProps.actions.cancel.label
107
- });
108
101
  const next = queryByRole(actionsContainer, "button", {
109
102
  name: initWizardActionsProps.actions.next.label
110
103
  });
@@ -114,13 +107,13 @@ const getActionsButtons = (container: HTMLElement) => {
114
107
  const save = queryByRole(actionsContainer, "button", {
115
108
  name: initWizardActionsProps.actions.saveAndClose.label
116
109
  });
117
- return { cancel, next, prev, save };
110
+ return { next, prev, save };
118
111
  };
119
112
 
120
113
  describe("Wizard", () => {
121
114
  it("renders without crashing", () => {
122
115
  const { container } = renderWizard();
123
- const { cancel, prev, next, save } = getActionsButtons(container);
116
+ const { prev, next, save } = getActionsButtons(container);
124
117
  const stepButtons = getStepButtons(container);
125
118
  const wizardContent = getWizardContent(container);
126
119
 
@@ -130,7 +123,6 @@ describe("Wizard", () => {
130
123
  expect(getByText(stepButtons[2], "3")).toBeDefined();
131
124
  expect(getByText(stepButtons[3], "4")).toBeDefined();
132
125
  expect(wizardContent).toHaveTextContent("Step 1");
133
- expect(cancel).toBeDefined();
134
126
  expect(next).toBeDefined();
135
127
  expect(prev).toBeNull();
136
128
  expect(save).toBeNull();
@@ -151,15 +143,13 @@ describe("Wizard", () => {
151
143
  await findByText(wizardContent, "Step 2");
152
144
  next && (await userEvent.click(next));
153
145
  await findByText(wizardContent, "Step 4");
154
- const { save, prev, cancel } = getActionsButtons(container);
146
+ const { save, prev } = getActionsButtons(container);
155
147
  save && (await userEvent.click(save));
156
148
  expect(initWizardActionsProps.actions.saveAndClose.onClick).toBeCalledWith(3);
157
149
  prev && (await userEvent.click(prev));
158
150
  await findByText(wizardContent, "Step 2");
159
151
  prev && (await userEvent.click(prev));
160
152
  await findByText(wizardContent, "Step 1");
161
- cancel && (await userEvent.click(cancel));
162
- expect(initWizardActionsProps.actions.cancel.onClick).toBeCalledTimes(1);
163
153
  });
164
154
 
165
155
  it("should not be able to click over whole wizard via steps buttons in add mode", async () => {
@@ -43,10 +43,6 @@ const initWizardState: WizardStateType = {
43
43
 
44
44
  const initParams: Props = {
45
45
  actions: {
46
- cancel: {
47
- label: "Cancel",
48
- onClick: jest.fn()
49
- },
50
46
  next: {
51
47
  label: "Next",
52
48
  onClick: jest.fn()
@@ -89,36 +85,32 @@ const renderWizardActions = (initReducerState?: WizardStateType, props?: Props)
89
85
  };
90
86
 
91
87
  const getActionsButtons = (container: HTMLElement) => {
92
- const cancel = queryByRole(container, "button", { name: initParams.actions.cancel.label });
93
88
  const next = queryByRole(container, "button", { name: initParams.actions.next.label });
94
89
  const prev = queryByRole(container, "button", { name: initParams.actions.previous.label });
95
90
  const save = queryByRole(container, "button", { name: initParams.actions.saveAndClose.label });
96
- return { cancel, next, prev, save };
91
+ return { next, prev, save };
97
92
  };
98
93
 
99
94
  describe("WizardActions", () => {
100
95
  it("renders without crashing", async () => {
101
96
  const { container, dispatch } = renderWizardActions();
102
- const { cancel, prev, next, save } = getActionsButtons(container);
97
+ const { prev, next, save } = getActionsButtons(container);
103
98
  (
104
99
  initParams.actions.next.onClick as jest.MockedFunction<typeof initParams.actions.next.onClick>
105
100
  ).mockReturnValueOnce(true);
106
101
 
107
- expect(cancel).toBeDefined();
108
- cancel && (await userEvent.click(cancel));
109
102
  expect(next).toBeDefined();
110
103
  next && (await userEvent.click(next));
111
104
  expect(prev).toBeNull();
112
105
  expect(save).toBeNull();
113
106
 
114
- expect(initParams.actions.cancel.onClick).toBeCalledTimes(1);
115
107
  expect(initParams.actions.next.onClick).toHaveBeenCalledWith(0);
116
108
  expect(dispatch).toBeCalledWith(changeCurrentStepNo(1));
117
109
  });
118
110
 
119
111
  it("should allow going prev and forward when there are prev step and next step (next step is disabled but next one can be used)", async () => {
120
112
  const { container, dispatch } = renderWizardActions({ ...initWizardState, currentStepNo: 1 });
121
- const { cancel, prev, next, save } = getActionsButtons(container);
113
+ const { prev, next, save } = getActionsButtons(container);
122
114
  (
123
115
  initParams.actions.next.onClick as jest.MockedFunction<typeof initParams.actions.next.onClick>
124
116
  ).mockReturnValueOnce(true);
@@ -133,15 +125,13 @@ describe("WizardActions", () => {
133
125
  expect(initParams.actions.next.onClick).toHaveBeenCalledWith(1);
134
126
  expect(dispatch).toBeCalledWith(changeCurrentStepNo(3));
135
127
 
136
- expect(cancel).toBeDefined();
137
128
  expect(save).toBeNull();
138
129
  });
139
130
 
140
131
  it("should render save button but not next button when current step is the last step", async () => {
141
132
  const { container } = renderWizardActions({ ...initWizardState, currentStepNo: 3 });
142
- const { cancel, prev, next, save } = getActionsButtons(container);
133
+ const { prev, next, save } = getActionsButtons(container);
143
134
 
144
- expect(cancel).toBeDefined();
145
135
  expect(prev).toBeDefined();
146
136
  expect(next).toBeNull();
147
137
  expect(save).toBeDefined();
@@ -161,9 +151,8 @@ describe("WizardActions", () => {
161
151
  steps: steps,
162
152
  currentStepNo: 0
163
153
  });
164
- const { cancel, prev, next, save } = getActionsButtons(container);
154
+ const { prev, next, save } = getActionsButtons(container);
165
155
 
166
- expect(cancel).toBeDefined();
167
156
  expect(prev).toBeNull();
168
157
  expect(next).toBeNull();
169
158
  expect(save).toBeDefined();
@@ -174,9 +163,8 @@ describe("WizardActions", () => {
174
163
 
175
164
  it("should show save button on middle step when mode is `edit`", async () => {
176
165
  const { container } = renderWizardActions({ ...initWizardState, mode: "edit" });
177
- const { cancel, prev, next, save } = getActionsButtons(container);
166
+ const { prev, next, save } = getActionsButtons(container);
178
167
 
179
- expect(cancel).toBeDefined();
180
168
  expect(prev).toBeNull();
181
169
  expect(next).toBeDefined();
182
170
  expect(save).toBeDefined();
@@ -23,12 +23,6 @@ import { changeCurrentStepNo } from "../wizardStateReducer";
23
23
 
24
24
  export interface Props extends React.HTMLProps<HTMLDivElement> {
25
25
  actions: {
26
- cancel: {
27
- label?: string;
28
- hide?: boolean;
29
- onClick?: () => void;
30
- cancelButtonProps?: ButtonProps;
31
- };
32
26
  previous: {
33
27
  label: string;
34
28
  onClick: () => void;
@@ -101,15 +95,6 @@ export const WizardActions = ({ actions }: Props) => {
101
95
 
102
96
  return (
103
97
  <Fragment>
104
- {!actions.cancel.hide && (
105
- <Button
106
- variant="text"
107
- onClick={actions.cancel.onClick}
108
- {...actions.cancel.cancelButtonProps}
109
- >
110
- {actions.cancel.label}
111
- </Button>
112
- )}
113
98
  {hasPreviousStep && (
114
99
  <Button variant="outline" onClick={onPreviousWrapper}>
115
100
  {actions.previous.label}
package/src/index.ts CHANGED
@@ -34,6 +34,8 @@ export { Tab } from "./components/Tabs/Tab";
34
34
  export type { Props as TabProps } from "./components/Tabs/Tab";
35
35
  export { Tabs } from "./components/Tabs/Tabs";
36
36
  export type { Props as TabsProps } from "./components/Tabs/Tabs";
37
+ export { Tag } from "./components/Tag/Tag";
38
+ export type { Props as TagProps } from "./components/Tag/Tag";
37
39
  export { TextEllipsis } from "./components/TextEllipsis/TextEllipsis";
38
40
  export type { Props as TextEllipsisProps } from "./components/TextEllipsis/TextEllipsis";
39
41
  export { Tile } from "./components/Tiles/Tile";