@artsy/palette 45.3.0 → 45.4.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.
- package/dist/elements/Dropdown/Dropdown.d.ts +3 -1
- package/dist/elements/Dropdown/Dropdown.js +5 -2
- package/dist/elements/Dropdown/Dropdown.js.map +1 -1
- package/dist/elements/Dropdown/Dropdown.story.d.ts +44 -1
- package/dist/elements/Dropdown/Dropdown.story.js +117 -1
- package/dist/elements/Dropdown/Dropdown.story.js.map +1 -1
- package/package.json +2 -2
|
@@ -33,10 +33,12 @@ export interface DropdownProps extends Omit<BoxProps, "children"> {
|
|
|
33
33
|
children: Children;
|
|
34
34
|
/** Optionally disable flipping (default: `true`) */
|
|
35
35
|
flip?: boolean;
|
|
36
|
+
/** Whether to return focus to the previous element when the dropdown closes (default: `true`) */
|
|
37
|
+
returnFocus?: boolean;
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
40
|
* A `Dropdown` is a small modal-type element which is anchored, and can be
|
|
39
41
|
* positioned relative to, another element and designed to be transitioned in on hover or on click.
|
|
40
42
|
*/
|
|
41
|
-
export declare const Dropdown: ({ placement, visible: _visible, keepInDOM, children, offset, dropdown, dropdownZIndex, openDropdownByClick, transition: _transition, flip, ...rest }: DropdownProps) => React.JSX.Element;
|
|
43
|
+
export declare const Dropdown: ({ placement, visible: _visible, keepInDOM, children, offset, dropdown, dropdownZIndex, openDropdownByClick, transition: _transition, flip, returnFocus, ...rest }: DropdownProps) => React.JSX.Element;
|
|
42
44
|
export {};
|
|
@@ -13,7 +13,7 @@ var _Box = require("../Box");
|
|
|
13
13
|
var _reactFocusOn = require("react-focus-on");
|
|
14
14
|
var _themeGet = require("@styled-system/theme-get");
|
|
15
15
|
var _esToolkit = require("es-toolkit");
|
|
16
|
-
var _excluded = ["placement", "visible", "keepInDOM", "children", "offset", "dropdown", "dropdownZIndex", "openDropdownByClick", "transition", "flip"];
|
|
16
|
+
var _excluded = ["placement", "visible", "keepInDOM", "children", "offset", "dropdown", "dropdownZIndex", "openDropdownByClick", "transition", "flip", "returnFocus"];
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -52,6 +52,8 @@ var Dropdown = exports.Dropdown = function Dropdown(_ref) {
|
|
|
52
52
|
_transition = _ref$transition === void 0 ? true : _ref$transition,
|
|
53
53
|
_ref$flip = _ref.flip,
|
|
54
54
|
flip = _ref$flip === void 0 ? true : _ref$flip,
|
|
55
|
+
_ref$returnFocus = _ref.returnFocus,
|
|
56
|
+
returnFocus = _ref$returnFocus === void 0 ? true : _ref$returnFocus,
|
|
55
57
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
56
58
|
var _useState = (0, _react.useState)(false),
|
|
57
59
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -296,7 +298,8 @@ var Dropdown = exports.Dropdown = function Dropdown(_ref) {
|
|
|
296
298
|
}, /*#__PURE__*/_react.default.createElement(_reactFocusOn.FocusOn, {
|
|
297
299
|
noIsolation: true,
|
|
298
300
|
enabled: focusEnabled,
|
|
299
|
-
onClickOutside: onHide
|
|
301
|
+
onClickOutside: onHide,
|
|
302
|
+
returnFocus: returnFocus
|
|
300
303
|
}, /*#__PURE__*/_react.default.createElement(Pane, {
|
|
301
304
|
maxHeight: maxHeight
|
|
302
305
|
}, typeof dropdown === "function" ? dropdown({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_utils","_usePortal2","_Box","_reactFocusOn","_themeGet","_esToolkit","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Dropdown","exports","_ref","_ref$placement","placement","_ref$visible","visible","_visible","keepInDOM","children","_ref$offset","offset","dropdown","_ref$dropdownZIndex","dropdownZIndex","openDropdownByClick","_ref$transition","transition","_transition","_ref$flip","flip","rest","_useState","useState","_useState2","setVisible","useEffect","timeoutRef","useRef","setVisibility","useCallback","_ref2","_ref2$isPointer","isPointer","delay","current","clearTimeout","setTimeout","activeRef","pointerRef","onVisible","onHide","onToggleVisibility","_usePosition","usePosition","position","active","padding","anchorRef","panelRef","tooltipRef","isFlipped","state","handleKeyDown","event","handleKeyUp","document","activeElement","contains","handleClick","tagName","toLowerCase","isClosableElement","element","closest","addEventListener","removeEventListener","handleMouseEnter","handleMouseLeave","_useState3","_useState4","setTransition","requestAnimationFrame","translation","useMemo","handlePointerVisible","handlePointerHide","anchorProps","onClick","onMouseEnter","onMouseLeave","_usePortal","usePortal","createPortal","focusEnabled","_useState5","_useState6","maxHeight","setMaxHeight","calculate","debounce","nextMaxHeight","calculateMaxHeight","anchorRect","getBoundingClientRect","window","passive","createElement","Fragment","Container","tabIndex","ref","zIndex","display","style","visibility","Panel","opacity","transform","FocusOn","noIsolation","enabled","onClickOutside","Pane","styled","Box","withConfig","displayName","componentId","_ref7","_ref8","concat","themeGet"],"sources":["../../../src/elements/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { calculateMaxHeight, Position, usePosition } from \"../../utils\"\nimport { usePortal } from \"../../utils/usePortal\"\nimport { Box, BoxProps } from \"../Box\"\nimport { FocusOn } from \"react-focus-on\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport { debounce } from \"es-toolkit\"\n\nexport interface DropdownActions {\n /** Call to show dropdown */\n onVisible(): void\n /** Call to hide dropdown */\n onHide(): void\n /** Manipulate visible directly */\n setVisible(value: boolean): void\n /** Pass ref to element you want the dropdown to be anchored to */\n anchorRef: React.MutableRefObject<HTMLElement>\n /** Spread props on element you want the dropdown to be anchored to */\n anchorProps: React.HTMLAttributes<HTMLElement>\n /** Whether or not the dropdown is visible */\n visible: boolean\n}\n\ntype Children =\n | React.ReactNode\n | ((dropdownActions: DropdownActions) => React.ReactNode)\n\nexport interface DropdownProps extends Omit<BoxProps, \"children\"> {\n placement?: Position\n /** Intially visible by default? */\n visible?: boolean\n /** Whether or not we should animate the dropdown transition */\n transition?: boolean\n dropdown:\n | React.ReactNode\n | ((\n dropdownActions: Pick<\n DropdownActions,\n \"onHide\" | \"onVisible\" | \"setVisible\" | \"visible\"\n >\n ) => void)\n /** Custom zIndex to assign to the dropdown panel */\n dropdownZIndex?: number\n /** Distance in pixels from anchor */\n offset?: number\n /** Should the dropdown panel always be present in the DOM (vs removed when invisible) */\n keepInDOM?: boolean\n openDropdownByClick?: boolean\n children: Children\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n}\n\n/**\n * A `Dropdown` is a small modal-type element which is anchored, and can be\n * positioned relative to, another element and designed to be transitioned in on hover or on click.\n */\nexport const Dropdown = ({\n placement = \"bottom\",\n visible: _visible = false,\n keepInDOM,\n children,\n offset = 10,\n dropdown,\n dropdownZIndex = 1,\n openDropdownByClick,\n transition: _transition = true,\n flip = true,\n ...rest\n}: DropdownProps) => {\n const [visible, setVisible] = useState(false)\n\n // If prop updates/set initial visibility.\n useEffect(() => {\n setVisible(_visible)\n }, [_visible])\n\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n // We need to keep the pointer state in sync with the visibility state, else we\n // wind up with focus isolation out of sync.\n const setVisibility = useCallback(\n ({\n visible,\n isPointer = false,\n }: {\n visible: boolean\n isPointer?: boolean\n }) => {\n const delay = _transition ? (visible ? 50 : 150) : visible ? 1 : 50\n\n timeoutRef.current && clearTimeout(timeoutRef.current)\n timeoutRef.current = setTimeout(() => {\n if (!visible && activeRef.current) return\n pointerRef.current = isPointer\n setVisible(visible)\n }, delay)\n },\n [_transition]\n )\n\n const onVisible = () => {\n setVisibility({ visible: true })\n }\n\n const onHide = useCallback(() => {\n setVisibility({ visible: false })\n }, [setVisibility])\n\n const onToggleVisibility = () => {\n if (visible) {\n return onHide()\n }\n\n onVisible()\n }\n\n const {\n anchorRef,\n tooltipRef: panelRef,\n state: { isFlipped },\n } = usePosition({\n position: placement,\n offset: 0,\n active: visible,\n flip,\n padding: offset,\n })\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onHide()\n }\n }\n\n // Close dropdown when focus leaves element\n const handleKeyUp = (event: KeyboardEvent) => {\n if (!panelRef.current) return\n\n if (\n event.key === \"Tab\" &&\n !(\n panelRef.current === document.activeElement ||\n panelRef.current.contains(document.activeElement)\n )\n ) {\n onHide()\n }\n }\n\n const handleClick = (event: MouseEvent) => {\n if (!panelRef.current || !openDropdownByClick) return\n const target = event.target as Element\n const tagName = target.tagName.toLowerCase()\n let isClosableElement = tagName === \"a\"\n let element: Element | null = target\n\n // Find parent link element\n if (!isClosableElement) {\n element = target.closest(\"a\")\n isClosableElement = !!element\n }\n\n if (isClosableElement && element && panelRef.current.contains(element)) {\n onHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeyDown)\n document.addEventListener(\"keyup\", handleKeyUp)\n document.addEventListener(\"click\", handleClick)\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown)\n document.removeEventListener(\"keyup\", handleKeyUp)\n document.removeEventListener(\"click\", handleClick)\n }\n }, [panelRef, openDropdownByClick, onHide])\n\n const activeRef = useRef(false)\n\n const handleMouseEnter = () => {\n activeRef.current = true\n }\n\n const handleMouseLeave = () => {\n activeRef.current = false\n onHide()\n }\n\n const [transition, setTransition] = useState(false)\n\n // Wait for next tick so that animation runs\n useEffect(() => {\n requestAnimationFrame(() => {\n setTransition(visible)\n })\n }, [visible])\n\n const translation = useMemo(() => {\n switch (placement) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n return `translateY(10px)`\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return `translateY(-10px)`\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return `translateX(10px)`\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n return `translateX(-10px)`\n }\n }, [placement])\n\n // Fills offset gap between anchor and panel to prevent mouseout\n const padding = useMemo(() => {\n switch (placement) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n return { [isFlipped ? \"pt\" : \"pb\"]: offset }\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return { [isFlipped ? \"pb\" : \"pt\"]: offset }\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return { [isFlipped ? \"pl\" : \"pr\"]: offset }\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n return { [isFlipped ? \"pr\" : \"pl\"]: offset }\n }\n }, [placement, isFlipped, offset])\n\n const pointerRef = useRef(false)\n\n const handlePointerVisible = () => {\n setVisibility({ visible: true, isPointer: true })\n }\n\n const handlePointerHide = () => {\n setVisibility({ visible: false, isPointer: false })\n }\n\n const anchorProps: React.HTMLAttributes<HTMLElement> = {\n \"aria-expanded\": visible,\n \"aria-haspopup\": true,\n ...(openDropdownByClick\n ? {\n onClick: onToggleVisibility,\n }\n : {\n onMouseEnter: handlePointerVisible,\n onMouseLeave: handlePointerHide,\n onClick: onVisible,\n }),\n }\n\n const { createPortal } = usePortal()\n\n const isPointer = !openDropdownByClick && pointerRef.current\n const focusEnabled = visible && !isPointer\n\n const [maxHeight, setMaxHeight] = useState(0)\n\n useEffect(() => {\n const calculate = debounce(() => {\n if (!anchorRef.current) return\n\n const nextMaxHeight = calculateMaxHeight({\n anchorRect: anchorRef.current.getBoundingClientRect(),\n position: placement,\n offset,\n })\n\n setMaxHeight(nextMaxHeight)\n }, 500)\n\n window.addEventListener(\"resize\", calculate, { passive: true })\n window.addEventListener(\"scroll\", calculate, { passive: true })\n calculate()\n\n return () => {\n window.removeEventListener(\"resize\", calculate)\n window.removeEventListener(\"scroll\", calculate)\n }\n }, [anchorRef, offset, placement, visible])\n\n return (\n <>\n {(children as any)?.({\n anchorRef: anchorRef as any,\n anchorProps,\n onVisible,\n onHide,\n setVisible,\n visible,\n })}\n\n {(visible || keepInDOM) &&\n createPortal(\n <Container\n aria-label=\"Press escape to close\"\n tabIndex={0}\n ref={panelRef as any}\n zIndex={dropdownZIndex}\n display=\"inline-block\"\n placement={placement}\n style={{\n ...(keepInDOM\n ? { visibility: visible ? \"visible\" : \"hidden\" }\n : {}),\n }}\n {...(openDropdownByClick\n ? {}\n : {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n })}\n maxHeight={maxHeight + offset}\n {...padding}\n {...rest}\n >\n <Panel\n transition={_transition}\n maxHeight={maxHeight}\n style={\n transition\n ? // In\n { opacity: 1, transform: \"translate(0)\" }\n : // Out\n {\n opacity: 0,\n transform: translation,\n }\n }\n >\n <FocusOn\n noIsolation\n enabled={focusEnabled}\n onClickOutside={onHide}\n >\n <Pane maxHeight={maxHeight}>\n {typeof dropdown === \"function\"\n ? (dropdown as any)({\n onVisible,\n onHide,\n setVisible,\n visible,\n })\n : dropdown}\n </Pane>\n </FocusOn>\n </Panel>\n </Container>\n )}\n </>\n )\n}\n\nconst Container = styled(Box)<{ placement: Position } & BoxProps>`\n position: fixed;\n text-align: left;\n outline: 0;\n`\n\nconst Panel = styled(Box)<{ transition: boolean; maxHeight: number }>`\n transition: ${({ transition }) =>\n transition ? \"opacity 250ms ease-out, transform 250ms ease-out\" : \"none\"};\n`\n\nconst Pane = styled(Box)`\n > div {\n max-height: ${({ maxHeight }) => (maxHeight ? `${maxHeight}px` : \"100vh\")};\n box-shadow: ${themeGet(\"effects.flatShadow\")};\n background-color: ${themeGet(\"colors.mono0\")};\n border: 1px solid ${themeGet(\"colors.mono10\")};\n overflow-y: auto;\n }\n`\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_utils","_usePortal2","_Box","_reactFocusOn","_themeGet","_esToolkit","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Dropdown","exports","_ref","_ref$placement","placement","_ref$visible","visible","_visible","keepInDOM","children","_ref$offset","offset","dropdown","_ref$dropdownZIndex","dropdownZIndex","openDropdownByClick","_ref$transition","transition","_transition","_ref$flip","flip","_ref$returnFocus","returnFocus","rest","_useState","useState","_useState2","setVisible","useEffect","timeoutRef","useRef","setVisibility","useCallback","_ref2","_ref2$isPointer","isPointer","delay","current","clearTimeout","setTimeout","activeRef","pointerRef","onVisible","onHide","onToggleVisibility","_usePosition","usePosition","position","active","padding","anchorRef","panelRef","tooltipRef","isFlipped","state","handleKeyDown","event","handleKeyUp","document","activeElement","contains","handleClick","tagName","toLowerCase","isClosableElement","element","closest","addEventListener","removeEventListener","handleMouseEnter","handleMouseLeave","_useState3","_useState4","setTransition","requestAnimationFrame","translation","useMemo","handlePointerVisible","handlePointerHide","anchorProps","onClick","onMouseEnter","onMouseLeave","_usePortal","usePortal","createPortal","focusEnabled","_useState5","_useState6","maxHeight","setMaxHeight","calculate","debounce","nextMaxHeight","calculateMaxHeight","anchorRect","getBoundingClientRect","window","passive","createElement","Fragment","Container","tabIndex","ref","zIndex","display","style","visibility","Panel","opacity","transform","FocusOn","noIsolation","enabled","onClickOutside","Pane","styled","Box","withConfig","displayName","componentId","_ref7","_ref8","concat","themeGet"],"sources":["../../../src/elements/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { calculateMaxHeight, Position, usePosition } from \"../../utils\"\nimport { usePortal } from \"../../utils/usePortal\"\nimport { Box, BoxProps } from \"../Box\"\nimport { FocusOn } from \"react-focus-on\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport { debounce } from \"es-toolkit\"\n\nexport interface DropdownActions {\n /** Call to show dropdown */\n onVisible(): void\n /** Call to hide dropdown */\n onHide(): void\n /** Manipulate visible directly */\n setVisible(value: boolean): void\n /** Pass ref to element you want the dropdown to be anchored to */\n anchorRef: React.MutableRefObject<HTMLElement>\n /** Spread props on element you want the dropdown to be anchored to */\n anchorProps: React.HTMLAttributes<HTMLElement>\n /** Whether or not the dropdown is visible */\n visible: boolean\n}\n\ntype Children =\n | React.ReactNode\n | ((dropdownActions: DropdownActions) => React.ReactNode)\n\nexport interface DropdownProps extends Omit<BoxProps, \"children\"> {\n placement?: Position\n /** Intially visible by default? */\n visible?: boolean\n /** Whether or not we should animate the dropdown transition */\n transition?: boolean\n dropdown:\n | React.ReactNode\n | ((\n dropdownActions: Pick<\n DropdownActions,\n \"onHide\" | \"onVisible\" | \"setVisible\" | \"visible\"\n >\n ) => void)\n /** Custom zIndex to assign to the dropdown panel */\n dropdownZIndex?: number\n /** Distance in pixels from anchor */\n offset?: number\n /** Should the dropdown panel always be present in the DOM (vs removed when invisible) */\n keepInDOM?: boolean\n openDropdownByClick?: boolean\n children: Children\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n /** Whether to return focus to the previous element when the dropdown closes (default: `true`) */\n returnFocus?: boolean\n}\n\n/**\n * A `Dropdown` is a small modal-type element which is anchored, and can be\n * positioned relative to, another element and designed to be transitioned in on hover or on click.\n */\nexport const Dropdown = ({\n placement = \"bottom\",\n visible: _visible = false,\n keepInDOM,\n children,\n offset = 10,\n dropdown,\n dropdownZIndex = 1,\n openDropdownByClick,\n transition: _transition = true,\n flip = true,\n returnFocus = true,\n ...rest\n}: DropdownProps) => {\n const [visible, setVisible] = useState(false)\n\n // If prop updates/set initial visibility.\n useEffect(() => {\n setVisible(_visible)\n }, [_visible])\n\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n // We need to keep the pointer state in sync with the visibility state, else we\n // wind up with focus isolation out of sync.\n const setVisibility = useCallback(\n ({\n visible,\n isPointer = false,\n }: {\n visible: boolean\n isPointer?: boolean\n }) => {\n const delay = _transition ? (visible ? 50 : 150) : visible ? 1 : 50\n\n timeoutRef.current && clearTimeout(timeoutRef.current)\n timeoutRef.current = setTimeout(() => {\n if (!visible && activeRef.current) return\n pointerRef.current = isPointer\n setVisible(visible)\n }, delay)\n },\n [_transition]\n )\n\n const onVisible = () => {\n setVisibility({ visible: true })\n }\n\n const onHide = useCallback(() => {\n setVisibility({ visible: false })\n }, [setVisibility])\n\n const onToggleVisibility = () => {\n if (visible) {\n return onHide()\n }\n\n onVisible()\n }\n\n const {\n anchorRef,\n tooltipRef: panelRef,\n state: { isFlipped },\n } = usePosition({\n position: placement,\n offset: 0,\n active: visible,\n flip,\n padding: offset,\n })\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onHide()\n }\n }\n\n // Close dropdown when focus leaves element\n const handleKeyUp = (event: KeyboardEvent) => {\n if (!panelRef.current) return\n\n if (\n event.key === \"Tab\" &&\n !(\n panelRef.current === document.activeElement ||\n panelRef.current.contains(document.activeElement)\n )\n ) {\n onHide()\n }\n }\n\n const handleClick = (event: MouseEvent) => {\n if (!panelRef.current || !openDropdownByClick) return\n const target = event.target as Element\n const tagName = target.tagName.toLowerCase()\n let isClosableElement = tagName === \"a\"\n let element: Element | null = target\n\n // Find parent link element\n if (!isClosableElement) {\n element = target.closest(\"a\")\n isClosableElement = !!element\n }\n\n if (isClosableElement && element && panelRef.current.contains(element)) {\n onHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeyDown)\n document.addEventListener(\"keyup\", handleKeyUp)\n document.addEventListener(\"click\", handleClick)\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown)\n document.removeEventListener(\"keyup\", handleKeyUp)\n document.removeEventListener(\"click\", handleClick)\n }\n }, [panelRef, openDropdownByClick, onHide])\n\n const activeRef = useRef(false)\n\n const handleMouseEnter = () => {\n activeRef.current = true\n }\n\n const handleMouseLeave = () => {\n activeRef.current = false\n onHide()\n }\n\n const [transition, setTransition] = useState(false)\n\n // Wait for next tick so that animation runs\n useEffect(() => {\n requestAnimationFrame(() => {\n setTransition(visible)\n })\n }, [visible])\n\n const translation = useMemo(() => {\n switch (placement) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n return `translateY(10px)`\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return `translateY(-10px)`\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return `translateX(10px)`\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n return `translateX(-10px)`\n }\n }, [placement])\n\n // Fills offset gap between anchor and panel to prevent mouseout\n const padding = useMemo(() => {\n switch (placement) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n return { [isFlipped ? \"pt\" : \"pb\"]: offset }\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return { [isFlipped ? \"pb\" : \"pt\"]: offset }\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return { [isFlipped ? \"pl\" : \"pr\"]: offset }\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n return { [isFlipped ? \"pr\" : \"pl\"]: offset }\n }\n }, [placement, isFlipped, offset])\n\n const pointerRef = useRef(false)\n\n const handlePointerVisible = () => {\n setVisibility({ visible: true, isPointer: true })\n }\n\n const handlePointerHide = () => {\n setVisibility({ visible: false, isPointer: false })\n }\n\n const anchorProps: React.HTMLAttributes<HTMLElement> = {\n \"aria-expanded\": visible,\n \"aria-haspopup\": true,\n ...(openDropdownByClick\n ? {\n onClick: onToggleVisibility,\n }\n : {\n onMouseEnter: handlePointerVisible,\n onMouseLeave: handlePointerHide,\n onClick: onVisible,\n }),\n }\n\n const { createPortal } = usePortal()\n\n const isPointer = !openDropdownByClick && pointerRef.current\n const focusEnabled = visible && !isPointer\n\n const [maxHeight, setMaxHeight] = useState(0)\n\n useEffect(() => {\n const calculate = debounce(() => {\n if (!anchorRef.current) return\n\n const nextMaxHeight = calculateMaxHeight({\n anchorRect: anchorRef.current.getBoundingClientRect(),\n position: placement,\n offset,\n })\n\n setMaxHeight(nextMaxHeight)\n }, 500)\n\n window.addEventListener(\"resize\", calculate, { passive: true })\n window.addEventListener(\"scroll\", calculate, { passive: true })\n calculate()\n\n return () => {\n window.removeEventListener(\"resize\", calculate)\n window.removeEventListener(\"scroll\", calculate)\n }\n }, [anchorRef, offset, placement, visible])\n\n return (\n <>\n {(children as any)?.({\n anchorRef: anchorRef as any,\n anchorProps,\n onVisible,\n onHide,\n setVisible,\n visible,\n })}\n\n {(visible || keepInDOM) &&\n createPortal(\n <Container\n aria-label=\"Press escape to close\"\n tabIndex={0}\n ref={panelRef as any}\n zIndex={dropdownZIndex}\n display=\"inline-block\"\n placement={placement}\n style={{\n ...(keepInDOM\n ? { visibility: visible ? \"visible\" : \"hidden\" }\n : {}),\n }}\n {...(openDropdownByClick\n ? {}\n : {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n })}\n maxHeight={maxHeight + offset}\n {...padding}\n {...rest}\n >\n <Panel\n transition={_transition}\n maxHeight={maxHeight}\n style={\n transition\n ? // In\n { opacity: 1, transform: \"translate(0)\" }\n : // Out\n {\n opacity: 0,\n transform: translation,\n }\n }\n >\n <FocusOn\n noIsolation\n enabled={focusEnabled}\n onClickOutside={onHide}\n returnFocus={returnFocus}\n >\n <Pane maxHeight={maxHeight}>\n {typeof dropdown === \"function\"\n ? (dropdown as any)({\n onVisible,\n onHide,\n setVisible,\n visible,\n })\n : dropdown}\n </Pane>\n </FocusOn>\n </Panel>\n </Container>\n )}\n </>\n )\n}\n\nconst Container = styled(Box)<{ placement: Position } & BoxProps>`\n position: fixed;\n text-align: left;\n outline: 0;\n`\n\nconst Panel = styled(Box)<{ transition: boolean; maxHeight: number }>`\n transition: ${({ transition }) =>\n transition ? \"opacity 250ms ease-out, transform 250ms ease-out\" : \"none\"};\n`\n\nconst Pane = styled(Box)`\n > div {\n max-height: ${({ maxHeight }) => (maxHeight ? `${maxHeight}px` : \"100vh\")};\n box-shadow: ${themeGet(\"effects.flatShadow\")};\n background-color: ${themeGet(\"colors.mono0\")};\n border: 1px solid ${themeGet(\"colors.mono10\")};\n overflow-y: auto;\n }\n`\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
declare const _default: {
|
|
3
|
-
component: ({ placement, visible: _visible, keepInDOM, children, offset, dropdown, dropdownZIndex, openDropdownByClick, transition: _transition, flip, ...rest }: import("./Dropdown").DropdownProps) => React.JSX.Element;
|
|
3
|
+
component: ({ placement, visible: _visible, keepInDOM, children, offset, dropdown, dropdownZIndex, openDropdownByClick, transition: _transition, flip, returnFocus, ...rest }: import("./Dropdown").DropdownProps) => React.JSX.Element;
|
|
4
4
|
title: string;
|
|
5
5
|
tags: string[];
|
|
6
6
|
parameters: {
|
|
@@ -64,3 +64,46 @@ export declare const OverflowingContent: {
|
|
|
64
64
|
export declare const DisabledTransition: {
|
|
65
65
|
render: () => React.JSX.Element;
|
|
66
66
|
};
|
|
67
|
+
export declare const ReturnFocusDefault: {
|
|
68
|
+
args: {
|
|
69
|
+
placement: string;
|
|
70
|
+
openDropdownByClick: boolean;
|
|
71
|
+
dropdown: React.JSX.Element;
|
|
72
|
+
children: ({ anchorRef, anchorProps }: {
|
|
73
|
+
anchorRef: any;
|
|
74
|
+
anchorProps: any;
|
|
75
|
+
}) => React.JSX.Element;
|
|
76
|
+
};
|
|
77
|
+
parameters: {
|
|
78
|
+
docs: {
|
|
79
|
+
description: {
|
|
80
|
+
story: string;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
chromatic: {
|
|
84
|
+
disable: boolean;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export declare const ReturnFocusDisabled: {
|
|
89
|
+
args: {
|
|
90
|
+
placement: string;
|
|
91
|
+
openDropdownByClick: boolean;
|
|
92
|
+
returnFocus: boolean;
|
|
93
|
+
dropdown: React.JSX.Element;
|
|
94
|
+
children: ({ anchorRef, anchorProps }: {
|
|
95
|
+
anchorRef: any;
|
|
96
|
+
anchorProps: any;
|
|
97
|
+
}) => React.JSX.Element;
|
|
98
|
+
};
|
|
99
|
+
parameters: {
|
|
100
|
+
docs: {
|
|
101
|
+
description: {
|
|
102
|
+
story: string;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
chromatic: {
|
|
106
|
+
disable: boolean;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
};
|
|
@@ -4,7 +4,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = exports.OverflowingContent = exports.OpenDropdownByClick = exports.KeepInDOM = exports.FocusOrder = exports.FilterExample = exports.DisabledTransition = exports.Default = exports.ChangeDimensions = void 0;
|
|
7
|
+
exports.default = exports.ReturnFocusDisabled = exports.ReturnFocusDefault = exports.OverflowingContent = exports.OpenDropdownByClick = exports.KeepInDOM = exports.FocusOrder = exports.FilterExample = exports.DisabledTransition = exports.Default = exports.ChangeDimensions = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _Box = require("../Box");
|
|
10
10
|
var _Button = require("../Button");
|
|
@@ -335,4 +335,120 @@ var DisabledTransition = exports.DisabledTransition = {
|
|
|
335
335
|
}));
|
|
336
336
|
}
|
|
337
337
|
};
|
|
338
|
+
var ReturnFocusDefault = exports.ReturnFocusDefault = {
|
|
339
|
+
args: {
|
|
340
|
+
placement: "bottom",
|
|
341
|
+
openDropdownByClick: true,
|
|
342
|
+
dropdown: /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
343
|
+
width: 200,
|
|
344
|
+
p: 2
|
|
345
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
346
|
+
variant: "sm",
|
|
347
|
+
mb: 1
|
|
348
|
+
}, "Try this:"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
349
|
+
variant: "xs",
|
|
350
|
+
color: "mono60",
|
|
351
|
+
mb: 2
|
|
352
|
+
}, "1. Click button to open dropdown"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
353
|
+
variant: "xs",
|
|
354
|
+
color: "mono60",
|
|
355
|
+
mb: 2
|
|
356
|
+
}, "2. Press Tab to focus on links"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
357
|
+
variant: "xs",
|
|
358
|
+
color: "mono60",
|
|
359
|
+
mb: 2
|
|
360
|
+
}, "3. Press Escape to close"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
361
|
+
variant: "xs",
|
|
362
|
+
color: "mono60",
|
|
363
|
+
mb: 2
|
|
364
|
+
}, "4. Notice focus returns to button"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
365
|
+
as: "a",
|
|
366
|
+
display: "block",
|
|
367
|
+
variant: "sm",
|
|
368
|
+
href: "#",
|
|
369
|
+
tabIndex: 0,
|
|
370
|
+
mb: 1
|
|
371
|
+
}, "Focusable Link 1"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
372
|
+
as: "a",
|
|
373
|
+
display: "block",
|
|
374
|
+
variant: "sm",
|
|
375
|
+
href: "#",
|
|
376
|
+
tabIndex: 0
|
|
377
|
+
}, "Focusable Link 2")),
|
|
378
|
+
children: function children(_ref10) {
|
|
379
|
+
var anchorRef = _ref10.anchorRef,
|
|
380
|
+
anchorProps = _ref10.anchorProps;
|
|
381
|
+
return /*#__PURE__*/_react.default.createElement(_Button.Button, _extends({
|
|
382
|
+
ref: anchorRef,
|
|
383
|
+
variant: "secondaryBlack",
|
|
384
|
+
size: "small"
|
|
385
|
+
}, anchorProps), "Click me (returnFocus=true)");
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
parameters: {
|
|
389
|
+
docs: {
|
|
390
|
+
description: {
|
|
391
|
+
story: "Default behavior with `returnFocus=true`. When you close the dropdown (Escape key or click outside), focus returns to the trigger button for better accessibility."
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
chromatic: {
|
|
395
|
+
disable: true
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
var ReturnFocusDisabled = exports.ReturnFocusDisabled = {
|
|
400
|
+
args: {
|
|
401
|
+
placement: "bottom",
|
|
402
|
+
openDropdownByClick: true,
|
|
403
|
+
returnFocus: false,
|
|
404
|
+
dropdown: /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
405
|
+
width: 200,
|
|
406
|
+
p: 2
|
|
407
|
+
}, /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
408
|
+
variant: "sm",
|
|
409
|
+
mb: 1
|
|
410
|
+
}, "Try this:"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
411
|
+
variant: "xs",
|
|
412
|
+
color: "mono60",
|
|
413
|
+
mb: 2
|
|
414
|
+
}, "1. Click button to open dropdown"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
415
|
+
variant: "xs",
|
|
416
|
+
color: "mono60",
|
|
417
|
+
mb: 2
|
|
418
|
+
}, "2. Press Tab to focus on button"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
419
|
+
variant: "xs",
|
|
420
|
+
color: "mono60",
|
|
421
|
+
mb: 2
|
|
422
|
+
}, "3. Press Escape to close"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
423
|
+
variant: "xs",
|
|
424
|
+
color: "mono60",
|
|
425
|
+
mb: 2
|
|
426
|
+
}, "4. Focus stays where it was"), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
427
|
+
variant: "primaryBlack",
|
|
428
|
+
size: "small",
|
|
429
|
+
onClick: function onClick() {
|
|
430
|
+
alert("Modal opened! Focus should not return to dropdown trigger.");
|
|
431
|
+
}
|
|
432
|
+
}, "Open Modal")),
|
|
433
|
+
children: function children(_ref11) {
|
|
434
|
+
var anchorRef = _ref11.anchorRef,
|
|
435
|
+
anchorProps = _ref11.anchorProps;
|
|
436
|
+
return /*#__PURE__*/_react.default.createElement(_Button.Button, _extends({
|
|
437
|
+
ref: anchorRef,
|
|
438
|
+
variant: "secondaryBlack",
|
|
439
|
+
size: "small"
|
|
440
|
+
}, anchorProps), "Click me (returnFocus=false)");
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
parameters: {
|
|
444
|
+
docs: {
|
|
445
|
+
description: {
|
|
446
|
+
story: "With `returnFocus=false`, focus does not return to the trigger when the dropdown closes. This is useful when the dropdown opens a modal or navigates to another page, where returning focus would be disruptive."
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
chromatic: {
|
|
450
|
+
disable: true
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
};
|
|
338
454
|
//# sourceMappingURL=Dropdown.story.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.story.js","names":["_react","_interopRequireWildcard","require","_Box","_Button","_Text","_Dropdown","_Clickable","_Flex","_Pill","_ChevronSmallDownIcon","_interopRequireDefault","_Spacer","_storybookBlocklist","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_extends","assign","bind","target","arguments","source","apply","_default","exports","component","Dropdown","title","tags","parameters","docs","description","controls","exclude","STORYBOOK_PROPS_BLOCKLIST","Default","args","placement","dropdown","createElement","Box","width","p","Text","as","display","variant","href","children","_ref","anchorRef","anchorProps","textAlign","Button","ref","size","chromatic","disable","KeepInDOM","keepInDOM","_ref2","ChangeDimensions","render","_useState","useState","_useState2","height","setHeight","useEffect","setInterval","Math","floor","random","_ref3","FocusOrder","Clickable","py","px","Flex","_ref4","mr","_ref5","OpenDropdownByClick","openDropdownByClick","_ref6","FilterExample","_ref7","Pill","Icon","ChevronSmallDownIcon","iconPosition","OverflowingContent","fill","map","_","_useState3","_useState4","setPlacement","Fragment","bg","Spacer","y","mb","selected","onClick","alignItems","justifyContent","_ref8","DisabledTransition","num","concat","transition","_ref9"],"sources":["../../../src/elements/Dropdown/Dropdown.story.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\"\nimport { Position } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Button } from \"../Button\"\nimport { Text } from \"../Text\"\nimport { Dropdown } from \"./Dropdown\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex } from \"../Flex\"\nimport { Pill } from \"../Pill\"\nimport ChevronSmallDownIcon from \"@artsy/icons/ChevronSmallDownIcon\"\nimport { Spacer } from \"../Spacer\"\nimport { STORYBOOK_PROPS_BLOCKLIST } from \"../../utils/storybookBlocklist\"\n\nexport default {\n component: Dropdown,\n title: \"Components/Dropdown\",\n tags: [\"autodocs\"],\n parameters: {\n docs: {\n description: {\n component:\n \"A dropdown component that renders content in a positioned overlay with various placement options and interaction modes.\",\n },\n },\n controls: {\n exclude: STORYBOOK_PROPS_BLOCKLIST,\n },\n },\n}\n\nexport const Default = {\n args: {\n placement: \"bottom\",\n dropdown: (\n <Box width={300} p={2}>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\">\n One\n </Text>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\">\n Two\n </Text>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\">\n Three\n </Text>\n </Box>\n ),\n children: ({ anchorRef, anchorProps }) => (\n <Box textAlign=\"center\">\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Hover to display dropdown\n </Button>\n </Box>\n ),\n },\n parameters: { chromatic: { disable: true } },\n}\n\nexport const KeepInDOM = {\n args: {\n placement: \"bottom\",\n keepInDOM: true,\n dropdown: (\n <Text p={2} variant=\"xs\">\n Content remains in DOM\n </Text>\n ),\n children: ({ anchorRef, anchorProps }) => (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Hover to display dropdown\n </Button>\n ),\n },\n parameters: { chromatic: { disable: true } },\n}\n\nexport const ChangeDimensions = {\n render: () => {\n const [height, setHeight] = useState(10)\n\n useEffect(() => {\n setInterval(() => {\n setHeight(Math.floor(Math.random() * 100))\n }, 1000)\n }, [])\n\n return (\n <Dropdown\n placement=\"bottom\"\n dropdown={<Box height={height} width={300} />}\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Hover to display dropdown\n </Button>\n )\n }}\n </Dropdown>\n )\n },\n}\n\nexport const FocusOrder = {\n render: () => {\n const dropdown = (\n <Text variant=\"sm-display\">\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n First\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Second\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Third\n </Clickable>\n </Text>\n )\n\n return (\n <Flex>\n <Dropdown dropdown={dropdown} placement=\"bottom\">\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n mr={1}\n {...anchorProps}\n >\n First Parent\n </Button>\n )\n }}\n </Dropdown>\n\n <Dropdown dropdown={dropdown} placement=\"bottom\">\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Second Parent\n </Button>\n )\n }}\n </Dropdown>\n </Flex>\n )\n },\n}\n\nexport const OpenDropdownByClick = {\n render: () => {\n const dropdown = (\n <Text variant=\"sm-display\">\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n First\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Second\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Third\n </Clickable>\n </Text>\n )\n\n return (\n <Flex>\n <Dropdown dropdown={dropdown} openDropdownByClick>\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n mr={1}\n {...anchorProps}\n >\n Click to display dropdown\n </Button>\n )\n }}\n </Dropdown>\n </Flex>\n )\n },\n}\n\nexport const FilterExample = {\n render: () => {\n return (\n <Dropdown\n dropdown={\n <Box p={1}>\n <Text variant=\"xs\">Example content</Text>\n </Box>\n }\n placement=\"bottom-start\"\n openDropdownByClick\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Pill\n ref={anchorRef as any}\n Icon={ChevronSmallDownIcon}\n iconPosition=\"right\"\n {...anchorProps}\n >\n Example\n </Pill>\n )\n }}\n </Dropdown>\n )\n },\n}\n\nexport const OverflowingContent = {\n render: () => {\n const dropdown = (\n <Text variant=\"sm-display\">\n {new Array(100).fill(null).map((_, i) => (\n <Clickable key={i} display=\"block\" width=\"100%\" py={1} px={2}>\n Item {i}\n </Clickable>\n ))}\n </Text>\n )\n\n const [placement, setPlacement] = useState<Position>(\"bottom\")\n\n return (\n <>\n <Box height={200} bg=\"mono10\" />\n\n <Spacer y={2} />\n\n {[\"bottom\", \"top\", \"left\", \"right\"].map((p) => {\n return (\n <Pill\n key={p}\n size=\"small\"\n mr={1}\n mb={1}\n selected={placement === p}\n onClick={() => setPlacement(p as Position)}\n >\n {p}\n </Pill>\n )\n })}\n\n <Spacer y={2} />\n\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Dropdown\n dropdown={dropdown}\n openDropdownByClick\n placement={placement}\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Click to display dropdown\n </Button>\n )\n }}\n </Dropdown>\n </Flex>\n\n <Spacer y={2} />\n\n <Box height={5000} bg=\"mono10\" />\n </>\n )\n },\n}\n\nexport const DisabledTransition = {\n render: () => {\n return (\n <Flex>\n {[1, 2, 3].map((num) => {\n const dropdown = (\n <Text\n variant=\"sm-display\"\n width=\"100vw\"\n bg={`color-b${num}00`}\n p={2}\n >\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Panel {num}: First Item\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Panel {num}: Second Item\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Panel {num}: Third Item\n </Clickable>\n </Text>\n )\n\n return (\n <Dropdown\n key={num}\n dropdown={dropdown}\n transition={false}\n placement=\"bottom\"\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n mr={1}\n {...anchorProps}\n >\n Hover for dropdown {num}\n </Button>\n )\n }}\n </Dropdown>\n )\n })}\n </Flex>\n )\n },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.story.js","names":["_react","_interopRequireWildcard","require","_Box","_Button","_Text","_Dropdown","_Clickable","_Flex","_Pill","_ChevronSmallDownIcon","_interopRequireDefault","_Spacer","_storybookBlocklist","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_extends","assign","bind","target","arguments","source","apply","_default","exports","component","Dropdown","title","tags","parameters","docs","description","controls","exclude","STORYBOOK_PROPS_BLOCKLIST","Default","args","placement","dropdown","createElement","Box","width","p","Text","as","display","variant","href","children","_ref","anchorRef","anchorProps","textAlign","Button","ref","size","chromatic","disable","KeepInDOM","keepInDOM","_ref2","ChangeDimensions","render","_useState","useState","_useState2","height","setHeight","useEffect","setInterval","Math","floor","random","_ref3","FocusOrder","Clickable","py","px","Flex","_ref4","mr","_ref5","OpenDropdownByClick","openDropdownByClick","_ref6","FilterExample","_ref7","Pill","Icon","ChevronSmallDownIcon","iconPosition","OverflowingContent","fill","map","_","_useState3","_useState4","setPlacement","Fragment","bg","Spacer","y","mb","selected","onClick","alignItems","justifyContent","_ref8","DisabledTransition","num","concat","transition","_ref9","ReturnFocusDefault","color","tabIndex","_ref10","story","ReturnFocusDisabled","returnFocus","alert","_ref11"],"sources":["../../../src/elements/Dropdown/Dropdown.story.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\"\nimport { Position } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Button } from \"../Button\"\nimport { Text } from \"../Text\"\nimport { Dropdown } from \"./Dropdown\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex } from \"../Flex\"\nimport { Pill } from \"../Pill\"\nimport ChevronSmallDownIcon from \"@artsy/icons/ChevronSmallDownIcon\"\nimport { Spacer } from \"../Spacer\"\nimport { STORYBOOK_PROPS_BLOCKLIST } from \"../../utils/storybookBlocklist\"\n\nexport default {\n component: Dropdown,\n title: \"Components/Dropdown\",\n tags: [\"autodocs\"],\n parameters: {\n docs: {\n description: {\n component:\n \"A dropdown component that renders content in a positioned overlay with various placement options and interaction modes.\",\n },\n },\n controls: {\n exclude: STORYBOOK_PROPS_BLOCKLIST,\n },\n },\n}\n\nexport const Default = {\n args: {\n placement: \"bottom\",\n dropdown: (\n <Box width={300} p={2}>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\">\n One\n </Text>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\">\n Two\n </Text>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\">\n Three\n </Text>\n </Box>\n ),\n children: ({ anchorRef, anchorProps }) => (\n <Box textAlign=\"center\">\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Hover to display dropdown\n </Button>\n </Box>\n ),\n },\n parameters: { chromatic: { disable: true } },\n}\n\nexport const KeepInDOM = {\n args: {\n placement: \"bottom\",\n keepInDOM: true,\n dropdown: (\n <Text p={2} variant=\"xs\">\n Content remains in DOM\n </Text>\n ),\n children: ({ anchorRef, anchorProps }) => (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Hover to display dropdown\n </Button>\n ),\n },\n parameters: { chromatic: { disable: true } },\n}\n\nexport const ChangeDimensions = {\n render: () => {\n const [height, setHeight] = useState(10)\n\n useEffect(() => {\n setInterval(() => {\n setHeight(Math.floor(Math.random() * 100))\n }, 1000)\n }, [])\n\n return (\n <Dropdown\n placement=\"bottom\"\n dropdown={<Box height={height} width={300} />}\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Hover to display dropdown\n </Button>\n )\n }}\n </Dropdown>\n )\n },\n}\n\nexport const FocusOrder = {\n render: () => {\n const dropdown = (\n <Text variant=\"sm-display\">\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n First\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Second\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Third\n </Clickable>\n </Text>\n )\n\n return (\n <Flex>\n <Dropdown dropdown={dropdown} placement=\"bottom\">\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n mr={1}\n {...anchorProps}\n >\n First Parent\n </Button>\n )\n }}\n </Dropdown>\n\n <Dropdown dropdown={dropdown} placement=\"bottom\">\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Second Parent\n </Button>\n )\n }}\n </Dropdown>\n </Flex>\n )\n },\n}\n\nexport const OpenDropdownByClick = {\n render: () => {\n const dropdown = (\n <Text variant=\"sm-display\">\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n First\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Second\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Third\n </Clickable>\n </Text>\n )\n\n return (\n <Flex>\n <Dropdown dropdown={dropdown} openDropdownByClick>\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n mr={1}\n {...anchorProps}\n >\n Click to display dropdown\n </Button>\n )\n }}\n </Dropdown>\n </Flex>\n )\n },\n}\n\nexport const FilterExample = {\n render: () => {\n return (\n <Dropdown\n dropdown={\n <Box p={1}>\n <Text variant=\"xs\">Example content</Text>\n </Box>\n }\n placement=\"bottom-start\"\n openDropdownByClick\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Pill\n ref={anchorRef as any}\n Icon={ChevronSmallDownIcon}\n iconPosition=\"right\"\n {...anchorProps}\n >\n Example\n </Pill>\n )\n }}\n </Dropdown>\n )\n },\n}\n\nexport const OverflowingContent = {\n render: () => {\n const dropdown = (\n <Text variant=\"sm-display\">\n {new Array(100).fill(null).map((_, i) => (\n <Clickable key={i} display=\"block\" width=\"100%\" py={1} px={2}>\n Item {i}\n </Clickable>\n ))}\n </Text>\n )\n\n const [placement, setPlacement] = useState<Position>(\"bottom\")\n\n return (\n <>\n <Box height={200} bg=\"mono10\" />\n\n <Spacer y={2} />\n\n {[\"bottom\", \"top\", \"left\", \"right\"].map((p) => {\n return (\n <Pill\n key={p}\n size=\"small\"\n mr={1}\n mb={1}\n selected={placement === p}\n onClick={() => setPlacement(p as Position)}\n >\n {p}\n </Pill>\n )\n })}\n\n <Spacer y={2} />\n\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Dropdown\n dropdown={dropdown}\n openDropdownByClick\n placement={placement}\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Click to display dropdown\n </Button>\n )\n }}\n </Dropdown>\n </Flex>\n\n <Spacer y={2} />\n\n <Box height={5000} bg=\"mono10\" />\n </>\n )\n },\n}\n\nexport const DisabledTransition = {\n render: () => {\n return (\n <Flex>\n {[1, 2, 3].map((num) => {\n const dropdown = (\n <Text\n variant=\"sm-display\"\n width=\"100vw\"\n bg={`color-b${num}00`}\n p={2}\n >\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Panel {num}: First Item\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Panel {num}: Second Item\n </Clickable>\n <Clickable display=\"block\" width=\"100%\" py={1} px={2}>\n Panel {num}: Third Item\n </Clickable>\n </Text>\n )\n\n return (\n <Dropdown\n key={num}\n dropdown={dropdown}\n transition={false}\n placement=\"bottom\"\n >\n {({ anchorRef, anchorProps }) => {\n return (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n mr={1}\n {...anchorProps}\n >\n Hover for dropdown {num}\n </Button>\n )\n }}\n </Dropdown>\n )\n })}\n </Flex>\n )\n },\n}\n\nexport const ReturnFocusDefault = {\n args: {\n placement: \"bottom\",\n openDropdownByClick: true,\n dropdown: (\n <Box width={200} p={2}>\n <Text variant=\"sm\" mb={1}>\n Try this:\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 1. Click button to open dropdown\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 2. Press Tab to focus on links\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 3. Press Escape to close\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 4. Notice focus returns to button\n </Text>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\" tabIndex={0} mb={1}>\n Focusable Link 1\n </Text>\n <Text as=\"a\" display=\"block\" variant=\"sm\" href=\"#\" tabIndex={0}>\n Focusable Link 2\n </Text>\n </Box>\n ),\n children: ({ anchorRef, anchorProps }) => (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Click me (returnFocus=true)\n </Button>\n ),\n },\n parameters: {\n docs: {\n description: {\n story:\n \"Default behavior with `returnFocus=true`. When you close the dropdown (Escape key or click outside), focus returns to the trigger button for better accessibility.\",\n },\n },\n chromatic: { disable: true },\n },\n}\n\nexport const ReturnFocusDisabled = {\n args: {\n placement: \"bottom\",\n openDropdownByClick: true,\n returnFocus: false,\n dropdown: (\n <Box width={200} p={2}>\n <Text variant=\"sm\" mb={1}>\n Try this:\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 1. Click button to open dropdown\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 2. Press Tab to focus on button\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 3. Press Escape to close\n </Text>\n <Text variant=\"xs\" color=\"mono60\" mb={2}>\n 4. Focus stays where it was\n </Text>\n <Button\n variant=\"primaryBlack\"\n size=\"small\"\n onClick={() => {\n alert(\"Modal opened! Focus should not return to dropdown trigger.\")\n }}\n >\n Open Modal\n </Button>\n </Box>\n ),\n children: ({ anchorRef, anchorProps }) => (\n <Button\n ref={anchorRef}\n variant=\"secondaryBlack\"\n size=\"small\"\n {...anchorProps}\n >\n Click me (returnFocus=false)\n </Button>\n ),\n },\n parameters: {\n docs: {\n description: {\n story:\n \"With `returnFocus=false`, focus does not return to the trigger when the dropdown closes. This is useful when the dropdown opens a modal or navigates to another page, where returning focus would be disruptive.\",\n },\n },\n chromatic: { disable: true },\n },\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artsy/palette",
|
|
3
|
-
"version": "45.
|
|
3
|
+
"version": "45.4.0",
|
|
4
4
|
"description": "Design system library for react components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -191,5 +191,5 @@
|
|
|
191
191
|
"url": "http://localhost"
|
|
192
192
|
}
|
|
193
193
|
},
|
|
194
|
-
"gitHead": "
|
|
194
|
+
"gitHead": "afac9e4ffd5c86530368d4e1f1e96c77edfd9c4c"
|
|
195
195
|
}
|