@artsy/palette 29.1.0 → 29.2.0
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.
|
@@ -142,11 +142,15 @@ var Popover = function Popover(_ref) {
|
|
|
142
142
|
when: visible,
|
|
143
143
|
type: "click"
|
|
144
144
|
});
|
|
145
|
+
|
|
146
|
+
var _usePortal = (0, _utils.usePortal)(),
|
|
147
|
+
createPortal = _usePortal.createPortal;
|
|
148
|
+
|
|
145
149
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children({
|
|
146
150
|
anchorRef: anchorRef,
|
|
147
151
|
onVisible: onVisible,
|
|
148
152
|
onHide: onHide
|
|
149
|
-
}), visible && /*#__PURE__*/_react.default.createElement(Tip, {
|
|
153
|
+
}), visible && createPortal( /*#__PURE__*/_react.default.createElement(Tip, {
|
|
150
154
|
tabIndex: 0,
|
|
151
155
|
ref: tooltipRef,
|
|
152
156
|
zIndex: 1,
|
|
@@ -172,7 +176,7 @@ var Popover = function Popover(_ref) {
|
|
|
172
176
|
py: 2,
|
|
173
177
|
px: 1,
|
|
174
178
|
zIndex: 1
|
|
175
|
-
}, rest), popover)));
|
|
179
|
+
}, rest), popover))));
|
|
176
180
|
};
|
|
177
181
|
|
|
178
182
|
exports.Popover = Popover;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Popover/Popover.tsx"],"names":["POPOVER_VARIANTS","defaultLight","backgroundColor","color","defaultDark","Popover","children","onClose","offset","placement","pointer","popover","variant","visible","_visible","rest","setVisible","tooltipRef","current","focus","anchorRef","onVisible","onHide","handleHide","handleKeydown","event","key","document","addEventListener","removeEventListener","position","active","isFlipped","state","ref","onClickOutside","when","type","Tip","Box","DROP_SHADOW","variants","Panel","Close","Clickable"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Popover/Popover.tsx"],"names":["POPOVER_VARIANTS","defaultLight","backgroundColor","color","defaultDark","Popover","children","onClose","offset","placement","pointer","popover","variant","visible","_visible","rest","setVisible","tooltipRef","current","focus","anchorRef","onVisible","onHide","handleHide","handleKeydown","event","key","document","addEventListener","removeEventListener","position","active","isFlipped","state","ref","onClickOutside","when","type","createPortal","Tip","Box","DROP_SHADOW","variants","Panel","Close","Clickable"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport { DROP_SHADOW } from \"../../helpers\"\nimport { CloseIcon } from \"../../svgs\"\nimport { Position, useClickOutside, usePortal, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Pointer } from \"../Pointer\"\n\nexport const POPOVER_VARIANTS = {\n defaultLight: {\n backgroundColor: \"white100\",\n color: \"black100\",\n },\n defaultDark: {\n backgroundColor: \"black100\",\n color: \"white100\",\n },\n}\n\nexport type PopoverVariant = keyof typeof POPOVER_VARIANTS\n\nexport interface PopoverActions {\n /** Call to show popover */\n onVisible(): void\n /** Call to hide popover */\n onHide(): void\n /** Pass ref to element you want the popover to be anchored to */\n anchorRef: React.MutableRefObject<HTMLElement>\n}\n\nexport interface PopoverProps extends BoxProps {\n children: ({ anchorRef, onVisible, onHide }: PopoverActions) => JSX.Element\n offset?: number\n onClose?: () => void\n placement?: Position\n /** Display triangular pointer back to anchor node */\n pointer?: boolean\n popover: React.ReactNode\n variant?: PopoverVariant\n /** Initial default visibility */\n visible?: boolean\n}\n\n/**\n * A `Popover` is a small modal-type element which is anchored, and can be\n * positioned relative to, another element.\n */\nexport const Popover: React.FC<PopoverProps> = ({\n children,\n onClose,\n offset = 10,\n placement = \"top\",\n pointer = false,\n popover,\n variant = \"defaultLight\",\n visible: _visible = false,\n ...rest\n}) => {\n const [visible, setVisible] = useState(false)\n\n // If prop updates/set initial visibility.\n useEffect(() => {\n setVisible(_visible)\n }, [_visible])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const onVisible = useCallback(() => {\n setVisible(true)\n }, [])\n\n const onHide = useCallback(() => {\n setVisible(false)\n }, [])\n\n const handleHide = useCallback(() => {\n onHide()\n onClose?.()\n }, [onHide, onClose])\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n handleHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [handleHide])\n\n const {\n anchorRef,\n tooltipRef,\n state: { isFlipped },\n } = usePosition({\n position: placement,\n offset,\n active: visible,\n })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: handleHide,\n when: visible,\n type: \"click\",\n })\n\n const { createPortal } = usePortal()\n\n return (\n <>\n {children({ anchorRef: anchorRef as any, onVisible, onHide })}\n\n {visible &&\n createPortal(\n <Tip\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n display=\"inline-block\"\n position=\"relative\"\n variant={variant}\n >\n {pointer && (\n <Pointer\n variant={variant}\n placement={placement}\n isFlipped={isFlipped}\n />\n )}\n\n <Close\n position=\"relative\"\n zIndex={2}\n p={1}\n onClick={handleHide}\n aria-label=\"Close\"\n >\n <CloseIcon fill=\"currentColor\" display=\"block\" />\n </Close>\n\n <Panel\n variant={variant}\n position=\"relative\"\n py={2}\n px={1}\n zIndex={1}\n {...rest}\n >\n {popover}\n </Panel>\n </Tip>\n )}\n </>\n )\n}\n\nconst Tip = styled(Box)<{ variant?: PopoverVariant }>`\n position: fixed;\n z-index: 1;\n text-align: left;\n transition: opacity 250ms ease-out;\n box-shadow: ${DROP_SHADOW};\n ${variant({ variants: POPOVER_VARIANTS })}\n`\n\nconst Panel = styled(Box)<{ variant?: PopoverVariant }>`\n ${variant({ variants: POPOVER_VARIANTS })}\n`\n\nconst Close = styled(Clickable)`\n float: right;\n`\n"],"file":"Popover.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artsy/palette",
|
|
3
|
-
"version": "29.
|
|
3
|
+
"version": "29.2.0",
|
|
4
4
|
"description": "Design system library for react components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -174,5 +174,5 @@
|
|
|
174
174
|
"<rootDir>/www/"
|
|
175
175
|
]
|
|
176
176
|
},
|
|
177
|
-
"gitHead": "
|
|
177
|
+
"gitHead": "6f42dd826c597ac693ccd55db9bfa53b0b5f2367"
|
|
178
178
|
}
|