@activecollab/components 2.0.434 → 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 (92) 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/Popper/Popper.js +4 -3
  20. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  21. package/dist/cjs/components/Tooltip/Tooltip.js +3 -1
  22. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  23. package/dist/cjs/components/Transitions/Fade/Fade.js +11 -2
  24. package/dist/cjs/components/Transitions/Fade/Fade.js.map +1 -1
  25. package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js +46 -30
  26. package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
  27. package/dist/cjs/components/Wizard/Step.js +4 -1
  28. package/dist/cjs/components/Wizard/Step.js.map +1 -1
  29. package/dist/cjs/components/Wizard/Wizard.js +14 -2
  30. package/dist/cjs/components/Wizard/Wizard.js.map +1 -1
  31. package/dist/esm/components/ConfirmDialog/ConfirmDialog.d.ts +3 -0
  32. package/dist/esm/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  33. package/dist/esm/components/ConfirmDialog/ConfirmDialog.js +6 -5
  34. package/dist/esm/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
  35. package/dist/esm/components/Dialog/Dialog.d.ts +7 -2
  36. package/dist/esm/components/Dialog/Dialog.d.ts.map +1 -1
  37. package/dist/esm/components/Dialog/Dialog.js +65 -48
  38. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  39. package/dist/esm/components/Dialog/DialogActions.d.ts.map +1 -1
  40. package/dist/esm/components/Dialog/DialogActions.js +10 -5
  41. package/dist/esm/components/Dialog/DialogActions.js.map +1 -1
  42. package/dist/esm/components/Dialog/DialogContent.d.ts +5 -1
  43. package/dist/esm/components/Dialog/DialogContent.d.ts.map +1 -1
  44. package/dist/esm/components/Dialog/DialogContent.js +4 -5
  45. package/dist/esm/components/Dialog/DialogContent.js.map +1 -1
  46. package/dist/esm/components/Dialog/DialogContext.d.ts +11 -1
  47. package/dist/esm/components/Dialog/DialogContext.d.ts.map +1 -1
  48. package/dist/esm/components/Dialog/DialogContext.js +10 -8
  49. package/dist/esm/components/Dialog/DialogContext.js.map +1 -1
  50. package/dist/esm/components/Dialog/DialogTitle.d.ts +4 -1
  51. package/dist/esm/components/Dialog/DialogTitle.d.ts.map +1 -1
  52. package/dist/esm/components/Dialog/DialogTitle.js +20 -6
  53. package/dist/esm/components/Dialog/DialogTitle.js.map +1 -1
  54. package/dist/esm/components/Dialog/Styles.d.ts +19 -2
  55. package/dist/esm/components/Dialog/Styles.d.ts.map +1 -1
  56. package/dist/esm/components/Dialog/Styles.js +47 -11
  57. package/dist/esm/components/Dialog/Styles.js.map +1 -1
  58. package/dist/esm/components/Dialog/index.d.ts +1 -0
  59. package/dist/esm/components/Dialog/index.d.ts.map +1 -1
  60. package/dist/esm/components/Dialog/index.js +1 -0
  61. package/dist/esm/components/Dialog/index.js.map +1 -1
  62. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  63. package/dist/esm/components/Modal/Modal.js +3 -2
  64. package/dist/esm/components/Modal/Modal.js.map +1 -1
  65. package/dist/esm/components/Popper/Popper.d.ts +6 -1
  66. package/dist/esm/components/Popper/Popper.d.ts.map +1 -1
  67. package/dist/esm/components/Popper/Popper.js +4 -3
  68. package/dist/esm/components/Popper/Popper.js.map +1 -1
  69. package/dist/esm/components/Tooltip/Tooltip.d.ts +3 -1
  70. package/dist/esm/components/Tooltip/Tooltip.d.ts.map +1 -1
  71. package/dist/esm/components/Tooltip/Tooltip.js +3 -1
  72. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  73. package/dist/esm/components/Transitions/Fade/Fade.d.ts.map +1 -1
  74. package/dist/esm/components/Transitions/Fade/Fade.js +11 -2
  75. package/dist/esm/components/Transitions/Fade/Fade.js.map +1 -1
  76. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts +2 -0
  77. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts.map +1 -1
  78. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js +46 -30
  79. package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
  80. package/dist/esm/components/Wizard/Step.d.ts +4 -0
  81. package/dist/esm/components/Wizard/Step.d.ts.map +1 -1
  82. package/dist/esm/components/Wizard/Step.js +4 -1
  83. package/dist/esm/components/Wizard/Step.js.map +1 -1
  84. package/dist/esm/components/Wizard/Wizard.d.ts +3 -0
  85. package/dist/esm/components/Wizard/Wizard.d.ts.map +1 -1
  86. package/dist/esm/components/Wizard/Wizard.js +14 -2
  87. package/dist/esm/components/Wizard/Wizard.js.map +1 -1
  88. package/dist/index.js +264 -120
  89. package/dist/index.js.map +1 -1
  90. package/dist/index.min.js +1 -1
  91. package/dist/index.min.js.map +1 -1
  92. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["children", "anchorEl", "open", "style", "transition", "placement", "strategy", "afterWrite"];
3
+ const _excluded = ["children", "anchorEl", "open", "style", "transition", "placement", "strategy", "afterWrite", "modifiers"];
4
4
  import React, { forwardRef, useCallback, useRef, useEffect, useState } from "react";
5
5
  import { createPopper } from "@popperjs/core";
6
6
  import { StyledPopper } from "./Styles";
@@ -18,6 +18,7 @@ export const Popper = /*#__PURE__*/forwardRef((_ref, ref) => {
18
18
  _ref$strategy = _ref.strategy,
19
19
  strategy = _ref$strategy === void 0 ? "absolute" : _ref$strategy,
20
20
  afterWrite = _ref.afterWrite,
21
+ extraModifiers = _ref.modifiers,
21
22
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
22
23
  const _useState = useState(true),
23
24
  exited = _useState[0],
@@ -38,7 +39,7 @@ export const Popper = /*#__PURE__*/forwardRef((_ref, ref) => {
38
39
  if (popperRef.current) {
39
40
  popperRef.current.destroy();
40
41
  }
41
- const modifiers = [{
42
+ const modifiers = [...(extraModifiers || []), {
42
43
  name: "hide",
43
44
  enabled: true,
44
45
  phase: "main",
@@ -77,7 +78,7 @@ export const Popper = /*#__PURE__*/forwardRef((_ref, ref) => {
77
78
  strategy,
78
79
  modifiers
79
80
  });
80
- }, [afterWrite, anchorEl, open, placement, strategy]);
81
+ }, [afterWrite, anchorEl, extraModifiers, open, placement, strategy]);
81
82
  const handleClose = () => {
82
83
  if (!popperRef.current) {
83
84
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.js","names":["React","forwardRef","useCallback","useRef","useEffect","useState","createPopper","StyledPopper","useForkRef","Popper","_ref","ref","children","anchorEl","_ref$open","open","style","_ref$transition","transition","_ref$placement","placement","initialPlacement","_ref$strategy","strategy","afterWrite","rest","_objectWithoutPropertiesLoose","_excluded","_useState","exited","setExited","_useState2","setPlacement","ownRef","popperRef","handleInnerRef","handlePopperUpdate","data","handleOpen","current","destroy","modifiers","name","enabled","phase","fn","referenceElement","currentElement","isHidden","computedStyle","getComputedStyle","display","visibility","parentElement","_ownRef$current","setAttribute","_ownRef$current2","removeAttribute","push","onFirstUpdate","handleClose","handleRef","node","handleEnter","handleExited","update","childProps","transitionProps","in","onEnter","onExited","createElement","_extends","displayName"],"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n ReactNode,\n HTMLAttributes,\n} from \"react\";\n\nimport {\n createPopper,\n Instance,\n Modifier,\n Options as PopperOptions,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\n\nimport { Placement } from \".\";\nimport { StyledPopper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\ntype CustomModifier = Modifier<string, PopperOptions>;\ninterface TransitionProps {\n in: boolean;\n onEnter: () => void;\n onExited: () => void;\n}\ninterface IChildProps {\n placement: Placement;\n transitionProps: Partial<TransitionProps>;\n}\n\ninterface PopperProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Anchor Element. */\n anchorEl?: Element | null;\n /** Open */\n open?: boolean;\n /** Inline style */\n style?: CSSProperties;\n /** Child with transition */\n transition?: boolean;\n /** Placement */\n placement?: Placement;\n /** Strategy */\n strategy?: PositioningStrategy;\n /** After Write callback */\n afterWrite?: (...args) => void;\n\n /** Component children */\n children?: ReactNode | React.FC<Partial<IChildProps>>;\n}\n\nexport const Popper = forwardRef<HTMLDivElement, PopperProps>(\n (\n {\n children,\n anchorEl,\n open = false,\n style,\n transition = false,\n placement: initialPlacement = \"bottom\",\n strategy = \"absolute\",\n afterWrite,\n ...rest\n },\n ref\n ) => {\n const [exited, setExited] = useState(true);\n const [placement, setPlacement] = useState(initialPlacement);\n const ownRef = useRef<HTMLDivElement | null>(null);\n const popperRef = useRef<Instance>();\n\n const handleInnerRef = useForkRef(ownRef, ref);\n\n const handlePopperUpdate = (data: Partial<State>): void => {\n setPlacement(data.placement || \"bottom\");\n };\n\n const handleOpen = useCallback(() => {\n if (!ownRef.current || !anchorEl || !open) {\n return;\n }\n\n if (popperRef.current) {\n popperRef.current.destroy();\n }\n\n const modifiers: CustomModifier[] = [\n {\n name: \"hide\",\n enabled: true,\n phase: \"main\",\n fn: () => {\n const referenceElement = anchorEl as HTMLElement;\n\n let currentElement: HTMLElement | null = referenceElement;\n let isHidden = false;\n while (currentElement) {\n const computedStyle = getComputedStyle(currentElement);\n if (\n computedStyle.display === \"none\" ||\n computedStyle.visibility === \"hidden\"\n ) {\n isHidden = true;\n break;\n }\n currentElement = currentElement.parentElement;\n }\n\n if (isHidden) {\n ownRef.current?.setAttribute(\"data-popper-reference-hidden\", \"\");\n } else {\n ownRef.current?.removeAttribute(\"data-popper-reference-hidden\");\n }\n },\n },\n ];\n\n if (typeof afterWrite === \"function\") {\n modifiers.push({\n phase: \"afterWrite\",\n enabled: true,\n name: \"popper-after-write\",\n fn: afterWrite,\n });\n }\n\n popperRef.current = createPopper(anchorEl, ownRef.current, {\n placement,\n onFirstUpdate: handlePopperUpdate,\n strategy,\n modifiers,\n });\n }, [afterWrite, anchorEl, open, placement, strategy]);\n\n const handleClose = (): void => {\n if (!popperRef.current) {\n return;\n }\n\n popperRef.current.destroy();\n };\n\n const handleRef = useCallback(\n (node: HTMLDivElement) => {\n handleInnerRef(node);\n handleOpen();\n },\n [handleOpen, handleInnerRef]\n );\n\n const handleEnter = (): void => {\n setExited(false);\n };\n\n const handleExited = (): void => {\n setExited(true);\n handleClose();\n };\n\n useEffect(() => {\n return (): void => {\n handleClose();\n };\n }, []);\n\n useEffect(() => {\n if (!open && !transition) {\n handleClose();\n }\n }, [open, transition]);\n\n useEffect(() => {\n if (popperRef.current) {\n popperRef.current.update();\n }\n });\n\n if (!open && (!transition || exited)) {\n return null;\n }\n\n const childProps: Partial<IChildProps> = { placement };\n\n if (transition) {\n childProps.transitionProps = {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited,\n };\n }\n\n return (\n <StyledPopper\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </StyledPopper>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Popper.js","names":["React","forwardRef","useCallback","useRef","useEffect","useState","createPopper","StyledPopper","useForkRef","Popper","_ref","ref","children","anchorEl","_ref$open","open","style","_ref$transition","transition","_ref$placement","placement","initialPlacement","_ref$strategy","strategy","afterWrite","extraModifiers","modifiers","rest","_objectWithoutPropertiesLoose","_excluded","_useState","exited","setExited","_useState2","setPlacement","ownRef","popperRef","handleInnerRef","handlePopperUpdate","data","handleOpen","current","destroy","name","enabled","phase","fn","referenceElement","currentElement","isHidden","computedStyle","getComputedStyle","display","visibility","parentElement","_ownRef$current","setAttribute","_ownRef$current2","removeAttribute","push","onFirstUpdate","handleClose","handleRef","node","handleEnter","handleExited","update","childProps","transitionProps","in","onEnter","onExited","createElement","_extends","displayName"],"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n ReactNode,\n HTMLAttributes,\n} from \"react\";\n\nimport {\n createPopper,\n Instance,\n Modifier,\n Options as PopperOptions,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\n\nimport { Placement } from \".\";\nimport { StyledPopper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\ntype CustomModifier = Modifier<string, PopperOptions>;\nexport type PopperModifier = Partial<\n Modifier<string, { [key: string]: unknown }>\n>;\n\ninterface TransitionProps {\n in: boolean;\n onEnter: () => void;\n onExited: () => void;\n}\ninterface IChildProps {\n placement: Placement;\n transitionProps: Partial<TransitionProps>;\n}\n\ninterface PopperProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Anchor Element. */\n anchorEl?: Element | null;\n /** Open */\n open?: boolean;\n /** Inline style */\n style?: CSSProperties;\n /** Child with transition */\n transition?: boolean;\n /** Placement */\n placement?: Placement;\n /** Strategy */\n strategy?: PositioningStrategy;\n /** After Write callback */\n afterWrite?: (...args) => void;\n /** Extra Popper.js modifiers, merged with the built-in ones */\n modifiers?: PopperModifier[];\n\n /** Component children */\n children?: ReactNode | React.FC<Partial<IChildProps>>;\n}\n\nexport const Popper = forwardRef<HTMLDivElement, PopperProps>(\n (\n {\n children,\n anchorEl,\n open = false,\n style,\n transition = false,\n placement: initialPlacement = \"bottom\",\n strategy = \"absolute\",\n afterWrite,\n modifiers: extraModifiers,\n ...rest\n },\n ref\n ) => {\n const [exited, setExited] = useState(true);\n const [placement, setPlacement] = useState(initialPlacement);\n const ownRef = useRef<HTMLDivElement | null>(null);\n const popperRef = useRef<Instance>();\n\n const handleInnerRef = useForkRef(ownRef, ref);\n\n const handlePopperUpdate = (data: Partial<State>): void => {\n setPlacement(data.placement || \"bottom\");\n };\n\n const handleOpen = useCallback(() => {\n if (!ownRef.current || !anchorEl || !open) {\n return;\n }\n\n if (popperRef.current) {\n popperRef.current.destroy();\n }\n\n const modifiers: (CustomModifier | PopperModifier)[] = [\n ...(extraModifiers || []),\n {\n name: \"hide\",\n enabled: true,\n phase: \"main\",\n fn: () => {\n const referenceElement = anchorEl as HTMLElement;\n\n let currentElement: HTMLElement | null = referenceElement;\n let isHidden = false;\n while (currentElement) {\n const computedStyle = getComputedStyle(currentElement);\n if (\n computedStyle.display === \"none\" ||\n computedStyle.visibility === \"hidden\"\n ) {\n isHidden = true;\n break;\n }\n currentElement = currentElement.parentElement;\n }\n\n if (isHidden) {\n ownRef.current?.setAttribute(\"data-popper-reference-hidden\", \"\");\n } else {\n ownRef.current?.removeAttribute(\"data-popper-reference-hidden\");\n }\n },\n },\n ];\n\n if (typeof afterWrite === \"function\") {\n modifiers.push({\n phase: \"afterWrite\",\n enabled: true,\n name: \"popper-after-write\",\n fn: afterWrite,\n });\n }\n\n popperRef.current = createPopper(anchorEl, ownRef.current, {\n placement,\n onFirstUpdate: handlePopperUpdate,\n strategy,\n modifiers,\n });\n }, [afterWrite, anchorEl, extraModifiers, open, placement, strategy]);\n\n const handleClose = (): void => {\n if (!popperRef.current) {\n return;\n }\n\n popperRef.current.destroy();\n };\n\n const handleRef = useCallback(\n (node: HTMLDivElement) => {\n handleInnerRef(node);\n handleOpen();\n },\n [handleOpen, handleInnerRef]\n );\n\n const handleEnter = (): void => {\n setExited(false);\n };\n\n const handleExited = (): void => {\n setExited(true);\n handleClose();\n };\n\n useEffect(() => {\n return (): void => {\n handleClose();\n };\n }, []);\n\n useEffect(() => {\n if (!open && !transition) {\n handleClose();\n }\n }, [open, transition]);\n\n useEffect(() => {\n if (popperRef.current) {\n popperRef.current.update();\n }\n });\n\n if (!open && (!transition || exited)) {\n return null;\n }\n\n const childProps: Partial<IChildProps> = { placement };\n\n if (transition) {\n childProps.transitionProps = {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited,\n };\n }\n\n return (\n <StyledPopper\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </StyledPopper>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React, { ReactElement, CSSProperties, Ref } from "react";
2
- import { Placement } from "../Popper";
2
+ import { Placement, PopperModifier } from "../Popper";
3
3
  import { TransitionProps } from "../Transitions";
4
4
  interface ElementWithRef<T> extends ReactElement {
5
5
  ref?: Ref<T>;
@@ -27,6 +27,8 @@ export interface ITooltipProps {
27
27
  popperTooltipClassName?: string;
28
28
  /** Remove tooltip */
29
29
  disable?: boolean;
30
+ /** Extra Popper.js modifiers for the tooltip popper */
31
+ popperModifiers?: PopperModifier[];
30
32
  }
31
33
  export declare const Tooltip: React.ForwardRefExoticComponent<ITooltipProps & React.RefAttributes<HTMLElement>>;
32
34
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAEZ,aAAa,EAGb,GAAG,EAEJ,MAAM,OAAO,CAAC;AAQf,OAAO,EAAU,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACtC,qBAAqB;IACrB,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAChD,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAcD,eAAO,MAAM,OAAO,mFAuFnB,CAAC"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAEZ,aAAa,EAGb,GAAG,EAEJ,MAAM,OAAO,CAAC;AAQf,OAAO,EAAU,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACtC,qBAAqB;IACrB,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2BAA2B;IAC3B,mBAAmB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAChD,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAcD,eAAO,MAAM,OAAO,mFAyFnB,CAAC"}
@@ -29,7 +29,8 @@ export const Tooltip = /*#__PURE__*/forwardRef((_ref2, ref) => {
29
29
  TransitionComponent = _ref2$TransitionCompo === void 0 ? TooltipAnimation : _ref2$TransitionCompo,
30
30
  popperTooltipStyle = _ref2.popperTooltipStyle,
31
31
  popperTooltipClassName = _ref2.popperTooltipClassName,
32
- disable = _ref2.disable;
32
+ disable = _ref2.disable,
33
+ popperModifiers = _ref2.popperModifiers;
33
34
  const _useLayerContext = useLayerContext(),
34
35
  _useLayerContext$zInd = _useLayerContext.zIndex,
35
36
  zIndex = _useLayerContext$zInd === void 0 ? layers.skyscraper : _useLayerContext$zInd;
@@ -66,6 +67,7 @@ export const Tooltip = /*#__PURE__*/forwardRef((_ref2, ref) => {
66
67
  open: childNode ? open : false,
67
68
  placement: placement,
68
69
  transition: true,
70
+ modifiers: popperModifiers,
69
71
  className: popperTooltipClassName,
70
72
  style: _extends({
71
73
  zIndex
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["React","useState","forwardRef","classnames","StyledTooltip","Portal","useLayerContext","layers","useForkRef","Popper","FromElement","TooltipAnimation","_ref","children","props","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","timeout","Tooltip","_ref2","ref","title","className","style","_ref2$isLight","isLight","_ref2$placement","placement","_ref2$TransitionCompo","TransitionComponent","popperTooltipStyle","popperTooltipClassName","disable","_useLayerContext","_useLayerContext$zInd","zIndex","skyscraper","_useState","open","setOpen","_useState2","childNode","setChildNode","handleEnter","event","childrenProps","type","onMouseOver","removeAttribute","handleLeave","onMouseLeave","currentTarget","handleOwnRef","handleRef","Fragment","cloneElement","anchorEl","transition","role","_ref3","_ref3$transitionProps","transitionProps","$isLight","displayName"],"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useState,\n CSSProperties,\n MouseEvent,\n forwardRef,\n Ref,\n FC,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledTooltip } from \"./Styles\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { layers } from \"../../utils\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper, Placement } from \"../Popper\";\nimport { TransitionProps } from \"../Transitions\";\nimport { FromElement } from \"../Transitions/FromElement\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ITooltipProps {\n /** Children element. */\n children: ElementWithRef<HTMLElement>;\n /** Title element. */\n title: ReactElement | string;\n /** Applies passed styles */\n style?: CSSProperties;\n /** Applies passed classes */\n className?: string;\n /** Open */\n open?: boolean;\n /** Placement */\n placement?: Placement;\n /** Transition component */\n TransitionComponent?: React.FC<TransitionProps>;\n /** Light tooltip */\n isLight?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Remove tooltip */\n disable?: boolean;\n}\n\ninterface ITooltipAnimation extends TransitionProps {\n children: ReactElement;\n}\n\nconst TooltipAnimation: FC<ITooltipAnimation> = ({ children, ...props }) => {\n return (\n <FromElement timeout={0} {...props}>\n {children}\n </FromElement>\n );\n};\n\nexport const Tooltip = forwardRef<HTMLElement, ITooltipProps>(\n (\n {\n children,\n title,\n className,\n style,\n isLight = false,\n placement = \"top\",\n TransitionComponent = TooltipAnimation,\n popperTooltipStyle,\n popperTooltipClassName,\n disable,\n },\n ref\n ) => {\n const { zIndex = layers.skyscraper } = useLayerContext();\n const [open, setOpen] = useState(false);\n const [childNode, setChildNode] = useState<HTMLElement | null>();\n\n const handleEnter = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (event.type === \"mouseover\" && childrenProps.onMouseOver) {\n childrenProps.onMouseOver(event);\n }\n\n childNode && childNode.removeAttribute(\"title\");\n\n setOpen(true);\n };\n\n const handleLeave = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (\n event.type === \"mouseleave\" &&\n childrenProps.onMouseLeave &&\n event.currentTarget === childNode\n ) {\n childrenProps.onMouseLeave(event);\n }\n\n setOpen(false);\n };\n\n const handleOwnRef = useForkRef(children.ref, ref);\n const handleRef = useForkRef(setChildNode, handleOwnRef);\n\n const childrenProps = {\n onMouseOver: handleEnter,\n onMouseLeave: handleLeave,\n ref: handleRef,\n };\n\n return (\n <>\n {React.cloneElement(children, childrenProps)}\n {!disable && (\n <Portal>\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={placement}\n transition\n className={popperTooltipClassName}\n style={{ zIndex, ...popperTooltipStyle }}\n role=\"tooltip\"\n >\n {({ transitionProps = {} }) => (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - due to @node/types making ts more strict\n <TransitionComponent {...transitionProps} style={style}>\n <StyledTooltip\n className={classnames(\"c-tooltip-ds\", className)}\n $isLight={isLight}\n >\n {title}\n </StyledTooltip>\n </TransitionComponent>\n )}\n </Popper>\n </Portal>\n )}\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tooltip.js","names":["React","useState","forwardRef","classnames","StyledTooltip","Portal","useLayerContext","layers","useForkRef","Popper","FromElement","TooltipAnimation","_ref","children","props","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","timeout","Tooltip","_ref2","ref","title","className","style","_ref2$isLight","isLight","_ref2$placement","placement","_ref2$TransitionCompo","TransitionComponent","popperTooltipStyle","popperTooltipClassName","disable","popperModifiers","_useLayerContext","_useLayerContext$zInd","zIndex","skyscraper","_useState","open","setOpen","_useState2","childNode","setChildNode","handleEnter","event","childrenProps","type","onMouseOver","removeAttribute","handleLeave","onMouseLeave","currentTarget","handleOwnRef","handleRef","Fragment","cloneElement","anchorEl","transition","modifiers","role","_ref3","_ref3$transitionProps","transitionProps","$isLight","displayName"],"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useState,\n CSSProperties,\n MouseEvent,\n forwardRef,\n Ref,\n FC,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledTooltip } from \"./Styles\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { layers } from \"../../utils\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper, Placement, PopperModifier } from \"../Popper\";\nimport { TransitionProps } from \"../Transitions\";\nimport { FromElement } from \"../Transitions/FromElement\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ITooltipProps {\n /** Children element. */\n children: ElementWithRef<HTMLElement>;\n /** Title element. */\n title: ReactElement | string;\n /** Applies passed styles */\n style?: CSSProperties;\n /** Applies passed classes */\n className?: string;\n /** Open */\n open?: boolean;\n /** Placement */\n placement?: Placement;\n /** Transition component */\n TransitionComponent?: React.FC<TransitionProps>;\n /** Light tooltip */\n isLight?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Remove tooltip */\n disable?: boolean;\n /** Extra Popper.js modifiers for the tooltip popper */\n popperModifiers?: PopperModifier[];\n}\n\ninterface ITooltipAnimation extends TransitionProps {\n children: ReactElement;\n}\n\nconst TooltipAnimation: FC<ITooltipAnimation> = ({ children, ...props }) => {\n return (\n <FromElement timeout={0} {...props}>\n {children}\n </FromElement>\n );\n};\n\nexport const Tooltip = forwardRef<HTMLElement, ITooltipProps>(\n (\n {\n children,\n title,\n className,\n style,\n isLight = false,\n placement = \"top\",\n TransitionComponent = TooltipAnimation,\n popperTooltipStyle,\n popperTooltipClassName,\n disable,\n popperModifiers,\n },\n ref\n ) => {\n const { zIndex = layers.skyscraper } = useLayerContext();\n const [open, setOpen] = useState(false);\n const [childNode, setChildNode] = useState<HTMLElement | null>();\n\n const handleEnter = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (event.type === \"mouseover\" && childrenProps.onMouseOver) {\n childrenProps.onMouseOver(event);\n }\n\n childNode && childNode.removeAttribute(\"title\");\n\n setOpen(true);\n };\n\n const handleLeave = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (\n event.type === \"mouseleave\" &&\n childrenProps.onMouseLeave &&\n event.currentTarget === childNode\n ) {\n childrenProps.onMouseLeave(event);\n }\n\n setOpen(false);\n };\n\n const handleOwnRef = useForkRef(children.ref, ref);\n const handleRef = useForkRef(setChildNode, handleOwnRef);\n\n const childrenProps = {\n onMouseOver: handleEnter,\n onMouseLeave: handleLeave,\n ref: handleRef,\n };\n\n return (\n <>\n {React.cloneElement(children, childrenProps)}\n {!disable && (\n <Portal>\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={placement}\n transition\n modifiers={popperModifiers}\n className={popperTooltipClassName}\n style={{ zIndex, ...popperTooltipStyle }}\n role=\"tooltip\"\n >\n {({ transitionProps = {} }) => (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - due to @node/types making ts more strict\n <TransitionComponent {...transitionProps} style={style}>\n <StyledTooltip\n className={classnames(\"c-tooltip-ds\", className)}\n $isLight={isLight}\n >\n {title}\n </StyledTooltip>\n </TransitionComponent>\n )}\n </Popper>\n </Portal>\n )}\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Fade.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/Fade/Fade.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,UAAW,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IAC3D,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgBD,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,UAAU,CAoB/B,CAAC"}
1
+ {"version":3,"file":"Fade.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/Fade/Fade.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,UAAW,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IAC3D,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgBD,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,UAAU,CAqC/B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["in", "children", "style", "timeout"];
3
+ const _excluded = ["in", "children", "style", "timeout", "onEnter"];
4
4
  import React, { cloneElement } from "react";
5
5
  import { Transition } from "react-transition-group";
6
6
  const defaultStyle = duration => ({
@@ -28,11 +28,20 @@ export const Fade = _ref => {
28
28
  style = _ref.style,
29
29
  _ref$timeout = _ref.timeout,
30
30
  timeout = _ref$timeout === void 0 ? 500 : _ref$timeout,
31
+ onEnter = _ref.onEnter,
31
32
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
33
+ // Same forced layout as SlideFromTop: without it the starting opacity never lands in the DOM.
34
+ const handleEnter = (node, isAppearing) => {
35
+ if (node) {
36
+ void node.offsetHeight;
37
+ }
38
+ onEnter == null || onEnter(node, isAppearing);
39
+ };
32
40
  return /*#__PURE__*/React.createElement(Transition, _extends({
33
41
  appear: true,
34
42
  in: inProp,
35
- timeout: timeout
43
+ timeout: timeout,
44
+ onEnter: handleEnter
36
45
  }, rest), state => {
37
46
  return /*#__PURE__*/cloneElement(children, {
38
47
  style: _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"Fade.js","names":["React","cloneElement","Transition","defaultStyle","duration","transition","opacity","transitionStyles","entering","entered","exiting","exited","Fade","_ref","_ref$in","in","inProp","children","style","_ref$timeout","timeout","rest","_objectWithoutPropertiesLoose","_excluded","createElement","_extends","appear","state","visibility","undefined","props","displayName"],"sources":["../../../../../src/components/Transitions/Fade/Fade.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { TransitionProps } from \"../types\";\n\ninterface IFadeProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{ transition: string; opacity: number }> => ({\n transition: `all ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n exited: { opacity: 0 },\n};\n\nexport const Fade: FC<IFadeProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = 500,\n ...rest\n}) => (\n <Transition appear in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n);\n\nFade.displayName = \"Fade\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAsBC,YAAY,QAAQ,OAAO;AAC7D,SAASC,UAAU,QAAQ,wBAAwB;AASnD,MAAMC,YAAY,GAChBC,QAAgB,KACsC;EACtDC,UAAU,WAASD,QAAQ,mBAAgB;EAC3CE,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,gBAAgB,GAAG;EACvBC,QAAQ,EAAE;IAAEF,OAAO,EAAE;EAAE,CAAC;EACxBG,OAAO,EAAE;IAAEH,OAAO,EAAE;EAAE,CAAC;EACvBI,OAAO,EAAE;IAAEJ,OAAO,EAAE;EAAE,CAAC;EACvBK,MAAM,EAAE;IAAEL,OAAO,EAAE;EAAE;AACvB,CAAC;AAED,OAAO,MAAMM,IAAoB,GAAGC,IAAA;EAAA,IAAAC,OAAA,GAAAD,IAAA,CAClCE,EAAE;IAAEC,MAAM,GAAAF,OAAA,cAAG,KAAK,GAAAA,OAAA;IAClBG,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAAC,YAAA,GAAAN,IAAA,CACLO,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,GAAG,GAAAA,YAAA;IACVE,IAAI,GAAAC,6BAAA,CAAAT,IAAA,EAAAU,SAAA;EAAA,oBAEPvB,KAAA,CAAAwB,aAAA,CAACtB,UAAU,EAAAuB,QAAA;IAACC,MAAM;IAACX,EAAE,EAAEC,MAAO;IAACI,OAAO,EAAEA;EAAQ,GAAKC,IAAI,GACrDM,KAAK,IAAmB;IACxB,oBAAO1B,YAAY,CAACgB,QAAQ,EAAE;MAC5BC,KAAK,EAAAO,QAAA;QACHG,UAAU,EAAED,KAAK,KAAK,QAAQ,IAAI,CAACX,MAAM,GAAG,QAAQ,GAAGa;MAAS,GAC7D1B,YAAY,CAACiB,OAAO,CAAC,EACrBb,gBAAgB,CAACoB,KAAK,CAAC,EACvBT,KAAK,EACLD,QAAQ,CAACa,KAAK,CAACZ,KAAK;IAE3B,CAAC,CAAC;EACJ,CACU,CAAC;AAAA,CACd;AAEDN,IAAI,CAACmB,WAAW,GAAG,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"Fade.js","names":["React","cloneElement","Transition","defaultStyle","duration","transition","opacity","transitionStyles","entering","entered","exiting","exited","Fade","_ref","_ref$in","in","inProp","children","style","_ref$timeout","timeout","onEnter","rest","_objectWithoutPropertiesLoose","_excluded","handleEnter","node","isAppearing","offsetHeight","createElement","_extends","appear","state","visibility","undefined","props","displayName"],"sources":["../../../../../src/components/Transitions/Fade/Fade.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { TransitionProps } from \"../types\";\n\ninterface IFadeProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{ transition: string; opacity: number }> => ({\n transition: `all ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n exited: { opacity: 0 },\n};\n\nexport const Fade: FC<IFadeProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = 500,\n onEnter,\n ...rest\n}) => {\n // Same forced layout as SlideFromTop: without it the starting opacity never lands in the DOM.\n const handleEnter = (node: HTMLElement, isAppearing: boolean) => {\n if (node) {\n void node.offsetHeight;\n }\n onEnter?.(node, isAppearing);\n };\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={handleEnter}\n {...rest}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nFade.displayName = \"Fade\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAsBC,YAAY,QAAQ,OAAO;AAC7D,SAASC,UAAU,QAAQ,wBAAwB;AASnD,MAAMC,YAAY,GAChBC,QAAgB,KACsC;EACtDC,UAAU,WAASD,QAAQ,mBAAgB;EAC3CE,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,gBAAgB,GAAG;EACvBC,QAAQ,EAAE;IAAEF,OAAO,EAAE;EAAE,CAAC;EACxBG,OAAO,EAAE;IAAEH,OAAO,EAAE;EAAE,CAAC;EACvBI,OAAO,EAAE;IAAEJ,OAAO,EAAE;EAAE,CAAC;EACvBK,MAAM,EAAE;IAAEL,OAAO,EAAE;EAAE;AACvB,CAAC;AAED,OAAO,MAAMM,IAAoB,GAAGC,IAAA,IAO9B;EAAA,IAAAC,OAAA,GAAAD,IAAA,CANJE,EAAE;IAAEC,MAAM,GAAAF,OAAA,cAAG,KAAK,GAAAA,OAAA;IAClBG,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAAC,YAAA,GAAAN,IAAA,CACLO,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,GAAG,GAAAA,YAAA;IACbE,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACJC,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;EAEP;EACA,MAAMC,WAAW,GAAGA,CAACC,IAAiB,EAAEC,WAAoB,KAAK;IAC/D,IAAID,IAAI,EAAE;MACR,KAAKA,IAAI,CAACE,YAAY;IACxB;IACAP,OAAO,YAAPA,OAAO,CAAGK,IAAI,EAAEC,WAAW,CAAC;EAC9B,CAAC;EAED,oBACE3B,KAAA,CAAA6B,aAAA,CAAC3B,UAAU,EAAA4B,QAAA;IACTC,MAAM;IACNhB,EAAE,EAAEC,MAAO;IACXI,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEI;EAAY,GACjBH,IAAI,GAENU,KAAK,IAAmB;IACxB,oBAAO/B,YAAY,CAACgB,QAAQ,EAAE;MAC5BC,KAAK,EAAAY,QAAA;QACHG,UAAU,EAAED,KAAK,KAAK,QAAQ,IAAI,CAAChB,MAAM,GAAG,QAAQ,GAAGkB;MAAS,GAC7D/B,YAAY,CAACiB,OAAO,CAAC,EACrBb,gBAAgB,CAACyB,KAAK,CAAC,EACvBd,KAAK,EACLD,QAAQ,CAACkB,KAAK,CAACjB,KAAK;IAE3B,CAAC,CAAC;EACJ,CACU,CAAC;AAEjB,CAAC;AAEDN,IAAI,CAACwB,WAAW,GAAG,MAAM","ignoreList":[]}
@@ -3,6 +3,8 @@ import { TransitionProps } from "../types";
3
3
  interface ISlideFromTop extends Omit<TransitionProps, "timeout"> {
4
4
  children: ReactElement;
5
5
  timeout?: number;
6
+ /** How far above its resting place the element starts. A fixed travel, not a share of its height. */
7
+ distance?: number;
6
8
  }
7
9
  export declare const SlideFromTop: FC<ISlideFromTop>;
8
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SlideFromTop.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/SlideFromTop/SlideFromTop.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IAC9D,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgCD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CA2B1C,CAAC"}
1
+ {"version":3,"file":"SlideFromTop.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/SlideFromTop/SlideFromTop.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IAC9D,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6BD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CAyC1C,CAAC"}
@@ -1,33 +1,37 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import React, { cloneElement } from "react";
3
3
  import { Transition } from "react-transition-group";
4
- const defaultStyle = {
5
- transitionProperty: "opacity, transform",
6
- transitionTimingFunction: "linear ease-out",
7
- transform: "translateY(-100%)",
8
- opacity: 0
9
- };
10
- const transitionStyles = {
11
- entering: {
12
- opacity: 1,
13
- transform: "translateY(0)",
14
- transitionDuration: ".3s"
15
- },
16
- entered: {
17
- opacity: 1,
18
- transform: "translateY(0)",
19
- transitionDuration: ".3s"
20
- },
21
- exiting: {
22
- opacity: 0,
23
- transform: "translateY(-100%)",
24
- transitionDuration: ".2s"
25
- },
26
- exited: {
27
- opacity: 0,
28
- transform: "translateY(-100%)",
29
- transitionDuration: ".2s"
30
- }
4
+ const DEFAULT_DISTANCE = 25;
5
+ const buildStyles = distance => {
6
+ const away = "translateY(-" + distance + "px)";
7
+ return {
8
+ base: {
9
+ transitionProperty: "opacity, transform",
10
+ transitionTimingFunction: "ease-out",
11
+ transform: away,
12
+ opacity: 0
13
+ },
14
+ entering: {
15
+ opacity: 1,
16
+ transform: "translateY(0)",
17
+ transitionDuration: ".3s"
18
+ },
19
+ entered: {
20
+ opacity: 1,
21
+ transform: "translateY(0)",
22
+ transitionDuration: ".3s"
23
+ },
24
+ exiting: {
25
+ opacity: 0,
26
+ transform: away,
27
+ transitionDuration: ".2s"
28
+ },
29
+ exited: {
30
+ opacity: 0,
31
+ transform: away,
32
+ transitionDuration: ".2s"
33
+ }
34
+ };
31
35
  };
32
36
  export const SlideFromTop = _ref => {
33
37
  let _ref$in = _ref.in,
@@ -37,18 +41,30 @@ export const SlideFromTop = _ref => {
37
41
  children = _ref.children,
38
42
  style = _ref.style,
39
43
  _ref$timeout = _ref.timeout,
40
- timeout = _ref$timeout === void 0 ? 400 : _ref$timeout;
44
+ timeout = _ref$timeout === void 0 ? 400 : _ref$timeout,
45
+ _ref$distance = _ref.distance,
46
+ distance = _ref$distance === void 0 ? DEFAULT_DISTANCE : _ref$distance;
47
+ const styles = buildStyles(distance);
48
+
49
+ // React flushes the state change that follows onEnter before the browser paints, so without a
50
+ // forced layout here the element never holds its starting style and the transition is skipped.
51
+ const handleEnter = (node, isAppearing) => {
52
+ if (node) {
53
+ void node.offsetHeight;
54
+ }
55
+ onEnter == null || onEnter(node, isAppearing);
56
+ };
41
57
  return /*#__PURE__*/React.createElement(Transition, {
42
58
  appear: true,
43
59
  in: inProp,
44
60
  timeout: timeout,
45
- onEnter: onEnter,
61
+ onEnter: handleEnter,
46
62
  onExited: onExited
47
63
  }, state => {
48
64
  return /*#__PURE__*/cloneElement(children, {
49
65
  style: _extends({
50
66
  visibility: state === "exited" && !inProp ? "hidden" : undefined
51
- }, defaultStyle, transitionStyles[state], style, children.props.style)
67
+ }, styles.base, styles[state], style, children.props.style)
52
68
  });
53
69
  });
54
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SlideFromTop.js","names":["React","cloneElement","Transition","defaultStyle","transitionProperty","transitionTimingFunction","transform","opacity","transitionStyles","entering","transitionDuration","entered","exiting","exited","SlideFromTop","_ref","_ref$in","in","inProp","onEnter","onExited","children","style","_ref$timeout","timeout","createElement","appear","state","_extends","visibility","undefined","props","displayName"],"sources":["../../../../../src/components/Transitions/SlideFromTop/SlideFromTop.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { TransitionProps } from \"../types\";\n\ninterface ISlideFromTop extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = {\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"linear ease-out\",\n transform: \"translateY(-100%)\",\n opacity: 0,\n};\n\nconst transitionStyles = {\n entering: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n entered: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n exiting: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n transitionDuration: \".2s\",\n },\n exited: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n transitionDuration: \".2s\",\n },\n};\n\nexport const SlideFromTop: FC<ISlideFromTop> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 400,\n}) => (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n);\n\nSlideFromTop.displayName = \"SlideFromTop\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAsBC,YAAY,QAAQ,OAAO;AAC7D,SAASC,UAAU,QAAQ,wBAAwB;AASnD,MAAMC,YAAY,GAAG;EACnBC,kBAAkB,EAAE,oBAAoB;EACxCC,wBAAwB,EAAE,iBAAiB;EAC3CC,SAAS,EAAE,mBAAmB;EAC9BC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,gBAAgB,GAAG;EACvBC,QAAQ,EAAE;IACRF,OAAO,EAAE,CAAC;IACVD,SAAS,EAAE,eAAe;IAC1BI,kBAAkB,EAAE;EACtB,CAAC;EACDC,OAAO,EAAE;IACPJ,OAAO,EAAE,CAAC;IACVD,SAAS,EAAE,eAAe;IAC1BI,kBAAkB,EAAE;EACtB,CAAC;EACDE,OAAO,EAAE;IACPL,OAAO,EAAE,CAAC;IACVD,SAAS,EAAE,mBAAmB;IAC9BI,kBAAkB,EAAE;EACtB,CAAC;EACDG,MAAM,EAAE;IACNN,OAAO,EAAE,CAAC;IACVD,SAAS,EAAE,mBAAmB;IAC9BI,kBAAkB,EAAE;EACtB;AACF,CAAC;AAED,OAAO,MAAMI,YAA+B,GAAGC,IAAA;EAAA,IAAAC,OAAA,GAAAD,IAAA,CAC7CE,EAAE;IAAEC,MAAM,GAAAF,OAAA,cAAG,KAAK,GAAAA,OAAA;IAClBG,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,KAAK,GAAAP,IAAA,CAALO,KAAK;IAAAC,YAAA,GAAAR,IAAA,CACLS,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,GAAG,GAAAA,YAAA;EAAA,oBAEbvB,KAAA,CAAAyB,aAAA,CAACvB,UAAU;IACTwB,MAAM;IACNT,EAAE,EAAEC,MAAO;IACXM,OAAO,EAAEA,OAAQ;IACjBL,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA;EAAS,GAEjBO,KAAK,IAAmB;IACxB,oBAAO1B,YAAY,CAACoB,QAAQ,EAAE;MAC5BC,KAAK,EAAAM,QAAA;QACHC,UAAU,EAAEF,KAAK,KAAK,QAAQ,IAAI,CAACT,MAAM,GAAG,QAAQ,GAAGY;MAAS,GAC7D3B,YAAY,EACZK,gBAAgB,CAACmB,KAAK,CAAC,EACvBL,KAAK,EACLD,QAAQ,CAACU,KAAK,CAACT,KAAK;IAE3B,CAAC,CAAC;EACJ,CACU,CAAC;AAAA,CACd;AAEDR,YAAY,CAACkB,WAAW,GAAG,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"SlideFromTop.js","names":["React","cloneElement","Transition","DEFAULT_DISTANCE","buildStyles","distance","away","base","transitionProperty","transitionTimingFunction","transform","opacity","entering","transitionDuration","entered","exiting","exited","SlideFromTop","_ref","_ref$in","in","inProp","onEnter","onExited","children","style","_ref$timeout","timeout","_ref$distance","styles","handleEnter","node","isAppearing","offsetHeight","createElement","appear","state","_extends","visibility","undefined","props","displayName"],"sources":["../../../../../src/components/Transitions/SlideFromTop/SlideFromTop.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { TransitionProps } from \"../types\";\n\ninterface ISlideFromTop extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n /** How far above its resting place the element starts. A fixed travel, not a share of its height. */\n distance?: number;\n}\n\nconst DEFAULT_DISTANCE = 25;\n\nconst buildStyles = (distance: number) => {\n const away = `translateY(-${distance}px)`;\n\n return {\n base: {\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"ease-out\",\n transform: away,\n opacity: 0,\n },\n entering: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n entered: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n exiting: { opacity: 0, transform: away, transitionDuration: \".2s\" },\n exited: { opacity: 0, transform: away, transitionDuration: \".2s\" },\n };\n};\n\nexport const SlideFromTop: FC<ISlideFromTop> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 400,\n distance = DEFAULT_DISTANCE,\n}) => {\n const styles = buildStyles(distance);\n\n // React flushes the state change that follows onEnter before the browser paints, so without a\n // forced layout here the element never holds its starting style and the transition is skipped.\n const handleEnter = (node: HTMLElement, isAppearing: boolean) => {\n if (node) {\n void node.offsetHeight;\n }\n onEnter?.(node, isAppearing);\n };\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={handleEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...styles.base,\n ...styles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlideFromTop.displayName = \"SlideFromTop\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAsBC,YAAY,QAAQ,OAAO;AAC7D,SAASC,UAAU,QAAQ,wBAAwB;AAWnD,MAAMC,gBAAgB,GAAG,EAAE;AAE3B,MAAMC,WAAW,GAAIC,QAAgB,IAAK;EACxC,MAAMC,IAAI,oBAAkBD,QAAQ,QAAK;EAEzC,OAAO;IACLE,IAAI,EAAE;MACJC,kBAAkB,EAAE,oBAAoB;MACxCC,wBAAwB,EAAE,UAAU;MACpCC,SAAS,EAAEJ,IAAI;MACfK,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAE;MACRD,OAAO,EAAE,CAAC;MACVD,SAAS,EAAE,eAAe;MAC1BG,kBAAkB,EAAE;IACtB,CAAC;IACDC,OAAO,EAAE;MACPH,OAAO,EAAE,CAAC;MACVD,SAAS,EAAE,eAAe;MAC1BG,kBAAkB,EAAE;IACtB,CAAC;IACDE,OAAO,EAAE;MAAEJ,OAAO,EAAE,CAAC;MAAED,SAAS,EAAEJ,IAAI;MAAEO,kBAAkB,EAAE;IAAM,CAAC;IACnEG,MAAM,EAAE;MAAEL,OAAO,EAAE,CAAC;MAAED,SAAS,EAAEJ,IAAI;MAAEO,kBAAkB,EAAE;IAAM;EACnE,CAAC;AACH,CAAC;AAED,OAAO,MAAMI,YAA+B,GAAGC,IAAA,IAQzC;EAAA,IAAAC,OAAA,GAAAD,IAAA,CAPJE,EAAE;IAAEC,MAAM,GAAAF,OAAA,cAAG,KAAK,GAAAA,OAAA;IAClBG,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,KAAK,GAAAP,IAAA,CAALO,KAAK;IAAAC,YAAA,GAAAR,IAAA,CACLS,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,GAAG,GAAAA,YAAA;IAAAE,aAAA,GAAAV,IAAA,CACbb,QAAQ;IAARA,QAAQ,GAAAuB,aAAA,cAAGzB,gBAAgB,GAAAyB,aAAA;EAE3B,MAAMC,MAAM,GAAGzB,WAAW,CAACC,QAAQ,CAAC;;EAEpC;EACA;EACA,MAAMyB,WAAW,GAAGA,CAACC,IAAiB,EAAEC,WAAoB,KAAK;IAC/D,IAAID,IAAI,EAAE;MACR,KAAKA,IAAI,CAACE,YAAY;IACxB;IACAX,OAAO,YAAPA,OAAO,CAAGS,IAAI,EAAEC,WAAW,CAAC;EAC9B,CAAC;EAED,oBACEhC,KAAA,CAAAkC,aAAA,CAAChC,UAAU;IACTiC,MAAM;IACNf,EAAE,EAAEC,MAAO;IACXM,OAAO,EAAEA,OAAQ;IACjBL,OAAO,EAAEQ,WAAY;IACrBP,QAAQ,EAAEA;EAAS,GAEjBa,KAAK,IAAmB;IACxB,oBAAOnC,YAAY,CAACuB,QAAQ,EAAE;MAC5BC,KAAK,EAAAY,QAAA;QACHC,UAAU,EAAEF,KAAK,KAAK,QAAQ,IAAI,CAACf,MAAM,GAAG,QAAQ,GAAGkB;MAAS,GAC7DV,MAAM,CAACtB,IAAI,EACXsB,MAAM,CAACO,KAAK,CAAC,EACbX,KAAK,EACLD,QAAQ,CAACgB,KAAK,CAACf,KAAK;IAE3B,CAAC,CAAC;EACJ,CACU,CAAC;AAEjB,CAAC;AAEDR,YAAY,CAACwB,WAAW,GAAG,cAAc","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { FC, ReactNode } from "react";
2
+ import { DialogSize } from "../Dialog/Styles";
2
3
  export interface IStep {
3
4
  index?: number;
4
5
  isLast?: boolean;
@@ -14,6 +15,9 @@ export interface IStep {
14
15
  disableBackButton?: boolean;
15
16
  customRightHeader?: ReactNode;
16
17
  skip?: boolean;
18
+ /** Read by Wizard off the active step and passed to the dialog. */
19
+ size?: DialogSize;
20
+ height?: string;
17
21
  }
18
22
  export declare const Step: FC<IStep>;
19
23
  //# sourceMappingURL=Step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Step.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAC;AAc1D,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAyE1B,CAAC"}
1
+ {"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Step.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAC;AAW1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CA4E1B,CAAC"}
@@ -2,6 +2,7 @@ import React, { useCallback } from "react";
2
2
  import { StepActionButton } from "./StepActionButton";
3
3
  import { StyledStepTitle, StyledStepHeaderLeft, StyledStepHeader, StyledCustomStep } from "./Styles";
4
4
  import { Dialog } from "../Dialog";
5
+ import { useDialogClose } from "../Dialog/DialogContext";
5
6
  import { IconButton } from "../IconButton";
6
7
  import { ArrowBackMobileIcon, CancelCrossIcon } from "../Icons";
7
8
  import { Caption2, Header3 } from "../Typography";
@@ -25,6 +26,8 @@ export const Step = _ref => {
25
26
  customRightHeader = _ref.customRightHeader,
26
27
  _ref$skip = _ref.skip,
27
28
  skip = _ref$skip === void 0 ? false : _ref$skip;
29
+ // The close button goes through the dialog so the exit transition runs before the caller unmounts.
30
+ const closeDialog = useDialogClose(onClose);
28
31
  const onActionButtonClick = useCallback(() => {
29
32
  if (isLast && onClose) {
30
33
  return onClose();
@@ -37,7 +40,7 @@ export const Step = _ref => {
37
40
  className: "tw--ml-3 tw-mr-2",
38
41
  disabled: changingStepInProgress
39
42
  }, /*#__PURE__*/React.createElement(ArrowBackMobileIcon, null)) : null, /*#__PURE__*/React.createElement(StyledStepTitle, null, /*#__PURE__*/React.createElement(Caption2, null, title), /*#__PURE__*/React.createElement(Header3, null, subtitle))), customRightHeader ? customRightHeader : /*#__PURE__*/React.createElement(IconButton, {
40
- onClick: onClose,
43
+ onClick: closeDialog,
41
44
  variant: "text gray",
42
45
  disabled: changingStepInProgress
43
46
  }, /*#__PURE__*/React.createElement(CancelCrossIcon, null))), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), shouldRenderNextButton ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog.Content, null, children), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Actions, null, /*#__PURE__*/React.createElement(StepActionButton, {
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","names":["React","useCallback","StepActionButton","StyledStepTitle","StyledStepHeaderLeft","StyledStepHeader","StyledCustomStep","Dialog","IconButton","ArrowBackMobileIcon","CancelCrossIcon","Caption2","Header3","Step","_ref","index","isLast","subtitle","title","onNextButtonClick","onPreviousButtonClick","onClose","children","_ref$actionLabel","actionLabel","_ref$shouldRenderNext","shouldRenderNextButton","_ref$changingStepInPr","changingStepInProgress","_ref$disableBackButto","disableBackButton","customRightHeader","_ref$skip","skip","onActionButtonClick","createElement","Fragment","onClick","variant","className","disabled","ContentDivider","Content","Actions","displayName"],"sources":["../../../../src/components/Wizard/Step.tsx"],"sourcesContent":["import React, { FC, ReactNode, useCallback } from \"react\";\n\nimport { StepActionButton } from \"./StepActionButton\";\nimport {\n StyledStepTitle,\n StyledStepHeaderLeft,\n StyledStepHeader,\n StyledCustomStep,\n} from \"./Styles\";\nimport { Dialog } from \"../Dialog\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowBackMobileIcon, CancelCrossIcon } from \"../Icons\";\nimport { Caption2, Header3 } from \"../Typography\";\n\nexport interface IStep {\n index?: number;\n isLast?: boolean;\n subtitle: string;\n title?: string;\n onNextButtonClick?: () => void;\n onPreviousButtonClick?: () => void;\n onClose?: () => void;\n children: ReactNode;\n actionLabel?: string;\n shouldRenderNextButton?: boolean;\n changingStepInProgress?: boolean;\n disableBackButton?: boolean;\n customRightHeader?: ReactNode;\n skip?: boolean;\n}\n\nexport const Step: FC<IStep> = ({\n index,\n isLast,\n subtitle,\n title,\n onNextButtonClick,\n onPreviousButtonClick,\n onClose,\n children,\n actionLabel = \"Proceed\",\n shouldRenderNextButton = true,\n changingStepInProgress = false,\n disableBackButton = false,\n customRightHeader,\n skip = false,\n}) => {\n const onActionButtonClick = useCallback(() => {\n if (isLast && onClose) {\n return onClose();\n }\n\n return onNextButtonClick && onNextButtonClick();\n }, [isLast, onClose, onNextButtonClick]);\n\n return !skip ? (\n <>\n <StyledStepHeader>\n <StyledStepHeaderLeft>\n {!disableBackButton && index && index > 0 ? (\n <IconButton\n onClick={onPreviousButtonClick}\n variant=\"text gray\"\n className=\"tw--ml-3 tw-mr-2\"\n disabled={changingStepInProgress}\n >\n <ArrowBackMobileIcon />\n </IconButton>\n ) : null}\n <StyledStepTitle>\n <Caption2>{title}</Caption2>\n <Header3>{subtitle}</Header3>\n </StyledStepTitle>\n </StyledStepHeaderLeft>\n {customRightHeader ? (\n customRightHeader\n ) : (\n <IconButton\n onClick={onClose}\n variant=\"text gray\"\n disabled={changingStepInProgress}\n >\n <CancelCrossIcon />\n </IconButton>\n )}\n </StyledStepHeader>\n <Dialog.ContentDivider />\n {shouldRenderNextButton ? (\n <>\n <Dialog.Content>{children}</Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <StepActionButton\n isLast={isLast}\n actionLabel={actionLabel}\n onNextButtonClick={onActionButtonClick}\n />\n </Dialog.Actions>\n </>\n ) : (\n <StyledCustomStep>{children}</StyledCustomStep>\n )}\n </>\n ) : null;\n};\n\nStep.displayName = \"Step\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Step.js","names":["React","useCallback","StepActionButton","StyledStepTitle","StyledStepHeaderLeft","StyledStepHeader","StyledCustomStep","Dialog","useDialogClose","IconButton","ArrowBackMobileIcon","CancelCrossIcon","Caption2","Header3","Step","_ref","index","isLast","subtitle","title","onNextButtonClick","onPreviousButtonClick","onClose","children","_ref$actionLabel","actionLabel","_ref$shouldRenderNext","shouldRenderNextButton","_ref$changingStepInPr","changingStepInProgress","_ref$disableBackButto","disableBackButton","customRightHeader","_ref$skip","skip","closeDialog","onActionButtonClick","createElement","Fragment","onClick","variant","className","disabled","ContentDivider","Content","Actions","displayName"],"sources":["../../../../src/components/Wizard/Step.tsx"],"sourcesContent":["import React, { FC, ReactNode, useCallback } from \"react\";\n\nimport { StepActionButton } from \"./StepActionButton\";\nimport {\n StyledStepTitle,\n StyledStepHeaderLeft,\n StyledStepHeader,\n StyledCustomStep,\n} from \"./Styles\";\nimport { Dialog } from \"../Dialog\";\nimport { useDialogClose } from \"../Dialog/DialogContext\";\nimport { DialogSize } from \"../Dialog/Styles\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowBackMobileIcon, CancelCrossIcon } from \"../Icons\";\nimport { Caption2, Header3 } from \"../Typography\";\n\nexport interface IStep {\n index?: number;\n isLast?: boolean;\n subtitle: string;\n title?: string;\n onNextButtonClick?: () => void;\n onPreviousButtonClick?: () => void;\n onClose?: () => void;\n children: ReactNode;\n actionLabel?: string;\n shouldRenderNextButton?: boolean;\n changingStepInProgress?: boolean;\n disableBackButton?: boolean;\n customRightHeader?: ReactNode;\n skip?: boolean;\n /** Read by Wizard off the active step and passed to the dialog. */\n size?: DialogSize;\n height?: string;\n}\n\nexport const Step: FC<IStep> = ({\n index,\n isLast,\n subtitle,\n title,\n onNextButtonClick,\n onPreviousButtonClick,\n onClose,\n children,\n actionLabel = \"Proceed\",\n shouldRenderNextButton = true,\n changingStepInProgress = false,\n disableBackButton = false,\n customRightHeader,\n skip = false,\n}) => {\n // The close button goes through the dialog so the exit transition runs before the caller unmounts.\n const closeDialog = useDialogClose(onClose);\n\n const onActionButtonClick = useCallback(() => {\n if (isLast && onClose) {\n return onClose();\n }\n\n return onNextButtonClick && onNextButtonClick();\n }, [isLast, onClose, onNextButtonClick]);\n\n return !skip ? (\n <>\n <StyledStepHeader>\n <StyledStepHeaderLeft>\n {!disableBackButton && index && index > 0 ? (\n <IconButton\n onClick={onPreviousButtonClick}\n variant=\"text gray\"\n className=\"tw--ml-3 tw-mr-2\"\n disabled={changingStepInProgress}\n >\n <ArrowBackMobileIcon />\n </IconButton>\n ) : null}\n <StyledStepTitle>\n <Caption2>{title}</Caption2>\n <Header3>{subtitle}</Header3>\n </StyledStepTitle>\n </StyledStepHeaderLeft>\n {customRightHeader ? (\n customRightHeader\n ) : (\n <IconButton\n onClick={closeDialog}\n variant=\"text gray\"\n disabled={changingStepInProgress}\n >\n <CancelCrossIcon />\n </IconButton>\n )}\n </StyledStepHeader>\n <Dialog.ContentDivider />\n {shouldRenderNextButton ? (\n <>\n <Dialog.Content>{children}</Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <StepActionButton\n isLast={isLast}\n actionLabel={actionLabel}\n onNextButtonClick={onActionButtonClick}\n />\n </Dialog.Actions>\n </>\n ) : (\n <StyledCustomStep>{children}</StyledCustomStep>\n )}\n </>\n ) : null;\n};\n\nStep.displayName = \"Step\";\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React, { ReactNode } from "react";
2
+ import { DialogSize } from "../Dialog/Styles";
2
3
  export interface IWizard {
3
4
  title: string;
4
5
  open: boolean;
@@ -6,6 +7,8 @@ export interface IWizard {
6
7
  children: ReactNode;
7
8
  disableCloseOnEsc?: boolean;
8
9
  dialogClassName?: string;
10
+ size?: DialogSize;
11
+ height?: string;
9
12
  }
10
13
  export declare const Wizard: React.ForwardRefExoticComponent<IWizard & React.RefAttributes<HTMLDivElement>>;
11
14
  //# sourceMappingURL=Wizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAKZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAMf,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,MAAM,gFAiGlB,CAAC"}
1
+ {"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAKZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,gFA0GlB,CAAC"}
@@ -3,13 +3,18 @@ import { WizardContextProvider } from "./context";
3
3
  import { Step } from "./Step";
4
4
  import { Dialog } from "../Dialog";
5
5
  export const Wizard = /*#__PURE__*/forwardRef((_ref, ref) => {
6
+ var _activeStepProps$size, _activeStepProps$heig;
6
7
  let title = _ref.title,
7
8
  open = _ref.open,
8
9
  onClose = _ref.onClose,
9
10
  _ref$disableCloseOnEs = _ref.disableCloseOnEsc,
10
11
  disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs,
11
12
  children = _ref.children,
12
- dialogClassName = _ref.dialogClassName;
13
+ dialogClassName = _ref.dialogClassName,
14
+ _ref$size = _ref.size,
15
+ size = _ref$size === void 0 ? "m" : _ref$size,
16
+ _ref$height = _ref.height,
17
+ height = _ref$height === void 0 ? "fluid" : _ref$height;
13
18
  const childrenCollection = useMemo(() => React.Children.toArray(children), [children]);
14
19
  const _useState = useState(0),
15
20
  activeStep = _useState[0],
@@ -42,6 +47,11 @@ export const Wizard = /*#__PURE__*/forwardRef((_ref, ref) => {
42
47
  }
43
48
  setActiveStep(index);
44
49
  }, [activeStep, childrenCollection]);
50
+ const activeStepProps = useMemo(() => {
51
+ var _element$props;
52
+ const element = childrenCollection[activeStep];
53
+ return (_element$props = element == null ? void 0 : element.props) != null ? _element$props : {};
54
+ }, [activeStep, childrenCollection]);
45
55
  const renderActiveStep = useMemo(() => {
46
56
  const element = childrenCollection[activeStep];
47
57
  if ((element == null ? void 0 : element.type) === Step) {
@@ -71,7 +81,9 @@ export const Wizard = /*#__PURE__*/forwardRef((_ref, ref) => {
71
81
  open: open,
72
82
  onClose: onClose,
73
83
  disableCloseOnEsc: disableCloseOnEsc,
74
- className: dialogClassName
84
+ className: dialogClassName,
85
+ size: (_activeStepProps$size = activeStepProps.size) != null ? _activeStepProps$size : size,
86
+ height: (_activeStepProps$heig = activeStepProps.height) != null ? _activeStepProps$heig : height
75
87
  }, renderActiveStep));
76
88
  });
77
89
  Wizard.displayName = "Wizard";
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.js","names":["React","forwardRef","useCallback","useEffect","useMemo","useState","WizardContextProvider","Step","Dialog","Wizard","_ref","ref","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","childrenCollection","Children","toArray","_useState","activeStep","setActiveStep","_useState2","changingStepInProgress","setChangingStepInProgress","goNext","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","i","length","_step$props","renderActiveStep","element","type","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","value","close","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","forwardRef","useCallback","useEffect","useMemo","useState","WizardContextProvider","Step","Dialog","Wizard","_ref","ref","_activeStepProps$size","_activeStepProps$heig","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","_ref$size","size","_ref$height","height","childrenCollection","Children","toArray","_useState","activeStep","setActiveStep","_useState2","changingStepInProgress","setChangingStepInProgress","goNext","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","i","length","_step$props","activeStepProps","_element$props","element","renderActiveStep","type","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","value","close","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":[]}