@activecollab/components 2.0.435 → 2.0.436

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 (80) hide show
  1. package/dist/cjs/components/ConfirmDialog/ConfirmDialog.js +6 -5
  2. package/dist/cjs/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
  3. package/dist/cjs/components/Dialog/Dialog.js +65 -43
  4. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  5. package/dist/cjs/components/Dialog/DialogActions.js +13 -5
  6. package/dist/cjs/components/Dialog/DialogActions.js.map +1 -1
  7. package/dist/cjs/components/Dialog/DialogContent.js +4 -5
  8. package/dist/cjs/components/Dialog/DialogContent.js.map +1 -1
  9. package/dist/cjs/components/Dialog/DialogContext.js +14 -7
  10. package/dist/cjs/components/Dialog/DialogContext.js.map +1 -1
  11. package/dist/cjs/components/Dialog/DialogTitle.js +19 -5
  12. package/dist/cjs/components/Dialog/DialogTitle.js.map +1 -1
  13. package/dist/cjs/components/Dialog/Styles.js +55 -13
  14. package/dist/cjs/components/Dialog/Styles.js.map +1 -1
  15. package/dist/cjs/components/Dialog/index.js +11 -0
  16. package/dist/cjs/components/Dialog/index.js.map +1 -1
  17. package/dist/cjs/components/Modal/Modal.js +3 -2
  18. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  19. package/dist/cjs/components/Transitions/Fade/Fade.js +11 -2
  20. package/dist/cjs/components/Transitions/Fade/Fade.js.map +1 -1
  21. package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js +46 -30
  22. package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
  23. package/dist/cjs/components/Wizard/Step.js +4 -1
  24. package/dist/cjs/components/Wizard/Step.js.map +1 -1
  25. package/dist/cjs/components/Wizard/Wizard.js +14 -2
  26. package/dist/cjs/components/Wizard/Wizard.js.map +1 -1
  27. package/dist/esm/components/ConfirmDialog/ConfirmDialog.d.ts +3 -0
  28. package/dist/esm/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  29. package/dist/esm/components/ConfirmDialog/ConfirmDialog.js +6 -5
  30. package/dist/esm/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
  31. package/dist/esm/components/Dialog/Dialog.d.ts +7 -2
  32. package/dist/esm/components/Dialog/Dialog.d.ts.map +1 -1
  33. package/dist/esm/components/Dialog/Dialog.js +65 -48
  34. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  35. package/dist/esm/components/Dialog/DialogActions.d.ts.map +1 -1
  36. package/dist/esm/components/Dialog/DialogActions.js +10 -5
  37. package/dist/esm/components/Dialog/DialogActions.js.map +1 -1
  38. package/dist/esm/components/Dialog/DialogContent.d.ts +5 -1
  39. package/dist/esm/components/Dialog/DialogContent.d.ts.map +1 -1
  40. package/dist/esm/components/Dialog/DialogContent.js +4 -5
  41. package/dist/esm/components/Dialog/DialogContent.js.map +1 -1
  42. package/dist/esm/components/Dialog/DialogContext.d.ts +11 -1
  43. package/dist/esm/components/Dialog/DialogContext.d.ts.map +1 -1
  44. package/dist/esm/components/Dialog/DialogContext.js +10 -8
  45. package/dist/esm/components/Dialog/DialogContext.js.map +1 -1
  46. package/dist/esm/components/Dialog/DialogTitle.d.ts +4 -1
  47. package/dist/esm/components/Dialog/DialogTitle.d.ts.map +1 -1
  48. package/dist/esm/components/Dialog/DialogTitle.js +20 -6
  49. package/dist/esm/components/Dialog/DialogTitle.js.map +1 -1
  50. package/dist/esm/components/Dialog/Styles.d.ts +19 -2
  51. package/dist/esm/components/Dialog/Styles.d.ts.map +1 -1
  52. package/dist/esm/components/Dialog/Styles.js +47 -11
  53. package/dist/esm/components/Dialog/Styles.js.map +1 -1
  54. package/dist/esm/components/Dialog/index.d.ts +1 -0
  55. package/dist/esm/components/Dialog/index.d.ts.map +1 -1
  56. package/dist/esm/components/Dialog/index.js +1 -0
  57. package/dist/esm/components/Dialog/index.js.map +1 -1
  58. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  59. package/dist/esm/components/Modal/Modal.js +3 -2
  60. package/dist/esm/components/Modal/Modal.js.map +1 -1
  61. package/dist/esm/components/Transitions/Fade/Fade.d.ts.map +1 -1
  62. package/dist/esm/components/Transitions/Fade/Fade.js +11 -2
  63. package/dist/esm/components/Transitions/Fade/Fade.js.map +1 -1
  64. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts +2 -0
  65. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts.map +1 -1
  66. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js +46 -30
  67. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
  68. package/dist/esm/components/Wizard/Step.d.ts +4 -0
  69. package/dist/esm/components/Wizard/Step.d.ts.map +1 -1
  70. package/dist/esm/components/Wizard/Step.js +4 -1
  71. package/dist/esm/components/Wizard/Step.js.map +1 -1
  72. package/dist/esm/components/Wizard/Wizard.d.ts +3 -0
  73. package/dist/esm/components/Wizard/Wizard.d.ts.map +1 -1
  74. package/dist/esm/components/Wizard/Wizard.js +14 -2
  75. package/dist/esm/components/Wizard/Wizard.js.map +1 -1
  76. package/dist/index.js +257 -116
  77. package/dist/index.js.map +1 -1
  78. package/dist/index.min.js +1 -1
  79. package/dist/index.min.js.map +1 -1
  80. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.js","names":["_react","_interopRequireWildcard","require","_context","_Step","_Dialog","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","Wizard","exports","forwardRef","_ref","ref","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","childrenCollection","useMemo","React","Children","toArray","_useState","useState","_useState2","activeStep","setActiveStep","_useState3","_useState4","changingStepInProgress","setChangingStepInProgress","useEffect","goNext","useCallback","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","_step$props","renderActiveStep","element","type","Step","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","WizardContextProvider","close","Dialog","className","displayName"],"sources":["../../../../src/components/Wizard/Wizard.tsx"],"sourcesContent":["import React, {\n forwardRef,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { WizardContextProvider } from \"./context\";\nimport { Step } from \"./Step\";\nimport { Dialog } from \"../Dialog\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n disableCloseOnEsc?: boolean;\n dialogClassName?: string;\n}\n\nexport const Wizard = forwardRef<HTMLDivElement, IWizard>(\n (\n {\n title,\n open,\n onClose,\n disableCloseOnEsc = false,\n children,\n dialogClassName,\n },\n ref\n ) => {\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [activeStep, setActiveStep] = useState(0);\n const [changingStepInProgress, setChangingStepInProgress] = useState(false);\n\n useEffect(() => {\n if (open) {\n setActiveStep(0);\n }\n }, [open]);\n\n const goNext = useCallback(() => {\n const index = childrenCollection.findIndex(\n (step: ReactChild | ReactFragment, index) => {\n const stepEl = step as ReactElement;\n return !stepEl?.props?.skip && index > activeStep;\n }\n );\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const goPrevious = useCallback(() => {\n let index = 0;\n for (let i = childrenCollection.length - 1; i >= 0; i--) {\n const step = childrenCollection[i] as ReactElement;\n if (!step?.props?.skip && i < activeStep) {\n index = i;\n break;\n }\n }\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const renderActiveStep = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n\n if (element?.type === Step) {\n return React.cloneElement(element, {\n index: activeStep,\n isLast: childrenCollection.length - 1 === activeStep,\n title,\n onNextButtonClick: goNext,\n onPreviousButtonClick: goPrevious,\n onClose,\n changingStepInProgress: changingStepInProgress,\n });\n }\n\n return null;\n }, [\n activeStep,\n changingStepInProgress,\n childrenCollection,\n goNext,\n goPrevious,\n onClose,\n title,\n ]);\n\n return (\n <WizardContextProvider\n value={{\n activeStep,\n setActiveStep,\n goNext,\n goPrevious,\n close: onClose,\n setChangingStepInProgress,\n }}\n >\n <Dialog\n ref={ref}\n open={open}\n onClose={onClose}\n disableCloseOnEsc={disableCloseOnEsc}\n className={dialogClassName}\n >\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Wizard.js","names":["_react","_interopRequireWildcard","require","_context","_Step","_Dialog","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","Wizard","exports","forwardRef","_ref","ref","_activeStepProps$size","_activeStepProps$heig","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","_ref$size","size","_ref$height","height","childrenCollection","useMemo","React","Children","toArray","_useState","useState","_useState2","activeStep","setActiveStep","_useState3","_useState4","changingStepInProgress","setChangingStepInProgress","useEffect","goNext","useCallback","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","_step$props","activeStepProps","_element$props","element","renderActiveStep","type","Step","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","WizardContextProvider","close","Dialog","className","displayName"],"sources":["../../../../src/components/Wizard/Wizard.tsx"],"sourcesContent":["import React, {\n forwardRef,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { WizardContextProvider } from \"./context\";\nimport { Step } from \"./Step\";\nimport { Dialog } from \"../Dialog\";\nimport { DialogSize } from \"../Dialog/Styles\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n disableCloseOnEsc?: boolean;\n dialogClassName?: string;\n size?: DialogSize;\n height?: string;\n}\n\nexport const Wizard = forwardRef<HTMLDivElement, IWizard>(\n (\n {\n title,\n open,\n onClose,\n disableCloseOnEsc = false,\n children,\n dialogClassName,\n size = \"m\",\n height = \"fluid\",\n },\n ref\n ) => {\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [activeStep, setActiveStep] = useState(0);\n const [changingStepInProgress, setChangingStepInProgress] = useState(false);\n\n useEffect(() => {\n if (open) {\n setActiveStep(0);\n }\n }, [open]);\n\n const goNext = useCallback(() => {\n const index = childrenCollection.findIndex(\n (step: ReactChild | ReactFragment, index) => {\n const stepEl = step as ReactElement;\n return !stepEl?.props?.skip && index > activeStep;\n }\n );\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const goPrevious = useCallback(() => {\n let index = 0;\n for (let i = childrenCollection.length - 1; i >= 0; i--) {\n const step = childrenCollection[i] as ReactElement;\n if (!step?.props?.skip && i < activeStep) {\n index = i;\n break;\n }\n }\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const activeStepProps = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n return (element?.props ?? {}) as { size?: DialogSize; height?: string };\n }, [activeStep, childrenCollection]);\n\n const renderActiveStep = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n\n if (element?.type === Step) {\n return React.cloneElement(element, {\n index: activeStep,\n isLast: childrenCollection.length - 1 === activeStep,\n title,\n onNextButtonClick: goNext,\n onPreviousButtonClick: goPrevious,\n onClose,\n changingStepInProgress: changingStepInProgress,\n });\n }\n\n return null;\n }, [\n activeStep,\n changingStepInProgress,\n childrenCollection,\n goNext,\n goPrevious,\n onClose,\n title,\n ]);\n\n return (\n <WizardContextProvider\n value={{\n activeStep,\n setActiveStep,\n goNext,\n goPrevious,\n close: onClose,\n setChangingStepInProgress,\n }}\n >\n <Dialog\n ref={ref}\n open={open}\n onClose={onClose}\n disableCloseOnEsc={disableCloseOnEsc}\n className={dialogClassName}\n size={activeStepProps.size ?? size}\n height={activeStepProps.height ?? height}\n >\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { DialogSize } from "../Dialog/Styles";
2
3
  export interface ConfirmDialogProps {
3
4
  open?: boolean;
4
5
  onCancel?: () => void;
@@ -11,6 +12,8 @@ export interface ConfirmDialogProps {
11
12
  shouldShowCancelButton?: boolean;
12
13
  isLoading?: boolean;
13
14
  confirmationLabel?: string;
15
+ size?: DialogSize;
16
+ height?: string;
14
17
  }
15
18
  export declare const ConfirmDialog: React.ForwardRefExoticComponent<ConfirmDialogProps & React.RefAttributes<HTMLDivElement>>;
16
19
  //# sourceMappingURL=ConfirmDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAY5E,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,2FAsGzB,CAAC"}
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAQ5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,2FAyGzB,CAAC"}
@@ -24,7 +24,9 @@ export const ConfirmDialog = /*#__PURE__*/forwardRef((_ref, ref) => {
24
24
  shouldShowCancelButton = _ref$shouldShowCancel === void 0 ? true : _ref$shouldShowCancel,
25
25
  _ref$isLoading = _ref.isLoading,
26
26
  isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
27
- confirmationLabel = _ref.confirmationLabel;
27
+ confirmationLabel = _ref.confirmationLabel,
28
+ size = _ref.size,
29
+ height = _ref.height;
28
30
  const _useState = useState(false),
29
31
  confirmed = _useState[0],
30
32
  setConfirmed = _useState[1];
@@ -54,7 +56,9 @@ export const ConfirmDialog = /*#__PURE__*/forwardRef((_ref, ref) => {
54
56
  open: open,
55
57
  onClose: onCancel,
56
58
  className: classnames("c-confirm-dialog", className),
57
- disableCloseOnEsc: isLoading
59
+ disableCloseOnEsc: isLoading,
60
+ size: size,
61
+ height: height
58
62
  }, /*#__PURE__*/React.createElement(Dialog.Title, null, dialogTitle), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Content, null, /*#__PURE__*/React.createElement(Body2, {
59
63
  lineHeight: "loose",
60
64
  color: "secondary",
@@ -72,9 +76,6 @@ export const ConfirmDialog = /*#__PURE__*/forwardRef((_ref, ref) => {
72
76
  color: "secondary"
73
77
  }, confirmationLabel))) : null), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Actions, null, /*#__PURE__*/React.createElement(Button, {
74
78
  variant: "primary",
75
- style: {
76
- marginRight: "12px"
77
- },
78
79
  onClick: onConfirm,
79
80
  disabled: isLoading || isConfirmBlocked
80
81
  }, confirmBtnText), shouldShowCancelButton ? /*#__PURE__*/React.createElement(Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.js","names":["React","forwardRef","useCallback","useEffect","useState","classnames","Button","Checkbox","Dialog","StyledConfirmation","Body2","CONFIRMATION_CHECKBOX_ID","ConfirmDialog","_ref","ref","_ref$open","open","onCancel","onConfirm","className","_ref$dialogTitle","dialogTitle","_ref$dialogContent","dialogContent","_ref$confirmBtnText","confirmBtnText","_ref$cancelBtnText","cancelBtnText","_ref$shouldShowCancel","shouldShowCancelButton","_ref$isLoading","isLoading","confirmationLabel","_useState","confirmed","setConfirmed","isConfirmBlocked","Boolean","handleToggleConfirmed","event","target","checked","handleKeyDown","key","preventDefault","window","addEventListener","removeEventListener","createElement","onClose","disableCloseOnEsc","Title","ContentDivider","Content","lineHeight","color","whitespace","id","onChange","disabled","htmlFor","Actions","variant","style","marginRight","onClick","type","displayName"],"sources":["../../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { Button } from \"../Button/Button\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Dialog } from \"../Dialog\";\nimport { StyledConfirmation } from \"./Styles\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\nconst CONFIRMATION_CHECKBOX_ID = \"confirm-dialog-confirmation\";\n\nexport interface ConfirmDialogProps {\n open?: boolean;\n onCancel?: () => void;\n onConfirm?: () => void;\n className?: string;\n dialogTitle?: string;\n dialogContent?: React.ReactNode;\n confirmBtnText?: string;\n cancelBtnText?: string;\n shouldShowCancelButton?: boolean;\n isLoading?: boolean;\n confirmationLabel?: string;\n}\n\nexport const ConfirmDialog = forwardRef<HTMLDivElement, ConfirmDialogProps>(\n (\n {\n open = false,\n onCancel,\n onConfirm,\n className,\n dialogTitle = \"Discard changes?\",\n dialogContent = \"All unsaved changes will be lost.\",\n confirmBtnText = \"OK\",\n cancelBtnText = \"Cancel\",\n shouldShowCancelButton = true,\n isLoading = false,\n confirmationLabel,\n },\n ref\n ) => {\n const [confirmed, setConfirmed] = useState(false);\n const isConfirmBlocked = Boolean(confirmationLabel) && !confirmed;\n\n const handleToggleConfirmed = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) =>\n setConfirmed(event.target.checked),\n []\n );\n\n useEffect(() => {\n if (!open) {\n setConfirmed(false);\n }\n }, [open]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Enter\" && onConfirm && !isConfirmBlocked) {\n event.preventDefault();\n onConfirm();\n }\n };\n\n if (open) {\n window.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [open, onConfirm, isConfirmBlocked]);\n\n return (\n <Dialog\n ref={ref}\n open={open}\n onClose={onCancel}\n className={classnames(\"c-confirm-dialog\", className)}\n disableCloseOnEsc={isLoading}\n >\n <Dialog.Title>{dialogTitle}</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <Body2 lineHeight=\"loose\" color=\"secondary\" whitespace=\"pre-line\">\n {dialogContent}\n </Body2>\n {confirmationLabel ? (\n <StyledConfirmation className=\"c-confirm-dialog--confirmation\">\n <Checkbox\n id={CONFIRMATION_CHECKBOX_ID}\n checked={confirmed}\n onChange={handleToggleConfirmed}\n disabled={isLoading}\n />\n <label htmlFor={CONFIRMATION_CHECKBOX_ID}>\n <Body2 color=\"secondary\">{confirmationLabel}</Body2>\n </label>\n </StyledConfirmation>\n ) : null}\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button\n variant=\"primary\"\n style={{ marginRight: \"12px\" }}\n onClick={onConfirm}\n disabled={isLoading || isConfirmBlocked}\n >\n {confirmBtnText}\n </Button>\n {shouldShowCancelButton ? (\n <Button\n variant=\"secondary\"\n data-action=\"cancel\"\n onClick={onCancel}\n type=\"button\"\n disabled={isLoading}\n >\n {cancelBtnText}\n </Button>\n ) : null}\n </Dialog.Actions>\n </Dialog>\n );\n }\n);\n\nConfirmDialog.displayName = \"ConfirmDialog\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConfirmDialog.js","names":["React","forwardRef","useCallback","useEffect","useState","classnames","Button","Checkbox","Dialog","StyledConfirmation","Body2","CONFIRMATION_CHECKBOX_ID","ConfirmDialog","_ref","ref","_ref$open","open","onCancel","onConfirm","className","_ref$dialogTitle","dialogTitle","_ref$dialogContent","dialogContent","_ref$confirmBtnText","confirmBtnText","_ref$cancelBtnText","cancelBtnText","_ref$shouldShowCancel","shouldShowCancelButton","_ref$isLoading","isLoading","confirmationLabel","size","height","_useState","confirmed","setConfirmed","isConfirmBlocked","Boolean","handleToggleConfirmed","event","target","checked","handleKeyDown","key","preventDefault","window","addEventListener","removeEventListener","createElement","onClose","disableCloseOnEsc","Title","ContentDivider","Content","lineHeight","color","whitespace","id","onChange","disabled","htmlFor","Actions","variant","onClick","type","displayName"],"sources":["../../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { Button } from \"../Button/Button\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Dialog } from \"../Dialog\";\nimport { StyledConfirmation } from \"./Styles\";\nimport { DialogSize } from \"../Dialog/Styles\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\nconst CONFIRMATION_CHECKBOX_ID = \"confirm-dialog-confirmation\";\n\nexport interface ConfirmDialogProps {\n open?: boolean;\n onCancel?: () => void;\n onConfirm?: () => void;\n className?: string;\n dialogTitle?: string;\n dialogContent?: React.ReactNode;\n confirmBtnText?: string;\n cancelBtnText?: string;\n shouldShowCancelButton?: boolean;\n isLoading?: boolean;\n confirmationLabel?: string;\n size?: DialogSize;\n height?: string;\n}\n\nexport const ConfirmDialog = forwardRef<HTMLDivElement, ConfirmDialogProps>(\n (\n {\n open = false,\n onCancel,\n onConfirm,\n className,\n dialogTitle = \"Discard changes?\",\n dialogContent = \"All unsaved changes will be lost.\",\n confirmBtnText = \"OK\",\n cancelBtnText = \"Cancel\",\n shouldShowCancelButton = true,\n isLoading = false,\n confirmationLabel,\n size,\n height,\n },\n ref\n ) => {\n const [confirmed, setConfirmed] = useState(false);\n const isConfirmBlocked = Boolean(confirmationLabel) && !confirmed;\n\n const handleToggleConfirmed = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) =>\n setConfirmed(event.target.checked),\n []\n );\n\n useEffect(() => {\n if (!open) {\n setConfirmed(false);\n }\n }, [open]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Enter\" && onConfirm && !isConfirmBlocked) {\n event.preventDefault();\n onConfirm();\n }\n };\n\n if (open) {\n window.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [open, onConfirm, isConfirmBlocked]);\n\n return (\n <Dialog\n ref={ref}\n open={open}\n onClose={onCancel}\n className={classnames(\"c-confirm-dialog\", className)}\n disableCloseOnEsc={isLoading}\n size={size}\n height={height}\n >\n <Dialog.Title>{dialogTitle}</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <Body2 lineHeight=\"loose\" color=\"secondary\" whitespace=\"pre-line\">\n {dialogContent}\n </Body2>\n {confirmationLabel ? (\n <StyledConfirmation className=\"c-confirm-dialog--confirmation\">\n <Checkbox\n id={CONFIRMATION_CHECKBOX_ID}\n checked={confirmed}\n onChange={handleToggleConfirmed}\n disabled={isLoading}\n />\n <label htmlFor={CONFIRMATION_CHECKBOX_ID}>\n <Body2 color=\"secondary\">{confirmationLabel}</Body2>\n </label>\n </StyledConfirmation>\n ) : null}\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button\n variant=\"primary\"\n onClick={onConfirm}\n disabled={isLoading || isConfirmBlocked}\n >\n {confirmBtnText}\n </Button>\n {shouldShowCancelButton ? (\n <Button\n variant=\"secondary\"\n data-action=\"cancel\"\n onClick={onCancel}\n type=\"button\"\n disabled={isLoading}\n >\n {cancelBtnText}\n </Button>\n ) : null}\n </Dialog.Actions>\n </Dialog>\n );\n }\n);\n\nConfirmDialog.displayName = \"ConfirmDialog\";\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React, { HTMLAttributes, PropsWithChildren } from "react";
2
+ import { DialogSize } from "./Styles";
2
3
  export interface DialogProps extends HTMLAttributes<HTMLDivElement> {
3
4
  open?: boolean;
4
5
  onClose?: () => void;
@@ -7,6 +8,10 @@ export interface DialogProps extends HTMLAttributes<HTMLDivElement> {
7
8
  disableCloseOnEsc?: boolean;
8
9
  animate?: "fade" | "slide";
9
10
  onClickOutside?: (event: any) => void;
11
+ /** Width step. Every step is a max-width; the dialog always fills it when there is room. */
12
+ size?: DialogSize;
13
+ /** "fluid" follows the content. A CSS length ("95%", "600px") pins the height instead. */
14
+ height?: string;
10
15
  }
11
16
  export declare const _Dialog: React.ForwardRefExoticComponent<DialogProps & {
12
17
  children?: React.ReactNode | undefined;
@@ -15,11 +20,11 @@ export declare const Dialog: React.ForwardRefExoticComponent<DialogProps & {
15
20
  children?: React.ReactNode | undefined;
16
21
  } & React.RefAttributes<HTMLDivElement>> & {
17
22
  Title: {
18
- ({ children, className, disableDefaultHeading, ...rest }: PropsWithChildren<import("./DialogTitle").DialogTitleProps>): React.JSX.Element;
23
+ ({ children, className, disableDefaultHeading, onClose, closeLabel, ...rest }: PropsWithChildren<import("./DialogTitle").DialogTitleProps>): React.JSX.Element;
19
24
  displayName: string;
20
25
  };
21
26
  Content: {
22
- ({ className, children, ...rest }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
27
+ ({ className, children, scroll, ...rest }: import("./DialogContent").DialogContentProps): React.JSX.Element;
23
28
  displayName: string;
24
29
  };
25
30
  ContentDivider: {
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAe7E,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,OAAO;;wCAwDnB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAKjB,CAAC"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,cAAc,EACd,iBAAiB,EAGlB,MAAM,OAAO,CAAC;AASf,OAAO,EACL,UAAU,EAIX,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAC;IACjC,4FAA4F;IAC5F,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0CD,eAAO,MAAM,OAAO;;wCA0CnB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAKjB,CAAC"}
@@ -1,62 +1,79 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["children", "open", "onClose", "className", "enableBackgroundClick", "disableCloseOnEsc", "animate", "onClickOutside"];
4
- import React, { forwardRef } from "react";
3
+ const _excluded = ["children", "open", "onClose", "className", "enableBackgroundClick", "disableCloseOnEsc", "animate", "onClickOutside", "size", "height"];
4
+ import React, { forwardRef, useMemo } from "react";
5
5
  import classnames from "classnames";
6
-
7
- // import { DialogContext } from "./DialogContext";
8
-
9
6
  import { DialogActions } from "./DialogActions";
10
7
  import { DialogContent } from "./DialogContent";
11
8
  import { DialogContentDivider } from "./DialogContentDivider";
9
+ import { DialogContext } from "./DialogContext";
12
10
  import { DialogTitle } from "./DialogTitle";
13
- import { StyledDialog } from "./Styles";
11
+ import { dialogSizes, StyledDialog, StyledDialogViewport } from "./Styles";
14
12
  import { Modal } from "../Modal";
15
13
  import { Fade } from "../Transitions";
16
14
  import { SlideFromTop } from "../Transitions/SlideFromTop";
17
- export const _Dialog = /*#__PURE__*/forwardRef((_ref, ref) => {
18
- let children = _ref.children,
19
- _ref$open = _ref.open,
20
- open = _ref$open === void 0 ? false : _ref$open,
15
+ // Modal only treats a child as a transition when its props already carry `in`, so this element
16
+ // must declare it even though Modal overwrites it on clone.
17
+ const DialogSurface = _ref => {
18
+ let _ref$in = _ref.in,
19
+ inProp = _ref$in === void 0 ? false : _ref$in,
20
+ onEnter = _ref.onEnter,
21
+ onExited = _ref.onExited,
22
+ forceClose = _ref.forceClose,
21
23
  onClose = _ref.onClose,
22
- className = _ref.className,
23
- _ref$enableBackground = _ref.enableBackgroundClick,
24
- enableBackgroundClick = _ref$enableBackground === void 0 ? false : _ref$enableBackground,
25
- _ref$disableCloseOnEs = _ref.disableCloseOnEsc,
26
- disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs,
27
- _ref$animate = _ref.animate,
28
- animate = _ref$animate === void 0 ? "slide" : _ref$animate,
29
- onClickOutside = _ref.onClickOutside,
30
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
31
- const animateDialog = () => {
32
- switch (animate) {
33
- case "fade":
34
- return /*#__PURE__*/React.createElement(Fade, {
35
- in: open
36
- }, /*#__PURE__*/React.createElement(StyledDialog, {
37
- className: classnames("c-dialog", className)
38
- }, children));
39
- default:
40
- return /*#__PURE__*/React.createElement(SlideFromTop, {
41
- in: open
42
- }, /*#__PURE__*/React.createElement(StyledDialog, {
43
- className: classnames("c-dialog", className)
44
- }, children));
45
- }
46
- };
47
- return (
48
- /*#__PURE__*/
49
- // <DialogContext.Provider value={{}}>
50
- React.createElement(Modal, _extends({
51
- ref: ref,
52
- open: open,
53
- onClose: onClose,
54
- disableBackgroundClick: !enableBackgroundClick,
55
- disableCloseOnEsc: disableCloseOnEsc,
56
- onClickOutside: onClickOutside
57
- }, rest), animateDialog())
58
- // </DialogContext.Provider>
59
- );
24
+ animate = _ref.animate,
25
+ children = _ref.children;
26
+ const Animation = animate === "fade" ? Fade : SlideFromTop;
27
+ const value = useMemo(() => ({
28
+ requestClose: forceClose,
29
+ onClose
30
+ }), [forceClose, onClose]);
31
+ return /*#__PURE__*/React.createElement(DialogContext.Provider, {
32
+ value: value
33
+ }, /*#__PURE__*/React.createElement(StyledDialogViewport, {
34
+ className: "c-dialog-viewport"
35
+ }, /*#__PURE__*/React.createElement(Animation, {
36
+ in: inProp,
37
+ onEnter: onEnter,
38
+ onExited: onExited
39
+ }, children)));
40
+ };
41
+ DialogSurface.displayName = "DialogSurface";
42
+ export const _Dialog = /*#__PURE__*/forwardRef((_ref2, ref) => {
43
+ var _dialogSizes$size;
44
+ let children = _ref2.children,
45
+ _ref2$open = _ref2.open,
46
+ open = _ref2$open === void 0 ? false : _ref2$open,
47
+ onClose = _ref2.onClose,
48
+ className = _ref2.className,
49
+ _ref2$enableBackgroun = _ref2.enableBackgroundClick,
50
+ enableBackgroundClick = _ref2$enableBackgroun === void 0 ? false : _ref2$enableBackgroun,
51
+ _ref2$disableCloseOnE = _ref2.disableCloseOnEsc,
52
+ disableCloseOnEsc = _ref2$disableCloseOnE === void 0 ? false : _ref2$disableCloseOnE,
53
+ _ref2$animate = _ref2.animate,
54
+ animate = _ref2$animate === void 0 ? "slide" : _ref2$animate,
55
+ onClickOutside = _ref2.onClickOutside,
56
+ _ref2$size = _ref2.size,
57
+ size = _ref2$size === void 0 ? "m" : _ref2$size,
58
+ _ref2$height = _ref2.height,
59
+ height = _ref2$height === void 0 ? "fluid" : _ref2$height,
60
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
61
+ return /*#__PURE__*/React.createElement(Modal, _extends({
62
+ ref: ref,
63
+ open: open,
64
+ onClose: onClose,
65
+ disableBackgroundClick: !enableBackgroundClick,
66
+ disableCloseOnEsc: disableCloseOnEsc,
67
+ onClickOutside: onClickOutside
68
+ }, rest), /*#__PURE__*/React.createElement(DialogSurface, {
69
+ in: open,
70
+ onClose: onClose,
71
+ animate: animate
72
+ }, /*#__PURE__*/React.createElement(StyledDialog, {
73
+ $maxWidth: (_dialogSizes$size = dialogSizes[size]) != null ? _dialogSizes$size : dialogSizes.m,
74
+ $height: height === "fluid" ? undefined : height,
75
+ className: classnames("c-dialog", className)
76
+ }, children)));
60
77
  });
61
78
  _Dialog.displayName = "Dialog";
62
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","names":["React","forwardRef","classnames","DialogActions","DialogContent","DialogContentDivider","DialogTitle","StyledDialog","Modal","Fade","SlideFromTop","_Dialog","_ref","ref","children","_ref$open","open","onClose","className","_ref$enableBackground","enableBackgroundClick","_ref$disableCloseOnEs","disableCloseOnEsc","_ref$animate","animate","onClickOutside","rest","_objectWithoutPropertiesLoose","_excluded","animateDialog","createElement","in","_extends","disableBackgroundClick","displayName","Dialog","Object","assign","Title","Content","ContentDivider","Actions"],"sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, { forwardRef, HTMLAttributes, PropsWithChildren } from \"react\";\n\nimport classnames from \"classnames\";\n\n// import { DialogContext } from \"./DialogContext\";\n\nimport { DialogActions } from \"./DialogActions\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogContentDivider } from \"./DialogContentDivider\";\nimport { DialogTitle } from \"./DialogTitle\";\nimport { StyledDialog } from \"./Styles\";\nimport { Modal } from \"../Modal\";\nimport { Fade } from \"../Transitions\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\n\nexport interface DialogProps extends HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n animate?: \"fade\" | \"slide\";\n onClickOutside?: (event) => void;\n}\n\nexport const _Dialog = forwardRef<\n HTMLDivElement,\n PropsWithChildren<DialogProps>\n>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n animate = \"slide\",\n onClickOutside,\n ...rest\n },\n ref\n ) => {\n const animateDialog = () => {\n switch (animate) {\n case \"fade\":\n return (\n <Fade in={open}>\n <StyledDialog className={classnames(\"c-dialog\", className)}>\n {children}\n </StyledDialog>\n </Fade>\n );\n default:\n return (\n <SlideFromTop in={open}>\n <StyledDialog className={classnames(\"c-dialog\", className)}>\n {children}\n </StyledDialog>\n </SlideFromTop>\n );\n }\n };\n\n return (\n // <DialogContext.Provider value={{}}>\n\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n onClickOutside={onClickOutside}\n {...rest}\n >\n {animateDialog()}\n </Modal>\n // </DialogContext.Provider>\n );\n }\n);\n\n_Dialog.displayName = \"Dialog\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const Dialog = Object.assign({}, _Dialog, {\n Title: DialogTitle,\n Content: DialogContent,\n ContentDivider: DialogContentDivider,\n Actions: DialogActions,\n});\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAA2C,OAAO;AAE5E,OAAOC,UAAU,MAAM,YAAY;;AAEnC;;AAEA,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,YAAY,QAAQ,UAAU;AACvC,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,IAAI,QAAQ,gBAAgB;AACrC,SAASC,YAAY,QAAQ,6BAA6B;AAY1D,OAAO,MAAMC,OAAO,gBAAGV,UAAU,CAI/B,CAAAW,IAAA,EAYEC,GAAG,KACA;EAAA,IAXDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,SAAA,GAAAH,IAAA,CACRI,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,KAAK,GAAAA,SAAA;IACZE,OAAO,GAAAL,IAAA,CAAPK,OAAO;IACPC,SAAS,GAAAN,IAAA,CAATM,SAAS;IAAAC,qBAAA,GAAAP,IAAA,CACTQ,qBAAqB;IAArBA,qBAAqB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAT,IAAA,CAC7BU,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,YAAA,GAAAX,IAAA,CACzBY,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,OAAO,GAAAA,YAAA;IACjBE,cAAc,GAAAb,IAAA,CAAda,cAAc;IACXC,IAAI,GAAAC,6BAAA,CAAAf,IAAA,EAAAgB,SAAA;EAIT,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,QAAQL,OAAO;MACb,KAAK,MAAM;QACT,oBACExB,KAAA,CAAA8B,aAAA,CAACrB,IAAI;UAACsB,EAAE,EAAEf;QAAK,gBACbhB,KAAA,CAAA8B,aAAA,CAACvB,YAAY;UAACW,SAAS,EAAEhB,UAAU,CAAC,UAAU,EAAEgB,SAAS;QAAE,GACxDJ,QACW,CACV,CAAC;MAEX;QACE,oBACEd,KAAA,CAAA8B,aAAA,CAACpB,YAAY;UAACqB,EAAE,EAAEf;QAAK,gBACrBhB,KAAA,CAAA8B,aAAA,CAACvB,YAAY;UAACW,SAAS,EAAEhB,UAAU,CAAC,UAAU,EAAEgB,SAAS;QAAE,GACxDJ,QACW,CACF,CAAC;IAErB;EACF,CAAC;EAED;IAAA;IACE;IAEAd,KAAA,CAAA8B,aAAA,CAACtB,KAAK,EAAAwB,QAAA;MACJnB,GAAG,EAAEA,GAAI;MACTG,IAAI,EAAEA,IAAK;MACXC,OAAO,EAAEA,OAAQ;MACjBgB,sBAAsB,EAAE,CAACb,qBAAsB;MAC/CE,iBAAiB,EAAEA,iBAAkB;MACrCG,cAAc,EAAEA;IAAe,GAC3BC,IAAI,GAEPG,aAAa,CAAC,CACV;IACP;EAAA;AAEJ,CACF,CAAC;AAEDlB,OAAO,CAACuB,WAAW,GAAG,QAAQ;;AAE9B;AACA,OAAO,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE1B,OAAO,EAAE;EAC/C2B,KAAK,EAAEhC,WAAW;EAClBiC,OAAO,EAAEnC,aAAa;EACtBoC,cAAc,EAAEnC,oBAAoB;EACpCoC,OAAO,EAAEtC;AACX,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Dialog.js","names":["React","forwardRef","useMemo","classnames","DialogActions","DialogContent","DialogContentDivider","DialogContext","DialogTitle","dialogSizes","StyledDialog","StyledDialogViewport","Modal","Fade","SlideFromTop","DialogSurface","_ref","_ref$in","in","inProp","onEnter","onExited","forceClose","onClose","animate","children","Animation","value","requestClose","createElement","Provider","className","displayName","_Dialog","_ref2","ref","_dialogSizes$size","_ref2$open","open","_ref2$enableBackgroun","enableBackgroundClick","_ref2$disableCloseOnE","disableCloseOnEsc","_ref2$animate","onClickOutside","_ref2$size","size","_ref2$height","height","rest","_objectWithoutPropertiesLoose","_excluded","_extends","disableBackgroundClick","$maxWidth","m","$height","undefined","Dialog","Object","assign","Title","Content","ContentDivider","Actions"],"sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n PropsWithChildren,\n ReactElement,\n useMemo,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { DialogActions } from \"./DialogActions\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogContentDivider } from \"./DialogContentDivider\";\nimport { DialogContext } from \"./DialogContext\";\nimport { DialogTitle } from \"./DialogTitle\";\nimport {\n DialogSize,\n dialogSizes,\n StyledDialog,\n StyledDialogViewport,\n} from \"./Styles\";\nimport { Modal } from \"../Modal\";\nimport { Fade } from \"../Transitions\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\n\nexport interface DialogProps extends HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n animate?: \"fade\" | \"slide\";\n onClickOutside?: (event) => void;\n /** Width step. Every step is a max-width; the dialog always fills it when there is room. */\n size?: DialogSize;\n /** \"fluid\" follows the content. A CSS length (\"95%\", \"600px\") pins the height instead. */\n height?: string;\n}\n\ninterface DialogSurfaceProps {\n in?: boolean;\n onEnter?: () => void;\n onExited?: () => void;\n forceClose?: () => void;\n onClose?: () => void;\n animate: \"fade\" | \"slide\";\n children: ReactElement;\n}\n\n// Modal only treats a child as a transition when its props already carry `in`, so this element\n// must declare it even though Modal overwrites it on clone.\nconst DialogSurface = ({\n in: inProp = false,\n onEnter,\n onExited,\n forceClose,\n onClose,\n animate,\n children,\n}: DialogSurfaceProps) => {\n const Animation = animate === \"fade\" ? Fade : SlideFromTop;\n const value = useMemo(\n () => ({ requestClose: forceClose, onClose }),\n [forceClose, onClose]\n );\n\n return (\n <DialogContext.Provider value={value}>\n <StyledDialogViewport className=\"c-dialog-viewport\">\n <Animation in={inProp} onEnter={onEnter} onExited={onExited}>\n {children}\n </Animation>\n </StyledDialogViewport>\n </DialogContext.Provider>\n );\n};\n\nDialogSurface.displayName = \"DialogSurface\";\n\nexport const _Dialog = forwardRef<\n HTMLDivElement,\n PropsWithChildren<DialogProps>\n>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n animate = \"slide\",\n onClickOutside,\n size = \"m\",\n height = \"fluid\",\n ...rest\n },\n ref\n ) => {\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n onClickOutside={onClickOutside}\n {...rest}\n >\n <DialogSurface in={open} onClose={onClose} animate={animate}>\n <StyledDialog\n $maxWidth={dialogSizes[size] ?? dialogSizes.m}\n $height={height === \"fluid\" ? undefined : height}\n className={classnames(\"c-dialog\", className)}\n >\n {children}\n </StyledDialog>\n </DialogSurface>\n </Modal>\n );\n }\n);\n\n_Dialog.displayName = \"Dialog\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const Dialog = Object.assign({}, _Dialog, {\n Title: DialogTitle,\n Content: DialogContent,\n ContentDivider: DialogContentDivider,\n Actions: DialogActions,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogActions.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAO9C,eAAO,MAAM,aAAa;uCAIvB,cAAc,CAAC,cAAc,CAAC;;CAWhC,CAAC"}
1
+ {"version":3,"file":"DialogActions.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,cAAc,EAEf,MAAM,OAAO,CAAC;AAOf,eAAO,MAAM,aAAa;uCAIvB,cAAc,CAAC,cAAc,CAAC;;CAuBhC,CAAC"}
@@ -1,20 +1,25 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["className", "children"];
4
- import React from "react";
4
+ import React, { Children, cloneElement, isValidElement } from "react";
5
5
  import classnames from "classnames";
6
+ import { useDialogContext } from "./DialogContext";
6
7
  import { StyledDialogActions } from "./Styles";
7
- // import { useDialogContext } from "./DialogContext";
8
-
9
8
  export const DialogActions = _ref => {
10
9
  let className = _ref.className,
11
10
  children = _ref.children,
12
11
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
13
- // useDialogContext();
12
+ const dialog = useDialogContext();
14
13
 
14
+ // A footer button that does nothing but close gets the same path as clicking the overlay, so the
15
+ // exit transition runs before the caller unmounts the dialog. Matching on identity leaves a
16
+ // button that does anything else alone.
17
+ const wired = dialog != null && dialog.requestClose && dialog != null && dialog.onClose ? Children.map(children, child => /*#__PURE__*/isValidElement(child) && child.props.onClick === dialog.onClose ? /*#__PURE__*/cloneElement(child, {
18
+ onClick: dialog.requestClose
19
+ }) : child) : children;
15
20
  return /*#__PURE__*/React.createElement(StyledDialogActions, _extends({
16
21
  className: classnames("c-dialog-actions", className)
17
- }, rest), children);
22
+ }, rest), wired);
18
23
  };
19
24
  DialogActions.displayName = "DialogActions";
20
25
  //# sourceMappingURL=DialogActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogActions.js","names":["React","classnames","StyledDialogActions","DialogActions","_ref","className","children","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","displayName"],"sources":["../../../../src/components/Dialog/DialogActions.tsx"],"sourcesContent":["import React, { HTMLAttributes } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledDialogActions } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogActions = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogActions\n className={classnames(\"c-dialog-actions\", className)}\n {...rest}\n >\n {children}\n </StyledDialogActions>\n );\n};\n\nDialogActions.displayName = \"DialogActions\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAA0B,OAAO;AAE7C,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,mBAAmB,QAAQ,UAAU;AAC9C;;AAEA,OAAO,MAAMC,aAAa,GAAGC,IAAA,IAIS;EAAA,IAHpCC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACLC,IAAI,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEP;;EAEA,oBACET,KAAA,CAAAU,aAAA,CAACR,mBAAmB,EAAAS,QAAA;IAClBN,SAAS,EAAEJ,UAAU,CAAC,kBAAkB,EAAEI,SAAS;EAAE,GACjDE,IAAI,GAEPD,QACkB,CAAC;AAE1B,CAAC;AAEDH,aAAa,CAACS,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"DialogActions.js","names":["React","Children","cloneElement","isValidElement","classnames","useDialogContext","StyledDialogActions","DialogActions","_ref","className","children","rest","_objectWithoutPropertiesLoose","_excluded","dialog","wired","requestClose","onClose","map","child","props","onClick","createElement","_extends","displayName"],"sources":["../../../../src/components/Dialog/DialogActions.tsx"],"sourcesContent":["import React, {\n Children,\n cloneElement,\n HTMLAttributes,\n isValidElement,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { useDialogContext } from \"./DialogContext\";\nimport { StyledDialogActions } from \"./Styles\";\n\nexport const DialogActions = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n const dialog = useDialogContext();\n\n // A footer button that does nothing but close gets the same path as clicking the overlay, so the\n // exit transition runs before the caller unmounts the dialog. Matching on identity leaves a\n // button that does anything else alone.\n const wired =\n dialog?.requestClose && dialog?.onClose\n ? Children.map(children, (child) =>\n isValidElement(child) && child.props.onClick === dialog.onClose\n ? cloneElement(child, { onClick: dialog.requestClose })\n : child\n )\n : children;\n\n return (\n <StyledDialogActions\n className={classnames(\"c-dialog-actions\", className)}\n {...rest}\n >\n {wired}\n </StyledDialogActions>\n );\n};\n\nDialogActions.displayName = \"DialogActions\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IACVC,QAAQ,EACRC,YAAY,EAEZC,cAAc,QACT,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,mBAAmB,QAAQ,UAAU;AAE9C,OAAO,MAAMC,aAAa,GAAGC,IAAA,IAIS;EAAA,IAHpCC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACLC,IAAI,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEP,MAAMC,MAAM,GAAGT,gBAAgB,CAAC,CAAC;;EAEjC;EACA;EACA;EACA,MAAMU,KAAK,GACTD,MAAM,YAANA,MAAM,CAAEE,YAAY,IAAIF,MAAM,YAANA,MAAM,CAAEG,OAAO,GACnChB,QAAQ,CAACiB,GAAG,CAACR,QAAQ,EAAGS,KAAK,IAC3B,aAAAhB,cAAc,CAACgB,KAAK,CAAC,IAAIA,KAAK,CAACC,KAAK,CAACC,OAAO,KAAKP,MAAM,CAACG,OAAO,gBAC3Df,YAAY,CAACiB,KAAK,EAAE;IAAEE,OAAO,EAAEP,MAAM,CAACE;EAAa,CAAC,CAAC,GACrDG,KACN,CAAC,GACDT,QAAQ;EAEd,oBACEV,KAAA,CAAAsB,aAAA,CAAChB,mBAAmB,EAAAiB,QAAA;IAClBd,SAAS,EAAEL,UAAU,CAAC,kBAAkB,EAAEK,SAAS;EAAE,GACjDE,IAAI,GAEPI,KACkB,CAAC;AAE1B,CAAC;AAEDR,aAAa,CAACiB,WAAW,GAAG,eAAe","ignoreList":[]}
@@ -1,6 +1,10 @@
1
1
  import React, { HTMLAttributes } from "react";
2
+ export interface DialogContentProps extends HTMLAttributes<HTMLDivElement> {
3
+ /** Turn off when the content runs its own scroll container. */
4
+ scroll?: boolean;
5
+ }
2
6
  export declare const DialogContent: {
3
- ({ className, children, ...rest }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
7
+ ({ className, children, scroll, ...rest }: DialogContentProps): React.JSX.Element;
4
8
  displayName: string;
5
9
  };
6
10
  //# sourceMappingURL=DialogContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAO9C,eAAO,MAAM,aAAa;uCAIvB,cAAc,CAAC,cAAc,CAAC;;CAWhC,CAAC"}
1
+ {"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM9C,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,aAAa;+CAKvB,kBAAkB;;CAUpB,CAAC"}
@@ -1,18 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["className", "children"];
3
+ const _excluded = ["className", "children", "scroll"];
4
4
  import React from "react";
5
5
  import classnames from "classnames";
6
6
  import { StyledDialogContent } from "./Styles";
7
- // import { useDialogContext } from "./DialogContext";
8
-
9
7
  export const DialogContent = _ref => {
10
8
  let className = _ref.className,
11
9
  children = _ref.children,
10
+ _ref$scroll = _ref.scroll,
11
+ scroll = _ref$scroll === void 0 ? true : _ref$scroll,
12
12
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
13
- // useDialogContext();
14
-
15
13
  return /*#__PURE__*/React.createElement(StyledDialogContent, _extends({
14
+ $scroll: scroll,
16
15
  className: classnames("c-dialog-content", className)
17
16
  }, rest), children);
18
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContent.js","names":["React","classnames","StyledDialogContent","DialogContent","_ref","className","children","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","displayName"],"sources":["../../../../src/components/Dialog/DialogContent.tsx"],"sourcesContent":["import React, { HTMLAttributes } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledDialogContent } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogContent = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogContent\n className={classnames(\"c-dialog-content\", className)}\n {...rest}\n >\n {children}\n </StyledDialogContent>\n );\n};\n\nDialogContent.displayName = \"DialogContent\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAA0B,OAAO;AAE7C,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,mBAAmB,QAAQ,UAAU;AAC9C;;AAEA,OAAO,MAAMC,aAAa,GAAGC,IAAA,IAIS;EAAA,IAHpCC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACLC,IAAI,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEP;;EAEA,oBACET,KAAA,CAAAU,aAAA,CAACR,mBAAmB,EAAAS,QAAA;IAClBN,SAAS,EAAEJ,UAAU,CAAC,kBAAkB,EAAEI,SAAS;EAAE,GACjDE,IAAI,GAEPD,QACkB,CAAC;AAE1B,CAAC;AAEDH,aAAa,CAACS,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"DialogContent.js","names":["React","classnames","StyledDialogContent","DialogContent","_ref","className","children","_ref$scroll","scroll","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","$scroll","displayName"],"sources":["../../../../src/components/Dialog/DialogContent.tsx"],"sourcesContent":["import React, { HTMLAttributes } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledDialogContent } from \"./Styles\";\n\nexport interface DialogContentProps extends HTMLAttributes<HTMLDivElement> {\n /** Turn off when the content runs its own scroll container. */\n scroll?: boolean;\n}\n\nexport const DialogContent = ({\n className,\n children,\n scroll = true,\n ...rest\n}: DialogContentProps) => {\n return (\n <StyledDialogContent\n $scroll={scroll}\n className={classnames(\"c-dialog-content\", className)}\n {...rest}\n >\n {children}\n </StyledDialogContent>\n );\n};\n\nDialogContent.displayName = \"DialogContent\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAA0B,OAAO;AAE7C,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,mBAAmB,QAAQ,UAAU;AAO9C,OAAO,MAAMC,aAAa,GAAGC,IAAA,IAKH;EAAA,IAJxBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,WAAA,GAAAH,IAAA,CACRI,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IACVE,IAAI,GAAAC,6BAAA,CAAAN,IAAA,EAAAO,SAAA;EAEP,oBACEX,KAAA,CAAAY,aAAA,CAACV,mBAAmB,EAAAW,QAAA;IAClBC,OAAO,EAAEN,MAAO;IAChBH,SAAS,EAAEJ,UAAU,CAAC,kBAAkB,EAAEI,SAAS;EAAE,GACjDI,IAAI,GAEPH,QACkB,CAAC;AAE1B,CAAC;AAEDH,aAAa,CAACY,WAAW,GAAG,eAAe","ignoreList":[]}
@@ -1,5 +1,15 @@
1
1
  export interface DialogContextProps {
2
+ /** Starts the closing transition. The dialog's own onClose runs once it finishes. */
3
+ requestClose?: () => void;
4
+ /** The handler the dialog was given, used to recognise a button that only closes. */
5
+ onClose?: () => void;
2
6
  }
3
7
  export declare const DialogContext: import("react").Context<DialogContextProps | null>;
4
- export declare const useDialogContext: () => DialogContextProps;
8
+ export declare const useDialogContext: () => DialogContextProps | null;
9
+ /**
10
+ * Closes the dialog the way clicking the overlay does: the exit transition runs first, and the
11
+ * dialog's own onClose fires once it finishes. Use it for a Cancel button instead of calling the
12
+ * parent's close handler, which would unmount the dialog before it can animate out.
13
+ */
14
+ export declare const useDialogClose: (fallback?: () => void) => () => void;
5
15
  //# sourceMappingURL=DialogContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogContext.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;CAAG;AAEtC,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E,eAAO,MAAM,gBAAgB,0BAU5B,CAAC"}
1
+ {"version":3,"file":"DialogContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogContext.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E,eAAO,MAAM,gBAAgB,iCAAkC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,IAAI,WAd7B,IAkBtB,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { createContext, useContext } from "react";
2
-
3
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
4
-
5
2
  export const DialogContext = /*#__PURE__*/createContext(null);
6
- export const useDialogContext = () => {
3
+ export const useDialogContext = () => useContext(DialogContext);
4
+
5
+ /**
6
+ * Closes the dialog the way clicking the overlay does: the exit transition runs first, and the
7
+ * dialog's own onClose fires once it finishes. Use it for a Cancel button instead of calling the
8
+ * parent's close handler, which would unmount the dialog before it can animate out.
9
+ */
10
+ export const useDialogClose = fallback => {
11
+ var _ref, _context$requestClose;
7
12
  const context = useContext(DialogContext);
8
- if (!context) {
9
- throw new Error("Child components of Dialog can not be rendered outside the Dialog component!");
10
- }
11
- return context;
13
+ return (_ref = (_context$requestClose = context == null ? void 0 : context.requestClose) != null ? _context$requestClose : fallback) != null ? _ref : () => undefined;
12
14
  };
13
15
  //# sourceMappingURL=DialogContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContext.js","names":["createContext","useContext","DialogContext","useDialogContext","context","Error"],"sources":["../../../../src/components/Dialog/DialogContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface DialogContextProps {}\n\nexport const DialogContext = createContext<DialogContextProps | null>(null);\n\nexport const useDialogContext = () => {\n const context = useContext(DialogContext);\n\n if (!context) {\n throw new Error(\n \"Child components of Dialog can not be rendered outside the Dialog component!\"\n );\n }\n\n return context;\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAEjD;;AAGA,OAAO,MAAMC,aAAa,gBAAGF,aAAa,CAA4B,IAAI,CAAC;AAE3E,OAAO,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,OAAO,GAAGH,UAAU,CAACC,aAAa,CAAC;EAEzC,IAAI,CAACE,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;EAEA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"DialogContext.js","names":["createContext","useContext","DialogContext","useDialogContext","useDialogClose","fallback","_ref","_context$requestClose","context","requestClose","undefined"],"sources":["../../../../src/components/Dialog/DialogContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport interface DialogContextProps {\n /** Starts the closing transition. The dialog's own onClose runs once it finishes. */\n requestClose?: () => void;\n /** The handler the dialog was given, used to recognise a button that only closes. */\n onClose?: () => void;\n}\n\nexport const DialogContext = createContext<DialogContextProps | null>(null);\n\nexport const useDialogContext = () => useContext(DialogContext);\n\n/**\n * Closes the dialog the way clicking the overlay does: the exit transition runs first, and the\n * dialog's own onClose fires once it finishes. Use it for a Cancel button instead of calling the\n * parent's close handler, which would unmount the dialog before it can animate out.\n */\nexport const useDialogClose = (fallback?: () => void) => {\n const context = useContext(DialogContext);\n\n return context?.requestClose ?? fallback ?? (() => undefined);\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AASjD,OAAO,MAAMC,aAAa,gBAAGF,aAAa,CAA4B,IAAI,CAAC;AAE3E,OAAO,MAAMG,gBAAgB,GAAGA,CAAA,KAAMF,UAAU,CAACC,aAAa,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,cAAc,GAAIC,QAAqB,IAAK;EAAA,IAAAC,IAAA,EAAAC,qBAAA;EACvD,MAAMC,OAAO,GAAGP,UAAU,CAACC,aAAa,CAAC;EAEzC,QAAAI,IAAA,IAAAC,qBAAA,GAAOC,OAAO,oBAAPA,OAAO,CAAEC,YAAY,YAAAF,qBAAA,GAAIF,QAAQ,YAAAC,IAAA,GAAK,MAAMI,SAAS;AAC9D,CAAC","ignoreList":[]}
@@ -2,9 +2,12 @@ import React, { PropsWithChildren } from "react";
2
2
  export interface DialogTitleProps {
3
3
  className?: string;
4
4
  disableDefaultHeading?: boolean;
5
+ /** Draws a close button next to the heading. */
6
+ onClose?: () => void;
7
+ closeLabel?: string;
5
8
  }
6
9
  export declare const DialogTitle: {
7
- ({ children, className, disableDefaultHeading, ...rest }: PropsWithChildren<DialogTitleProps>): React.JSX.Element;
10
+ ({ children, className, disableDefaultHeading, onClose, closeLabel, ...rest }: PropsWithChildren<DialogTitleProps>): React.JSX.Element;
8
11
  displayName: string;
9
12
  };
10
13
  //# sourceMappingURL=DialogTitle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAQjD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,WAAW;8DAKrB,iBAAiB,CAAC,gBAAgB,CAAC;;CAWrC,CAAC"}
1
+ {"version":3,"file":"DialogTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/Dialog/DialogTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAcjD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW;mFAOrB,iBAAiB,CAAC,gBAAgB,CAAC;;CAoCrC,CAAC"}