@elliemae/ds-popover 1.61.10 → 1.61.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Arrow.js.map +1 -1
- package/cjs/DSPopover.js.map +1 -1
- package/cjs/Popover.js.map +1 -1
- package/cjs/PopoverTrigger.js.map +1 -1
- package/cjs/usePopover.js.map +1 -1
- package/cjs/usePopoverProviderState.js.map +1 -1
- package/cjs/usePopper.js.map +1 -1
- package/esm/Arrow.js.map +1 -1
- package/esm/DSPopover.js.map +1 -1
- package/esm/Popover.js.map +1 -1
- package/esm/PopoverTrigger.js.map +1 -1
- package/esm/usePopover.js.map +1 -1
- package/esm/usePopoverProviderState.js.map +1 -1
- package/esm/usePopper.js.map +1 -1
- package/package.json +6 -6
package/cjs/Arrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Arrow.js","sources":["../../src/Arrow.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getArrowStylesBySize } from '@elliemae/ds-popper';\n\nconst ArrowWrapper = aggregatedClasses('span')('popover', 'arrow');\nfunction Arrow({ style, className, innerRef, blockName = 'popover', placement, ...otherProps }) {\n return (\n <ArrowWrapper\n className={className}\n data-placement={placement}\n {...otherProps}\n innerRef={innerRef}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\">\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </ArrowWrapper>\n );\n}\n\nexport default forwardRef((props, ref) => <Arrow {...props} innerRef={ref || props.innerRef} />);\n"],"names":["ArrowWrapper","aggregatedClasses","Arrow","style","className","innerRef","blockName","placement","otherProps","React","getArrowStylesBySize","forwardRef","props","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAGC,8BAAiB,CAAC,MAAD,CAAjB,CAA0B,SAA1B,EAAqC,OAArC,CAArB;;AACA,SAASC,KAAT,OAAgG;
|
|
1
|
+
{"version":3,"file":"Arrow.js","sources":["../../src/Arrow.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getArrowStylesBySize } from '@elliemae/ds-popper';\n\nconst ArrowWrapper = aggregatedClasses('span')('popover', 'arrow');\nfunction Arrow({ style, className, innerRef, blockName = 'popover', placement, ...otherProps }) {\n return (\n <ArrowWrapper\n className={className}\n data-placement={placement}\n {...otherProps}\n innerRef={innerRef}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\">\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </ArrowWrapper>\n );\n}\n\nexport default forwardRef((props, ref) => <Arrow {...props} innerRef={ref || props.innerRef} />);\n"],"names":["ArrowWrapper","aggregatedClasses","Arrow","style","className","innerRef","blockName","placement","otherProps","React","getArrowStylesBySize","forwardRef","props","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAGC,8BAAiB,CAAC,MAAD,CAAjB,CAA0B,SAA1B,EAAqC,OAArC,CAArB;;AACA,SAASC,KAAT,OAAgG;MAA/EC,KAA+E,QAA/EA,KAA+E;MAAxEC,SAAwE,QAAxEA,SAAwE;MAA7DC,QAA6D,QAA7DA,QAA6D;WAAnDC,SAAmD;UAA5BC,SAA4B,QAA5BA,SAA4B;MAAdC,UAAc;;EAC9F,oBACEC,wCAAC,YAAD;IACE,SAAS,EAAEL,SADb;IAEE,kBAAgBG;KACZC,UAHN;IAIE,QAAQ,EAAEH,QAJZ;IAKE,KAAK,kCACAF,KADA,GAEAO,6BAAoB,CAACH,SAAD,EAAY,EAAZ,CAFpB;mBAKLE;IAAK,OAAO,EAAC;kBACXA;IACE,SAAS,EAAC,QADZ;IAEE,CAAC,EAAC;IAHN,eAMEA;IACE,SAAS,EAAC,MADZ;IAEE,CAAC,EAAC;IARN,CAVF,CADF;AAwBD;;AAED,2BAAeE,gBAAU,CAAC,UAACC,KAAD,EAAQC,GAAR;EAAA,oBAAgBJ,wCAAC,KAAD,mCAAWG,KAAX;IAAkB,QAAQ,EAAEC,GAAG,IAAID,KAAK,CAACP;KAAzD;AAAA,CAAD,CAAzB;;;;"}
|
package/cjs/DSPopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSPopover.js","sources":["../../src/DSPopover.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { useHoverHandlersDelay } from '@elliemae/ds-utilities';\nimport { useHiddenController } from '@elliemae/ds-hidden';\nimport Popover from './Popover';\nimport usePopper from './usePopper';\nimport Arrow from './Arrow';\nimport usePopoverProviderState from './usePopoverProviderState';\n\nexport * from '@elliemae/ds-popper';\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\n/* Unstable Popover, not yet fully working */\nconst DSPopover = ({\n containerProps,\n content, // react component inside the popover to render its content\n renderer, // function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)\n visible: visibleProp,\n offset,\n showArrow,\n // popper props options\n placement,\n boundaries, // scrollParent | window | viewport\n modifiers,\n referenceEl,\n renderTrigger,\n onClickOutside,\n destroyOnHidden,\n interactionType,\n isOpen,\n style,\n}) => {\n const { visible, onShow, onHide, onToggle } = useHiddenController(visibleProp);\n\n const { reference, popper, arrow, popperData } = usePopper({\n placement,\n showArrow,\n boundaries,\n modifiers,\n offset,\n referenceEl,\n eventsEnabled: visible,\n isOpen,\n });\n\n const hoverHandlers = useHoverHandlersDelay({\n onMouseOver: onShow,\n onMouseLeave: onHide,\n });\n const isPopoverVisible = visible || isOpen;\n return (\n <>\n {renderTrigger({\n ...reference,\n handlers: interactionType === 'click' ? { onClick: onToggle } : hoverHandlers,\n onShow,\n onToggle,\n onHide,\n 'aria-haspopup': true,\n 'aria-expanded': visible,\n })}\n {isPopoverVisible && reference.ref && (\n <Popover\n containerProps={containerProps}\n destroyOnHidden={destroyOnHidden}\n interactionType={interactionType}\n isOpen={isOpen}\n onClickOutside={(...args) => {\n onClickOutside(...args);\n if (interactionType === 'click') onHide();\n }}\n popperProps={popper}\n renderer={\n renderer &&\n ((props) =>\n renderer({\n ...props,\n onShow,\n onToggle,\n onHide,\n }))\n }\n style={style}\n visible={isPopoverVisible}\n >\n {showArrow && <Arrow {...arrow} placement={popperData.placement} />}\n {isPopoverVisible && content}\n </Popover>\n )}\n </>\n );\n};\n\nDSPopover.defaultProps = {\n containerProps: {},\n renderer: undefined,\n visible: undefined,\n offset: undefined,\n showArrow: false,\n placement: 'top',\n modifiers: {},\n renderTrigger: () => null,\n onClickOutside: () => null,\n destroyOnHidden: true,\n isOpen: undefined,\n};\n\nconst popoverProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n destroyOnHidden: PropTypes.bool.description('destroy popover on hidden or not').defaultValue(true),\n renderer: PropTypes.func.description('custom renderer'),\n popperProps: PropTypes.object.description('Popper props attached to container'),\n visible: PropTypes.bool.description('is visible or not').defaultValue(false),\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('popover content'),\n onClickOutside: PropTypes.func.description('function called on click outside'),\n interaction: PropTypes.string.description('interaction type: hover, click'),\n offset: PropTypes.object.description('offset'),\n showArrow: PropTypes.bool.description('show tooltip arrow or not'),\n placement: PropTypes.string.description('popover placement: top, bottom, right, left'),\n boundaries: PropTypes.string.description('popover boundaries'),\n modifiers: PropTypes.object.description('modifiers'),\n style: PropTypes.object.description('css style object'),\n referenceEl: PropTypes.element.description('reference element'),\n renderTrigger: PropTypes.func.description('render trigger element'),\n interactionType: PropTypes.string.description('interaction type'),\n isOpen: PropTypes.bool.description('open or not').defaultValue(false),\n};\n\nDSPopover.propTypes = popoverProps;\n\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n"],"names":["Interaction","CLICK","HOVER","DSPopover","containerProps","content","renderer","visibleProp","visible","offset","showArrow","placement","boundaries","modifiers","referenceEl","renderTrigger","onClickOutside","destroyOnHidden","interactionType","isOpen","style","useHiddenController","onShow","onHide","onToggle","usePopper","eventsEnabled","reference","popper","arrow","popperData","hoverHandlers","useHoverHandlersDelay","onMouseOver","onMouseLeave","isPopoverVisible","React","handlers","onClick","ref","props","defaultProps","undefined","popoverProps","PropTypes","shape","description","bool","defaultValue","func","popperProps","object","oneOfType","element","string","interaction","propTypes","PopoverWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWaA,WAAW,GAAG;
|
|
1
|
+
{"version":3,"file":"DSPopover.js","sources":["../../src/DSPopover.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { useHoverHandlersDelay } from '@elliemae/ds-utilities';\nimport { useHiddenController } from '@elliemae/ds-hidden';\nimport Popover from './Popover';\nimport usePopper from './usePopper';\nimport Arrow from './Arrow';\nimport usePopoverProviderState from './usePopoverProviderState';\n\nexport * from '@elliemae/ds-popper';\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\n/* Unstable Popover, not yet fully working */\nconst DSPopover = ({\n containerProps,\n content, // react component inside the popover to render its content\n renderer, // function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)\n visible: visibleProp,\n offset,\n showArrow,\n // popper props options\n placement,\n boundaries, // scrollParent | window | viewport\n modifiers,\n referenceEl,\n renderTrigger,\n onClickOutside,\n destroyOnHidden,\n interactionType,\n isOpen,\n style,\n}) => {\n const { visible, onShow, onHide, onToggle } = useHiddenController(visibleProp);\n\n const { reference, popper, arrow, popperData } = usePopper({\n placement,\n showArrow,\n boundaries,\n modifiers,\n offset,\n referenceEl,\n eventsEnabled: visible,\n isOpen,\n });\n\n const hoverHandlers = useHoverHandlersDelay({\n onMouseOver: onShow,\n onMouseLeave: onHide,\n });\n const isPopoverVisible = visible || isOpen;\n return (\n <>\n {renderTrigger({\n ...reference,\n handlers: interactionType === 'click' ? { onClick: onToggle } : hoverHandlers,\n onShow,\n onToggle,\n onHide,\n 'aria-haspopup': true,\n 'aria-expanded': visible,\n })}\n {isPopoverVisible && reference.ref && (\n <Popover\n containerProps={containerProps}\n destroyOnHidden={destroyOnHidden}\n interactionType={interactionType}\n isOpen={isOpen}\n onClickOutside={(...args) => {\n onClickOutside(...args);\n if (interactionType === 'click') onHide();\n }}\n popperProps={popper}\n renderer={\n renderer &&\n ((props) =>\n renderer({\n ...props,\n onShow,\n onToggle,\n onHide,\n }))\n }\n style={style}\n visible={isPopoverVisible}\n >\n {showArrow && <Arrow {...arrow} placement={popperData.placement} />}\n {isPopoverVisible && content}\n </Popover>\n )}\n </>\n );\n};\n\nDSPopover.defaultProps = {\n containerProps: {},\n renderer: undefined,\n visible: undefined,\n offset: undefined,\n showArrow: false,\n placement: 'top',\n modifiers: {},\n renderTrigger: () => null,\n onClickOutside: () => null,\n destroyOnHidden: true,\n isOpen: undefined,\n};\n\nconst popoverProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n destroyOnHidden: PropTypes.bool.description('destroy popover on hidden or not').defaultValue(true),\n renderer: PropTypes.func.description('custom renderer'),\n popperProps: PropTypes.object.description('Popper props attached to container'),\n visible: PropTypes.bool.description('is visible or not').defaultValue(false),\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('popover content'),\n onClickOutside: PropTypes.func.description('function called on click outside'),\n interaction: PropTypes.string.description('interaction type: hover, click'),\n offset: PropTypes.object.description('offset'),\n showArrow: PropTypes.bool.description('show tooltip arrow or not'),\n placement: PropTypes.string.description('popover placement: top, bottom, right, left'),\n boundaries: PropTypes.string.description('popover boundaries'),\n modifiers: PropTypes.object.description('modifiers'),\n style: PropTypes.object.description('css style object'),\n referenceEl: PropTypes.element.description('reference element'),\n renderTrigger: PropTypes.func.description('render trigger element'),\n interactionType: PropTypes.string.description('interaction type'),\n isOpen: PropTypes.bool.description('open or not').defaultValue(false),\n};\n\nDSPopover.propTypes = popoverProps;\n\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n"],"names":["Interaction","CLICK","HOVER","DSPopover","containerProps","content","renderer","visibleProp","visible","offset","showArrow","placement","boundaries","modifiers","referenceEl","renderTrigger","onClickOutside","destroyOnHidden","interactionType","isOpen","style","useHiddenController","onShow","onHide","onToggle","usePopper","eventsEnabled","reference","popper","arrow","popperData","hoverHandlers","useHoverHandlersDelay","onMouseOver","onMouseLeave","isPopoverVisible","React","handlers","onClick","ref","props","defaultProps","undefined","popoverProps","PropTypes","shape","description","bool","defaultValue","func","popperProps","object","oneOfType","element","string","interaction","propTypes","PopoverWithSchema","describe"],"mappings":"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"}
|
package/cjs/Popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../src/Popover.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { omit } from 'lodash';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { isFunction, removeUndefinedProperties, useOnClickOutside } from '@elliemae/ds-utilities';\nimport { useHiddenTransition } from '@elliemae/ds-hidden';\nimport DSPortal from '@elliemae/ds-portal';\n\nconst blockName = 'popover';\nconst PopoverComponent = aggregatedClasses('div')(blockName);\n\nfunction Popover({\n containerProps,\n destroyOnHidden = true,\n renderer = undefined,\n popperProps = {},\n visible = false,\n content = undefined,\n onClickOutside = () => null,\n style,\n ...otherProps\n}) {\n const popoverRef = useRef();\n const hiddenTransitionProps = useHiddenTransition({ visible });\n const popoverProps = removeUndefinedProperties({\n containerprops: containerProps,\n content,\n ref: popoverRef,\n ...otherProps,\n ...hiddenTransitionProps,\n });\n\n useOnClickOutside(popoverRef, onClickOutside);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n"],"names":["blockName","PopoverComponent","aggregatedClasses","Popover","containerProps","destroyOnHidden","renderer","undefined","popperProps","visible","content","onClickOutside","style","otherProps","popoverRef","useRef","hiddenTransitionProps","useHiddenTransition","popoverProps","removeUndefinedProperties","containerprops","ref","useOnClickOutside","wrapStyle","omit","destroyed","React","DSPortal","isFunction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,SAAS,GAAG,SAAlB;AACA,IAAMC,gBAAgB,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,CAAzB;;AAEA,SAASG,OAAT,OAUG;
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../src/Popover.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { omit } from 'lodash';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { isFunction, removeUndefinedProperties, useOnClickOutside } from '@elliemae/ds-utilities';\nimport { useHiddenTransition } from '@elliemae/ds-hidden';\nimport DSPortal from '@elliemae/ds-portal';\n\nconst blockName = 'popover';\nconst PopoverComponent = aggregatedClasses('div')(blockName);\n\nfunction Popover({\n containerProps,\n destroyOnHidden = true,\n renderer = undefined,\n popperProps = {},\n visible = false,\n content = undefined,\n onClickOutside = () => null,\n style,\n ...otherProps\n}) {\n const popoverRef = useRef();\n const hiddenTransitionProps = useHiddenTransition({ visible });\n const popoverProps = removeUndefinedProperties({\n containerprops: containerProps,\n content,\n ref: popoverRef,\n ...otherProps,\n ...hiddenTransitionProps,\n });\n\n useOnClickOutside(popoverRef, onClickOutside);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n"],"names":["blockName","PopoverComponent","aggregatedClasses","Popover","containerProps","destroyOnHidden","renderer","undefined","popperProps","visible","content","onClickOutside","style","otherProps","popoverRef","useRef","hiddenTransitionProps","useHiddenTransition","popoverProps","removeUndefinedProperties","containerprops","ref","useOnClickOutside","wrapStyle","omit","destroyed","React","DSPortal","isFunction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,SAAS,GAAG,SAAlB;AACA,IAAMC,gBAAgB,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,CAAzB;;AAEA,SAASG,OAAT,OAUG;EAAA,IATDC,cASC,QATDA,cASC;kCARDC,eAQC;MARDA,eAQC,qCARiB,IAQjB;2BAPDC,QAOC;MAPDA,QAOC,8BAPUC,SAOV;8BANDC,WAMC;MANDA,WAMC,iCANa,EAMb;0BALDC,OAKC;MALDA,OAKC,6BALS,KAKT;0BAJDC,OAIC;MAJDA,OAIC,6BAJSH,SAIT;iCAHDI,cAGC;MAHDA,cAGC,oCAHgB;IAAA,OAAM,IAAN;GAGhB;MAFDC,KAEC,QAFDA,KAEC;MADEC,UACF;;EACD,IAAMC,UAAU,GAAGC,YAAM,EAAzB;EACA,IAAMC,qBAAqB,GAAGC,4BAAmB,CAAC;IAAER,OAAO,EAAPA;GAAH,CAAjD;EACA,IAAMS,YAAY,GAAGC,qCAAyB;IAC5CC,cAAc,EAAEhB,cAD4B;IAE5CM,OAAO,EAAPA,OAF4C;IAG5CW,GAAG,EAAEP;KACFD,UAJyC,GAKzCG,qBALyC,EAA9C;EAQAM,6BAAiB,CAACR,UAAD,EAAaH,cAAb,CAAjB;EAEA,IAAMY,SAAS,GAAGC,WAAI,CAACZ,KAAD,EAAQ,QAAR,CAAJ,IAAyB,EAA3C;EACA,OACEP,eAAe,IACf,CAACW,qBAAqB,CAACS,SADvB,iBAEEC,wCAACC,4BAAD,qBACED,gFAASlB,WAAT;IAAsB,KAAK,kCAAOI,KAAP,GAAiBJ,WAAW,CAACI,KAA7B;MACxBgB,sBAAU,CAACtB,QAAD,CAAV,GAAuBA,QAAQ,CAACY,YAAD,CAA/B,gBAAgDQ,wCAAC,gBAAD,mCAAsBR,YAAtB;IAAoC,KAAK,EAAEK;KAD9F,CADF,CAHJ;AAUD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverTrigger.js","sources":["../../src/PopoverTrigger.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nconst noop = () => {};\n\nfunction useHiddenTrigger({\n hiddenId,\n visible = false,\n interaction = 'click',\n onToggle = noop,\n onShow = noop,\n onHide = noop,\n}) {\n const handlers = {\n [Interaction.CLICK]: {\n onClick: onToggle,\n },\n [Interaction.HOVER]: {\n onMouseEnter: onShow,\n onMouseLeave: onHide,\n },\n };\n return {\n 'aria-expanded': visible,\n ...handlers[interaction],\n 'aria-controls': hiddenId,\n };\n}\n\nfunction PopoverTrigger({ as: Component, ...props }) {\n const hiddenTriggerProps = useHiddenTrigger(props);\n\n return <Component {...hiddenTriggerProps} />;\n}\n\nexport default PopoverTrigger;\n"],"names":["Interaction","CLICK","HOVER","noop","useHiddenTrigger","hiddenId","visible","interaction","onToggle","onShow","onHide","handlers","onClick","onMouseEnter","onMouseLeave","PopoverTrigger","Component","as","props","hiddenTriggerProps","React"],"mappings":";;;;;;;;;;;;;;;;;;;IAEaA,WAAW,GAAG;
|
|
1
|
+
{"version":3,"file":"PopoverTrigger.js","sources":["../../src/PopoverTrigger.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nconst noop = () => {};\n\nfunction useHiddenTrigger({\n hiddenId,\n visible = false,\n interaction = 'click',\n onToggle = noop,\n onShow = noop,\n onHide = noop,\n}) {\n const handlers = {\n [Interaction.CLICK]: {\n onClick: onToggle,\n },\n [Interaction.HOVER]: {\n onMouseEnter: onShow,\n onMouseLeave: onHide,\n },\n };\n return {\n 'aria-expanded': visible,\n ...handlers[interaction],\n 'aria-controls': hiddenId,\n };\n}\n\nfunction PopoverTrigger({ as: Component, ...props }) {\n const hiddenTriggerProps = useHiddenTrigger(props);\n\n return <Component {...hiddenTriggerProps} />;\n}\n\nexport default PopoverTrigger;\n"],"names":["Interaction","CLICK","HOVER","noop","useHiddenTrigger","hiddenId","visible","interaction","onToggle","onShow","onHide","handlers","onClick","onMouseEnter","onMouseLeave","PopoverTrigger","Component","as","props","hiddenTriggerProps","React"],"mappings":";;;;;;;;;;;;;;;;;;;IAEaA,WAAW,GAAG;EACzBC,KAAK,EAAE,OADkB;EAEzBC,KAAK,EAAE;AAFkB;;AAK3B,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEA,SAASC,gBAAT,OAOG;EAAA;;EAAA,IANDC,QAMC,QANDA,QAMC;0BALDC,OAKC;MALDA,OAKC,6BALS,KAKT;8BAJDC,WAIC;MAJDA,WAIC,iCAJa,OAIb;2BAHDC,QAGC;MAHDA,QAGC,8BAHUL,IAGV;yBAFDM,MAEC;MAFDA,MAEC,4BAFQN,IAER;yBADDO,MACC;MADDA,MACC,4BADQP,IACR;EACD,IAAMQ,QAAQ,mEACXX,WAAW,CAACC,KADD,EACS;IACnBW,OAAO,EAAEJ;GAFC,kDAIXR,WAAW,CAACE,KAJD,EAIS;IACnBW,YAAY,EAAEJ,MADK;IAEnBK,YAAY,EAAEJ;GANJ,aAAd;EASA;IACE,iBAAiBJ;KACdK,QAAQ,CAACJ,WAAD,CAFb;IAGE,iBAAiBF;;AAEpB;;AAED,SAASU,cAAT,QAAqD;EAAA,IAAvBC,SAAuB,SAA3BC,EAA2B;MAATC,KAAS;;EACnD,IAAMC,kBAAkB,GAAGf,gBAAgB,CAACc,KAAD,CAA3C;EAEA,oBAAOE,wCAAC,SAAD,EAAeD,kBAAf,CAAP;AACD;;;;;"}
|
package/cjs/usePopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopover.js","sources":["../../src/usePopover.tsx"],"sourcesContent":["import usePopper from './usePopper';\n\nfunction usePopover({ ...otherProps }) {\n const { reference, popper, arrow, ...popperProps } = usePopper(otherProps);\n\n return {\n triggerProps: { ...reference },\n popoverProps: { ...popper },\n arrowProps: { ...arrow },\n ...popperProps,\n };\n}\n\nexport default usePopover;\n"],"names":["usePopover","otherProps","usePopper","reference","popper","arrow","popperProps","triggerProps","popoverProps","arrowProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,UAAT,OAAuC;
|
|
1
|
+
{"version":3,"file":"usePopover.js","sources":["../../src/usePopover.tsx"],"sourcesContent":["import usePopper from './usePopper';\n\nfunction usePopover({ ...otherProps }) {\n const { reference, popper, arrow, ...popperProps } = usePopper(otherProps);\n\n return {\n triggerProps: { ...reference },\n popoverProps: { ...popper },\n arrowProps: { ...arrow },\n ...popperProps,\n };\n}\n\nexport default usePopover;\n"],"names":["usePopover","otherProps","usePopper","reference","popper","arrow","popperProps","triggerProps","popoverProps","arrowProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,UAAT,OAAuC;EAAA,IAAdC,UAAc;;EACrC,iBAAqDC,SAAS,CAACD,UAAD,CAA9D;MAAQE,SAAR,cAAQA,SAAR;MAAmBC,MAAnB,cAAmBA,MAAnB;MAA2BC,KAA3B,cAA2BA,KAA3B;MAAqCC,WAArC;;EAEA;IACEC,YAAY,oBAAOJ,SAAP,CADd;IAEEK,YAAY,oBAAOJ,MAAP,CAFd;IAGEK,UAAU,oBAAOJ,KAAP;KACPC,WAJL;AAMD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopoverProviderState.js","sources":["../../src/usePopoverProviderState.tsx"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { throttle } from 'lodash';\nimport { useExecutionTimer } from '@elliemae/ds-utilities';\n\nfunction usePopoverProviderState({\n initialState = {\n reference: null,\n visible: false,\n value: '',\n options: {},\n },\n delay,\n}) {\n const triggerRef = useRef();\n const [tooltipState, setTooltipState] = useState(initialState);\n\n const show = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: true,\n }));\n };\n const hide = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: false,\n }));\n };\n\n const [showTooltip, hideTooltip] = useExecutionTimer(show, hide, delay);\n\n const handleShowTooltip = (state, e) => {\n triggerRef.current = e.target;\n showTooltip({ ...state, reference: e.target });\n };\n\n const handleHideTooltip = (state) => {\n hideTooltip(state);\n };\n\n useEffect(() => {\n window.addEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n return () => {\n window.removeEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n };\n }, [tooltipState.reference]);\n\n return {\n show: handleShowTooltip,\n hide: handleHideTooltip,\n state: tooltipState,\n };\n}\n\nexport default usePopoverProviderState;\n"],"names":["usePopoverProviderState","initialState","reference","visible","value","options","delay","triggerRef","useRef","useState","tooltipState","setTooltipState","show","state","prevState","hide","useExecutionTimer","showTooltip","hideTooltip","handleShowTooltip","e","current","target","handleHideTooltip","useEffect","window","addEventListener","throttle","removeEventListener"],"mappings":";;;;;;;;;;;;;;;;;AAIA,SAASA,uBAAT,OAQG;
|
|
1
|
+
{"version":3,"file":"usePopoverProviderState.js","sources":["../../src/usePopoverProviderState.tsx"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { throttle } from 'lodash';\nimport { useExecutionTimer } from '@elliemae/ds-utilities';\n\nfunction usePopoverProviderState({\n initialState = {\n reference: null,\n visible: false,\n value: '',\n options: {},\n },\n delay,\n}) {\n const triggerRef = useRef();\n const [tooltipState, setTooltipState] = useState(initialState);\n\n const show = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: true,\n }));\n };\n const hide = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: false,\n }));\n };\n\n const [showTooltip, hideTooltip] = useExecutionTimer(show, hide, delay);\n\n const handleShowTooltip = (state, e) => {\n triggerRef.current = e.target;\n showTooltip({ ...state, reference: e.target });\n };\n\n const handleHideTooltip = (state) => {\n hideTooltip(state);\n };\n\n useEffect(() => {\n window.addEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n return () => {\n window.removeEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n };\n }, [tooltipState.reference]);\n\n return {\n show: handleShowTooltip,\n hide: handleHideTooltip,\n state: tooltipState,\n };\n}\n\nexport default usePopoverProviderState;\n"],"names":["usePopoverProviderState","initialState","reference","visible","value","options","delay","triggerRef","useRef","useState","tooltipState","setTooltipState","show","state","prevState","hide","useExecutionTimer","showTooltip","hideTooltip","handleShowTooltip","e","current","target","handleHideTooltip","useEffect","window","addEventListener","throttle","removeEventListener"],"mappings":";;;;;;;;;;;;;;;;;AAIA,SAASA,uBAAT,OAQG;EAAA,6BAPDC,YAOC;MAPDA,YAOC,kCAPc;IACbC,SAAS,EAAE,IADE;IAEbC,OAAO,EAAE,KAFI;IAGbC,KAAK,EAAE,EAHM;IAIbC,OAAO,EAAE;GAGV;MADDC,KACC,QADDA,KACC;EACD,IAAMC,UAAU,GAAGC,YAAM,EAAzB;;EACA,gBAAwCC,cAAQ,CAACR,YAAD,CAAhD;;MAAOS,YAAP;MAAqBC,eAArB;;EAEA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;IACtBF,eAAe,CAAC,UAACG,SAAD;MAAA,qDACXA,SADW,GAEXD,KAFW;QAGdV,OAAO,EAAE;;KAHI,CAAf;GADF;;EAOA,IAAMY,IAAI,GAAG,SAAPA,IAAO,CAACF,KAAD,EAAW;IACtBF,eAAe,CAAC,UAACG,SAAD;MAAA,qDACXA,SADW,GAEXD,KAFW;QAGdV,OAAO,EAAE;;KAHI,CAAf;GADF;;EAQA,yBAAmCa,6BAAiB,CAACJ,IAAD,EAAOG,IAAP,EAAaT,KAAb,CAApD;;MAAOW,WAAP;MAAoBC,WAApB;;EAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACN,KAAD,EAAQO,CAAR,EAAc;IACtCb,UAAU,CAACc,OAAX,GAAqBD,CAAC,CAACE,MAAvB;IACAL,WAAW,iCAAMJ,KAAN;MAAaX,SAAS,EAAEkB,CAAC,CAACE;OAArC;GAFF;;EAKA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACV,KAAD,EAAW;IACnCK,WAAW,CAACL,KAAD,CAAX;GADF;;EAIAW,eAAS,CAAC,YAAM;IACdC,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCC,eAAQ,CAACJ,iBAAD,EAAoB,GAApB,CAA1C,EAAoE,IAApE;IACAE,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCH,iBAAjC,EAAoD,IAApD;IACA,OAAO,YAAM;MACXE,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqCD,eAAQ,CAACJ,iBAAD,EAAoB,GAApB,CAA7C,EAAuE,IAAvE;MACAE,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCH,iBAAjC,EAAoD,IAApD;KAFF;GAHO,EAON,CAACb,YAAY,CAACR,SAAd,CAPM,CAAT;EASA,OAAO;IACLU,IAAI,EAAEO,iBADD;IAELJ,IAAI,EAAEQ,iBAFD;IAGLV,KAAK,EAAEH;GAHT;AAKD;;;;"}
|
package/cjs/usePopper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopper.js","sources":["../../src/usePopper.tsx"],"sourcesContent":["import Popper from 'popper.js';\nimport { useEffect, useRef, useState } from 'react';\n\nfunction calculateOffset({ offset, showArrow }) {\n const arrowSize = 10;\n const defaultPadding = 3;\n return {\n enabled: showArrow || offset,\n offset: Array.isArray(offset)\n ? `${offset[0]}, ${(offset[1] || offset[0]) + arrowSize + defaultPadding}`\n : `0, ${arrowSize + defaultPadding}`,\n };\n}\n\nexport default function usePopper({\n offset,\n showArrow,\n placement,\n isOpen,\n modifiers,\n eventsEnabled = true,\n positionFixed,\n boundaries = 'scrollParent',\n referenceEl: refEl,\n}) {\n const [popperData, setPopperData] = useState({});\n // this is util for deferred rendering like with portals\n const [dynamicPopperNode, setPopperNode] = useState(null);\n const referenceRef = useRef();\n const popperRef = useRef();\n const arrowRef = useRef();\n const popper = useRef();\n\n // initialize popper with refs and options\n useEffect(() => {\n const referenceEl = refEl || referenceRef.current;\n const popperEl = dynamicPopperNode || popperRef.current;\n const arrowEl = arrowRef.current;\n\n popper.current =\n referenceEl &&\n popperEl &&\n new Popper(referenceEl, popperEl, {\n placement,\n isOpen,\n eventsEnabled,\n positionFixed,\n modifiers: {\n preventOverflow: {\n padding: 0,\n boundariesElement: boundaries,\n ...modifiers.preventOverflow,\n },\n offset: calculateOffset({\n offset,\n showArrow,\n }),\n ...modifiers,\n arrow: {\n enabled: !!arrowEl,\n element: arrowEl,\n },\n applyStyle: { enabled: false },\n updateStateModifier: {\n order: 900,\n enabled: true,\n fn: (data) => {\n setPopperData(data);\n return data;\n },\n },\n },\n });\n\n return () => {\n if (popper.current) popper.current.destroy();\n };\n }, [\n refEl,\n dynamicPopperNode,\n placement,\n showArrow,\n offset,\n popperRef,\n eventsEnabled,\n ]);\n\n // update popper instance after initialization\n useEffect(() => {\n if (!popper.current) return;\n popper.current.update();\n }, [popper.current]);\n\n const arrow = {\n ref: arrowRef,\n style: popperData.arrowStyles,\n };\n const popperProps = {\n style: popperData.styles,\n ref: setPopperNode,\n placement: popperData.placement,\n 'data-testid': 'popover-container',\n };\n const reference = {\n ref: referenceRef,\n };\n return {\n popperInstance: popper.current,\n popper: popperProps,\n arrow,\n reference,\n // setPopperNode,\n popperData,\n };\n}\n"],"names":["calculateOffset","offset","showArrow","arrowSize","defaultPadding","enabled","Array","isArray","usePopper","placement","isOpen","modifiers","eventsEnabled","positionFixed","boundaries","refEl","referenceEl","useState","popperData","setPopperData","dynamicPopperNode","setPopperNode","referenceRef","useRef","popperRef","arrowRef","popper","useEffect","current","popperEl","arrowEl","Popper","preventOverflow","padding","boundariesElement","arrow","element","applyStyle","updateStateModifier","order","fn","data","destroy","update","ref","style","arrowStyles","popperProps","styles","reference","popperInstance"],"mappings":";;;;;;;;;;;;;;;;;AAGA,SAASA,eAAT,OAAgD;
|
|
1
|
+
{"version":3,"file":"usePopper.js","sources":["../../src/usePopper.tsx"],"sourcesContent":["import Popper from 'popper.js';\nimport { useEffect, useRef, useState } from 'react';\n\nfunction calculateOffset({ offset, showArrow }) {\n const arrowSize = 10;\n const defaultPadding = 3;\n return {\n enabled: showArrow || offset,\n offset: Array.isArray(offset)\n ? `${offset[0]}, ${(offset[1] || offset[0]) + arrowSize + defaultPadding}`\n : `0, ${arrowSize + defaultPadding}`,\n };\n}\n\nexport default function usePopper({\n offset,\n showArrow,\n placement,\n isOpen,\n modifiers,\n eventsEnabled = true,\n positionFixed,\n boundaries = 'scrollParent',\n referenceEl: refEl,\n}) {\n const [popperData, setPopperData] = useState({});\n // this is util for deferred rendering like with portals\n const [dynamicPopperNode, setPopperNode] = useState(null);\n const referenceRef = useRef();\n const popperRef = useRef();\n const arrowRef = useRef();\n const popper = useRef();\n\n // initialize popper with refs and options\n useEffect(() => {\n const referenceEl = refEl || referenceRef.current;\n const popperEl = dynamicPopperNode || popperRef.current;\n const arrowEl = arrowRef.current;\n\n popper.current =\n referenceEl &&\n popperEl &&\n new Popper(referenceEl, popperEl, {\n placement,\n isOpen,\n eventsEnabled,\n positionFixed,\n modifiers: {\n preventOverflow: {\n padding: 0,\n boundariesElement: boundaries,\n ...modifiers.preventOverflow,\n },\n offset: calculateOffset({\n offset,\n showArrow,\n }),\n ...modifiers,\n arrow: {\n enabled: !!arrowEl,\n element: arrowEl,\n },\n applyStyle: { enabled: false },\n updateStateModifier: {\n order: 900,\n enabled: true,\n fn: (data) => {\n setPopperData(data);\n return data;\n },\n },\n },\n });\n\n return () => {\n if (popper.current) popper.current.destroy();\n };\n }, [\n refEl,\n dynamicPopperNode,\n placement,\n showArrow,\n offset,\n popperRef,\n eventsEnabled,\n ]);\n\n // update popper instance after initialization\n useEffect(() => {\n if (!popper.current) return;\n popper.current.update();\n }, [popper.current]);\n\n const arrow = {\n ref: arrowRef,\n style: popperData.arrowStyles,\n };\n const popperProps = {\n style: popperData.styles,\n ref: setPopperNode,\n placement: popperData.placement,\n 'data-testid': 'popover-container',\n };\n const reference = {\n ref: referenceRef,\n };\n return {\n popperInstance: popper.current,\n popper: popperProps,\n arrow,\n reference,\n // setPopperNode,\n popperData,\n };\n}\n"],"names":["calculateOffset","offset","showArrow","arrowSize","defaultPadding","enabled","Array","isArray","usePopper","placement","isOpen","modifiers","eventsEnabled","positionFixed","boundaries","refEl","referenceEl","useState","popperData","setPopperData","dynamicPopperNode","setPopperNode","referenceRef","useRef","popperRef","arrowRef","popper","useEffect","current","popperEl","arrowEl","Popper","preventOverflow","padding","boundariesElement","arrow","element","applyStyle","updateStateModifier","order","fn","data","destroy","update","ref","style","arrowStyles","popperProps","styles","reference","popperInstance"],"mappings":"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"}
|
package/esm/Arrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Arrow.js","sources":["../../src/Arrow.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getArrowStylesBySize } from '@elliemae/ds-popper';\n\nconst ArrowWrapper = aggregatedClasses('span')('popover', 'arrow');\nfunction Arrow({ style, className, innerRef, blockName = 'popover', placement, ...otherProps }) {\n return (\n <ArrowWrapper\n className={className}\n data-placement={placement}\n {...otherProps}\n innerRef={innerRef}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\">\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </ArrowWrapper>\n );\n}\n\nexport default forwardRef((props, ref) => <Arrow {...props} innerRef={ref || props.innerRef} />);\n"],"names":["ArrowWrapper","aggregatedClasses","Arrow","style","className","innerRef","blockName","placement","otherProps","getArrowStylesBySize","forwardRef","props","ref"],"mappings":";;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAGC,iBAAiB,CAAC,MAAD,CAAjB,CAA0B,SAA1B,EAAqC,OAArC,CAArB;;AACA,SAASC,KAAT,OAAgG;
|
|
1
|
+
{"version":3,"file":"Arrow.js","sources":["../../src/Arrow.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { getArrowStylesBySize } from '@elliemae/ds-popper';\n\nconst ArrowWrapper = aggregatedClasses('span')('popover', 'arrow');\nfunction Arrow({ style, className, innerRef, blockName = 'popover', placement, ...otherProps }) {\n return (\n <ArrowWrapper\n className={className}\n data-placement={placement}\n {...otherProps}\n innerRef={innerRef}\n style={{\n ...style,\n ...getArrowStylesBySize(placement, 25),\n }}\n >\n <svg viewBox=\"0 0 30 30\">\n <path\n className=\"stroke\"\n d=\"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26\n C26.7,29,24.6,28.1,23.7,27.1z\"\n />\n <path\n className=\"fill\"\n d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n />\n </svg>\n </ArrowWrapper>\n );\n}\n\nexport default forwardRef((props, ref) => <Arrow {...props} innerRef={ref || props.innerRef} />);\n"],"names":["ArrowWrapper","aggregatedClasses","Arrow","style","className","innerRef","blockName","placement","otherProps","getArrowStylesBySize","forwardRef","props","ref"],"mappings":";;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAGC,iBAAiB,CAAC,MAAD,CAAjB,CAA0B,SAA1B,EAAqC,OAArC,CAArB;;AACA,SAASC,KAAT,OAAgG;MAA/EC,KAA+E,QAA/EA,KAA+E;MAAxEC,SAAwE,QAAxEA,SAAwE;MAA7DC,QAA6D,QAA7DA,QAA6D;WAAnDC,SAAmD;UAA5BC,SAA4B,QAA5BA,SAA4B;MAAdC,UAAc;;EAC9F,oBACE,oBAAC,YAAD;IACE,SAAS,EAAEJ,SADb;IAEE,kBAAgBG;KACZC,UAHN;IAIE,QAAQ,EAAEH,QAJZ;IAKE,KAAK,kCACAF,KADA,GAEAM,oBAAoB,CAACF,SAAD,EAAY,EAAZ,CAFpB;mBAKL;IAAK,OAAO,EAAC;kBACX;IACE,SAAS,EAAC,QADZ;IAEE,CAAC,EAAC;IAHN,eAME;IACE,SAAS,EAAC,MADZ;IAEE,CAAC,EAAC;IARN,CAVF,CADF;AAwBD;;AAED,2BAAeG,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR;EAAA,oBAAgB,oBAAC,KAAD,eAAWD,KAAX;IAAkB,QAAQ,EAAEC,GAAG,IAAID,KAAK,CAACN;KAAzD;AAAA,CAAD,CAAzB;;;;"}
|
package/esm/DSPopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSPopover.js","sources":["../../src/DSPopover.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { useHoverHandlersDelay } from '@elliemae/ds-utilities';\nimport { useHiddenController } from '@elliemae/ds-hidden';\nimport Popover from './Popover';\nimport usePopper from './usePopper';\nimport Arrow from './Arrow';\nimport usePopoverProviderState from './usePopoverProviderState';\n\nexport * from '@elliemae/ds-popper';\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\n/* Unstable Popover, not yet fully working */\nconst DSPopover = ({\n containerProps,\n content, // react component inside the popover to render its content\n renderer, // function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)\n visible: visibleProp,\n offset,\n showArrow,\n // popper props options\n placement,\n boundaries, // scrollParent | window | viewport\n modifiers,\n referenceEl,\n renderTrigger,\n onClickOutside,\n destroyOnHidden,\n interactionType,\n isOpen,\n style,\n}) => {\n const { visible, onShow, onHide, onToggle } = useHiddenController(visibleProp);\n\n const { reference, popper, arrow, popperData } = usePopper({\n placement,\n showArrow,\n boundaries,\n modifiers,\n offset,\n referenceEl,\n eventsEnabled: visible,\n isOpen,\n });\n\n const hoverHandlers = useHoverHandlersDelay({\n onMouseOver: onShow,\n onMouseLeave: onHide,\n });\n const isPopoverVisible = visible || isOpen;\n return (\n <>\n {renderTrigger({\n ...reference,\n handlers: interactionType === 'click' ? { onClick: onToggle } : hoverHandlers,\n onShow,\n onToggle,\n onHide,\n 'aria-haspopup': true,\n 'aria-expanded': visible,\n })}\n {isPopoverVisible && reference.ref && (\n <Popover\n containerProps={containerProps}\n destroyOnHidden={destroyOnHidden}\n interactionType={interactionType}\n isOpen={isOpen}\n onClickOutside={(...args) => {\n onClickOutside(...args);\n if (interactionType === 'click') onHide();\n }}\n popperProps={popper}\n renderer={\n renderer &&\n ((props) =>\n renderer({\n ...props,\n onShow,\n onToggle,\n onHide,\n }))\n }\n style={style}\n visible={isPopoverVisible}\n >\n {showArrow && <Arrow {...arrow} placement={popperData.placement} />}\n {isPopoverVisible && content}\n </Popover>\n )}\n </>\n );\n};\n\nDSPopover.defaultProps = {\n containerProps: {},\n renderer: undefined,\n visible: undefined,\n offset: undefined,\n showArrow: false,\n placement: 'top',\n modifiers: {},\n renderTrigger: () => null,\n onClickOutside: () => null,\n destroyOnHidden: true,\n isOpen: undefined,\n};\n\nconst popoverProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n destroyOnHidden: PropTypes.bool.description('destroy popover on hidden or not').defaultValue(true),\n renderer: PropTypes.func.description('custom renderer'),\n popperProps: PropTypes.object.description('Popper props attached to container'),\n visible: PropTypes.bool.description('is visible or not').defaultValue(false),\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('popover content'),\n onClickOutside: PropTypes.func.description('function called on click outside'),\n interaction: PropTypes.string.description('interaction type: hover, click'),\n offset: PropTypes.object.description('offset'),\n showArrow: PropTypes.bool.description('show tooltip arrow or not'),\n placement: PropTypes.string.description('popover placement: top, bottom, right, left'),\n boundaries: PropTypes.string.description('popover boundaries'),\n modifiers: PropTypes.object.description('modifiers'),\n style: PropTypes.object.description('css style object'),\n referenceEl: PropTypes.element.description('reference element'),\n renderTrigger: PropTypes.func.description('render trigger element'),\n interactionType: PropTypes.string.description('interaction type'),\n isOpen: PropTypes.bool.description('open or not').defaultValue(false),\n};\n\nDSPopover.propTypes = popoverProps;\n\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n"],"names":["Interaction","CLICK","HOVER","DSPopover","containerProps","content","renderer","visibleProp","visible","offset","showArrow","placement","boundaries","modifiers","referenceEl","renderTrigger","onClickOutside","destroyOnHidden","interactionType","isOpen","style","useHiddenController","onShow","onHide","onToggle","usePopper","eventsEnabled","reference","popper","arrow","popperData","hoverHandlers","useHoverHandlersDelay","onMouseOver","onMouseLeave","isPopoverVisible","handlers","onClick","ref","props","defaultProps","undefined","popoverProps","PropTypes","shape","description","bool","defaultValue","func","popperProps","object","oneOfType","element","string","interaction","propTypes","PopoverWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IAWaA,WAAW,GAAG;
|
|
1
|
+
{"version":3,"file":"DSPopover.js","sources":["../../src/DSPopover.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { useHoverHandlersDelay } from '@elliemae/ds-utilities';\nimport { useHiddenController } from '@elliemae/ds-hidden';\nimport Popover from './Popover';\nimport usePopper from './usePopper';\nimport Arrow from './Arrow';\nimport usePopoverProviderState from './usePopoverProviderState';\n\nexport * from '@elliemae/ds-popper';\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\n/* Unstable Popover, not yet fully working */\nconst DSPopover = ({\n containerProps,\n content, // react component inside the popover to render its content\n renderer, // function to render the popover component, ex: (popoverProps) => (<div {...popoverProps}></div>)\n visible: visibleProp,\n offset,\n showArrow,\n // popper props options\n placement,\n boundaries, // scrollParent | window | viewport\n modifiers,\n referenceEl,\n renderTrigger,\n onClickOutside,\n destroyOnHidden,\n interactionType,\n isOpen,\n style,\n}) => {\n const { visible, onShow, onHide, onToggle } = useHiddenController(visibleProp);\n\n const { reference, popper, arrow, popperData } = usePopper({\n placement,\n showArrow,\n boundaries,\n modifiers,\n offset,\n referenceEl,\n eventsEnabled: visible,\n isOpen,\n });\n\n const hoverHandlers = useHoverHandlersDelay({\n onMouseOver: onShow,\n onMouseLeave: onHide,\n });\n const isPopoverVisible = visible || isOpen;\n return (\n <>\n {renderTrigger({\n ...reference,\n handlers: interactionType === 'click' ? { onClick: onToggle } : hoverHandlers,\n onShow,\n onToggle,\n onHide,\n 'aria-haspopup': true,\n 'aria-expanded': visible,\n })}\n {isPopoverVisible && reference.ref && (\n <Popover\n containerProps={containerProps}\n destroyOnHidden={destroyOnHidden}\n interactionType={interactionType}\n isOpen={isOpen}\n onClickOutside={(...args) => {\n onClickOutside(...args);\n if (interactionType === 'click') onHide();\n }}\n popperProps={popper}\n renderer={\n renderer &&\n ((props) =>\n renderer({\n ...props,\n onShow,\n onToggle,\n onHide,\n }))\n }\n style={style}\n visible={isPopoverVisible}\n >\n {showArrow && <Arrow {...arrow} placement={popperData.placement} />}\n {isPopoverVisible && content}\n </Popover>\n )}\n </>\n );\n};\n\nDSPopover.defaultProps = {\n containerProps: {},\n renderer: undefined,\n visible: undefined,\n offset: undefined,\n showArrow: false,\n placement: 'top',\n modifiers: {},\n renderTrigger: () => null,\n onClickOutside: () => null,\n destroyOnHidden: true,\n isOpen: undefined,\n};\n\nconst popoverProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n destroyOnHidden: PropTypes.bool.description('destroy popover on hidden or not').defaultValue(true),\n renderer: PropTypes.func.description('custom renderer'),\n popperProps: PropTypes.object.description('Popper props attached to container'),\n visible: PropTypes.bool.description('is visible or not').defaultValue(false),\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('popover content'),\n onClickOutside: PropTypes.func.description('function called on click outside'),\n interaction: PropTypes.string.description('interaction type: hover, click'),\n offset: PropTypes.object.description('offset'),\n showArrow: PropTypes.bool.description('show tooltip arrow or not'),\n placement: PropTypes.string.description('popover placement: top, bottom, right, left'),\n boundaries: PropTypes.string.description('popover boundaries'),\n modifiers: PropTypes.object.description('modifiers'),\n style: PropTypes.object.description('css style object'),\n referenceEl: PropTypes.element.description('reference element'),\n renderTrigger: PropTypes.func.description('render trigger element'),\n interactionType: PropTypes.string.description('interaction type'),\n isOpen: PropTypes.bool.description('open or not').defaultValue(false),\n};\n\nDSPopover.propTypes = popoverProps;\n\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n"],"names":["Interaction","CLICK","HOVER","DSPopover","containerProps","content","renderer","visibleProp","visible","offset","showArrow","placement","boundaries","modifiers","referenceEl","renderTrigger","onClickOutside","destroyOnHidden","interactionType","isOpen","style","useHiddenController","onShow","onHide","onToggle","usePopper","eventsEnabled","reference","popper","arrow","popperData","hoverHandlers","useHoverHandlersDelay","onMouseOver","onMouseLeave","isPopoverVisible","handlers","onClick","ref","props","defaultProps","undefined","popoverProps","PropTypes","shape","description","bool","defaultValue","func","popperProps","object","oneOfType","element","string","interaction","propTypes","PopoverWithSchema","describe"],"mappings":"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"}
|
package/esm/Popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../src/Popover.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { omit } from 'lodash';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { isFunction, removeUndefinedProperties, useOnClickOutside } from '@elliemae/ds-utilities';\nimport { useHiddenTransition } from '@elliemae/ds-hidden';\nimport DSPortal from '@elliemae/ds-portal';\n\nconst blockName = 'popover';\nconst PopoverComponent = aggregatedClasses('div')(blockName);\n\nfunction Popover({\n containerProps,\n destroyOnHidden = true,\n renderer = undefined,\n popperProps = {},\n visible = false,\n content = undefined,\n onClickOutside = () => null,\n style,\n ...otherProps\n}) {\n const popoverRef = useRef();\n const hiddenTransitionProps = useHiddenTransition({ visible });\n const popoverProps = removeUndefinedProperties({\n containerprops: containerProps,\n content,\n ref: popoverRef,\n ...otherProps,\n ...hiddenTransitionProps,\n });\n\n useOnClickOutside(popoverRef, onClickOutside);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n"],"names":["blockName","PopoverComponent","aggregatedClasses","Popover","containerProps","destroyOnHidden","renderer","undefined","popperProps","visible","content","onClickOutside","style","otherProps","popoverRef","useRef","hiddenTransitionProps","useHiddenTransition","popoverProps","removeUndefinedProperties","containerprops","ref","useOnClickOutside","wrapStyle","omit","destroyed","isFunction"],"mappings":";;;;;;;;;;;;;;;AAOA,IAAMA,SAAS,GAAG,SAAlB;AACA,IAAMC,gBAAgB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,CAAzB;;AAEA,SAASG,OAAT,OAUG;
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../src/Popover.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { omit } from 'lodash';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { isFunction, removeUndefinedProperties, useOnClickOutside } from '@elliemae/ds-utilities';\nimport { useHiddenTransition } from '@elliemae/ds-hidden';\nimport DSPortal from '@elliemae/ds-portal';\n\nconst blockName = 'popover';\nconst PopoverComponent = aggregatedClasses('div')(blockName);\n\nfunction Popover({\n containerProps,\n destroyOnHidden = true,\n renderer = undefined,\n popperProps = {},\n visible = false,\n content = undefined,\n onClickOutside = () => null,\n style,\n ...otherProps\n}) {\n const popoverRef = useRef();\n const hiddenTransitionProps = useHiddenTransition({ visible });\n const popoverProps = removeUndefinedProperties({\n containerprops: containerProps,\n content,\n ref: popoverRef,\n ...otherProps,\n ...hiddenTransitionProps,\n });\n\n useOnClickOutside(popoverRef, onClickOutside);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n"],"names":["blockName","PopoverComponent","aggregatedClasses","Popover","containerProps","destroyOnHidden","renderer","undefined","popperProps","visible","content","onClickOutside","style","otherProps","popoverRef","useRef","hiddenTransitionProps","useHiddenTransition","popoverProps","removeUndefinedProperties","containerprops","ref","useOnClickOutside","wrapStyle","omit","destroyed","isFunction"],"mappings":";;;;;;;;;;;;;;;AAOA,IAAMA,SAAS,GAAG,SAAlB;AACA,IAAMC,gBAAgB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,CAAzB;;AAEA,SAASG,OAAT,OAUG;EAAA,IATDC,cASC,QATDA,cASC;kCARDC,eAQC;MARDA,eAQC,qCARiB,IAQjB;2BAPDC,QAOC;MAPDA,QAOC,8BAPUC,SAOV;8BANDC,WAMC;MANDA,WAMC,iCANa,EAMb;0BALDC,OAKC;MALDA,OAKC,6BALS,KAKT;0BAJDC,OAIC;MAJDA,OAIC,6BAJSH,SAIT;iCAHDI,cAGC;MAHDA,cAGC,oCAHgB;IAAA,OAAM,IAAN;GAGhB;MAFDC,KAEC,QAFDA,KAEC;MADEC,UACF;;EACD,IAAMC,UAAU,GAAGC,MAAM,EAAzB;EACA,IAAMC,qBAAqB,GAAGC,mBAAmB,CAAC;IAAER,OAAO,EAAPA;GAAH,CAAjD;EACA,IAAMS,YAAY,GAAGC,yBAAyB;IAC5CC,cAAc,EAAEhB,cAD4B;IAE5CM,OAAO,EAAPA,OAF4C;IAG5CW,GAAG,EAAEP;KACFD,UAJyC,GAKzCG,qBALyC,EAA9C;EAQAM,iBAAiB,CAACR,UAAD,EAAaH,cAAb,CAAjB;EAEA,IAAMY,SAAS,GAAGC,IAAI,CAACZ,KAAD,EAAQ,QAAR,CAAJ,IAAyB,EAA3C;EACA,OACEP,eAAe,IACf,CAACW,qBAAqB,CAACS,SADvB,iBAEE,oBAAC,QAAD,qBACE,wCAASjB,WAAT;IAAsB,KAAK,kCAAOI,KAAP,GAAiBJ,WAAW,CAACI,KAA7B;MACxBc,UAAU,CAACpB,QAAD,CAAV,GAAuBA,QAAQ,CAACY,YAAD,CAA/B,gBAAgD,oBAAC,gBAAD,eAAsBA,YAAtB;IAAoC,KAAK,EAAEK;KAD9F,CADF,CAHJ;AAUD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverTrigger.js","sources":["../../src/PopoverTrigger.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nconst noop = () => {};\n\nfunction useHiddenTrigger({\n hiddenId,\n visible = false,\n interaction = 'click',\n onToggle = noop,\n onShow = noop,\n onHide = noop,\n}) {\n const handlers = {\n [Interaction.CLICK]: {\n onClick: onToggle,\n },\n [Interaction.HOVER]: {\n onMouseEnter: onShow,\n onMouseLeave: onHide,\n },\n };\n return {\n 'aria-expanded': visible,\n ...handlers[interaction],\n 'aria-controls': hiddenId,\n };\n}\n\nfunction PopoverTrigger({ as: Component, ...props }) {\n const hiddenTriggerProps = useHiddenTrigger(props);\n\n return <Component {...hiddenTriggerProps} />;\n}\n\nexport default PopoverTrigger;\n"],"names":["Interaction","CLICK","HOVER","noop","useHiddenTrigger","hiddenId","visible","interaction","onToggle","onShow","onHide","handlers","onClick","onMouseEnter","onMouseLeave","PopoverTrigger","Component","as","props","hiddenTriggerProps"],"mappings":";;;;;;;;;IAEaA,WAAW,GAAG;
|
|
1
|
+
{"version":3,"file":"PopoverTrigger.js","sources":["../../src/PopoverTrigger.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Interaction = {\n CLICK: 'click',\n HOVER: 'hover',\n};\n\nconst noop = () => {};\n\nfunction useHiddenTrigger({\n hiddenId,\n visible = false,\n interaction = 'click',\n onToggle = noop,\n onShow = noop,\n onHide = noop,\n}) {\n const handlers = {\n [Interaction.CLICK]: {\n onClick: onToggle,\n },\n [Interaction.HOVER]: {\n onMouseEnter: onShow,\n onMouseLeave: onHide,\n },\n };\n return {\n 'aria-expanded': visible,\n ...handlers[interaction],\n 'aria-controls': hiddenId,\n };\n}\n\nfunction PopoverTrigger({ as: Component, ...props }) {\n const hiddenTriggerProps = useHiddenTrigger(props);\n\n return <Component {...hiddenTriggerProps} />;\n}\n\nexport default PopoverTrigger;\n"],"names":["Interaction","CLICK","HOVER","noop","useHiddenTrigger","hiddenId","visible","interaction","onToggle","onShow","onHide","handlers","onClick","onMouseEnter","onMouseLeave","PopoverTrigger","Component","as","props","hiddenTriggerProps"],"mappings":";;;;;;;;;IAEaA,WAAW,GAAG;EACzBC,KAAK,EAAE,OADkB;EAEzBC,KAAK,EAAE;AAFkB;;AAK3B,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEA,SAASC,gBAAT,OAOG;EAAA;;EAAA,IANDC,QAMC,QANDA,QAMC;0BALDC,OAKC;MALDA,OAKC,6BALS,KAKT;8BAJDC,WAIC;MAJDA,WAIC,iCAJa,OAIb;2BAHDC,QAGC;MAHDA,QAGC,8BAHUL,IAGV;yBAFDM,MAEC;MAFDA,MAEC,4BAFQN,IAER;yBADDO,MACC;MADDA,MACC,4BADQP,IACR;EACD,IAAMQ,QAAQ,+CACXX,WAAW,CAACC,KADD,EACS;IACnBW,OAAO,EAAEJ;GAFC,8BAIXR,WAAW,CAACE,KAJD,EAIS;IACnBW,YAAY,EAAEJ,MADK;IAEnBK,YAAY,EAAEJ;GANJ,aAAd;EASA;IACE,iBAAiBJ;KACdK,QAAQ,CAACJ,WAAD,CAFb;IAGE,iBAAiBF;;AAEpB;;AAED,SAASU,cAAT,QAAqD;EAAA,IAAvBC,SAAuB,SAA3BC,EAA2B;MAATC,KAAS;;EACnD,IAAMC,kBAAkB,GAAGf,gBAAgB,CAACc,KAAD,CAA3C;EAEA,oBAAO,oBAAC,SAAD,EAAeC,kBAAf,CAAP;AACD;;;;"}
|
package/esm/usePopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopover.js","sources":["../../src/usePopover.tsx"],"sourcesContent":["import usePopper from './usePopper';\n\nfunction usePopover({ ...otherProps }) {\n const { reference, popper, arrow, ...popperProps } = usePopper(otherProps);\n\n return {\n triggerProps: { ...reference },\n popoverProps: { ...popper },\n arrowProps: { ...arrow },\n ...popperProps,\n };\n}\n\nexport default usePopover;\n"],"names":["usePopover","otherProps","usePopper","reference","popper","arrow","popperProps","triggerProps","popoverProps","arrowProps"],"mappings":";;;;;;;;;;;;;;AAEA,SAASA,UAAT,OAAuC;
|
|
1
|
+
{"version":3,"file":"usePopover.js","sources":["../../src/usePopover.tsx"],"sourcesContent":["import usePopper from './usePopper';\n\nfunction usePopover({ ...otherProps }) {\n const { reference, popper, arrow, ...popperProps } = usePopper(otherProps);\n\n return {\n triggerProps: { ...reference },\n popoverProps: { ...popper },\n arrowProps: { ...arrow },\n ...popperProps,\n };\n}\n\nexport default usePopover;\n"],"names":["usePopover","otherProps","usePopper","reference","popper","arrow","popperProps","triggerProps","popoverProps","arrowProps"],"mappings":";;;;;;;;;;;;;;AAEA,SAASA,UAAT,OAAuC;EAAA,IAAdC,UAAc;;EACrC,iBAAqDC,SAAS,CAACD,UAAD,CAA9D;MAAQE,SAAR,cAAQA,SAAR;MAAmBC,MAAnB,cAAmBA,MAAnB;MAA2BC,KAA3B,cAA2BA,KAA3B;MAAqCC,WAArC;;EAEA;IACEC,YAAY,oBAAOJ,SAAP,CADd;IAEEK,YAAY,oBAAOJ,MAAP,CAFd;IAGEK,UAAU,oBAAOJ,KAAP;KACPC,WAJL;AAMD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopoverProviderState.js","sources":["../../src/usePopoverProviderState.tsx"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { throttle } from 'lodash';\nimport { useExecutionTimer } from '@elliemae/ds-utilities';\n\nfunction usePopoverProviderState({\n initialState = {\n reference: null,\n visible: false,\n value: '',\n options: {},\n },\n delay,\n}) {\n const triggerRef = useRef();\n const [tooltipState, setTooltipState] = useState(initialState);\n\n const show = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: true,\n }));\n };\n const hide = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: false,\n }));\n };\n\n const [showTooltip, hideTooltip] = useExecutionTimer(show, hide, delay);\n\n const handleShowTooltip = (state, e) => {\n triggerRef.current = e.target;\n showTooltip({ ...state, reference: e.target });\n };\n\n const handleHideTooltip = (state) => {\n hideTooltip(state);\n };\n\n useEffect(() => {\n window.addEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n return () => {\n window.removeEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n };\n }, [tooltipState.reference]);\n\n return {\n show: handleShowTooltip,\n hide: handleHideTooltip,\n state: tooltipState,\n };\n}\n\nexport default usePopoverProviderState;\n"],"names":["usePopoverProviderState","initialState","reference","visible","value","options","delay","triggerRef","useRef","useState","tooltipState","setTooltipState","show","state","prevState","hide","useExecutionTimer","showTooltip","hideTooltip","handleShowTooltip","e","current","target","handleHideTooltip","useEffect","window","addEventListener","throttle","removeEventListener"],"mappings":";;;;;;;;;;AAIA,SAASA,uBAAT,OAQG;
|
|
1
|
+
{"version":3,"file":"usePopoverProviderState.js","sources":["../../src/usePopoverProviderState.tsx"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { throttle } from 'lodash';\nimport { useExecutionTimer } from '@elliemae/ds-utilities';\n\nfunction usePopoverProviderState({\n initialState = {\n reference: null,\n visible: false,\n value: '',\n options: {},\n },\n delay,\n}) {\n const triggerRef = useRef();\n const [tooltipState, setTooltipState] = useState(initialState);\n\n const show = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: true,\n }));\n };\n const hide = (state) => {\n setTooltipState((prevState) => ({\n ...prevState,\n ...state,\n visible: false,\n }));\n };\n\n const [showTooltip, hideTooltip] = useExecutionTimer(show, hide, delay);\n\n const handleShowTooltip = (state, e) => {\n triggerRef.current = e.target;\n showTooltip({ ...state, reference: e.target });\n };\n\n const handleHideTooltip = (state) => {\n hideTooltip(state);\n };\n\n useEffect(() => {\n window.addEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n return () => {\n window.removeEventListener('scroll', throttle(handleHideTooltip, 300), true);\n window.addEventListener('click', handleHideTooltip, true);\n };\n }, [tooltipState.reference]);\n\n return {\n show: handleShowTooltip,\n hide: handleHideTooltip,\n state: tooltipState,\n };\n}\n\nexport default usePopoverProviderState;\n"],"names":["usePopoverProviderState","initialState","reference","visible","value","options","delay","triggerRef","useRef","useState","tooltipState","setTooltipState","show","state","prevState","hide","useExecutionTimer","showTooltip","hideTooltip","handleShowTooltip","e","current","target","handleHideTooltip","useEffect","window","addEventListener","throttle","removeEventListener"],"mappings":";;;;;;;;;;AAIA,SAASA,uBAAT,OAQG;EAAA,6BAPDC,YAOC;MAPDA,YAOC,kCAPc;IACbC,SAAS,EAAE,IADE;IAEbC,OAAO,EAAE,KAFI;IAGbC,KAAK,EAAE,EAHM;IAIbC,OAAO,EAAE;GAGV;MADDC,KACC,QADDA,KACC;EACD,IAAMC,UAAU,GAAGC,MAAM,EAAzB;;EACA,gBAAwCC,QAAQ,CAACR,YAAD,CAAhD;;MAAOS,YAAP;MAAqBC,eAArB;;EAEA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAACC,KAAD,EAAW;IACtBF,eAAe,CAAC,UAACG,SAAD;MAAA,qDACXA,SADW,GAEXD,KAFW;QAGdV,OAAO,EAAE;;KAHI,CAAf;GADF;;EAOA,IAAMY,IAAI,GAAG,SAAPA,IAAO,CAACF,KAAD,EAAW;IACtBF,eAAe,CAAC,UAACG,SAAD;MAAA,qDACXA,SADW,GAEXD,KAFW;QAGdV,OAAO,EAAE;;KAHI,CAAf;GADF;;EAQA,yBAAmCa,iBAAiB,CAACJ,IAAD,EAAOG,IAAP,EAAaT,KAAb,CAApD;;MAAOW,WAAP;MAAoBC,WAApB;;EAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACN,KAAD,EAAQO,CAAR,EAAc;IACtCb,UAAU,CAACc,OAAX,GAAqBD,CAAC,CAACE,MAAvB;IACAL,WAAW,iCAAMJ,KAAN;MAAaX,SAAS,EAAEkB,CAAC,CAACE;OAArC;GAFF;;EAKA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACV,KAAD,EAAW;IACnCK,WAAW,CAACL,KAAD,CAAX;GADF;;EAIAW,SAAS,CAAC,YAAM;IACdC,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCC,QAAQ,CAACJ,iBAAD,EAAoB,GAApB,CAA1C,EAAoE,IAApE;IACAE,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCH,iBAAjC,EAAoD,IAApD;IACA,OAAO,YAAM;MACXE,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqCD,QAAQ,CAACJ,iBAAD,EAAoB,GAApB,CAA7C,EAAuE,IAAvE;MACAE,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCH,iBAAjC,EAAoD,IAApD;KAFF;GAHO,EAON,CAACb,YAAY,CAACR,SAAd,CAPM,CAAT;EASA,OAAO;IACLU,IAAI,EAAEO,iBADD;IAELJ,IAAI,EAAEQ,iBAFD;IAGLV,KAAK,EAAEH;GAHT;AAKD;;;;"}
|
package/esm/usePopper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopper.js","sources":["../../src/usePopper.tsx"],"sourcesContent":["import Popper from 'popper.js';\nimport { useEffect, useRef, useState } from 'react';\n\nfunction calculateOffset({ offset, showArrow }) {\n const arrowSize = 10;\n const defaultPadding = 3;\n return {\n enabled: showArrow || offset,\n offset: Array.isArray(offset)\n ? `${offset[0]}, ${(offset[1] || offset[0]) + arrowSize + defaultPadding}`\n : `0, ${arrowSize + defaultPadding}`,\n };\n}\n\nexport default function usePopper({\n offset,\n showArrow,\n placement,\n isOpen,\n modifiers,\n eventsEnabled = true,\n positionFixed,\n boundaries = 'scrollParent',\n referenceEl: refEl,\n}) {\n const [popperData, setPopperData] = useState({});\n // this is util for deferred rendering like with portals\n const [dynamicPopperNode, setPopperNode] = useState(null);\n const referenceRef = useRef();\n const popperRef = useRef();\n const arrowRef = useRef();\n const popper = useRef();\n\n // initialize popper with refs and options\n useEffect(() => {\n const referenceEl = refEl || referenceRef.current;\n const popperEl = dynamicPopperNode || popperRef.current;\n const arrowEl = arrowRef.current;\n\n popper.current =\n referenceEl &&\n popperEl &&\n new Popper(referenceEl, popperEl, {\n placement,\n isOpen,\n eventsEnabled,\n positionFixed,\n modifiers: {\n preventOverflow: {\n padding: 0,\n boundariesElement: boundaries,\n ...modifiers.preventOverflow,\n },\n offset: calculateOffset({\n offset,\n showArrow,\n }),\n ...modifiers,\n arrow: {\n enabled: !!arrowEl,\n element: arrowEl,\n },\n applyStyle: { enabled: false },\n updateStateModifier: {\n order: 900,\n enabled: true,\n fn: (data) => {\n setPopperData(data);\n return data;\n },\n },\n },\n });\n\n return () => {\n if (popper.current) popper.current.destroy();\n };\n }, [\n refEl,\n dynamicPopperNode,\n placement,\n showArrow,\n offset,\n popperRef,\n eventsEnabled,\n ]);\n\n // update popper instance after initialization\n useEffect(() => {\n if (!popper.current) return;\n popper.current.update();\n }, [popper.current]);\n\n const arrow = {\n ref: arrowRef,\n style: popperData.arrowStyles,\n };\n const popperProps = {\n style: popperData.styles,\n ref: setPopperNode,\n placement: popperData.placement,\n 'data-testid': 'popover-container',\n };\n const reference = {\n ref: referenceRef,\n };\n return {\n popperInstance: popper.current,\n popper: popperProps,\n arrow,\n reference,\n // setPopperNode,\n popperData,\n };\n}\n"],"names":["calculateOffset","offset","showArrow","arrowSize","defaultPadding","enabled","Array","isArray","usePopper","placement","isOpen","modifiers","eventsEnabled","positionFixed","boundaries","refEl","referenceEl","useState","popperData","setPopperData","dynamicPopperNode","setPopperNode","referenceRef","useRef","popperRef","arrowRef","popper","useEffect","current","popperEl","arrowEl","Popper","preventOverflow","padding","boundariesElement","arrow","element","applyStyle","updateStateModifier","order","fn","data","destroy","update","ref","style","arrowStyles","popperProps","styles","reference","popperInstance"],"mappings":";;;;;;;;;AAGA,SAASA,eAAT,OAAgD;
|
|
1
|
+
{"version":3,"file":"usePopper.js","sources":["../../src/usePopper.tsx"],"sourcesContent":["import Popper from 'popper.js';\nimport { useEffect, useRef, useState } from 'react';\n\nfunction calculateOffset({ offset, showArrow }) {\n const arrowSize = 10;\n const defaultPadding = 3;\n return {\n enabled: showArrow || offset,\n offset: Array.isArray(offset)\n ? `${offset[0]}, ${(offset[1] || offset[0]) + arrowSize + defaultPadding}`\n : `0, ${arrowSize + defaultPadding}`,\n };\n}\n\nexport default function usePopper({\n offset,\n showArrow,\n placement,\n isOpen,\n modifiers,\n eventsEnabled = true,\n positionFixed,\n boundaries = 'scrollParent',\n referenceEl: refEl,\n}) {\n const [popperData, setPopperData] = useState({});\n // this is util for deferred rendering like with portals\n const [dynamicPopperNode, setPopperNode] = useState(null);\n const referenceRef = useRef();\n const popperRef = useRef();\n const arrowRef = useRef();\n const popper = useRef();\n\n // initialize popper with refs and options\n useEffect(() => {\n const referenceEl = refEl || referenceRef.current;\n const popperEl = dynamicPopperNode || popperRef.current;\n const arrowEl = arrowRef.current;\n\n popper.current =\n referenceEl &&\n popperEl &&\n new Popper(referenceEl, popperEl, {\n placement,\n isOpen,\n eventsEnabled,\n positionFixed,\n modifiers: {\n preventOverflow: {\n padding: 0,\n boundariesElement: boundaries,\n ...modifiers.preventOverflow,\n },\n offset: calculateOffset({\n offset,\n showArrow,\n }),\n ...modifiers,\n arrow: {\n enabled: !!arrowEl,\n element: arrowEl,\n },\n applyStyle: { enabled: false },\n updateStateModifier: {\n order: 900,\n enabled: true,\n fn: (data) => {\n setPopperData(data);\n return data;\n },\n },\n },\n });\n\n return () => {\n if (popper.current) popper.current.destroy();\n };\n }, [\n refEl,\n dynamicPopperNode,\n placement,\n showArrow,\n offset,\n popperRef,\n eventsEnabled,\n ]);\n\n // update popper instance after initialization\n useEffect(() => {\n if (!popper.current) return;\n popper.current.update();\n }, [popper.current]);\n\n const arrow = {\n ref: arrowRef,\n style: popperData.arrowStyles,\n };\n const popperProps = {\n style: popperData.styles,\n ref: setPopperNode,\n placement: popperData.placement,\n 'data-testid': 'popover-container',\n };\n const reference = {\n ref: referenceRef,\n };\n return {\n popperInstance: popper.current,\n popper: popperProps,\n arrow,\n reference,\n // setPopperNode,\n popperData,\n };\n}\n"],"names":["calculateOffset","offset","showArrow","arrowSize","defaultPadding","enabled","Array","isArray","usePopper","placement","isOpen","modifiers","eventsEnabled","positionFixed","boundaries","refEl","referenceEl","useState","popperData","setPopperData","dynamicPopperNode","setPopperNode","referenceRef","useRef","popperRef","arrowRef","popper","useEffect","current","popperEl","arrowEl","Popper","preventOverflow","padding","boundariesElement","arrow","element","applyStyle","updateStateModifier","order","fn","data","destroy","update","ref","style","arrowStyles","popperProps","styles","reference","popperInstance"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-popover",
|
|
3
|
-
"version": "1.61.
|
|
3
|
+
"version": "1.61.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - Popover",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-classnames": "1.61.
|
|
20
|
-
"@elliemae/ds-hidden": "1.61.
|
|
21
|
-
"@elliemae/ds-popper": "1.61.
|
|
22
|
-
"@elliemae/ds-portal": "1.61.
|
|
23
|
-
"@elliemae/ds-utilities": "1.61.
|
|
19
|
+
"@elliemae/ds-classnames": "1.61.13",
|
|
20
|
+
"@elliemae/ds-hidden": "1.61.13",
|
|
21
|
+
"@elliemae/ds-popper": "1.61.13",
|
|
22
|
+
"@elliemae/ds-portal": "1.61.13",
|
|
23
|
+
"@elliemae/ds-utilities": "1.61.13",
|
|
24
24
|
"popper.js": "~1.16.1",
|
|
25
25
|
"react-desc": "^4.1.2"
|
|
26
26
|
},
|