@activecollab/components 1.0.318 → 1.0.319

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.
@@ -59,16 +59,20 @@ var Popper = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
59
59
  if (popperRef.current) {
60
60
  popperRef.current.destroy();
61
61
  }
62
+ var modifiers = [];
63
+ if (typeof afterWrite === "function") {
64
+ modifiers.push({
65
+ phase: "afterWrite",
66
+ enabled: true,
67
+ name: "popper-after-write",
68
+ fn: afterWrite
69
+ });
70
+ }
62
71
  popperRef.current = (0, _core.createPopper)(anchorEl, ownRef.current, {
63
72
  placement: placement,
64
73
  onFirstUpdate: handlePopperUpdate,
65
74
  strategy: strategy,
66
- modifiers: [{
67
- phase: "afterWrite",
68
- enabled: typeof afterWrite === "function",
69
- name: "popper-after-write",
70
- fn: afterWrite
71
- }]
75
+ modifiers: modifiers
72
76
  });
73
77
  }, [afterWrite, anchorEl, open, placement, strategy]);
74
78
  var handleClose = function handleClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.js","names":["Popper","forwardRef","ref","children","anchorEl","open","style","transition","placement","initialPlacement","strategy","afterWrite","rest","useState","exited","setExited","setPlacement","ownRef","useRef","popperRef","handleInnerRef","useForkRef","handlePopperUpdate","data","handleOpen","useCallback","current","destroy","createPopper","onFirstUpdate","modifiers","phase","enabled","name","fn","handleClose","handleRef","node","handleEnter","handleExited","useEffect","update","childProps","transitionProps","in","onEnter","onExited","displayName"],"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport {\n createPopper,\n Instance,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\nimport { Placement } from \".\";\nimport useForkRef from \"../../utils/useForkRef\";\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 {\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\nexport const Popper = forwardRef<\n HTMLDivElement,\n PopperProps & HTMLAttributes<HTMLDivElement>\n>(\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 popperRef.current = createPopper(anchorEl, ownRef.current, {\n placement,\n onFirstUpdate: handlePopperUpdate,\n strategy,\n modifiers: [\n {\n phase: \"afterWrite\",\n enabled: typeof afterWrite === \"function\",\n name: \"popper-after-write\",\n fn: afterWrite,\n },\n ],\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 <div\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </div>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n"],"mappings":";;;;;;;AAAA;AASA;AAOA;AAAgD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BzC,IAAMA,MAAM,gBAAG,IAAAC,iBAAU,EAI9B,gBAYEC,GAAG,EACA;EAAA,IAXDC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IAAA,iBACRC,IAAI;IAAJA,IAAI,0BAAG,KAAK;IACZC,KAAK,QAALA,KAAK;IAAA,uBACLC,UAAU;IAAVA,UAAU,gCAAG,KAAK;IAAA,sBAClBC,SAAS;IAAEC,gBAAgB,+BAAG,QAAQ;IAAA,qBACtCC,QAAQ;IAARA,QAAQ,8BAAG,UAAU;IACrBC,UAAU,QAAVA,UAAU;IACPC,IAAI;EAIT,gBAA4B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAAnCC,MAAM;IAAEC,SAAS;EACxB,iBAAkC,IAAAF,eAAQ,EAACJ,gBAAgB,CAAC;IAAA;IAArDD,SAAS;IAAEQ,YAAY;EAC9B,IAAMC,MAAM,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EAClD,IAAMC,SAAS,GAAG,IAAAD,aAAM,GAAY;EAEpC,IAAME,cAAc,GAAG,IAAAC,mBAAU,EAACJ,MAAM,EAAEf,GAAG,CAAC;EAE9C,IAAMoB,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,IAAoB,EAAW;IACzDP,YAAY,CAACO,IAAI,CAACf,SAAS,IAAI,QAAQ,CAAC;EAC1C,CAAC;EAED,IAAMgB,UAAU,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACnC,IAAI,CAACR,MAAM,CAACS,OAAO,IAAI,CAACtB,QAAQ,IAAI,CAACC,IAAI,EAAE;MACzC;IACF;IAEA,IAAIc,SAAS,CAACO,OAAO,EAAE;MACrBP,SAAS,CAACO,OAAO,CAACC,OAAO,EAAE;IAC7B;IAEAR,SAAS,CAACO,OAAO,GAAG,IAAAE,kBAAY,EAACxB,QAAQ,EAAEa,MAAM,CAACS,OAAO,EAAE;MACzDlB,SAAS,EAATA,SAAS;MACTqB,aAAa,EAAEP,kBAAkB;MACjCZ,QAAQ,EAARA,QAAQ;MACRoB,SAAS,EAAE,CACT;QACEC,KAAK,EAAE,YAAY;QACnBC,OAAO,EAAE,OAAOrB,UAAU,KAAK,UAAU;QACzCsB,IAAI,EAAE,oBAAoB;QAC1BC,EAAE,EAAEvB;MACN,CAAC;IAEL,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,UAAU,EAAEP,QAAQ,EAAEC,IAAI,EAAEG,SAAS,EAAEE,QAAQ,CAAC,CAAC;EAErD,IAAMyB,WAAW,GAAG,SAAdA,WAAW,GAAe;IAC9B,IAAI,CAAChB,SAAS,CAACO,OAAO,EAAE;MACtB;IACF;IAEAP,SAAS,CAACO,OAAO,CAACC,OAAO,EAAE;EAC7B,CAAC;EAED,IAAMS,SAAS,GAAG,IAAAX,kBAAW,EAC3B,UAACY,IAAoB,EAAK;IACxBjB,cAAc,CAACiB,IAAI,CAAC;IACpBb,UAAU,EAAE;EACd,CAAC,EACD,CAACA,UAAU,EAAEJ,cAAc,CAAC,CAC7B;EAED,IAAMkB,WAAW,GAAG,SAAdA,WAAW,GAAe;IAC9BvB,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC;EAED,IAAMwB,YAAY,GAAG,SAAfA,YAAY,GAAe;IAC/BxB,SAAS,CAAC,IAAI,CAAC;IACfoB,WAAW,EAAE;EACf,CAAC;EAED,IAAAK,gBAAS,EAAC,YAAM;IACd,OAAO,YAAY;MACjBL,WAAW,EAAE;IACf,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAK,gBAAS,EAAC,YAAM;IACd,IAAI,CAACnC,IAAI,IAAI,CAACE,UAAU,EAAE;MACxB4B,WAAW,EAAE;IACf;EACF,CAAC,EAAE,CAAC9B,IAAI,EAAEE,UAAU,CAAC,CAAC;EAEtB,IAAAiC,gBAAS,EAAC,YAAM;IACd,IAAIrB,SAAS,CAACO,OAAO,EAAE;MACrBP,SAAS,CAACO,OAAO,CAACe,MAAM,EAAE;IAC5B;EACF,CAAC,CAAC;EAEF,IAAI,CAACpC,IAAI,KAAK,CAACE,UAAU,IAAIO,MAAM,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EAEA,IAAM4B,UAAgC,GAAG;IAAElC,SAAS,EAATA;EAAU,CAAC;EAEtD,IAAID,UAAU,EAAE;IACdmC,UAAU,CAACC,eAAe,GAAG;MAC3BC,EAAE,EAAEvC,IAAI;MACRwC,OAAO,EAAEP,WAAW;MACpBQ,QAAQ,EAAEP;IACZ,CAAC;EACH;EAEA,oBACE;IACE,GAAG,EAAEH;EAAU,GACXxB,IAAI;IACR,KAAK,oBACAN,KAAK;EACR,IAED,OAAOH,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACuC,UAAU,CAAC,GAAGvC,QAAQ,CAC7D;AAEV,CAAC,CACF;AAAC;AAEFH,MAAM,CAAC+C,WAAW,GAAG,QAAQ"}
1
+ {"version":3,"file":"Popper.js","names":["Popper","forwardRef","ref","children","anchorEl","open","style","transition","placement","initialPlacement","strategy","afterWrite","rest","useState","exited","setExited","setPlacement","ownRef","useRef","popperRef","handleInnerRef","useForkRef","handlePopperUpdate","data","handleOpen","useCallback","current","destroy","modifiers","push","phase","enabled","name","fn","createPopper","onFirstUpdate","handleClose","handleRef","node","handleEnter","handleExited","useEffect","update","childProps","transitionProps","in","onEnter","onExited","displayName"],"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport {\n createPopper,\n Instance,\n Modifier,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\nimport { Placement } from \".\";\nimport useForkRef from \"../../utils/useForkRef\";\ntype CustomModifier = Modifier<string, unknown>;\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 {\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\nexport const Popper = forwardRef<\n HTMLDivElement,\n PopperProps & HTMLAttributes<HTMLDivElement>\n>(\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 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 <div\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </div>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../../../src/components/Popper/Popper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,aAAa,EAEd,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAa9B,UAAU,WAAW;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe;IACf,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,2BAA2B;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,MAAM,2HA0HlB,CAAC"}
1
+ {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../../../src/components/Popper/Popper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,aAAa,EAEd,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAa9B,UAAU,WAAW;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe;IACf,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,2BAA2B;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,MAAM,2HA6HlB,CAAC"}
@@ -37,16 +37,20 @@ export var Popper = /*#__PURE__*/forwardRef(function (_ref, ref) {
37
37
  if (popperRef.current) {
38
38
  popperRef.current.destroy();
39
39
  }
40
+ var modifiers = [];
41
+ if (typeof afterWrite === "function") {
42
+ modifiers.push({
43
+ phase: "afterWrite",
44
+ enabled: true,
45
+ name: "popper-after-write",
46
+ fn: afterWrite
47
+ });
48
+ }
40
49
  popperRef.current = createPopper(anchorEl, ownRef.current, {
41
50
  placement: placement,
42
51
  onFirstUpdate: handlePopperUpdate,
43
52
  strategy: strategy,
44
- modifiers: [{
45
- phase: "afterWrite",
46
- enabled: typeof afterWrite === "function",
47
- name: "popper-after-write",
48
- fn: afterWrite
49
- }]
53
+ modifiers: modifiers
50
54
  });
51
55
  }, [afterWrite, anchorEl, open, placement, strategy]);
52
56
  var handleClose = function handleClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.js","names":["React","forwardRef","useCallback","useRef","useEffect","useState","createPopper","useForkRef","Popper","ref","children","anchorEl","open","style","transition","placement","initialPlacement","strategy","afterWrite","rest","exited","setExited","setPlacement","ownRef","popperRef","handleInnerRef","handlePopperUpdate","data","handleOpen","current","destroy","onFirstUpdate","modifiers","phase","enabled","name","fn","handleClose","handleRef","node","handleEnter","handleExited","update","childProps","transitionProps","in","onEnter","onExited","displayName"],"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport {\n createPopper,\n Instance,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\nimport { Placement } from \".\";\nimport useForkRef from \"../../utils/useForkRef\";\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 {\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\nexport const Popper = forwardRef<\n HTMLDivElement,\n PopperProps & HTMLAttributes<HTMLDivElement>\n>(\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 popperRef.current = createPopper(anchorEl, ownRef.current, {\n placement,\n onFirstUpdate: handlePopperUpdate,\n strategy,\n modifiers: [\n {\n phase: \"afterWrite\",\n enabled: typeof afterWrite === \"function\",\n name: \"popper-after-write\",\n fn: afterWrite,\n },\n ],\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 <div\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </div>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popper.js","names":["React","forwardRef","useCallback","useRef","useEffect","useState","createPopper","useForkRef","Popper","ref","children","anchorEl","open","style","transition","placement","initialPlacement","strategy","afterWrite","rest","exited","setExited","setPlacement","ownRef","popperRef","handleInnerRef","handlePopperUpdate","data","handleOpen","current","destroy","modifiers","push","phase","enabled","name","fn","onFirstUpdate","handleClose","handleRef","node","handleEnter","handleExited","update","childProps","transitionProps","in","onEnter","onExited","displayName"],"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport {\n createPopper,\n Instance,\n Modifier,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\nimport { Placement } from \".\";\nimport useForkRef from \"../../utils/useForkRef\";\ntype CustomModifier = Modifier<string, unknown>;\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 {\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\nexport const Popper = forwardRef<\n HTMLDivElement,\n PopperProps & HTMLAttributes<HTMLDivElement>\n>(\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 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 <div\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </div>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -510,16 +510,20 @@
510
510
  if (popperRef.current) {
511
511
  popperRef.current.destroy();
512
512
  }
513
+ var modifiers = [];
514
+ if (typeof afterWrite === "function") {
515
+ modifiers.push({
516
+ phase: "afterWrite",
517
+ enabled: true,
518
+ name: "popper-after-write",
519
+ fn: afterWrite
520
+ });
521
+ }
513
522
  popperRef.current = core.createPopper(anchorEl, ownRef.current, {
514
523
  placement: placement,
515
524
  onFirstUpdate: handlePopperUpdate,
516
525
  strategy: strategy,
517
- modifiers: [{
518
- phase: "afterWrite",
519
- enabled: typeof afterWrite === "function",
520
- name: "popper-after-write",
521
- fn: afterWrite
522
- }]
526
+ modifiers: modifiers
523
527
  });
524
528
  }, [afterWrite, anchorEl, open, placement, strategy]);
525
529
  var handleClose = function handleClose() {