@elliemae/ds-popover 3.2.0 → 3.2.1-rc.2
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/dist/cjs/Arrow.js +1 -0
- package/dist/cjs/Arrow.js.map +1 -1
- package/dist/cjs/DSPopover.js +1 -0
- package/dist/cjs/DSPopover.js.map +1 -1
- package/dist/cjs/Popover.js +1 -0
- package/dist/cjs/Popover.js.map +1 -1
- package/dist/cjs/PopoverTrigger.js +1 -0
- package/dist/cjs/PopoverTrigger.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/usePopover.js +1 -0
- package/dist/cjs/usePopover.js.map +1 -1
- package/dist/cjs/usePopoverProviderState.js +1 -0
- package/dist/cjs/usePopoverProviderState.js.map +1 -1
- package/dist/cjs/usePopper.js +1 -0
- package/dist/cjs/usePopper.js.map +1 -1
- package/dist/esm/Arrow.js +1 -0
- package/dist/esm/Arrow.js.map +1 -1
- package/dist/esm/DSPopover.js +1 -0
- package/dist/esm/DSPopover.js.map +1 -1
- package/dist/esm/Popover.js +1 -0
- package/dist/esm/Popover.js.map +1 -1
- package/dist/esm/PopoverTrigger.js +1 -0
- package/dist/esm/PopoverTrigger.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/usePopover.js +1 -0
- package/dist/esm/usePopover.js.map +1 -1
- package/dist/esm/usePopoverProviderState.js +1 -0
- package/dist/esm/usePopoverProviderState.js.map +1 -1
- package/dist/esm/usePopper.js +1 -0
- package/dist/esm/usePopper.js.map +1 -1
- package/package.json +7 -7
package/dist/cjs/Arrow.js
CHANGED
package/dist/cjs/Arrow.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Arrow.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,2BAAkC;AAClC,uBAAqC;AAErC,MAAM,eAAe,4CAAkB,MAAM,EAAE,WAAW,OAAO;AACjE,eAAe,IAAiF;AAAjF,eAAE,SAAO,WAAW,UAAU,YAAY,WAAW,cAArD,IAAmE,uBAAnE,IAAmE,CAAjE,SAAO,aAAW,YAAU,aAAuB;AAClE,SACE,mDAAC;AAAA,IACC;AAAA,IACA,kBAAgB;AAAA,KACZ,aAHL;AAAA,IAIC;AAAA,IACA,OAAO,kCACF,QACA,2CAAqB,WAAW,EAAE;AAAA,MAGvC,mDAAC;AAAA,IAAI,SAAQ;AAAA,KACX,mDAAC;AAAA,IACC,WAAU;AAAA,IACV,GAAE;AAAA,GAEJ,GACA,mDAAC;AAAA,IACC,WAAU;AAAA,IACV,GAAE;AAAA,GACJ,CACF,CACF;AAEJ;AAEA,IAAO,gBAAQ,6BAAW,CAAC,OAAO,QAAQ,mDAAC,wCAAU,QAAV;AAAA,EAAiB,UAAU,OAAO,MAAM;AAAA,EAAU,CAAE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/DSPopover.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSPopover.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe, 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;\nDSPopover.displayName = 'DSPopover';\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/Popover.js
CHANGED
package/dist/cjs/Popover.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Popover.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useRef, useContext } 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';\nimport { ThemeContext } from '@elliemae/ds-system';\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 theme = useContext(ThemeContext);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ zIndex: theme.zIndex.popper, ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA0C;AAC1C,oBAAqB;AACrB,2BAAkC;AAClC,0BAAyE;AACzE,uBAAoC;AACpC,uBAAqB;AACrB,uBAA6B;AAE7B,MAAM,YAAY;AAClB,MAAM,mBAAmB,4CAAkB,KAAK,EAAE,SAAS;AAE3D,iBAAiB,IAUd;AAVc,eACf;AAAA;AAAA,IACA,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,cAAc,CAAC;AAAA,IACf,UAAU;AAAA,IACV,UAAU;AAAA,IACV,iBAAiB,MAAM;AAAA,IACvB;AAAA,MARe,IASZ,uBATY,IASZ;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,aAAa,yBAAO;AAC1B,QAAM,wBAAwB,0CAAoB,EAAE,QAAQ,CAAC;AAC7D,QAAM,eAAe,mDAA0B;AAAA,IAC7C,gBAAgB;AAAA,IAChB;AAAA,IACA,KAAK;AAAA,KACF,aACA,sBACJ;AAED,6CAAkB,YAAY,cAAc;AAE5C,QAAM,QAAQ,6BAAW,6BAAY;AAErC,QAAM,YAAY,wBAAK,OAAO,QAAQ,KAAK,CAAC;AAC5C,SACE,mBACA,CAAC,sBAAsB,aACrB,mDAAC,gCACC,mDAAC,wCAAQ,cAAR;AAAA,IAAqB,OAAO,gCAAE,QAAQ,MAAM,OAAO,UAAW,QAAU,YAAY;AAAA,MAClF,oCAAW,QAAQ,IAAI,SAAS,YAAY,IAAI,mDAAC,mDAAqB,eAArB;AAAA,IAAmC,OAAO;AAAA,IAAW,CACzG,CACF;AAGN;AAEA,IAAO,kBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/PopoverTrigger.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAEX,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAEA,MAAM,OAAO,MAAM;AAAC;AAEpB,0BAA0B;AAAA,EACxB;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,GACR;AACD,QAAM,WAAW;AAAA,IACf,CAAC,YAAY,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,IACA,CAAC,YAAY,QAAQ;AAAA,MACnB,cAAc;AAAA,MACd,cAAc;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AAAA,IACL,iBAAiB;AAAA,KACd,SAAS,eAFP;AAAA,IAGL,iBAAiB;AAAA,EACnB;AACF;AAEA,wBAAwB,IAA6B;AAA7B,eAAE,MAAI,cAAN,IAAoB,kBAApB,IAAoB,CAAlB;AACxB,QAAM,qBAAqB,iBAAiB,KAAK;AAEjD,SAAO,mDAAC,8BAAc,mBAAoB;AAC5C;AAEA,IAAO,yBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/index.js
CHANGED
package/dist/cjs/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["export * from './DSPopover';\nexport { default } from './DSPopover';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,wBAAd;AACA,uBAAwB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/usePopover.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/usePopover.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAsB;AAEtB,oBAAoB,IAAmB;AAAnB,MAAK,uBAAL,IAAK;AACvB,QAAqD,oCAAU,UAAU,GAAjE,aAAW,QAAQ,UAA0B,KAAhB,wBAAgB,KAAhB,CAA7B,aAAW,UAAQ;AAE3B,SAAO;AAAA,IACL,cAAc,mBAAK;AAAA,IACnB,cAAc,mBAAK;AAAA,IACnB,YAAY,mBAAK;AAAA,KACd;AAEP;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/usePopoverProviderState.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4C;AAC5C,oBAAyB;AACzB,0BAAkC;AAElC,iCAAiC;AAAA,EAC/B,eAAe;AAAA,IACb,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,GACC;AACD,QAAM,aAAa,yBAAO;AAC1B,QAAM,CAAC,cAAc,mBAAmB,2BAAS,YAAY;AAE7D,QAAM,OAAO,CAAC,UAAU;AACtB,oBAAgB,CAAC,cAAe,gDAC3B,YACA,QAF2B;AAAA,MAG9B,SAAS;AAAA,IACX,EAAE;AAAA,EACJ;AACA,QAAM,OAAO,CAAC,UAAU;AACtB,oBAAgB,CAAC,cAAe,gDAC3B,YACA,QAF2B;AAAA,MAG9B,SAAS;AAAA,IACX,EAAE;AAAA,EACJ;AAEA,QAAM,CAAC,aAAa,eAAe,2CAAkB,MAAM,MAAM,KAAK;AAEtE,QAAM,oBAAoB,CAAC,OAAO,MAAM;AACtC,eAAW,UAAU,EAAE;AACvB,gBAAY,iCAAK,QAAL,EAAY,WAAW,EAAE,OAAO,EAAC;AAAA,EAC/C;AAEA,QAAM,oBAAoB,CAAC,UAAU;AACnC,gBAAY,KAAK;AAAA,EACnB;AAEA,8BAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,4BAAS,mBAAmB,GAAG,GAAG,IAAI;AACxE,WAAO,iBAAiB,SAAS,mBAAmB,IAAI;AACxD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,4BAAS,mBAAmB,GAAG,GAAG,IAAI;AAC3E,aAAO,iBAAiB,SAAS,mBAAmB,IAAI;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,aAAa,SAAS,CAAC;AAE3B,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;AAEA,IAAO,kCAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/usePopper.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/usePopper.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oBAAmB;AACnB,mBAA4C;AAE5C,yBAAyB,EAAE,QAAQ,aAAa;AAC9C,QAAM,YAAY;AAClB,QAAM,iBAAiB;AACvB,SAAO;AAAA,IACL,SAAS,aAAa;AAAA,IACtB,QAAQ,MAAM,QAAQ,MAAM,IACxB,GAAG,OAAO,OAAQ,QAAO,MAAM,OAAO,MAAM,YAAY,mBACxD,MAAM,YAAY;AAAA,EACxB;AACF;AAEe,mBAAmB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,aAAa;AAAA,EACb,aAAa;AAAA,GACZ;AACD,QAAM,CAAC,YAAY,iBAAiB,2BAAS,CAAC,CAAC;AAE/C,QAAM,CAAC,mBAAmB,iBAAiB,2BAAS,IAAI;AACxD,QAAM,eAAe,yBAAO;AAC5B,QAAM,YAAY,yBAAO;AACzB,QAAM,WAAW,yBAAO;AACxB,QAAM,SAAS,yBAAO;AAGtB,8BAAU,MAAM;AACd,UAAM,cAAc,SAAS,aAAa;AAC1C,UAAM,WAAW,qBAAqB,UAAU;AAChD,UAAM,UAAU,SAAS;AAEzB,WAAO,UACL,eACA,YACA,IAAI,sBAAO,aAAa,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,iBAAiB;AAAA,UACf,SAAS;AAAA,UACT,mBAAmB;AAAA,WAChB,UAAU;AAAA,QAEf,QAAQ,gBAAgB;AAAA,UACtB;AAAA,UACA;AAAA,QACF,CAAC;AAAA,SACE,YAVM;AAAA,QAWT,OAAO;AAAA,UACL,SAAS,CAAC,CAAC;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY,EAAE,SAAS,MAAM;AAAA,QAC7B,qBAAqB;AAAA,UACnB,OAAO;AAAA,UACP,SAAS;AAAA,UACT,IAAI,CAAC,SAAS;AACZ,0BAAc,IAAI;AAClB,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAEH,WAAO,MAAM;AACX,UAAI,OAAO;AAAS,eAAO,QAAQ,QAAQ;AAAA,IAC7C;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAGD,8BAAU,MAAM;AACd,QAAI,CAAC,OAAO;AAAS;AACrB,WAAO,QAAQ,OAAO;AAAA,EACxB,GAAG,CAAC,OAAO,OAAO,CAAC;AAEnB,QAAM,QAAQ;AAAA,IACZ,KAAK;AAAA,IACL,OAAO,WAAW;AAAA,EACpB;AACA,QAAM,cAAc;AAAA,IAClB,OAAO,WAAW;AAAA,IAClB,KAAK;AAAA,IACL,WAAW,WAAW;AAAA,IACtB,eAAe;AAAA,EACjB;AACA,QAAM,YAAY;AAAA,IAChB,KAAK;AAAA,EACP;AACA,SAAO;AAAA,IACL,gBAAgB,OAAO;AAAA,IACvB,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/Arrow.js
CHANGED
package/dist/esm/Arrow.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/Arrow.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AAEA,MAAM,eAAe,kBAAkB,MAAM,EAAE,WAAW,OAAO;AACjE,eAAe,IAAiF;AAAjF,eAAE,SAAO,WAAW,UAAU,YAAY,WAAW,cAArD,IAAmE,uBAAnE,IAAmE,CAAjE,SAAO,aAAW,YAAU,aAAuB;AAClE,SACE,qCAAC;AAAA,IACC;AAAA,IACA,kBAAgB;AAAA,KACZ,aAHL;AAAA,IAIC;AAAA,IACA,OAAO,kCACF,QACA,qBAAqB,WAAW,EAAE;AAAA,MAGvC,qCAAC;AAAA,IAAI,SAAQ;AAAA,KACX,qCAAC;AAAA,IACC,WAAU;AAAA,IACV,GAAE;AAAA,GAEJ,GACA,qCAAC;AAAA,IACC,WAAU;AAAA,IACV,GAAE;AAAA,GACJ,CACF,CACF;AAEJ;AAEA,IAAO,gBAAQ,WAAW,CAAC,OAAO,QAAQ,qCAAC,wCAAU,QAAV;AAAA,EAAiB,UAAU,OAAO,MAAM;AAAA,EAAU,CAAE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/DSPopover.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSPopover.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe, 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;\nDSPopover.displayName = 'DSPopover';\nconst PopoverWithSchema = describe(DSPopover);\nPopoverWithSchema.propTypes = popoverProps;\n\nexport { DSPopover, usePopper, usePopoverProviderState, PopoverWithSchema };\n\nexport default DSPopover;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/Popover.js
CHANGED
package/dist/esm/Popover.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/Popover.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useContext } 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';\nimport { ThemeContext } from '@elliemae/ds-system';\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 theme = useContext(ThemeContext);\n\n const wrapStyle = omit(style, 'zIndex') || {};\n return (\n destroyOnHidden &&\n !hiddenTransitionProps.destroyed && (\n <DSPortal>\n <div {...popperProps} style={{ zIndex: theme.zIndex.popper, ...style, ...popperProps.style }}>\n {isFunction(renderer) ? renderer(popoverProps) : <PopoverComponent {...popoverProps} style={wrapStyle} />}\n </div>\n </DSPortal>\n )\n );\n}\n\nexport default Popover;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAClB,MAAM,mBAAmB,kBAAkB,KAAK,EAAE,SAAS;AAE3D,iBAAiB,IAUd;AAVc,eACf;AAAA;AAAA,IACA,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,cAAc,CAAC;AAAA,IACf,UAAU;AAAA,IACV,UAAU;AAAA,IACV,iBAAiB,MAAM;AAAA,IACvB;AAAA,MARe,IASZ,uBATY,IASZ;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,aAAa,OAAO;AAC1B,QAAM,wBAAwB,oBAAoB,EAAE,QAAQ,CAAC;AAC7D,QAAM,eAAe,0BAA0B;AAAA,IAC7C,gBAAgB;AAAA,IAChB;AAAA,IACA,KAAK;AAAA,KACF,aACA,sBACJ;AAED,oBAAkB,YAAY,cAAc;AAE5C,QAAM,QAAQ,WAAW,YAAY;AAErC,QAAM,YAAY,KAAK,OAAO,QAAQ,KAAK,CAAC;AAC5C,SACE,mBACA,CAAC,sBAAsB,aACrB,qCAAC,gBACC,qCAAC,wCAAQ,cAAR;AAAA,IAAqB,OAAO,gCAAE,QAAQ,MAAM,OAAO,UAAW,QAAU,YAAY;AAAA,MAClF,WAAW,QAAQ,IAAI,SAAS,YAAY,IAAI,qCAAC,mDAAqB,eAArB;AAAA,IAAmC,OAAO;AAAA,IAAW,CACzG,CACF;AAGN;AAEA,IAAO,kBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/PopoverTrigger.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAEO,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT;AAEA,MAAM,OAAO,MAAM;AAAC;AAEpB,0BAA0B;AAAA,EACxB;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,GACR;AACD,QAAM,WAAW;AAAA,IACf,CAAC,YAAY,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,IACA,CAAC,YAAY,QAAQ;AAAA,MACnB,cAAc;AAAA,MACd,cAAc;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AAAA,IACL,iBAAiB;AAAA,KACd,SAAS,eAFP;AAAA,IAGL,iBAAiB;AAAA,EACnB;AACF;AAEA,wBAAwB,IAA6B;AAA7B,eAAE,MAAI,cAAN,IAAoB,kBAApB,IAAoB,CAAlB;AACxB,QAAM,qBAAqB,iBAAiB,KAAK;AAEjD,SAAO,qCAAC,8BAAc,mBAAoB;AAC5C;AAEA,IAAO,yBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSPopover';\nexport { default } from './DSPopover';\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;",
|
|
5
|
+
"mappings": ";AAAA;ACAA;AACA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/usePopover.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/usePopover.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAEA,oBAAoB,IAAmB;AAAnB,MAAK,uBAAL,IAAK;AACvB,QAAqD,gBAAU,UAAU,GAAjE,aAAW,QAAQ,UAA0B,KAAhB,wBAAgB,KAAhB,CAA7B,aAAW,UAAQ;AAE3B,SAAO;AAAA,IACL,cAAc,mBAAK;AAAA,IACnB,cAAc,mBAAK;AAAA,IACnB,YAAY,mBAAK;AAAA,KACd;AAEP;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/usePopoverProviderState.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AAEA,iCAAiC;AAAA,EAC/B,eAAe;AAAA,IACb,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,GACC;AACD,QAAM,aAAa,OAAO;AAC1B,QAAM,CAAC,cAAc,mBAAmB,SAAS,YAAY;AAE7D,QAAM,OAAO,CAAC,UAAU;AACtB,oBAAgB,CAAC,cAAe,gDAC3B,YACA,QAF2B;AAAA,MAG9B,SAAS;AAAA,IACX,EAAE;AAAA,EACJ;AACA,QAAM,OAAO,CAAC,UAAU;AACtB,oBAAgB,CAAC,cAAe,gDAC3B,YACA,QAF2B;AAAA,MAG9B,SAAS;AAAA,IACX,EAAE;AAAA,EACJ;AAEA,QAAM,CAAC,aAAa,eAAe,kBAAkB,MAAM,MAAM,KAAK;AAEtE,QAAM,oBAAoB,CAAC,OAAO,MAAM;AACtC,eAAW,UAAU,EAAE;AACvB,gBAAY,iCAAK,QAAL,EAAY,WAAW,EAAE,OAAO,EAAC;AAAA,EAC/C;AAEA,QAAM,oBAAoB,CAAC,UAAU;AACnC,gBAAY,KAAK;AAAA,EACnB;AAEA,YAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,SAAS,mBAAmB,GAAG,GAAG,IAAI;AACxE,WAAO,iBAAiB,SAAS,mBAAmB,IAAI;AACxD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,SAAS,mBAAmB,GAAG,GAAG,IAAI;AAC3E,aAAO,iBAAiB,SAAS,mBAAmB,IAAI;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,aAAa,SAAS,CAAC;AAE3B,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;AAEA,IAAO,kCAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/usePopper.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/usePopper.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,yBAAyB,EAAE,QAAQ,aAAa;AAC9C,QAAM,YAAY;AAClB,QAAM,iBAAiB;AACvB,SAAO;AAAA,IACL,SAAS,aAAa;AAAA,IACtB,QAAQ,MAAM,QAAQ,MAAM,IACxB,GAAG,OAAO,OAAQ,QAAO,MAAM,OAAO,MAAM,YAAY,mBACxD,MAAM,YAAY;AAAA,EACxB;AACF;AAEe,mBAAmB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,aAAa;AAAA,EACb,aAAa;AAAA,GACZ;AACD,QAAM,CAAC,YAAY,iBAAiB,SAAS,CAAC,CAAC;AAE/C,QAAM,CAAC,mBAAmB,iBAAiB,SAAS,IAAI;AACxD,QAAM,eAAe,OAAO;AAC5B,QAAM,YAAY,OAAO;AACzB,QAAM,WAAW,OAAO;AACxB,QAAM,SAAS,OAAO;AAGtB,YAAU,MAAM;AACd,UAAM,cAAc,SAAS,aAAa;AAC1C,UAAM,WAAW,qBAAqB,UAAU;AAChD,UAAM,UAAU,SAAS;AAEzB,WAAO,UACL,eACA,YACA,IAAI,OAAO,aAAa,UAAU;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,iBAAiB;AAAA,UACf,SAAS;AAAA,UACT,mBAAmB;AAAA,WAChB,UAAU;AAAA,QAEf,QAAQ,gBAAgB;AAAA,UACtB;AAAA,UACA;AAAA,QACF,CAAC;AAAA,SACE,YAVM;AAAA,QAWT,OAAO;AAAA,UACL,SAAS,CAAC,CAAC;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QACA,YAAY,EAAE,SAAS,MAAM;AAAA,QAC7B,qBAAqB;AAAA,UACnB,OAAO;AAAA,UACP,SAAS;AAAA,UACT,IAAI,CAAC,SAAS;AACZ,0BAAc,IAAI;AAClB,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAEH,WAAO,MAAM;AACX,UAAI,OAAO;AAAS,eAAO,QAAQ,QAAQ;AAAA,IAC7C;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAGD,YAAU,MAAM;AACd,QAAI,CAAC,OAAO;AAAS;AACrB,WAAO,QAAQ,OAAO;AAAA,EACxB,GAAG,CAAC,OAAO,OAAO,CAAC;AAEnB,QAAM,QAAQ;AAAA,IACZ,KAAK;AAAA,IACL,OAAO,WAAW;AAAA,EACpB;AACA,QAAM,cAAc;AAAA,IAClB,OAAO,WAAW;AAAA,IAClB,KAAK;AAAA,IACL,WAAW,WAAW;AAAA,IACtB,eAAe;AAAA,EACjB;AACA,QAAM,YAAY;AAAA,IAChB,KAAK;AAAA,EACP;AACA,SAAO;AAAA,IACL,gBAAgB,OAAO;AAAA,IACvB,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-popover",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.1-rc.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Popover",
|
|
6
6
|
"files": [
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
"indent": 4
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@elliemae/ds-classnames": "3.2.
|
|
67
|
-
"@elliemae/ds-hidden": "3.2.
|
|
68
|
-
"@elliemae/ds-popper": "3.2.
|
|
69
|
-
"@elliemae/ds-portal": "3.2.
|
|
70
|
-
"@elliemae/ds-system": "3.2.
|
|
71
|
-
"@elliemae/ds-utilities": "3.2.
|
|
66
|
+
"@elliemae/ds-classnames": "3.2.1-rc.2",
|
|
67
|
+
"@elliemae/ds-hidden": "3.2.1-rc.2",
|
|
68
|
+
"@elliemae/ds-popper": "3.2.1-rc.2",
|
|
69
|
+
"@elliemae/ds-portal": "3.2.1-rc.2",
|
|
70
|
+
"@elliemae/ds-system": "3.2.1-rc.2",
|
|
71
|
+
"@elliemae/ds-utilities": "3.2.1-rc.2",
|
|
72
72
|
"popper.js": "~1.16.1",
|
|
73
73
|
"styled-components": "~5.3.5"
|
|
74
74
|
},
|