@pautena/react-design-system 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/action/cjs/index.js +1 -1
- package/action/cjs/index.js.map +1 -1
- package/action/cjs/package.json +0 -1
- package/action/index.js +1 -1
- package/action/index.js.map +1 -1
- package/action/package.json +0 -1
- package/board/board.d.ts +2 -3
- package/board/cjs/index.js +1 -1
- package/board/cjs/index.js.map +1 -1
- package/board/cjs/package.json +0 -1
- package/board/index.js +1 -1
- package/board/index.js.map +1 -1
- package/board/package.json +0 -1
- package/bootstrap-dialog/cjs/index.js +1 -1
- package/bootstrap-dialog/cjs/index.js.map +1 -1
- package/bootstrap-dialog/cjs/package.json +0 -1
- package/bootstrap-dialog/index.js +1 -1
- package/bootstrap-dialog/index.js.map +1 -1
- package/bootstrap-dialog/package.json +0 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/confirm-dialog/cjs/index.js +1 -1
- package/confirm-dialog/cjs/index.js.map +1 -1
- package/confirm-dialog/cjs/package.json +0 -1
- package/confirm-dialog/index.js +1 -1
- package/confirm-dialog/index.js.map +1 -1
- package/confirm-dialog/package.json +0 -1
- package/expandable-alert/cjs/index.js +1 -1
- package/expandable-alert/cjs/index.js.map +1 -1
- package/expandable-alert/cjs/package.json +0 -1
- package/expandable-alert/index.js +1 -1
- package/expandable-alert/index.js.map +1 -1
- package/expandable-alert/package.json +0 -1
- package/form-dialog/cjs/index.js +1 -1
- package/form-dialog/cjs/index.js.map +1 -1
- package/form-dialog/cjs/package.json +0 -1
- package/form-dialog/index.js +1 -1
- package/form-dialog/index.js.map +1 -1
- package/form-dialog/package.json +0 -1
- package/index.d.ts +0 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/markdown/cjs/index.js +1 -1
- package/markdown/cjs/index.js.map +1 -1
- package/markdown/cjs/package.json +1 -3
- package/markdown/index.js +1 -1
- package/markdown/index.js.map +1 -1
- package/markdown/markdown.d.ts +45 -7
- package/markdown/package.json +1 -3
- package/package.json +8 -16
- package/sign-in/cjs/index.js +1 -1
- package/sign-in/cjs/index.js.map +1 -1
- package/sign-in/cjs/package.json +0 -1
- package/sign-in/index.js +1 -1
- package/sign-in/index.js.map +1 -1
- package/sign-in/package.json +0 -1
- package/lorem-ipsum-placeholder/cjs/index.js +0 -2
- package/lorem-ipsum-placeholder/cjs/index.js.map +0 -1
- package/lorem-ipsum-placeholder/cjs/package.json +0 -12
- package/lorem-ipsum-placeholder/index.d.ts +0 -1
- package/lorem-ipsum-placeholder/index.js +0 -2
- package/lorem-ipsum-placeholder/index.js.map +0 -1
- package/lorem-ipsum-placeholder/lorem-ipsum-placeholder.d.ts +0 -8
- package/lorem-ipsum-placeholder/package.json +0 -12
package/README.md
CHANGED
|
@@ -13,13 +13,13 @@ This project is available as an [npm package](https://www.npmjs.com/package/@pau
|
|
|
13
13
|
npm:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid
|
|
16
|
+
npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
yarn:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom
|
|
22
|
+
npm install @pautena/react-design-system @emotion/react @emotion/styled @mui/icons-material @mui/lab @mui/material @mui/x-data-grid react-dom
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Now you are going to be able to import the components and use it in your React project.
|
package/action/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Grid"),r=require("@mui/material/Button"),t=require("@mui/material/Typography"),n=require("@mui/material/DialogContentText"),l=require("@mui/material/styles"),a=require("react"),o=require("@mui/material/Dialog"),c=require("@mui/material/DialogTitle"),s=require("@mui/material/DialogActions"),d=require("@mui/material/IconButton"),m=require("@mui/material/DialogContent"),p=require("@mui/material/CircularProgress"),u=require("@mui/material/Box"),x=require("@mui/
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Grid"),r=require("@mui/material/Button"),t=require("@mui/material/Typography"),n=require("@mui/material/DialogContentText"),l=require("@mui/material/styles"),a=require("react"),o=require("@mui/material/Dialog"),c=require("@mui/material/DialogTitle"),s=require("@mui/material/DialogActions"),d=require("@mui/material/IconButton"),m=require("@mui/material/DialogContent"),p=require("@mui/material/CircularProgress"),u=require("@mui/material/Box"),x=require("@mui/icons-material/Close"),h=require("@mui/material/TextField");const C=({title:i,titleVariant:r="h4",variant:n="primary"})=>{const{palette:a}=l.useTheme(),o={primary:void 0,error:"error",warning:a.warning.main,success:a.success.main};return e.jsx(t,{color:o[n],variant:r,pb:1,borderBottom:1,borderColor:"grey.300",children:i})},j=({open:i,title:t,component:n,componentProps:l={},disabled:a,disableAccept:h,disableCancel:C,actions:j=[],children:b,loading:g,cancelable:q,callCloseWhenCancel:y=!0,acceptable:T,acceptText:v="Accept",cancelText:f="Cancel",onAccept:A,onCancel:k=(()=>null),onClose:D,acceptType:V="button"})=>{const B=j.length>0||T||q;return e.jsxs(o,{open:i,onClose:D,children:[e.jsxs(c,{sx:{display:"flex",alignItems:"center"},children:[t,g&&!T&&e.jsx(p,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e.jsx(d,{disabled:a,"aria-label":"close",onClick:D,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e.jsx(x,{})})]}),e.jsxs(u,{component:n,...l,children:[e.jsx(m,{dividers:!0,children:b}),B&&e.jsxs(s,{children:[j.map((({id:i,text:t,type:n="button",onClick:l,color:o="primary"})=>e.jsx(r,{type:n,disabled:a,onClick:l,color:o,children:t},i))),q&&e.jsx(r,{color:"error",disabled:a||C,onClick:()=>{k(),y&&D()},children:f}),T&&e.jsx(r,{type:V,loading:g,disabled:a||h,onClick:A,children:v})]})]})]})},b=({open:i,title:r,loading:t,disabled:n,confirmText:l="Confirm",cancelText:o="Cancel",passphrase:c,children:s,onConfirm:d,onCancel:m})=>{const[p,u]=a.useState(""),x=!c||p===c;return e.jsxs(j,{title:r,loading:t,disabled:t||n,disableAccept:!x,open:i,onClose:m,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:l,cancelText:o,onCancel:m,onAccept:d,children:[s,c&&e.jsx(h,{size:"small",fullWidth:!0,value:p,onChange:e=>u(e.target.value),placeholder:c})]})};exports.Action=({variant:l="primary",title:o,titleVariant:c="h4",description:s,descriptionVariant:d="body2",buttonText:m,helperText:p,helperTextVariant:u="caption",confirmable:x,passphrase:h,confirmTitle:j="",confirmDescription:g="",onAction:q})=>{const{isOpen:y,open:T,close:v}=((e=!1)=>{const[i,r]=a.useState(e);return{isOpen:i,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}})();return e.jsxs(e.Fragment,{children:[e.jsxs(i,{container:!0,spacing:1,children:[e.jsx(i,{item:!0,xs:12,mb:2,children:e.jsx(C,{title:o,titleVariant:c})}),s&&e.jsx(i,{item:!0,xs:12,children:e.jsx(t,{variant:d,children:s})}),e.jsx(i,{item:!0,xs:12,mt:1,children:e.jsx(r,{color:l,variant:"contained",onClick:()=>{x?T():q()},children:m})}),p&&e.jsx(i,{item:!0,xs:12,children:e.jsx(t,{variant:u,children:p})})]}),e.jsx(b,{open:y,title:j,passphrase:h,onCancel:v,onConfirm:()=>{q(),v()},children:e.jsx(n,{children:g})})]})},exports.ActionHeader=C;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/action/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/action/action-header.tsx","../../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../../src/confirm-dialog/confirm-dialog.tsx","../../../src/action/action.tsx","../../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <LoadingButton\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </LoadingButton>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close();\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button","LoadingButton","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","validPassphrase","TextField","fullWidth","value","onChange","e","target","placeholder","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/action/action-header.tsx","../../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../../src/confirm-dialog/confirm-dialog.tsx","../../../src/action/action.tsx","../../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <Button\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </Button>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close();\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","validPassphrase","TextField","fullWidth","value","onChange","e","target","placeholder","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
|
package/action/cjs/package.json
CHANGED
package/action/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as i,Fragment as r}from"react/jsx-runtime";import t from"@mui/material/Grid";import o from"@mui/material/Button";import n from"@mui/material/Typography";import l from"@mui/material/DialogContentText";import{useTheme as a}from"@mui/material/styles";import{useState as c}from"react";import m from"@mui/material/Dialog";import p from"@mui/material/DialogTitle";import s from"@mui/material/DialogActions";import d from"@mui/material/IconButton";import h from"@mui/material/DialogContent";import u from"@mui/material/CircularProgress";import C from"@mui/material/Box";import b from"@mui/
|
|
1
|
+
import{jsx as e,jsxs as i,Fragment as r}from"react/jsx-runtime";import t from"@mui/material/Grid";import o from"@mui/material/Button";import n from"@mui/material/Typography";import l from"@mui/material/DialogContentText";import{useTheme as a}from"@mui/material/styles";import{useState as c}from"react";import m from"@mui/material/Dialog";import p from"@mui/material/DialogTitle";import s from"@mui/material/DialogActions";import d from"@mui/material/IconButton";import h from"@mui/material/DialogContent";import u from"@mui/material/CircularProgress";import C from"@mui/material/Box";import b from"@mui/icons-material/Close";import f from"@mui/material/TextField";const x=({title:i,titleVariant:r="h4",variant:t="primary"})=>{const{palette:o}=a(),l={primary:void 0,error:"error",warning:o.warning.main,success:o.success.main};return e(n,{color:l[t],variant:r,pb:1,borderBottom:1,borderColor:"grey.300",children:i})},g=({open:r,title:t,component:n,componentProps:l={},disabled:a,disableAccept:c,disableCancel:f,actions:x=[],children:g,loading:y,cancelable:T,callCloseWhenCancel:v=!0,acceptable:A,acceptText:k="Accept",cancelText:D="Cancel",onAccept:V,onCancel:B=(()=>null),onClose:I,acceptType:O="button"})=>{const W=x.length>0||A||T;return i(m,{open:r,onClose:I,children:[i(p,{sx:{display:"flex",alignItems:"center"},children:[t,y&&!A&&e(u,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e(d,{disabled:a,"aria-label":"close",onClick:I,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e(b,{})})]}),i(C,{component:n,...l,children:[e(h,{dividers:!0,children:g}),W&&i(s,{children:[x.map((({id:i,text:r,type:t="button",onClick:n,color:l="primary"})=>e(o,{type:t,disabled:a,onClick:n,color:l,children:r},i))),T&&e(o,{color:"error",disabled:a||f,onClick:()=>{B(),v&&I()},children:D}),A&&e(o,{type:O,loading:y,disabled:a||c,onClick:V,children:k})]})]})]})},y=({open:r,title:t,loading:o,disabled:n,confirmText:l="Confirm",cancelText:a="Cancel",passphrase:m,children:p,onConfirm:s,onCancel:d})=>{const[h,u]=c("");return i(g,{title:t,loading:o,disabled:o||n,disableAccept:!(!m||h===m),open:r,onClose:d,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:l,cancelText:a,onCancel:d,onAccept:s,children:[p,m&&e(f,{size:"small",fullWidth:!0,value:h,onChange:e=>u(e.target.value),placeholder:m})]})},T=({variant:a="primary",title:m,titleVariant:p="h4",description:s,descriptionVariant:d="body2",buttonText:h,helperText:u,helperTextVariant:C="caption",confirmable:b,passphrase:f,confirmTitle:g="",confirmDescription:T="",onAction:v})=>{const{isOpen:A,open:k,close:D}=((e=!1)=>{const[i,r]=c(e);return{isOpen:i,open:()=>r(!0),close:()=>r(!1),setIsOpen:r}})();return i(r,{children:[i(t,{container:!0,spacing:1,children:[e(t,{item:!0,xs:12,mb:2,children:e(x,{title:m,titleVariant:p})}),s&&e(t,{item:!0,xs:12,children:e(n,{variant:d,children:s})}),e(t,{item:!0,xs:12,mt:1,children:e(o,{color:a,variant:"contained",onClick:()=>{b?k():v()},children:h})}),u&&e(t,{item:!0,xs:12,children:e(n,{variant:C,children:u})})]}),e(y,{open:A,title:g,passphrase:f,onCancel:D,onConfirm:()=>{v(),D()},children:e(l,{children:T})})]})};export{T as Action,x as ActionHeader};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/action/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/action/action-header.tsx","../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/confirm-dialog/confirm-dialog.tsx","../../src/action/action.tsx","../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <LoadingButton\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </LoadingButton>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close();\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button","LoadingButton","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","TextField","fullWidth","value","onChange","e","target","placeholder","Action","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/action/action-header.tsx","../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/confirm-dialog/confirm-dialog.tsx","../../src/action/action.tsx","../../src/dialog/use-dialog.ts"],"sourcesContent":["import Typography from \"@mui/material/Typography\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\n\ntype ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionHeaderProps {\n variant?: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n}\n\nexport const ActionHeader = ({\n title,\n titleVariant = \"h4\",\n variant = \"primary\",\n}: ActionHeaderProps) => {\n const { palette } = useTheme();\n\n const titleColor: Record<ActionVariant, string | undefined> = {\n primary: undefined,\n error: \"error\",\n warning: palette.warning.main,\n success: palette.success.main,\n };\n return (\n <Typography\n color={titleColor[variant]}\n variant={titleVariant}\n pb={1}\n borderBottom={1}\n borderColor=\"grey.300\"\n >\n {title}\n </Typography>\n );\n};\n","import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <Button\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </Button>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"../bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { Variant } from \"@mui/material/styles/createTypography\";\nimport { ReactElement } from \"react\";\nimport { ActionHeader } from \"./action-header\";\nimport { ConfirmDialog } from \"../confirm-dialog\";\nimport { useDialog } from \"../dialog\";\n\nexport type ActionVariant = \"primary\" | \"error\" | \"warning\" | \"success\";\n\nexport interface ActionProps {\n variant: ActionVariant;\n title: string;\n titleVariant?: Extract<Variant, \"h4\" | \"h5\" | \"h6\">;\n description?: string | ReactElement;\n descriptionVariant?: Variant;\n helperText?: string;\n helperTextVariant?: Variant;\n buttonText: string;\n confirmable?: boolean;\n confirmTitle?: string;\n confirmDescription?: string;\n passphrase?: string;\n onAction: () => void;\n}\n\nexport const Action = ({\n variant = \"primary\",\n title,\n titleVariant = \"h4\",\n description,\n descriptionVariant = \"body2\",\n buttonText,\n helperText,\n helperTextVariant = \"caption\",\n confirmable,\n passphrase,\n confirmTitle = \"\",\n confirmDescription = \"\",\n onAction,\n}: ActionProps) => {\n const { isOpen, open, close } = useDialog();\n\n const handleClickActionButton = () => {\n if (confirmable) {\n open();\n } else {\n onAction();\n }\n };\n\n const handleConfirmDialog = () => {\n onAction();\n close();\n };\n\n return (\n <>\n <Grid container spacing={1}>\n <Grid item xs={12} mb={2}>\n <ActionHeader title={title} titleVariant={titleVariant} />\n </Grid>\n {description && (\n <Grid item xs={12}>\n <Typography variant={descriptionVariant}>{description}</Typography>\n </Grid>\n )}\n <Grid item xs={12} mt={1}>\n <Button color={variant} variant=\"contained\" onClick={handleClickActionButton}>\n {buttonText}\n </Button>\n </Grid>\n {helperText && (\n <Grid item xs={12}>\n <Typography variant={helperTextVariant}>{helperText}</Typography>\n </Grid>\n )}\n </Grid>\n <ConfirmDialog\n open={isOpen}\n title={confirmTitle}\n passphrase={passphrase}\n onCancel={close}\n onConfirm={handleConfirmDialog}\n >\n <DialogContentText>{confirmDescription}</DialogContentText>\n </ConfirmDialog>\n </>\n );\n};\n","import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["ActionHeader","title","titleVariant","variant","palette","useTheme","titleColor","primary","undefined","error","warning","main","success","_jsx","Typography","color","pb","borderBottom","borderColor","children","BootstrapDialog","open","component","componentProps","disabled","disableAccept","disableCancel","actions","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","CircularProgress","size","ml","theme","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","TextField","fullWidth","value","onChange","e","target","placeholder","Action","description","descriptionVariant","buttonText","helperText","helperTextVariant","confirmable","confirmTitle","confirmDescription","onAction","isOpen","close","intialOpen","setIsOpen","useDialog","_Fragment","Grid","container","spacing","item","xs","mb","mt","DialogContentText"],"mappings":"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"}
|
package/action/package.json
CHANGED
package/board/board.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { SxProps, Theme } from "@mui/material/styles";
|
|
2
2
|
import { PropsWithChildren } from "react";
|
|
3
3
|
export type BoardProps = PropsWithChildren<{
|
|
4
|
-
|
|
5
|
-
content?: string | string[];
|
|
4
|
+
content: string | string[];
|
|
6
5
|
spacing?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
7
6
|
sx?: SxProps<Theme>;
|
|
8
7
|
}>;
|
|
9
|
-
export declare const Board: ({
|
|
8
|
+
export declare const Board: ({ content: contentProp, spacing, children, sx }: BoardProps) => import("react/jsx-runtime").JSX.Element;
|
package/board/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var r=require("react/jsx-runtime"),e=require("@mui/material/Box"),
|
|
1
|
+
"use strict";var r=require("react/jsx-runtime"),e=require("@mui/material/Box"),i=require("@mui/material/IconButton"),t=require("@mui/material/Paper"),o=require("@mui/material/Tooltip"),a=require("@mui/material/Typography"),l=require("@mui/material/styles"),n=require("@mui/material/colors"),s=require("@mui/icons-material/ContentCopy");exports.Board=({content:c,spacing:u=0,children:p,sx:x})=>{const{spacing:m,typography:h}=l.useTheme();let d,y;return Array.isArray(c)?(y=c.map(((e,i)=>r.jsx(a,{sx:{pb:u},children:e},i))),d=c.join("\n")):(y=r.jsx(a,{children:c}),d=c||""),r.jsx(t,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:n.blueGrey[800],color:"white",...x},children:r.jsxs(e,{display:"flex",flexDirection:"row",children:[r.jsx(e,{width:1,children:p||y}),r.jsx(e,{sx:{position:"absolute",top:m(.5),right:m(.5)},children:d&&r.jsx(i,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(d),children:r.jsx(o,{title:"Copy",children:r.jsx(s,{sx:{fontSize:h.pxToRem(18)}})})})})]})})};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/board/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/board/board.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Paper from \"@mui/material/Paper\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, SxProps, Theme } from \"@mui/material/styles\";\nimport { blueGrey } from \"@mui/material/colors\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\n\nexport type BoardProps = PropsWithChildren<{\n content: string | string[];\n spacing?: 0 | 1 | 2 | 3 | 4 | 5;\n sx?: SxProps<Theme>;\n}>;\n\nexport const Board = ({ content: contentProp, spacing = 0, children, sx }: BoardProps) => {\n const { spacing: themeSpacing, typography } = useTheme();\n let copyContent: string;\n let content: ReactNode;\n\n if (Array.isArray(contentProp)) {\n content = contentProp.map((line, i) => (\n <Typography key={i} sx={{ pb: spacing }}>\n {line}\n </Typography>\n ));\n copyContent = contentProp.join(\"\\n\");\n } else {\n content = <Typography>{contentProp}</Typography>;\n copyContent = contentProp || \"\";\n }\n\n return (\n <Paper\n sx={{\n position: \"relative\",\n pl: 2,\n pr: 4,\n py: 1,\n backgroundColor: blueGrey[800],\n color: \"white\",\n ...sx,\n }}\n >\n <Box display=\"flex\" flexDirection=\"row\">\n <Box width={1}>{children || content}</Box>\n <Box sx={{ position: \"absolute\", top: themeSpacing(0.5), right: themeSpacing(0.5) }}>\n {copyContent && (\n <IconButton\n aria-label=\"copy board content\"\n color=\"inherit\"\n onClick={() => navigator.clipboard.writeText(copyContent)}\n >\n <Tooltip title=\"Copy\">\n <ContentCopyIcon sx={{ fontSize: typography.pxToRem(18) }} />\n </Tooltip>\n </IconButton>\n )}\n </Box>\n </Box>\n </Paper>\n );\n};\n"],"names":["content","contentProp","spacing","children","sx","themeSpacing","typography","useTheme","copyContent","Array","isArray","map","line","i","_jsx","jsx","Typography","pb","join","Paper","position","pl","pr","py","backgroundColor","blueGrey","color","_jsxs","Box","display","flexDirection","width","top","right","IconButton","onClick","navigator","clipboard","writeText","Tooltip","title","ContentCopyIcon","fontSize","pxToRem"],"mappings":"8VAgBqB,EAAGA,QAASC,EAAaC,UAAU,EAAGC,WAAUC,SACnE,MAAQF,QAASG,EAAYC,WAAEA,GAAeC,EAAAA,WAC9C,IAAIC,EACAR,EAcJ,OAZIS,MAAMC,QAAQT,IAChBD,EAAUC,EAAYU,KAAI,CAACC,EAAMC,IAC/BC,EAACC,IAAAC,EAAmB,CAAAZ,GAAI,CAAEa,GAAIf,GAC3BC,SAAAS,GADcC,KAInBL,EAAcP,EAAYiB,KAAK,QAE/BlB,EAAUc,EAAAA,IAACE,EAAY,CAAAb,SAAAF,IACvBO,EAAcP,GAAe,IAI7Ba,EAAAC,IAACI,EAAK,CACJf,GAAI,CACFgB,SAAU,WACVC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,gBAAiBC,EAAQA,SAAC,KAC1BC,MAAO,WACJtB,GAGLD,SAAAwB,EAAAA,KAACC,EAAI,CAAAC,QAAQ,OAAOC,cAAc,MAAK3B,SAAA,CACrCW,MAACc,EAAG,CAACG,MAAO,EAAC5B,SAAGA,GAAYH,IAC5Bc,EAACC,IAAAa,GAAIxB,GAAI,CAAEgB,SAAU,WAAYY,IAAK3B,EAAa,IAAM4B,MAAO5B,EAAa,KAAMF,SAChFK,GACCM,EAAAC,IAACmB,EACY,CAAA,aAAA,qBACXR,MAAM,UACNS,QAAS,IAAMC,UAAUC,UAAUC,UAAU9B,GAE7CL,SAAAW,EAAAA,IAACyB,EAAO,CAACC,MAAM,OACbrC,SAAAW,EAAAA,IAAC2B,EAAgB,CAAArC,GAAI,CAAEsC,SAAUpC,EAAWqC,QAAQ,iBAMxD"}
|
package/board/cjs/package.json
CHANGED
package/board/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as r,jsxs as i}from"react/jsx-runtime";import o from"@mui/material/Box";import t from"@mui/material/IconButton";import e from"@mui/material/Paper";import m from"@mui/material/Tooltip";import a from"@mui/material/Typography";import{useTheme as l}from"@mui/material/styles";import{blueGrey as n}from"@mui/material/colors";import p from"@mui/icons-material/ContentCopy";const c=({content:c,spacing:s=0,children:h,sx:d})=>{const{spacing:u,typography:f}=l();let x,y;return Array.isArray(c)?(y=c.map(((i,o)=>r(a,{sx:{pb:s},children:i},o))),x=c.join("\n")):(y=r(a,{children:c}),x=c||""),r(e,{sx:{position:"relative",pl:2,pr:4,py:1,backgroundColor:n[800],color:"white",...d},children:i(o,{display:"flex",flexDirection:"row",children:[r(o,{width:1,children:h||y}),r(o,{sx:{position:"absolute",top:u(.5),right:u(.5)},children:x&&r(t,{"aria-label":"copy board content",color:"inherit",onClick:()=>navigator.clipboard.writeText(x),children:r(m,{title:"Copy",children:r(p,{sx:{fontSize:f.pxToRem(18)}})})})})]})})};export{c as Board};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/board/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/board/board.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Paper from \"@mui/material/Paper\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTheme, SxProps, Theme } from \"@mui/material/styles\";\nimport { blueGrey } from \"@mui/material/colors\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport ContentCopyIcon from \"@mui/icons-material/ContentCopy\";\n\nexport type BoardProps = PropsWithChildren<{\n content: string | string[];\n spacing?: 0 | 1 | 2 | 3 | 4 | 5;\n sx?: SxProps<Theme>;\n}>;\n\nexport const Board = ({ content: contentProp, spacing = 0, children, sx }: BoardProps) => {\n const { spacing: themeSpacing, typography } = useTheme();\n let copyContent: string;\n let content: ReactNode;\n\n if (Array.isArray(contentProp)) {\n content = contentProp.map((line, i) => (\n <Typography key={i} sx={{ pb: spacing }}>\n {line}\n </Typography>\n ));\n copyContent = contentProp.join(\"\\n\");\n } else {\n content = <Typography>{contentProp}</Typography>;\n copyContent = contentProp || \"\";\n }\n\n return (\n <Paper\n sx={{\n position: \"relative\",\n pl: 2,\n pr: 4,\n py: 1,\n backgroundColor: blueGrey[800],\n color: \"white\",\n ...sx,\n }}\n >\n <Box display=\"flex\" flexDirection=\"row\">\n <Box width={1}>{children || content}</Box>\n <Box sx={{ position: \"absolute\", top: themeSpacing(0.5), right: themeSpacing(0.5) }}>\n {copyContent && (\n <IconButton\n aria-label=\"copy board content\"\n color=\"inherit\"\n onClick={() => navigator.clipboard.writeText(copyContent)}\n >\n <Tooltip title=\"Copy\">\n <ContentCopyIcon sx={{ fontSize: typography.pxToRem(18) }} />\n </Tooltip>\n </IconButton>\n )}\n </Box>\n </Box>\n </Paper>\n );\n};\n"],"names":["Board","content","contentProp","spacing","children","sx","themeSpacing","typography","useTheme","copyContent","Array","isArray","map","line","i","_jsx","Typography","pb","join","Paper","position","pl","pr","py","backgroundColor","blueGrey","color","_jsxs","Box","display","flexDirection","width","top","right","IconButton","onClick","navigator","clipboard","writeText","Tooltip","title","ContentCopyIcon","fontSize","pxToRem"],"mappings":"0XAgBa,MAAAA,EAAQ,EAAGC,QAASC,EAAaC,UAAU,EAAGC,WAAUC,SACnE,MAAQF,QAASG,EAAYC,WAAEA,GAAeC,IAC9C,IAAIC,EACAR,EAcJ,OAZIS,MAAMC,QAAQT,IAChBD,EAAUC,EAAYU,KAAI,CAACC,EAAMC,IAC/BC,EAACC,EAAmB,CAAAX,GAAI,CAAEY,GAAId,GAC3BC,SAAAS,GADcC,KAInBL,EAAcP,EAAYgB,KAAK,QAE/BjB,EAAUc,EAACC,EAAY,CAAAZ,SAAAF,IACvBO,EAAcP,GAAe,IAI7Ba,EAACI,EAAK,CACJd,GAAI,CACFe,SAAU,WACVC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,gBAAiBC,EAAS,KAC1BC,MAAO,WACJrB,GAGLD,SAAAuB,EAACC,EAAI,CAAAC,QAAQ,OAAOC,cAAc,MAAK1B,SAAA,CACrCW,EAACa,EAAG,CAACG,MAAO,EAAC3B,SAAGA,GAAYH,IAC5Bc,EAACa,GAAIvB,GAAI,CAAEe,SAAU,WAAYY,IAAK1B,EAAa,IAAM2B,MAAO3B,EAAa,KAAMF,SAChFK,GACCM,EAACmB,EACY,CAAA,aAAA,qBACXR,MAAM,UACNS,QAAS,IAAMC,UAAUC,UAAUC,UAAU7B,GAE7CL,SAAAW,EAACwB,EAAO,CAACC,MAAM,OACbpC,SAAAW,EAAC0B,EAAgB,CAAApC,GAAI,CAAEqC,SAAUnC,EAAWoC,QAAQ,iBAMxD"}
|
package/board/package.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Dialog"),l=require("@mui/material/DialogTitle"),r=require("@mui/material/DialogActions"),o=require("@mui/material/IconButton"),t=require("@mui/material/DialogContent"),a=require("@mui/material/CircularProgress"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Dialog"),l=require("@mui/material/DialogTitle"),r=require("@mui/material/DialogActions"),o=require("@mui/material/IconButton"),t=require("@mui/material/DialogContent"),a=require("@mui/material/CircularProgress"),c=require("@mui/material/Box"),n=require("@mui/material/Button"),s=require("@mui/icons-material/Close");exports.BootstrapDialog=({open:u,title:d,component:m,componentProps:p={},disabled:x,disableAccept:C,disableCancel:b,actions:g=[],children:h,loading:j,cancelable:q,callCloseWhenCancel:y=!0,acceptable:k,acceptText:D="Accept",cancelText:A="Cancel",onAccept:B,onCancel:T=(()=>null),onClose:v,acceptType:I="button"})=>{const P=g.length>0||k||q;return e.jsxs(i,{open:u,onClose:v,children:[e.jsxs(l,{sx:{display:"flex",alignItems:"center"},children:[d,j&&!k&&e.jsx(a,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e.jsx(o,{disabled:x,"aria-label":"close",onClick:v,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e.jsx(s,{})})]}),e.jsxs(c,{component:m,...p,children:[e.jsx(t,{dividers:!0,children:h}),P&&e.jsxs(r,{children:[g.map((({id:i,text:l,type:r="button",onClick:o,color:t="primary"})=>e.jsx(n,{type:r,disabled:x,onClick:o,color:t,children:l},i))),q&&e.jsx(n,{color:"error",disabled:x||b,onClick:()=>{T(),y&&v()},children:A}),k&&e.jsx(n,{type:I,loading:j,disabled:x||C,onClick:B,children:D})]})]})]})};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/bootstrap-dialog/bootstrap-dialog.tsx"],"sourcesContent":["import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/bootstrap-dialog/bootstrap-dialog.tsx"],"sourcesContent":["import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <Button\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </Button>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n"],"names":["open","title","component","componentProps","disabled","disableAccept","disableCancel","actions","children","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","_jsx","CircularProgress","size","ml","color","theme","palette","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button"],"mappings":"6ZAW+B,EAC7BA,OACAC,QACAC,YACAC,iBAAiB,CAAA,EACjBC,WACAC,gBACAC,gBACAC,UAAU,GACVC,WACAC,UACAC,aACAC,uBAAsB,EACtBC,aACAC,aAAa,SACbC,aAAa,SACbC,WACAC,WAAW,KAAM,MACjBC,UACAC,aAAa,aAEb,MAAMC,EAAaZ,EAAQa,OAAS,GAAKR,GAAcF,EAEvD,OACEW,OAACC,EAAO,CAAAtB,KAAMA,EAAMiB,QAASA,EAC3BT,SAAA,CAAAa,EAAAE,KAACC,EAAY,CAAAC,GAAI,CAAEC,QAAS,OAAQC,WAAY,UAAUnB,SAAA,CACvDP,EACAQ,IAAYG,GACXgB,MAACC,EAAgB,CAACC,KAAM,GAAIL,GAAI,CAAEM,GAAI,EAAGC,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,QAEhFP,EAAAA,IAACQ,GACChC,SAAUA,EAAQ,aACP,QACXiC,QAASpB,EACTQ,GAAI,CACFa,SAAU,WACVC,MAAO,EACPC,IAAK,EACLR,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,MAGvC3B,SAAAoB,EAAAA,IAACa,EAAY,CAAA,QAGjBpB,EAAAA,KAACqB,EAAI,CAAAxC,UAAWA,KAAeC,EAC7BK,SAAA,CAAAoB,EAAAe,IAACC,EAAc,CAAAC,UAAU,EAAArC,SAAAA,IACxBW,GACCE,EAAAA,KAACyB,EAAa,CAAAtC,SAAA,CACXD,EAAQwC,KAAI,EAAGC,KAAIC,OAAMC,OAAO,SAAUb,UAASL,QAAQ,aAC1DJ,EAAAA,IAACuB,GAAgBD,KAAMA,EAAM9C,SAAUA,EAAUiC,QAASA,EAASL,MAAOA,EAAKxB,SAC5EyC,GADUD,KAIdtC,GACCkB,EAAAe,IAACQ,EAAM,CACLnB,MAAM,QACN5B,SAAUA,GAAYE,EACtB+B,QAAS,KACPrB,IACIL,GACFM,cAIHH,IAIJF,GACCgB,EAAAA,IAACuB,GACCD,KAAMhC,EACNT,QAASA,EACTL,SAAUA,GAAYC,EACtBgC,QAAStB,EAERP,SAAAK,YAMJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as o}from"react/jsx-runtime";import i from"@mui/material/Dialog";import l from"@mui/material/DialogTitle";import t from"@mui/material/DialogActions";import r from"@mui/material/IconButton";import a from"@mui/material/DialogContent";import n from"@mui/material/CircularProgress";import c from"@mui/material/Box";import m from"@mui/material/Button";import p from"@mui/
|
|
1
|
+
import{jsxs as e,jsx as o}from"react/jsx-runtime";import i from"@mui/material/Dialog";import l from"@mui/material/DialogTitle";import t from"@mui/material/DialogActions";import r from"@mui/material/IconButton";import a from"@mui/material/DialogContent";import n from"@mui/material/CircularProgress";import c from"@mui/material/Box";import m from"@mui/material/Button";import p from"@mui/icons-material/Close";const s=({open:s,title:d,component:u,componentProps:C={},disabled:b,disableAccept:h,disableCancel:g,actions:f=[],children:x,loading:y,cancelable:k,callCloseWhenCancel:A=!0,acceptable:D,acceptText:T="Accept",cancelText:B="Cancel",onAccept:I,onCancel:P=(()=>null),onClose:j,acceptType:v="button"})=>{const z=f.length>0||D||k;return e(i,{open:s,onClose:j,children:[e(l,{sx:{display:"flex",alignItems:"center"},children:[d,y&&!D&&o(n,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),o(r,{disabled:b,"aria-label":"close",onClick:j,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:o(p,{})})]}),e(c,{component:u,...C,children:[o(a,{dividers:!0,children:x}),z&&e(t,{children:[f.map((({id:e,text:i,type:l="button",onClick:t,color:r="primary"})=>o(m,{type:l,disabled:b,onClick:t,color:r,children:i},e))),k&&o(m,{color:"error",disabled:b||g,onClick:()=>{P(),A&&j()},children:B}),D&&o(m,{type:v,loading:y,disabled:b||h,onClick:I,children:T})]})]})]})};export{s as BootstrapDialog};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/bootstrap-dialog/bootstrap-dialog.tsx"],"sourcesContent":["import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/bootstrap-dialog/bootstrap-dialog.tsx"],"sourcesContent":["import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"../dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n if (callCloseWhenCancel) {\n onClose();\n }\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <Button\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </Button>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n"],"names":["BootstrapDialog","open","title","component","componentProps","disabled","disableAccept","disableCancel","actions","children","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","_jsx","CircularProgress","size","ml","color","theme","palette","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button"],"mappings":"yZAWO,MAAMA,EAAkB,EAC7BC,OACAC,QACAC,YACAC,iBAAiB,CAAA,EACjBC,WACAC,gBACAC,gBACAC,UAAU,GACVC,WACAC,UACAC,aACAC,uBAAsB,EACtBC,aACAC,aAAa,SACbC,aAAa,SACbC,WACAC,WAAW,KAAM,MACjBC,UACAC,aAAa,aAEb,MAAMC,EAAaZ,EAAQa,OAAS,GAAKR,GAAcF,EAEvD,OACEW,EAACC,EAAO,CAAAtB,KAAMA,EAAMiB,QAASA,EAC3BT,SAAA,CAAAa,EAACE,EAAY,CAAAC,GAAI,CAAEC,QAAS,OAAQC,WAAY,UAAUlB,SAAA,CACvDP,EACAQ,IAAYG,GACXe,EAACC,EAAgB,CAACC,KAAM,GAAIL,GAAI,CAAEM,GAAI,EAAGC,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,QAEhFP,EAACQ,GACC/B,SAAUA,EAAQ,aACP,QACXgC,QAASnB,EACTO,GAAI,CACFa,SAAU,WACVC,MAAO,EACPC,IAAK,EACLR,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,MAGvC1B,SAAAmB,EAACa,EAAY,CAAA,QAGjBnB,EAACoB,EAAI,CAAAvC,UAAWA,KAAeC,EAC7BK,SAAA,CAAAmB,EAACe,EAAc,CAAAC,UAAU,EAAAnC,SAAAA,IACxBW,GACCE,EAACuB,EAAa,CAAApC,SAAA,CACXD,EAAQsC,KAAI,EAAGC,KAAIC,OAAMC,OAAO,SAAUZ,UAASL,QAAQ,aAC1DJ,EAACsB,GAAgBD,KAAMA,EAAM5C,SAAUA,EAAUgC,QAASA,EAASL,MAAOA,EAAKvB,SAC5EuC,GADUD,KAIdpC,GACCiB,EAACsB,EAAM,CACLlB,MAAM,QACN3B,SAAUA,GAAYE,EACtB8B,QAAS,KACPpB,IACIL,GACFM,cAIHH,IAIJF,GACCe,EAACsB,GACCD,KAAM9B,EACNT,QAASA,EACTL,SAAUA,GAAYC,EACtB+B,QAASrB,EAERP,SAAAK,YAMJ"}
|